Précédent

Table des matières

bas de page     

Suivant     


Table des matières abrégée
7 Les propriétés de mise en forme
    7.1 La description des groupes de propriétés
    7.2 Les aires de XSL et le modèle de la boîte de CSS
    7.3 Le rectangle de référence pour les calculs en pourcentage
    7.4 Les propriétés d'accessibilité communes
    7.5 Les propriétés de position absolue communes
    7.6 Les propriétés auditives communes
    7.7 Les propriétés de bordure, d'espacement et d'arrière-plan communes
    7.8 Les propriétés de police communes
    7.9 Les propriétés de césure communes
    7.10 Les propriétés de marge communes de bloc
    7.11 Les propriétés de marge communes en-ligne
    7.12 Les propriétés de position relative communes
    7.13 Les propriétés d'alignement des aires
    7.14 Les propriétés de dimension des aires
    7.15 Les propriétés liées aux blocs et aux lignes
    7.16 Les propriétés des caractères
    7.17 Les propriétés en relation avec la couleur
    7.18 Les propriétés en relation avec les flottants
    7.19 Les propriétés de rétention et de coupure
    7.20 Les propriétés en relation avec la disposition
    7.21 Les propriétés leader et rule
    7.22 Les propriétés des effets dynamiques des objets de mise en forme
    7.23 Les propriétés des marqueurs
    7.24 Les propriétés de conversion des nombres et des chaînes
    7.25 Les propriétés de pagination et de disposition
    7.26 Les propriétés des tables
    7.27 Les propriétés en relation avec le mode d'écriture
    7.28 Les propriétés diverses
    7.29 Les propriétés raccourcies

7 Les propriétés de mise en forme

7.1 La description des groupes de propriétés

Les chapitres suivants décrivent les propriétés des objets de mise en forme.

Un certain nombre de propriétés sont reprises de la spécification CSS2. De plus, les corrections apportées à CSS2 ont été intégrées. Voir le chapitre [CSS2].

Les propriétés reprises de CSS2 apparaissent entourées d'une bordure noire épaisse, celles dérivées des propriétés CSS2 entourées d'une bordure noire mince.

7.2 Les aires de XSL et le modèle de la boître de CSS

Ce chapitre décrit comment interpréter celles des descriptions de propriété qui intègrent la définition CSS2 de la propriété en question. Pour CSS2, les « boîtes » sont générées par des « éléments », tout comme, pour XSL, les aires sont générées par des objets de mise en forme. On doit considérer toutes les références aux « boîtes », dans la définition CSS2, comme étant des références aux aires, dans le modèle des aires de XSL, et quant aux « éléments«  d'une définition CSS2, sauf ceux qui apparaissent dans une rubrique « S'applique à : », comme se référant aux « objets de mise en forme ».

On considérera que l'expression élément positionné en CSS fait référence à un objet de mise en forme en XSL, celui-ci ayant pour l'une ou l'autre propriété, une valeur calculée autre que "auto" pour 'absolute-position' et/ou une valeur calculée autre que "static" pour 'relative-position'.

Remarque :

Comme pour XSL, la propriété 'position' représente un raccourci pour les propriétés 'absolute-position' et 'relative-position', celle-ci équivaut à la définition CSS.

La position et les dimensions de la boîte se rapporte normalement à la position et aux dimensions du rectangle de contenu de l'aire. On donne des correspondances supplémentaires entre le modèle de la boîte de CSS2 et celui de l'aire de XSL dans la table qui suit.

BoîteAire
bord du haut du contenubord du haut du rectangle de contenu
bord de l'espacementrectangle d'espacement
aire du contenuintérieur du rectangle de contenu
aire de l'espacementzone entre le rectangle de contenu et le rectangle d'espacement
aire de la bordurezone entre le rectangle d'espacement et le rectangle de bordure
arrière-planarrière-plan
bloc conteneuraire de bloc ancêtre le plus proche qui ne soit pas une aire de ligne (voir l'information supplémentaire plus loin quand le « bloc conteneur » s'emploie comme référence pour des calculs en pourcentage)
légendeaire générée par l'objet fo:table-caption
boîte en-ligneaire en-ligne
boîte de ligneaire de ligne
boîte de blocaire de bloc qui ne soit pas une aire de ligne
boîte de pageaire de page

Les marges de boîte correspondent aux traits de l'aire selon la description de leur calcul à partir des valeurs des propriétés au chapitre [5 L'affinage et la résolution des propriétés].

7.3 Le rectangle de référence pour les calculs en pourcentage

Les conversions autorisées pour les valeurs en pourcentage, spécifiées dans la définition de la propriété, se font typiquement en rapport avec le rectangle de contenu d'une aire. On détermine cette aire comme suit :

  1. Pour les propriétés définies par CSS2 comme se rapportant au « bloc conteneur », on utilise le rectangle de contenu de l'aire de bloc, celle-ci n'étant pas une aire de ligne, de l'ancêtre le plus proche ;

  2. Pour les propriétés définies par XSL, la définition de la propriété spécifie le rectangle de contenu de l'aire qui est utilisée ;

  3. Les exceptions aux règles précédentes, pour déterminer l'aire à utiliser, sont :

    1. Quand ces règles s'appliquent aux objets fo:root, fo:page-sequence et fo:title, ainsi qu'aux descendants de ce dernier, le rectangle utilisé a les dimensions qui correspondent à la valeur "auto" des propriétés 'page-height' et 'page-width'. Les dimensions de progression de bloc et en-ligne se déterminent alors en fonction des valeurs calculées des traits reference-orientation et writing-mode de l'objet de mise en forme en question, ou de l'objet fo:title dans le cas d'un descendant de celui-ci ;

    2. Quand ces règles sont appliquées sur des objets fo:static-content ou fo:flow, le rectangle de contenu utilisé dépend de la région de la première page sur laquelle le contenu est dirigé. Pour la région du corps, il s'agit de l'aire de référence de flux normal, et pour les autres régions de l'aire de référence de région ;

    3. Quand appliquées sur un objet fo:footnote-body, ou sur un objet fo:float qui génère une aire de la classe d'aire xsl-before-float, le rectangle utilisé correspond, respectivement, au rectangle de contenu de l'aire de référence de note de pied et à celui de l'aire de référence avant-flottant ;

    4. Quand appliqués sur un objet fo:float qui génère une aire de la classe d'aire xsl-side-float, le rectangle de contenu utilisé correspond à l'aire de bloc de l'ancêtre le plus proche, qui n'est pas une aire de ligne du type xsl-anchor, générée par l'objet fo:float ;

    5. Quand la propriété 'absolute-position' a la valeur "fixed", le bloc conteneur est défini par l'aire de zone de visualisation de l'ancêtre le plus proche. S'il n'y en a pas, le bloc conteneur est défini par l'agent utilisateur ;

    6. Quand la propriété 'absolute-position' a la valeur "absolute", le bloc conteneur est établi par l'aire de l'ancêtre le plus proche A, dont la classe d'aire est différente de xsl-normal ou la valeur de la propriété 'relative-position' est "relative".

      Si A est une aire de bloc, le rectangle utilisé est le rectangle d'espacement de A.

      Si A est une aire en-ligne, générée par un objet de mise en forem F, le rectangle utilisé est un rectangle virtuel, dont les bords d'avant et de début correspondent à ceux de la première aire générée par F et dont les bords d'après et de fin correspondent à ceux de la dernière aire générée par F. Ce « rectangle » peut s'étendre négativement.

  4. Si l'objet de mise en forme, qui génère l'aire en question, génère une séquence de telles aires, on utilise la première aire pour la conversion.

7.4 Les propriétés d'accessibilité communes

7.4.1 'source-document'

Définition XSL :

Valeur : <uri-spécification> [ <uri-spécification> ]* | none | inherit
Valeur initiale : none
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : tous

Celle-ci est utilisée par tous ceux des objets de mise en forme qui peuvent être contenus dans dans un objet fo:flow, ou fo:static-content (tous les objets de mise en forme qui peuvent être créés à partir d'un élément de la source XML).

Les significations des valeurs sont les suivantes :

none

Le document source est transitoire, inconnu ou non-spécifié ;

<uri-spécification>

Une spécification d'URI désignant une (sous-)ressource utilisée comme entrée pour la feuille de style.

Cette propriété fournit un pointeur de retour vers le(s) document(s) XML orinal(aux) utilisé(s), en accord avec la définition Dublin Core pour « source » (« Une référence vers une ressource à partir de laquelle est dérivée la présente ressource », voir http://purl.org/DC/documents/rec-dces-19990702.htm). Cette valeur n'est pas validée par un processeur XSL, ni n'a une signification standardisée inhérente pour celui-ci.

Les conseils d'utilisation pour l'accessibilité du W3C http://www.w3.org/TR/WCAG20/, http://www.w3.org/TR/ATAG10/ et http://www.w3.org/TR/UAAG10/ encouragent fortement l'utilisation de cette propriété, soi sur l'objet fo:root, soit sur le premier objet de mise en forme généré à partir d'un document source donné.

La référence d'URI présente un intérêt pour les appareils de rendu alternatifs (lecteurs à synthèse auditive, etc.), quand la structure de l'arbre des objets de mise en forme est inappropriée pour un appareil donné.

7.4.2 'role'

Définition XSL :

Valeur : <chaîne> | <uri-spécification> | none | inherit
Valeur initiale : none
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : tous

Celle-ci est utilisée par tous ceux des objets de mise en forme qui peuvent être contenus dans un objet fo:flow ou fo:static-content (tous les objets de mise en forme qui peuvent être créés directement à partir d'un élément de la source XML).

Les significations des valeurs sont les suivantes :

none

Indique qu'aucune balise sémantique n'est citée par cet objet de mise en forme ;

<chaîne>

La valeur est une chaîne représentant un identifiant sémantique qui peut être utilisé pour le rendu de cet objet de mise en forme ;

<uri-spécification>

Une spécification d'URI, indicant une ressource RDF [RDF], c'est-à-dire, un objet XML dont la syntaxe est valide pour la grammaire RDF.

Cette propriété fournit un indice aux appareils de rendu alternatifs (lecteurs à synthèse auditive, etc.) sur le rôle de l'élément XML, ou des éléments, utilisés pour la construction de cet objet de mise en forme, au cas où l'un avait pu être identifié lors de la construction de l'arbre XSLT. Cette information peut être utilisée pour l'élaboration de rendus alternatifs quand le rendu normal d'un objet de mise en forme n'est pas adéquat ou satisfaisant ; par exemple, l'information de rôle peut être utilisée pour offrir un meilleur rendu auditif d'un matériel avec une mise en forme visuelle.

Pour aider les appareils de rendu alternatifs, la valeur de <chaîne> devrait être le nom qualifié (QName [XML Names]) de l'élément à partir duquel est construit l'objet de mise en forme. Si un QName fournit un contexte insuffisant, la valeur de <uri-spécification> peut être utilisée pour identifier une ressource RDF qui décrit plus complètement le rôle. Cette ressource RDF peut être soit incorporée dans l'arbre résultant et référencée par un identifiant d'URI relatif ou un identifant de fragment, ou bien se trouver en dehors de l'arbre résultant. Cette spécification ne définit aucun QName ni vocabulaire RDF standards ; ceux-ci dépendent fréquemment du domaine d'application. D'autres groupes, comme le Dublin Core, ont défini de tels vocabulaires.

Cette propriété ne s'héritent pas, mais tous les nœuds subsidiaires de cet objet de mise en forme, qui ne sont pas porteurs d'une propriété 'role', devraient utiliser les mêmes propriétés de présentation alternative (cette propriété ne s'hérite pas car l'appareil de rendu pourrait avoir besoin de connaître le début et la fin du sous-arbre de l'objet de mise en forme généré par l'élément).

7.5 Les propriétés de position absolue communes

7.5.1 'absolute-position'

Dérivée d'une propriété CSS2.

Valeur : auto | absolute | fixed | inherit
Valeur initiale : auto
S'applique à : fo:block-container
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

auto

Il n'y a pas de contrainte de positionnement absolu. Le positionnement se fait en fonction de la propriété 'relative-position' ;

absolute

L'emplacement de l'aire (et éventuellement ses dimensisons) est spécifié avec les propriétés 'left', 'right', 'top' et 'bottom'. Celles-ci spécifient les décalages de l'aire par rapport à l'aire la contenant. Les aires en position absolue sont retirées du flux normal. Celles-ci n'ont ainsi aucune influence sur la disposition de leurs pairs suivants. Également, bien que les aires en position absolue aient des marges, celles-ci ne fusionnent pas avec les autres marges ;

fixed

L'emplacement de l'aire se calcule en fonction du modèle « absolu », mais en plus, l'aire est fixe par rapport à une référence. Pour les médias continus, l'aire est fixe par rapport à la zone de visualisation (et ne bouge pas lors d'un défilement). Pour les médias paginés, l'aire est fixe par rapport à la page, même si celle-ci est vue au travers d'une zone de visualisation (par exemple, dans le cas d'un aperçu avant impression). Les auteurs peuvent souhaiter une position « fixe » en fonction du média. Par exemple, ceux-ci peuvent vouloir qu'une aire reste en haut de la zone de visualisation à l'écran, mais pas en haut de toutes les pages imprimées ;

Les restrictions suivantes se rajoutent dans le cas de présentations paginées :

7.5.2 'top'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12

Valeur : <longueur> | <pourcentage> | auto | inherit
Valeur initiale : auto
S'applique à : éléments positionnés
Héritée : non
Pourcentage : se rapporte à la hauteur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'top' vf.
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-top

Cette propriété spécifie l'ampleur du décalage du bord de la marge du haut d'une boîte en-dessous du bord du haut de la boîte de son bloc conteneur.

Les modifications XSL de la définition CSS :

Voir la définition de la propriété [7.5.5 'left'].

7.5.3 'right'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12

Valeur : <longueur> | <pourcentage> | auto | inherit
Valeur initiale : auto
S'applique à : éléments positionnés
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'right' vf.
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-right

Cette propriété spécifie l'ampleur du déplacement du bord de la marge de droite d'une boîte vers la gauche du bord droit de la boîte de son bloc conteneur.

Les modifications XSL de la définition CSS :

Voir la définition de la propriété [7.5.5 'left'].

7.5.4 'bottom'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12

Valeur : <longueur> | <pourcentage> | auto | inherit
Valeur initiale : auto
S'applique à : éléments positionnés
Héritée : non
Pourcentage : se rapporte à la hauteur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'bottom' vf.
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-bottom

Cette propriété spécifie l'ampleur du décalage du bord de la marge du bas d'une boîte au-dessus du bord du bas de la boîte de son bloc conteneur.

Les modifications XSL de la définition CSS :

Voir définition de la propriété [7.5.5 'left'].

7.5.5 'left'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12

Valeur : <longueur> | <pourcentage> | auto | inherit
Valeur initiale : auto
S'applique à : éléments positionnés
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'left' vf.
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-left

Cette propriété spécifie l'ampleur du décalage du bord de la marge de gauche d'une boîte vers la droite du bord gauche de la boîte de son bloc conteneur.

Les significations des valeurs des quatre propriétés (de décalage de position) sont les suivantes :

auto

L'effet de cette valeur dépend de quelles propriétés en relation ont aussi la valeur "auto". Voir les chapitres traitant de la largeur et de la hauteur des éléments non-remplacés en position absolue pour le détail ;

<longueur>

Le décalage est une distance fixe à partir du bord de référence ;

<pourcentage>

Le décalage est un pourcentage de la largeur du bloc conteneur, pour les propriétés 'left' et 'right', ou de la hauteur de celui-ci, pour les propriétés 'top' et 'bottom'. Pour ces dernières, si la hauteur du bloc container n'est pas spécifiée explicitement (c'est-à-dire, celle-ci dépendant de la hauteur du contenu), alors la valeur en pourcentange est considérée comme étant "auto" ;

Pour les boîtes en position absolue, les décalages dépendent de la boîte du bloc conteneur. Pour les boîtes en position relative, les décalages dépendent des bords externes de la boîte elle-même (c'est-à-dire, celle-ci reçoit un emplacement dans le flux normal, puis le décalage a lieu à partir de cet emplacement en fonction de ces propriétés).

Les modifications XSL de la définition CSS :

Ces propriétés indiquent l'emplacement du rectangle de contenu de l'aire associée.

Si les propriétés 'left' et 'right' ont toutes deux une valeur autre que "auto", alors, quand la propriété 'width' a la valeur "auto", la largeur du rectangle de contenu est surclassée ; autrement, la géométrie serait sur-contrainte et se résoudrait comme au chapitre [5.3.4 La géométrie sur-contrainte]. De la même façon, si "top" et "bottom" ont toutes deux une valeur autre que "auto", alors, quand "height" a la valeur "auto", la hauteur du rectangle de contenu est surclassée ; autrement, la géométrie serait sur-contrainte et se résoudrait comme au chapitre [5.3.4 La géométrie sur-contrainte].

7.6 Les propriétés auditives communes

7.6.1 'azimuth'

Définition CSS2 :

Valeur : <angle> | [[ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards | inherit
Valeur initiale : center
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'azimuth' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-azimuth

7.6.2 'cue-after'

Définition CSS2 :

Valeur : <uri-spécification> | none | inherit
Valeur initiale : none
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'cue-after' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-cue-after

Les modifications XSL de la définition CSS :

La valeur <uri> a été changée pour <uri-spécification>.

7.6.3 'cue-before'

Définition CSS2 :

Valeur : <uri-spécification> | none | inherit
Valeur initiale : none
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'cue-before' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-cue-before

Les modifications XSL de la définition CSS :

La valeur <uri> a été changée pour <uri-spécification>.

7.6.4 'elevation'

Définition CSS2 :

Valeur : <angle> | below | level | above | higher | lower | inherit
Valeur initiale : level
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'elevation' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-elevation

7.6.5 'pause-after'

Définition CSS2 :

Valeur : <durée> | <pourcentage> | inherit
Valeur initiale : selon l'agent utilisateur
S'applique à : tous les éléments
Héritée : non
Pourcentage : voir explication
Médias : auditif

Référence CSS2 : propriété 'pause-after' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pause-after

7.6.6 'pause-before'

Définition CSS2 :

Valeur : <durée> | <pourcentage> | inherit
Valeur initiale : selon l'agent utilisateur
S'applique à : tous les éléments
Héritée : non
Pourcentage : voir explication
Médias : auditif

Référence CSS2 : propriété 'pause-before' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pause-before

7.6.7 'pitch'

Définition CSS2 :

Valeur : <fréquence> | x-low | low | medium | high | x-high | inherit
Valeur initiale : medium
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'pitch' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pitch

7.6.8 'pitch-range'

Définition CSS2 :

Valeur : <nombre> | inherit
Valeur initiale : 50
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'pitch-range' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pitch-range

7.6.9 'play-during'

Définition CSS2 :

Valeur : <uri-spécification> mix? repeat? | auto | none | inherit
Valeur initiale : auto
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'play-during' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-play-during

Les modifications XSL de la définition CSS :

La valeur <uri> a été changée pour <uri-spécification>.

7.6.10 'richness'

Définition CSS2 :

Valeur : <nombre> | inherit
Valeur initiale : 50
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'richness' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-richness

7.6.11 'speak'

Définition CSS2 :

Valeur : normal | none | spell-out | inherit
Valeur initiale : normal
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'speak' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speak

7.6.12 'speak-header'

Définition CSS2 :

Valeur : once | always | inherit
Valeur initiale : once
S'applique à : ceux des éléments qui ont une information d'en-tête de table
Héritée : oui
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'speak-header' vf.
http://www.w3.org/TR/REC-CSS2/tables.html#propdef-speak-header

7.6.13 'speak-numeral'

Définition CSS2 :

Valeur : digits | continuous | inherit
Valeur initiale : continuous
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'speak-numeral' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speak-numeral

7.6.14 'speak-punctuation'

Définition CSS2 :

Valeur : code | none | inherit
Valeur initiale : none
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'speak-punctuation' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speak-punctuation

7.6.15 'speech-rate'

Définition CSS2 :

Valeur : <nombre> | x-slow | slow | medium | fast | x-fast | faster | slower | inherit
Valeur initiale : medium
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'speech-rate' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-speech-rate

7.6.16 'stress'

Définition CSS2 :

Valeur : <nombre> | inherit
Valeur initiale : 50
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'stress' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-stress

7.6.17 'voice-family'

Définition CSS2 :

Valeur : [ [ <voix-spécifique> | <voix-générique> ],]* [ <voix-spécifique> | <voix-générique> ] | inherit
Valeur initiale : selon l'agent utilisateur
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'voice-family' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-voice-family

7.6.18 'volume'

Définition CSS2 :

Valeur : <nombre> | <pourcentage> | silent | x-soft | soft | medium | loud | x-loud | inherit
Valeur initiale : medium
S'applique à : tous les éléments
Héritée : oui
Pourcentage : se rapporte à la valeur héritée
Médias : auditif

Référence CSS2 : propriété 'volume' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-volume

7.7 Les propriétés de bordure, d'espacement et d'arrière-plan communes

Les propriétés de bordure, d'espacement et d'arrière-plan suivantes proviennent de CSS2. Celles des propriétés 'border-', 'padding-' et 'background-' qui ont une terminaison en "before", "after", "start" ou "end" sont liées au mode d'écriture, ce sont des propriétés uniquement XSL.

7.7.1 'background-attachment'

Définition CSS2 :

Valeur : scroll | fixed | inherit
Valeur initiale : scroll
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'background-attachment' vf.
http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-attachment

scroll

L'image d'arrière-plan défile avec l'objet qui la contient ;

fixed

L'image d'arrière-plan reste fixe dans la zone visible de l'objet qui la contient ;

Quand une image d'arrière-plan est spécifiée, cette propriété indique si l'image est fixe en fonction de la zone de visualisation ("fixed") ou défile avec le document ("scroll").

Même si l'image est fixe, celle-ci ne reste visible que quand elle se trouve dans l'arrière-plan ou l'espacement de l'aire de l'élément. Ainsi, à moins que celle-ci ne forme une mosaïque ("background-repeat: repeat"), l'image peut être invisible.

Les agents utilisateurs peuvent interpréter la valeur "fixed" comme étant "scroll". Cependant, on recommande que la valeur "fixed" soit interprétée correctement, au moins pour les éléments HTML et BODY, car les auteurs n'ont aucun moyen de fournir une image pour les seuls navigateurs qui reconnaissent cette valeur. Voir le chapitre sur la conformité pour le détail.

Les modifications XSL de la définition CSS :

Le dernier paragraphe de la description CSS ne s'applique pas.

7.7.2 'background-color'

Définition CSS2 :

Valeur : <couleur> | transparent | inherit
Valeur initiale : transparent
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'background-color' vf.
http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-color

Cette propriété donne la couleur de l'arrière-plan d'un d'élément, soit avec une valeur <couleur>, soit avec le mot-clé transparent, qui laisse les couleurs sous-jacentes transparaître ;

transparent

Les couleurs sous-jacentes transparaissent ;

<couleur>

Toute spécification de couleur valide.

Les modifications XSL de la définition CSS :

XSL introduit une fonction rgb-icc() (voir [5.10.2 Les fonctions de couleur]) comme valeur de couleur valide pour cette propriété.

7.7.3 'background-image'

Définition CSS2 :

Valeur : <uri-spécification> | none | inherit
Valeur initiale : none
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 :propriété 'background-image' vf.
http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-image

Cette propriété donne l'image d'arrière-plan d'un élément. Lors de la spécification d'une propriété 'background-image', les auteurs devraient également spécifier une couleur d'arrière-plan, qui sera utilisée si l'image était indisponible. Quand l'image devient disponible, celle-ci est rendue par-dessus la couleur d'arrière-plan (ainsi, cette couleur est visible au travers des parties transparentes de l'image).

Cette propriété admet comme valeurs soit une valeur <uri-spécification>, désignant l'image, soit la valeur "none", pour ne pas employer d'image.

none

Aucune image n'est spécifiée ;

<uri-spécification>

Les modifications XSL de la définition CSS :

La valeur <uri> a été changée pour <uri-spécification>.

7.7.4 'background-repeat'

Définition CSS2 :

Valeur : repeat | repeat-x | repeat-y | no-repeat | inherit
Valeur initiale : repeat
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'background-repeat' vf.
http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-repeat

Quand on spécifie une image d'arrière-plan, cette propriété indique si celle-ci se répète (en mosaïque) et la manière de la répétition. La mosaïque recouvre les aires du contenu et d'espacement d'une boîte. Les significations des valeurs sont les suivantes :

repeat

L'image se répète à la fois dans les sens horizontal et vertical ;

repeat-x

L'image ne se répète que dans un sens horizontal ;

repeat-y

L'image ne se répète que dans un sens vertical ;

no-repeat

L'image ne se répète pas : un seul exemplaire de celle-ci est dessiné ;

Les modifications XSL de la définition CSS :

Les termes « horizontal » et « vertical » se définissent en fonction de l'orientation de référence ; le terme « horizontal » correspond à un sens de « gauche-à-droite » et « vertical » de « haut-en-bas ».

Remarque :

Ainsi, quand l'aire subit une rotation, la mosaïque subit aussi une rotation. La mosaïque est cependant indépendante du mode d'écriture.

7.7.5 'background-position-horizontal'

Dérivée d'une propriété CSS2.

Valeur : <pourcentage> | <longueur> | left | center | right | inherit
Valeur initiale : 0%
S'applique à : tous ceux des objets de mise en forme auxquels s'applique un arrière-plan
Héritée : non
Pourcentage : se rapporte à la taille du rectangle d'espacement
Médias : visuel

Quand on a spécifié une image d'arrière-plan, cette propriété donne sa position initiale dans le sens horizontal.

<pourcentage>

Spécifie qu'un point de l'image, à un pourcentage donné et dans une direction de gauche à droite, sera placé sur un point de l'aire du rectangle d'espacement, à cette même valeur en pourcentage et dans cette même direction ;

Remarque :

Par exemple, pour une valeur de 0%, le bord gauche de l'image s'aligne sur le bord gauche de l'aire du rectangle d'espacement. Une valeur de 100% aligne le bord droit de l'image sur le bord droit du rectangle d'espacement. Pour une valeur de 14%, un point de l'image situé à 14% vers la droite s'aligne sur un point du rectangle d'espacementsitué à 14% vers la droite.

<longueur>

Spécifie que le bord gauche de l'image sera placé à la valeur spécifiée vers la droite du bord gauche du rectangle d'espacement ;

Remarque :

Par exemple, pour une valeur de 2cm, le bord gauche de l'image se place à 2cm vers la droite du bord gauche du rectangle d'espacement.

left

Équivaut à 0% ;

center

Équivaut à 50% ;

right

Équivaut à 100%.

Les modifications XSL de la définition CSS :

Les valeurs "left" et "right" se définissent en fonction de l'orientation de référence.

7.7.6 'background-position-vertical'

Dérivée d'une propriété CSS2.

Valeur : <pourcentage> | <longueur> | top | center | bottom | inherit
Valeur initiale : 0%
S'applique à : tous ceux des objets de mise en forme auxquels s'applique un arrière-plan
Héritée : non
Pourcentage : se rapporte à la taille du rectangle d'espacement
Médias : visuel

Quand on a spécifié une image d'arrière-plan, cette propriété spécifie la position initiale de celle-ci dans le sens vertical.

<pourcentage>

Spécifie qu'un point, situé sur l'image au pourcentage donné, en partant du haut et en allant vers le bas, sera placé sur un point, situé sur le rectangle d'espacement de l'aire, de la valeur du même pourcentage en partant du haut et en allant vers le bas ;

Remarque :

Par exemple, pour une valeur de 0%, le bord du haut de l'image s'aligne avec le bord du haut du rectangle d'espacement de l'aire. Une valeur de 100% aligne le bord du bas de l'image avec le bord du bas du rectangle d'espacement. Pour une valeur de 84%, un point de l'image situé à 84% vers le bas se place sur un point du rectangle d'espacement situé à 84% vers le bas.

<longueur>

Spécifie que le bord du haut de l'image sera placé à la valeur spécifiée en dessous du bord du haut du rectangle d'espacement.

Remarque :

Par exemple, pour une valeur de 2cm, le bord du haut de l'image se place à 2cm en-dessous du bord du haut du rectangle d'espacement.

top

Équivaut à 0% ;

center

Équivaut à 50% ;

bottom

Équivaut à 100% ;

Les modifications XSL de la définition CSS :

Les valeurs "top" et "bottom" se définissent en fonction de l'orientation de référence.

7.7.7 'border-before-color'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <couleur> | inherit
Valeur initiale : la valeur de la propriété 'color'
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie la couleur de la bordure sur le bord d'avant d'une aire de bloc ou d'une aire en-ligne.

Voir la définition de la propriété [7.7.19 'border-top-color'].

7.7.8 'border-before-style'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <bordure-style> | inherit
Valeur initiale : none
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie le style de bordure pour le bord d'avant.

Voir la définition de la propriété [7.7.20 'border-top-style'].

7.7.9 'border-before-width'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <bordure-épaisseur> | <longueur-conditionnelle> | inherit
Valeur initiale : medium
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie l'épaisseur de bordure sur le bord d'avant.

Voir la définition de la propriété [7.7.21 'border-top-width'].

Les modifications XSL de la définition CSS :

Le type de valeur suivant a été ajouté à XSL :

<longueur-conditionnelle>

Une valeur composée spécifiant l'épaisseur et la conditionnalité éventuelle de la bordure d'un bord d'avant ;

Le composant .length est une valeur de <longueur>. Celle-ci ne peut être négative. Le composant .conditionality peut prendre la valeur "discard", ou "retain", pour contrôler si l'épaisseur de bordure doit être de 0pt, ou si l'épaisseur doit être retenue, quand le bord qui lui est associé est un bord de tête dans une aire de référence pour les aires, générées à partir de cet objet de mise en forme, dont le trait is-first a la valeur "false". Voir le chapitre [4.3 Les espaces et la conditionnalité] pour le détail. La valeur initiale du composant .conditionality est "discard".

Si on donne une valeur de <longueur> à la propriété 'border-before-width', le formateur devra convertir en terme de composants cette valeur seule, comme suit :

Si on spécifie la propriété 'border-before-width' avec l'un des mots-clés de largeur, le composant .conditionality prend la valeur "discard" et le composant .length une longueur qui dépend de l'agent utilisateur.

Remarque :

Si la valeur de la propriété 'border-style' est "none", la valeur calculée de l'épaisseur est forcée à "0pt".

7.7.10 'border-after-color'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <couleur> | inherit
Valeur initiale : la valeur de la propriété 'color'
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie la couleur de la bordure sur le bord d'après d'une aire de bloc ou d'une aire en-ligne.

Voir définition de la propriété [7.7.19 'border-top-color'].

7.7.11 'border-after-style'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <bordure-style> | inherit
Valeur initiale : none
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie le style de bordure sur le bord d'après.

Voir la définition de la propriété [7.7.20 'border-top-style'].

7.7.12 'border-after-width'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <bordure-épaisseur> | <longueur-conditionnelle> | inherit
Valeur initiale : medium
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie l'épaisseur de bordure sur le bord d'après.

Voir la définition de la propriété [7.7.21 'border-top-width'].

Les modifications XSL de la définition CSS :

Le type de valeur suivant a été ajouté à XSL :

<longueur-conditionnelle>

Une valeur composée qui spécifie l'épaisseur et la conditionnalité éventuelle de la bordure pour le bord d'après ;

Le composant .length est une valeur de <longueur>. Celle-ci ne peut être négative. Le composant .conditionality peut prendre la valeur "discard", ou "retain", pour contrôler si l'épaisseur de bordure doit être de 0, ou doit être retenue quand le bord qui lui est associé est un bord de queue dans une aire de référence pour les aires, générées à partir de cet objet de mise en forme, dont la valeur du trait is-last est "false". Voir le chapitre [4.3 Les espaces et la conditionnalité] pour le détail. La valeur intitiale du composant .conditionality est "discard".

Remarque :

Si la valeur de la propriété 'border-style' est "none", la valeur calculée de l'épaisseur est forcée à "0pt".

7.7.13 'border-start-color'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <couleur> | inherit
Valeur initiale : la valeur de la propriété 'color'
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie la couleur de la bordure sur le bord de début d'une aire de bloc ou d'une aire en-ligne.

Voir la définition de la propriété [7.7.19 'border-top-color'].

7.7.14 'border-start-style'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <bordure-style> | inherit
Valeur initiale : none
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie le style de bordure sur le bord de début.

Voir la définition de la propriété [7.7.20 'border-top-style'].

7.7.15 'border-start-width'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <bordure-épaisseur> | <longueur-conditionnelle> | inherit
Valeur initiale : medium
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie l'épaisseur de bordure sur le bord de début.

Remarque :

Si la valeur de la propriété 'border-style' est "none", la valeur calculée de l'épaisseur est forcée à "0pt".

Voir la définition de la propriété [7.7.21 'border-top-width'].

Les modifications XSL de la définition CSS :

Le type de valeur suivant a été ajouté à XSL :

<longueur-conditionnelle>

Une valeur composée qui spécifie l'épaisseur et la conditionnalité éventuelle de la bordure pour le bord de début.

Le composant .length est une valeur de <longueur>. Celle-ci ne peut être négative. Le composant .conditionality peut prendre la valeur "discard", ou "retain", pour contrôler si l'épaisseur de la bordure doit être nulle, ou doit être retenue quand le bord qui lui est associé est un bord de tête dans une aire de ligne pour les aires, générées à partir de cet objet de mise en forme, dont la valeur du trait is-first est "false". Voir le chapitre [4.3.1 Les règles de résolution d'espace] pour le détail. La valeur initiale du composant .conditionality est "discard".

7.7.16 'border-end-color'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <couleur> | inherit
Valeur initiale : la valeur de la propriété 'color'
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie la couleur de bordure sur le bord de fin d'une aire de bloc ou d'une aire en-ligne.

Voir la définition de la propriété [7.7.19 'border-top-color'].

7.7.17 'border-end-style'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <bordure-style> | inherit
Valeur initiale : none
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie le style de bordure sur le bord de fin.

Voir la définition de la propriété [7.7.20 'border-top-style'].

7.7.18 'border-end-width'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <bordure-épaisseur> | <longueur-conditionnelle> | inherit
Valeur initiale : medium
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie l'épaisseur de bordure sur le bord de fin.

Remarque :

Si la valeur de la propriété 'border-style' est "none", la valeur calculée de l'épaisseur est forcée à "0pt".

Voir la définition de la propriété [7.7.21 'border-top-width'].

Les modifications XSL de la définition CSS :

Le type de valeur suivant a été ajouté à XSL :

<longueur-conditionnelle>

Une valeur composée qui spécifie l'épaisseur et la conditionnalité éventuelle de la bordure pour le bord de fin.

Le composant .length est une valeur de <longueur>. Celle-ci ne peut être négative. Le composant .conditionality peut prendre la valeur "discard", ou "retain", pour contrôler si l'épaisseur de bordure doit être de 0, ou si l'épaisseur doit être retenue quand le bord qui lui est associé est un bord de fin dans une aire en-ligne pour les aires, générées à partir de cet objet de mise en forme, dont la valeur du trait is-last est "false". Voir le chapitre [4.3.1 Les règles de résolution d'espace] pour le détail. La valeur initiale du composant .conditionality est "discard".

7.7.19 'border-top-color'

Définition CSS2 :

Valeur : <couleur> | inherit
Valeur initiale : la valeur de la propriété 'color'
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-top-color' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top-color

La propriété 'border-color' donne la couleur des quatre bordures. Les significations des valeurs sont les suivantes :

<couleur>

Toute spécification de couleur valide.

Si la couleur de bordure d'un élément n'est pas spécifiée, l'agent utilisateur peut utiliser la valeur de la propriété 'color' de l'élément comme valeur calculée pour la couleur de bordure.

7.7.20 'border-top-style'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x9

Valeur : <bordure-style> | inherit
Valeur initiale : none
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-top-style' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top-style

Les propriétés de style de bordure spécifient le style de ligne de la bordure ("solid", "double", "dashed", etc.).

Les propriétés définies dans ce chapitre se rapporte au type de valeur <bordure-style> qui admet l'une des valeurs suivantes :

none

Aucune bordure. Cette valeur force à '0' la valeur calculée de la propriété 'border-width' ;

hidden

Même chose que "none", sauf pour la résolution des conflits de bordure des éléments des tables ;

dotted

La bordure est formée d'une série de points ;

dashed

La bordure est formée d'une série de tirets ;

solid

La bordure est formée d'un seul segment de ligne ;

double

La bordure est formée de deux lignes pleines. La somme de l'épaisseur de ces lignes et de l'espace entre celles-ci est égale à la valeur de la propriété 'border-width' ;

groove

La bordure semble avoir été gravée dans le canevas ;

ridge

L'inverse de "groove" : la bordure semble être extrudée du canevas ;

inset

La bordure donne l'impression que la boître entière est incorporée au canevas ;

outset

L'inverse de "inset" : la bordure donne l'impression que la boîte entière est extrudée du canevas.

Toutes les bordures sont dessinées par-dessus l'arrière-plan de la boîte. Les couleurs de bordure dessinées pour les valeurs "groove", "ridge", "inset" et "outset" devraient être basées sur la propriété 'border-color' de l'élément, cependant l'agent utilisateur peut choisir son propre algorithme pour le calcul de la couleur qui sera utilisée. Par exemple, si la valeur de la propriété 'border-color' est "silver", un agent utilisateur pourrait employer un dégradé de couleur, du blanc au gris foncé, pour simuler la pente d'une bordure.

Les agents utilisateurs conformes pour HTML peuvent interpréter les valeurs "dotted", "dashed", "double", "groove", "ridge", "inset" et "outset" comme étant "solid".

7.7.21 'border-top-width'

Définition CSS2 :

Valeur : <bordure-width> | inherit
Valeur initiale : medium
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-top-width' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top-width

Les propriétés d'épaisseur de bordure spécifient l'épaisseur de la bordure. Les propriétés définies dans ce chapitre se rapporte au type de valeur <bordure-épaisseur>, qui admet l'une des valeurs suivantes :

thin

Une bordure fine ;

medium

Une bordure moyenne ;

thick

Une bordure épaisse ;

<longueur>

L'épaisseur de la bordure a une valeur explicite. Celles-ci ne peuvent pas être négatives.

L'interprétation des trois premières valeurs dépend de l'agent utilisateur. Cependant, les relations suivantes doivent se vérifier :

7.7.22 'border-bottom-color'

Définition CSS2 :

Valeur : <couleur> | inherit
Valeur initiale : la valeur de la propriété 'color'
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-bottom-color' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom-color

Spécifie la couleur de bordure sur le bord du bas.

Voir la définition de la propriété [7.7.19 'border-top-color'].

7.7.23 'border-bottom-style'

Définition CSS2 :

Valeur : <bordure-style> | inherit
Valeur initiale : none
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-bottom-style' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom-style

Spécifie le style de bordure sur le bord du bas.

Voir la définition de la propriété [7.7.20 'border-top-style'].

7.7.24 'border-bottom-width'

Définition CSS2 :

Valeur : <bordure-épaisseur> | inherit
Valeur initiale : medium
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-bottom-width' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom-width

Spécifie l'épaisseur de bordure sur le bord du bas.

Voir la définition de la propriété [7.7.21 'border-top-width'].

7.7.25 'border-left-color'

Définition CSS2 :

Valeur : <couleur> | inherit
Valeur initiale : la valeur de la propriété 'color'
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-left-color' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left-color

Spécifie la couleur de bordure sur le bord de gauche.

Voir la définition de la propriété [7.7.19 'border-top-color'].

7.7.26 'border-left-style'

Définition CSS2 :

Valeur : <bordure-style> | inherit
Valeur initiale : none
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-left-style' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left-style

Spécifie le style de bordure sur le bord de gauche.

Voir la définition de la propriété [7.7.20 'border-top-style'].

7.7.27 'border-left-width'

Définition CSS2 :

Valeur : <bordure-épaisseur> | inherit
Valeur initiale : medium
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-left-width' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left-width

Spécifie l'épaisseur de bordure sur le bord de gauche.

Voir la définition de la propriété [7.7.21 'border-top-width'].

7.7.28 'border-right-color'

Définition CSS2 :

Valeur : <couleur> | inherit
Valeur initiale : la valeur de la propriété 'color'
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-right-color' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right-color

Spécifie la couleur de bordure sur le bord de droite.

Voir la définition de la propriété [7.7.19 'border-top-color'].

7.7.29 'border-right-style'

Définition CSS2 :

Valeur : <bordure-style> | inherit
Valeur initiale : none
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-right-style' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right-style

Spécifie le style de bordure sur le bord de droite.

Voir la définition de la propriété [7.7.20 'border-top-style'].

7.7.30 'border-right-width'

Définition CSS2 :

Valeur : <bordure-épaisseur> | inherit
Valeur initiale : medium
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-right-width' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right-width

Spécifie l'épaisseur de bordure sur le bord de droite.

Voir la définition de la propriété [7.7.21 'border-top-width'].

7.7.31 'padding-before'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <espacement-largeur> | <longueur-conditionnelle> | inherit
Valeur initiale : 0pt
S'applique à : voir explication
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Spécifie la largeur de l'espacement sur le bord d'avant d'une aire de bloc ou d'une aire en-ligne.

Voir la définition de la propriété [7.7.35 'padding-top']).

Les modifications XSL de la définition CSS :

Le type de valeur suivant a été ajouté à XSL :

<longueur-conditionnelle>

Une valeur composée qui spécifie la largeur et la conditionnalité éventuelle de l'espacement pour le bord d'avant.

Le composant .length est une valeur de <longueur>. Celle-ci ne peut pas être négative. Le composant .conditionality peut prendre la valeur "discard", ou "retain", pour contrôler si la largeur de l'espacement doit être nulle, ou si la largeur doit être retenue quand le bord qui lui est associé est un bord de tête dans une aire de référence pour les aires, générées à partir de cet objet de mise en forme, dont la valeur du trait is-first est "false". Voir [4.3 Les espaces et la conditionnalité] pour le détail. La valeur initiale du composant .conditionality est "discard".

7.7.32 'padding-after'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <espacement-largeur> | <longueur-conditionnelle> | inherit
Valeur initiale : 0pt
S'applique à : voir explication
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Spécifie la largeur de l'espacement sur le bord d'après d'une aire de bloc ou d'une aire en-ligne.

Voir la définition de la propriété [7.7.35 'padding-top']).

Les modifications XSL de la définition CSS :

Le type de valeur suivant a été ajouté à XSL :

<longueur-conditionnelle>

Une valeur composé qui spécifie la largeur et la conditionnité éventuelle de l'espacement pour le bord d'après.

Le composant .length a une valeur de <longueur>. Celle-ci ne peut pas être négative. La composant .conditionality peut prendre la valeur "discard", ou "retain", pour contrôler si la largeur de l'espacement doit être nul, ou si la largeur doit être retenue quand le bord qui lui est associé est un bord de queue dans une aire de référence pour les aires, générées à partir de cet objet de mise en forme, dont la valeur du trait is-last est "false". Voir le chapitre [4.3 Les espaces et la conditionnalité] pour le detail. La valeur initiale du composant .conditionality est "discard".

7.7.33 'padding-start'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <espacement-largeur> | <longueur-conditionnelle> | inherit
Valeur initiale : 0pt
S'applique à : voir explication
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Spécifie la largeur de l'espacement sur le bord de début d'une aire de bloc ou d'une aire en-ligne.

Voir la définition de la propriété [7.7.35 'padding-top']).

Les modifications XSL de la définition CSS :

Le type de valeur suivant a été ajouté à XSL :

<longueur-conditionnelle>

Une valeur composée qui spécifie la largeur et la conditionnalité éventuelle de l'espacement pour le bord de début.

Le composant .length est une valeur de <longueur>. Celle-ci ne peut être négative. Le composant .conditionality peut prendre la valeur "discard", ou "retain", pour contrôler si la largeur de l'espacement doit être nulle, ou si la largeur doit être retenue quand le bord qui lui est associé est un bord de tête dans une aire de ligne pour les aires, générées à partir de cet objet de mise en forme, dont le trait is-first a la valeur "false". Voir le chapitre [4.3.1 Les règles de résolution d'espace] pour le détail. La valeur initiale du composant .conditionality est "discard".

7.7.34 'padding-end'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : <espacement-largeur> | <longueur-conditionnelle> | inherit
Valeur initiale : 0pt
S'applique à : voir explication
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Spécifie la largeur de l'espacement sur le bord de fin d'une aire de bloc ou d'une aire en-ligne.

Voir la définition de la propriété [7.7.35 'padding-top']).

Les modifications XSL de la définition CSS :

Le type de valeur suivant a été ajouté à XSL :

<longueur-conditionnelle>

Une valeur composée qui spécifie la largeur et la conditionnalité éventuelle de l'espacement pour le bord de fin.

Le composant .length est une valeur de <longueur>. Celle-ci ne peut pas être négative. Le composant .conditionality peut prendre la valeur "discard", ou "retain", pour contrôler si la largeur de l'espacement doit être nulle, ou si la largeur doit être retenue quand le bord qui lui est associé est un bord de queue dans une aire de ligne pour les aires générées à partir de cet objet de mise en forme, dont le trait is-last a la valeur "false". Voir le chapitre [4.3.1 Les règles de résolution d'espace] pour le détail. La valeur initiale du composant .conditionality est "discard".

7.7.35 'padding-top'

Définition CSS2 :

Valeur : <espacement-largeur> | inherit
Valeur initiale : 0pt
S'applique à : tous les éléments
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'padding-top' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-top

<longueur>

Spécifie la largeur de l'espacement sur le bord du haut d'une aire de bloc ou d'une aire en-ligne. À la différence des propriétés de marge, les valeurs des propriétés d'espacement ne peuvent pas être négatives.

7.7.36 'padding-bottom'

Définition CSS2 :

Valeur : <espacement-largeur> | inherit
Valeur initiale : 0pt
S'applique à : tous les éléments
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'padding-bottom' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-bottom

Spécifie la largeur de l'espacement sur le bord du bas d'une aire de bloc ou d'une aire en-ligne.

Voir la définition de la propriété [7.7.35 'padding-top'].

7.7.37 'padding-left'

Définition CSS2 :

Valeur : <espacement-largeur> | inherit
Valeur initiale : 0pt
S'applique à : tous les éléments
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'padding-left' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-left

Spécifie la largeur de l'espacement sur le bord de gauche d'une aire de bloc ou d'une aire en-ligne.

Voir la définition de la propriété [7.7.35 'padding-top']).

7.7.38 'padding-right'

Définition CSS2 :

Valeur : <espacement-largeur> | inherit
Valeur initiale : 0pt
S'applique à : tous les éléments
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'padding-right' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding-right

Spécifie la largeur de l'espacement sur le bord de droite d'une aire de bloc ou d'une aire en-ligne.

Voir la définition de la propriété [7.7.35 'padding-top']).

7.8 Les propriétés de police communes

Les propriétés de police communes qui suivent sont toutes issues de CSS2. La référence vers CSS2 est : http://www.w3.org/TR/REC-CSS2/fonts.html

Remarque :

Bien que ces propriétés se réfèrent aux propriétés individuelles de CSS, on recommande une lecture complète du chapitre sur les polices de la spécification CSS2.

7.8.1 Les polices et les données de police

XSL utilise un modèle abstrait de police. Ce modèle, décrit ici, se base sur les technologies de police actuelles, comme illustré par la spécification OpenType [OpenType].

Une police consiste en une collection de glyphes et de l'information nécessaire, les tables de police, pour l'utilisation de ces glyphes en vue de présenter des caractères sur un média donné. Un glyphe est un symbole graphique abstrait reconnaissable qui est indépendant d'un dessin particulier. On appelle données de police la combinaison de cette collection de glyphes et de ses tables de police.

Les tables de police comprennent les informations nécessaires pour faire correspondre les caractères aux glyphes, pour déterminer la taille des aires de glyphe et la position de celles-ci. Chaque table de police consiste en une ou plusieurs caractéristiques de police, telles que la graisse et le style.

Les caractéristiques géométriques d'une police s'expriment dans un système de coordonnées basé sur la boître em (le em est une mesure relative de la hauteur des glyphes dans la police ; voir le chapitre [5.9.7.2 Les longueurs relatives]). Cette boîte, haute de 1em et large de 1em, est appelée l'espace de dessin. Les points de cet espace s'expriment selon des coordonnées géométriques en terme d'unités fractionnaires du em.

L'espace coordonné de la boîte em est appelé système de coordonnées de l'espace du dessin. Pour les polices proportionnelles, on représente les courbes et les lignes utilisées pour le tracé d'un glyphe à l'aide de ce système de coordonnées.

Remarque :

Le plus souvent, le point (0,0) de ce système de coordonnées se place sur le bord gauche de la boîte em, mais pas sur le coin inférieur gauche de celle-ci. La coordonnée Y du bas d'une lettre capitale romane est habituellement zéro. De plus, les jambages d'une lettre minuscule romane ont des valeurs de coordonnée négatives.

XSL suppose que les tables de police fournissent au moins trois caractéristiques de police : une hampe, un jambage et un jeu de tables de ligne de base. Leurs valeurs de coordonnée sont données dans le système de coordonnées de l'espace de dessin. La hampe correspond à la coordonnée verticale du haut de la boîte em ; le jambage correspond à la coordonnée verticale du bas de la boîte em. La table de ligne de base est expliquée ci-dessous.

Les glyphes d'une écriture donnée sont positionnés de manière à ce qu'un point particulier pour chaque glyphe, le point d'alignement, soit aligné avec les points des autres glyphes dans cette écriture. Les glyphes d'écritures différentes sont typiquement alignés sur des points différents du glyphe. Par exemple, les glyphes occidentaux s'alignent sur le bas des lettres capitales, certains glyphes indiens (y compris les glyphes issus des écritures devanagari, gurmukhi et bengali) s'alignent sur un trait horizontal proche du haut des glyphes, et les glyphes extrêmes-orientaux s'alignent soit sur le bas soit sur le milieu de la boîte em du glyphe. Dans une écriture et dans une ligne de texte avec une seule taille de police, la succession des points d'alignement définit, dans la direction de progression en-ligne, une ligne géométrique appelée ligne de base. Les glyphes occidentaux ainsi que la plupart des autres glyphes alphabétiques et syllabiques s'alignent sur une ligne de base « alphabétique », les glyphes indiens précédents s'alignent sur une ligne de base « suspendue » et les glyphes extrêmes-orientaux s'alignent sur une ligne de base « idéographique ».

Trois exemples de lignes de base   [D]

Cette figure montre la position verticale du point d'alignement pour une écriture alphabétique et plusieurs écritures syllabiques, illustré par un « A » roman, pour certaines écritures indiennes, illustré par une syllabe « ji » en gurmukhi, et pour des écritures idégraphiques, illustré par le glyphe de l'idéogramme signifiant « pays ». Le rectangle en trait fin noir qui entoure le glyphe idéographique montre la boîte em de celui-ci et l'emplacement typique des « traits noirs » du glyphe dans la boîte em.

Une table de lignes de base spécifie la position d'une ou plusieurs lignes de base dans le système de coordonnées de l'espace du dessin. La table de lignes de base a pour fonction de faciliter l'alignement des différentes écritures l'une par rapport à l'autre quand elles sont mélangées dans un même texte. Comme les alignements relatifs voulus peuvent dépendre de l'écriture dominante dans une ligne (ou un bloc), chaque écriture peut avoir une table de lignes de base différente. De plus, les modes d'écritures horizontaux et verticaux nécessitent différentes positions d'alignement. De ce fait, la police peut avoir un jeu de tables de ligne de base, typiquement, un ou plusieurs pour des modes d'écritures horizontaux et zéro ou plus pour des modes d'écritures verticaux.

Alignements de lignes de base horizontale et verticale   [D]

Des exemples de positions de ligne de base horizontales et verticales. La boîte matérialisée en trait fin dans chaque exemple correspond à la « boîte em ». Pour les glyphes latins, seule la boîte em du premier est montrée. L'exemple 1 montre un texte latin typique écrit horizontalement. Ce texte se positionne en fonction de la ligne de base, dessinée en bleu. L'exemple 2 montre un glyphe idéographique typique positionné sur la ligne de base idéographique horizontale. Noter que la boîte em est positionnée différemment dans ces deux cas. Les exemples 3 et 4 montrent le même jeu de lignes de base employé dans une écriture verticale. Le texte latin de l'exemple 3 apparaît avec une orientation de glyphe de 90 degrés, typique de l'espacement des glyphes latins en écriture verticale. Bien que le glyphe idéographique de l'exemple 4 soit positionné sur la ligne de base idéographique verticale, celui-ci étant centré dans la boîte em, tous les glyphes avec une même boîte em sont centrés verticalement, l'un par rapport à l'autre. On donne des exemples supplémentaires de positionnements d'écritures mélangées en introduction des chapitres [7.13 Les propriétés d'alignement des aires] et [7.27 Les propriétés en relation avec le mode d'écriture].

Les tables de police d'une police comprennent des caractéristiques de police pour les glyphes individuels de celle-ci. XSL suppose que les tables de police comprennent, pour chaque glyphe de la police, une valeur de largeur, une ligne de base d'alignement et un point d'alignement pour les modes d'écriture horizontaux. Si les modes d'écritures verticaux sont reconnus, alors chaque glyphe doit avoir une autre valeur de largeur, une autre ligne de base d'alignement et un autre point d'alignement pour ces modes verticaux (bien que spécifiée comme largeur, dans un mode d'écriture vertical, la largeur s'emploie dans le sens vertical).

L'écriture à laquelle appartient un glyphe détermine une ligne de base d'alignement sur laquelle celui-ci s'aligne. La position de cette ligne de base dans le système de coordonnées de l'espace du dessin détermine la position par défaut dans la direction de progression de bloc du point d'alignement. La direction de progression en-ligne du point d'alignement se trouve sur le bord de début du glyphe (l'ajustement de ces positions dépend de la spécification de la propriété [7.13.1 'alignment-adjust'] quand l'instance d'un glyphe est utilisée dans un objet de mise en forme de type en-ligne ou bloc. Les propriétés 'space-start' et/ou 'space-end' de l'objet fo:character, qui correspond au glyphe, peuvent être ajustées pour modifier le « crénage«  de glyphes adjacents).

Alignement de ligne de base de glyphes de différentes écritures   [D]

Cette figure montre des glyphes de trois écritures différentes, chacun d'eux ayant sa boîte em, et, dans cette boîte em, la table de lignes de base qui peuvent être appliquées à ce glyphe. Le point d'alignement de chaque glyphe est indiqué par un « X » sur le bord de début de la boîte em, la ligne de base d'alignement étant dessinée en bleu. La table de lignes de base de l'objet de mise en forme, parent des caractères qui correspondent à ces glyphes, est représentée par un jeu de lignes en tirets.

En plus des caractéristiques de police qui sont requises ci-dessus, une police peut aussi fournir des tables de substitution et de positionnement qui peuvent être employées par le formateur pour ré-ordonner, combiner et positionner une séquence de glyphes pour en faire un ou plusieurs glyphes composés. La combinaison peut aller d'une simple ligature à une syllabe indienne complexe qui assemble, en général en les ré-ordonnant, plusieurs glyphes de consonnes et de voyelles. Voir le chapitre [4.7.2 La construction de la ligne].

Remarque :

Si les tables de police ne définissent aucune valeur pour les caractéristiques de police requises, on peut employer des moyens heuristiques pour obtenir une approximation de ces valeurs.

7.8.2 'font-family'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x73

Valeur : [[ <famille-nom> | <famille-générique> ],]* [ <famille-nom> | <famille-générique> ] | inherit
Valeur initiale : selon l'agent utilisateur
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'font-family' vf.
http://www.w3.org/TR/REC-CSS2/fonts.html#propdef-font-family

Cette propriété spécifie une liste prioritaire de noms de famille de polices et/ou de noms de famille générique. Pour résoudre les problèmes suivants, qu'une seule police peut ne pas contenir les glyphes nécessaires pour afficher tous les caractères d'un document ou que les polices ne sont pas forcément disponibles sur tous les systèmes, cette propriété permet aux auteurs la spécification d'une liste de polices, toutes dans le même style et dans la même taille, qui seront essayées en succession pour vérifier si celles-ci contiennent le glyphe pour un caractère donné. On appelle cette liste un jeu de polices.

La famille de police générique sera utilisée si une ou plusieurs des autres polices étaient indisponibles. Bien que plusieurs polices offrent le glyphe « caractère manquant », en général un carré, on ne devrait pas considérer ce glyphe, ainsi que son nom l'indique, comme une correspondance, sauf pour la dernière police d'un jeu de polices.

Il y a deux types de nom de famille de polices :

<famille-nom>

Le nom d'une famille de polices de choix. Dans l'exemple précédent (dans la recommendation CSS2), "Baskerville", "Heisi Mincho W3" et "Symbol" sont des familles de polices. Celles dont le nom contient un blanc devraient être mises entre guillemets. Si on omet ceux-ci, les caractères blancs éventuels avant et après le nom de la police sont ignorés et toute séquence de blancs, à l'intérieur de celui-ci, est convertie en un seul espace ;

<famille-générique>

On définit les familles génériques suivantes : "cursive", "fantasy" et "monospace". Consulter le chapitre traitant des familles de polices génériques pour leur description. Leurs noms sont des mots-clés, par conséquent, on ne doit pas les mettre entre guillemets.

Les modifications XSL de la définition CSS :

<chaîne>

Les noms s'expriment syntaxiquement comme des chaînes.

Remarque :

Voir dans le langage d'expression la fonction system-font() et ses deux arguments, qui retourne une caractéristique de police système. On peut utiliser celle-ci, à la place du raccourci 'font', pour spécifier le nom d'une police système.

7.8.3 'font-selection-strategy'

Définition XSL :

Valeur : auto | character-by-character | inherit
Valeur initiale : auto
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Il n'existe pas de mécanisme XSL pour spécifier une police particulière ; à la place, une police sélectionnée est retenue parmi les polices disponibles pour l'agent utilisateur, en fonction d'un jeu de critères de sélection. Ces critères de sélection sont les propriétés de police suivantes : 'font-family', 'font-style', 'font-variant', 'font-weight', 'font-stretch' et 'font-size', avec en plus, pour certains objets de mise en forme, un ou plusieurs caractères. On appelle ceux-ci des caractères contextuels. Ces caractères peuvent consister d'un seule caractère jusqu'au complément du caractère entier de l'arbre résultat examiné pour traitement.

À l'exception de l'objet fo:character, pour tous les autres objets de mise en forme sur lesquels la propriété 'font-family' s'applique, les critères de sélection consistent seulement des propriétés de police ci-dessus. Pour l'objet de mise en forme fo:character, les critères consistent en ces propriétés, plus la valeur de la propriété 'character' du seul objet fo:character ou encore cette valeur avec d'autres caractères contextuels.

La stratégie à suivre, pour la sélection d'une police en fonction de ces critères, est spécifiée par la propriété 'font-selection-strategy'.

La propriété 'font-family' est une liste prioritaire de noms de famille de polices, celles-ci sont essayées en succession pour trouver une police disponible qui corresponde aux critères de sélection. Ces critères sont vérifiés quand les caractéristiques de police correspondantes vérifient les propriétés en accord avec les spécifications de leurs descriptions.

Si aucune police ne correspond, le choix d'une solution de repli est déterminé d'une manière propre au système donné.

Remarque :

Cette solution de repli peut consister à rechercher une correspondance en utilisant la « famille de polices » par défaut de l'agent utilisateur ou peut consister en une stratégie de repli plus élaborée où, par exemple, la police "Helvetica" serait utilisée en repli pour la police "Univers".

Si aucune correspondance n'est réalisée pour un caractère donné, aucune police n'est sélectionnée, l'agent utilisateur devrait alors fournir une indication visuelle du non-affichage de ce caractère (par exemple, en employant le glyphe "caractère manquant").

Les significations des valeurs de la propriété 'font-selection-strategy' sont les suivantes :

auto

Les critères de sélection, donnés par les caractères contextuels, sont utilisés d'une manière définie par l'implémentation.

Remarque :

Par exemple, une implémentation peut employer un algorithme par lequel tous les caractères, dans l'arbre résultant, qui ont le même jeu de valeurs de propriété de sélection de police, agissent ensemble sur la sélection ou peut n'utiliser que la propriété 'character' d'un objet de mise en forme fo:character pour lequel on doit sélectionner une police. Supposons, par exemple, parmi les polices disponibles, une police couvrant l'ensemble des jeux de caractères latins, grecs et cyrilliques et trois polices de meilleure facture, couvrant ces trois jeux séparément, mais ayant une mauvaise unité de style entre elles. Une implémentation, qui a une vue d'ensemble étendue de son jeu de caractères contextuels, peut autoriser le complément de glyphes à sélectionner la police de meilleure qualité, si celle-ci recouvre le complément de glyphes, ou, autrement, à utiliser la police la plus large pour la cohérence du style, si le complément de glyphes était plus grand que celui que pourrait couvrir l'une ou l'autre des trois polices ;

character-by-character

Le jeu de caractères contextuels se réduit au seul caractère représenté par la valeur de la propriété 'character' de l'objet fo:character pour lequel on doit sélectionner une police ;

Remarque :

Cette stratégie de sélection est la même que celle employée pour la sélection des polices en CSS.

Cette propriété décrit les critères de sélection des polices et les différentes stratégies pour l'utilisation de ces critères pour déterminer une police sélectionnée.

7.8.4 'font-size'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x74

Valeur : <taille-absolue> | <taille-relative> | <longueur> | <pourcentage> | inherit
Valeur initiale : medium
S'applique à : tous les éléments
Héritée : oui, la valeur calculée s'hérite
Pourcentage : se rapporte à la taille de la police de l'élément parent
Médias : visuel

Référence CSS2 : propriété 'font-size' vf.
http://www.w3.org/TR/REC-CSS2/fonts.html#propdef-font-size

Cette propriété décrit la taille de la police quand la valeur de celle-ci est spécifiée. La taille de police corresponds au carré em, un concept typographique. Noter que certains glyphes peuvent couler hors de leur carré em. Les significations des valeurs sont les suivantes :

<taille-absolue>

Un mot-clé <taille-absolue> se rapporte à une entrée de la table des tailles de police calculée et entretenue par l'agent utilisateur. Les valeurs possibles sont :

[ xx-small | x-small | small | medium | large | x-large | xx-large ]

On suggère un facteur d'échelle de 1.2 entre index adjacents pour un moniteur ; si la valeur de "medium" correspond à 12pt, la valeur "large" correspondrait à 14.4pt. Les facteurs d'échelle peuvent varier selon le média considéré. Également, l'agent utilisateur devrait prendre en considération la qualité et la disponibilité des polices au moment du calcul de la table. Cette table peut être différente d'une famille de polices à l'autre. Remarque : En CSS1, le facteur d'échelle suggéré entre les index adjacents était de 1.5, valeur qui s'est avérée trop grande à l'usage ;

<taille-relative>

Un mot-clé <taille-relative> s'interprète en fonction de la table des tailles de police et de la taille de police de l'élément parent. Les valeurs possibles sont :

[ larger | smaller ]

Par exemple, si la taille de police de l'élément parent est "medium", une valeur de "larger" fera que la taille de police de l'élément en question correspondra à "large". Si la taille de police du parent est trop éloignée d'une entrée de la table, l'agent utilisateur est libre de faire une interpolation entre deux entrées de celle-ci ou de faire un arrondi à l'entrée la plus proche. L'agent utilisateur peut devoir faire une extrapolation à partir des valeurs de la table si la valeur numérique dépasse le champs d'action des mots-clés ;

<longueur>

Une valeur de longueur spécifie une taille de police absolue (indépendante de la table de polices de l'agent utilisateur. Les valeurs négatives ne sont pas admises ;

<pourcentage>

Une valeur en pourcentage spécifie une taille de police absolue en fonction de celle de l'élément parent. L'utilisation de valeurs en pourcentage ou en « em » conduit à des feuilles de style plus fiable, en accord avec le principe de la cascade.

La valeur réelle de cette propriété peut différer de la valeur calculée selon que la propriété 'font-size-adjust' ait une valeur numérique et que certaines tailles de police soient indisponibles.

Les éléments enfants héritent de la valeur calculée de la propriété 'font-size' (l'effet de la propriété 'font-size-adjust' s'y ajoute).

Les modifications XSL de la définition CSS :

XSL incorpore dans la définition de la propriété cet extrait du chapitre 15.5 de CSS2 (http://www.w3.org/TR/REC-CSS2/fonts.html#algorithm" vf.) :

La valeur de la propriété 'font-size' doit s'inscrire dans une marge de valeurs qui dépend de l'agent utilisateur (typiquement, la taille des polices proportionnelles est arrondie au pixel entier le plus proche alors que la tolérance sur la taille des polices fixes peut aller jusqu'à 20%). Les calculs supplémentaires (par exemple sur les valeurs exprimées en « em » pour les autres propriétés) se basent alors sur la valeur établie pour 'font-size'.

7.8.5 'font-stretch'

Définition CSS2 :

Valeur : normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit
Valeur initiale : normal
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'font-stretch' vf.
http://www.w3.org/TR/REC-CSS2/fonts.html#font-styling

La propriété 'font-stretch' sélectionne une police normale, condensée ou élargie parmi celles d'une famille de polices.

ultra-condensed
extra-condensed
condensed
semi-condensed
normal
semi-expanded
expanded
extra-expanded
ultra-expanded

Les valeurs des mots-clés absolus sont dans l'ordre suivant, du plus étroit au plus étiré :

  1. ultra-condensed

  2. extra-condensed

  3. condensed

  4. semi-condensed

  5. normal

  6. semi-expanded

  7. expanded

  8. extra-expanded

  9. ultra-expanded

wider

Le mot-clé relatif "wider" attribue la valeur élargie qui vient ensuite, en fonction de la valeur héritée (sans toutefois aller au-delà de "ultra-expanded") ;

narrower

Le mot-clé relatif "narrower" attribue la valeur condensée qui précède, en fonction de la valeur héritée (sans toutefois aller au-delà de "ultra-condensed").

7.8.6 'font-size-adjust'

Définition CSS2 :

Valeur : <nombre> | none | inherit
Valeur initiale : none
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'font-size-adjust' vf.
http://www.w3.org/TR/REC-CSS2/fonts.html#font-size-props

Pour les écritures bi-camérales, la taille apparente subjective et la lisibilité d'une police dépendent moins de la valeur de leur propriété 'font-size' que de celle de leur propriété 'x-height', ou, de manière plus pratique, du ratio de ces deux valeurs appelé valeur d'aspect (hauteur-x divisée par taille de police). Plus la valeur d'aspect est élevée, plus une police va rester lisible dans les petites tailles. Inversement, les polices avec une valeur d'aspect plus faible deviendront plus rapidement illisible à partir d'une taille de police seuil donnée que celles dont la valeur d'aspect est plus élevée. Une substitution de police directe qui ne tient compte que de la taille de police peut conduire à des caractères illisibles.
« errata-E16 »

Par exemple, la police répandue Verdana a une valeur d'aspect de 0.58 ; pour une taille de police de 100 unités, sa hauteur-x est de 58 unités. En comparaison, la police Times New Roman a une valeur d'aspect de 0.46. La police Verdana va ainsi tendre à rester plus lisible dans les petites tailles que Times New Roman. Réciproquement, la police Verdana va souvent sembler « trop grande » quand elle est substituée à Times New Roman, pour une taille donnée.

Cette propriété permet aux auteurs la spécification d'une valeur d'aspect pour un élément qui va préserver la hauteur-x de la police du choix initial dans la police qui lui est substituée. Les significations des valeurs sont les suivantes :

none

Ne préserve pas la hauteur-x de la police ;

<nombre>

Spécifie la valeur d'aspect. Le nombre se rapporte à la valeur d'aspect de la police du choix initial. Le facteur d'échelle pour les polices disponibles se détermine selon cette formule :

y(a/a') = c

ce qui correspond à :

y = la valeur de 'font-size' de la première police du choix ;

a = la valeur d'aspect de la première police du choix ; « errata-E16 »

a' = la valeur d'aspect de la police disponible ;

c = la valeur de 'font-size' appliquée à la police disponible.

Cette propriété permet aux auteurs la spécification d'une valeur d'aspect pour un élément qui va préserver la hauteur-x de la police du choix initial dans la police de substitution.

L'ajustement de la taille de police intervient lors du calcul de la valeur réelle de la propriété 'font-size'. L'héritage étant basé sur la valeur calculée, les éléments enfants héritent de valeurs sans ajustement.

7.8.7 'font-style'

Définiton CSS2 :

Valeur : normal | italic | oblique | backslant | inherit
Valeur initiale : normal
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'font-style' vf.
http://www.w3.org/TR/REC-CSS2/fonts.html#font-styling

La propriété 'font-style' requiert la police normale (parfois qualifiée de « roman » ou « upright »), italique ou oblique d'une famille de polices. Les significations des valeurs sont les suivantes :

normal

Spécifie une police classée comme étant « normale » dans la base de données de police de l'agent utilisateur ;

oblique

Spécifie une police classée comme « oblique » dans la base de données de police de l'agent utilisateur. Les polices dont les noms contiennent les mots Oblique, Slanted ou Incline seront typiquement étiquetées « oblique » dans la base de données de police. Une police étiquetée comme telle dans cette base de données de l'agent utilisateur peut en fait avoir été générée électroniquement en penchant une police normale ;

italic

Spécifie une police classée comme « italique » dans la base de données de police de l'agent utilisateur ou, si celle-ci n'est pas disponible, une étiquetée 'oblique'. Les polices dont les noms contiennent les mots Italic, Cursive ou Kursiv seront typiquement étiquetées « italique ».

Les modifications XSL de la définition CSS :

Le type de valeur suivant a été ajouté à XSL :

backslant

Spécifie une police classée « inclinée en arrière » dans la base de données de police de l'agent utilisateur.

XSL incorpore dans la définition de la propriété cet extrait du chapitre 15.5 de CSS2 (http://www.w3.org/TR/REC-CSS2/fonts.html#algorithm vf.), à la différence que l'information provient des tables de police des polices disponibles :

La valeur 'italic' est retenue si la base de données des polices de l'agent utilisateur contient une police étiquetée avec les mots-clés 'italic' (préférable) ou bien 'oblique'. Autrement, les valeurs doivent correspondre exactement sinon le test sur 'font-style' échoue.

7.8.8 'font-variant'

Définition CSS2 :

Valeur : normal | small-caps | inherit
Valeur initiale : normal
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'font-variant' vf.
http://www.w3.org/TR/REC-CSS2/fonts.html#font-styling

Dans une police en petites capitales, les glyphes des lettres en bas de casse ressemblent aux lettres en haut de casse, toutefois celles-ci diffèrent légèrement en proportions. La propriété 'font-variant' requiert une telle police pour une écriture bi-camérale (qui ont deux casses comme l'écriture romane). Cette propriété ne produit aucun effet visible sur les écritures mono-camérales (qui n'ont qu'une casse, comme la plupart des systèmes d'écriture dans le monde). Les significations des valeurs sont les suivantes :

normal

Spécifie une police qui n'est pas étiquetée comme étant en petites capitales ;

small-caps

Spécifie une police qui est étiquetée comme étant en petites capitales. Si aucune police en petites capitales véritable n'est disponible, l'agent utilisateur devrait en opérer la simulation, par exemple, en prenant une police normale et en y remplaçant les lettres en minuscules par des caractères majuscules ajustés. En dernier ressort, les glyphes de lettres capitales inchangées d'une police normale peuvent remplacer les glyphes d'une police en petites capitales et ainsi rendre le texte entièrement en lettres capitales.

Dans la mesure où cette propriété entraîne la transformation d'un texte en capitale, les mêmes considérations que pour la propriété 'text-transform' s'appliquent.

Les modifications XSL de la définition CSS :

XSL incorpore dans la définition de la propriété cet extrait du chapitre 15.5 de CSS2 (http://www.w3.org/TR/REC-CSS2/fonts.html#algorithm vf.) :

La valeur 'normal' retient une police qui n'est pas étiquetée 'small-caps'. La valeur 'small-caps' retient (1) une police marquée 'small-caps' ou (2) une police dans laquelle les petites capitales sont synthétisées ou (3) une police dont toutes les minuscules sont remplacées par des capitales. On peut synthétiser électroniquement les petites capitales en jouant sur l'échelle des capitales d'une police normale.

7.8.9 'font-weight'

Définition CSS2 :

Valeur : normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit
Valeur initiale : normal
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'font-weight' vf.
http://www.w3.org/TR/REC-CSS2/fonts.html#font-styling

La propriété 'font-weight' spécifie la graisse de la police.

normal

Même chose que "400" ;

bold

Même chose que "700" ;

bolder

Spécifie la graisse supérieure à celle assignée à une police, cette graisse étant plus grasse que celle héritée par la police. S'il n'y en a pas, la valeur de graisse de la propriété prend simplement la valeur numérique supérieure (l'aspect de la police ne changeant pas), à moins que la valeur héritée ne soit déjà égale à "900", auquel cas la valeur résultante devient également "900" ;

lighter

Spécifie la graisse inférieure à celle assignée à une police, cette graisse étant moins grasse que celle héritée par la police. S'il n'y en a pas, la valeur de graisse de la propriété prend simplement la valeur numérique inférieure (l'aspect de la police ne changeant pas), à moins que la valeur héritée ne soit déjà égale à "100", auquel cas la valeur résultante devient également "100" ;

<entier>

Ces valeurs forment une séquence ordonnée, où chacun des nombres indique, pour la police, une graisse au moins aussi grasse que celle du nombre précédent.

Les éléments enfants héritent de la valeur calculée pour la graisse.

Les modifications XSL de la définition CSS :

XSL incorpore à la définition de la propriéé cet extrait du chapitre 15.5.1 de CSS2 (http://www.w3.org/TR/REC-CSS2/fonts.html#q46 vf.) :

Les autres valeurs de graisse disponibles dans l'échelle numérique ne sont présentes que pour conserver une certaine graduation de la graisse dans une famille de polices. Les agents utilisateurs doivent faire correspondre leurs noms aux valeurs numériques de graisse pour préserver la variation visuelle ; une police correspondant à une valeur de graisse donnée ne doit pas apparaître moins grasse que celles qui correspondent à des valeurs plus faibles. Il n'existe aucune garantie de la façon dont un agent utilisateur va associer les polices d'une famille avec ces valeurs numériques. Voici quelques pistes qui montrent comment traiter certains cas typiques : Si la famille de polices utilise déjà une échelle numérique de neuf valeurs (comme OpenType), les graisses devraient avoir une correspondance directe avec ces valeurs.

S'il existe à la fois une police marquée Medium et une marquée Book, Regular, Roman ou Normal, alors on fait correspondre la Medium à "500".

La police étiquetée « Bold » correspond souvent à la valeur de graisse "700".

S'il y a moins de 9 graisses dans la famille, un algorithme par défaut peut combler les « manques » comme ceci : si "500" n'a pas de police correspondante, on fait alors correspondre cette graisse à la même police qui correspond déjà à "400". Si une parmi les valeurs "600", "700", "800" ou "900" n'a pas de police correspondante, alors cette valeur partage la même police correspondante, si elle existe, que celle du mot-clé 'bolder', ou sinon, que celle qui correspond à 'lighter'. Si une parmi les valeurs "300", "200" ou "100" n'a pas de correspondance, alors cette valeur partage la même correspondance, si elle existe, que celle du mot-clé "lighter", ou sinon, que celle qui correspond à "bolder".

L'existence d'une graisse plus épaisse pour toutes les valeurs de 'font-weight' n'est pas garantie. Par exemple, certaines familles de polices n'ont que les déclinaisons normale et grasse, d'autres peuvent en avoir huit.

7.9 Les propriétés de césure communes

7.9.1 'country'

Définition XSL :

Valeur : none | <pays> | inherit
Valeur initiale : none
S'applique à : fo:block, fo:character, fo:page-sequence
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

none

Indique que le pays est inconnu ou n'est pas significatif pour une mise en forme correcte de cet objet ;

<pays>

Un spécifiant de pays conforme avec [RFC3066].

Spécifie le pays qui est utilisé par le formateur pour des services couplés à une langue ou à une localisation, tels que la stratégie de justification de ligne, la coupure de ligne et la césure.

Remarque :

Ceci peut affecter la composition de la ligne en fonction du système.

Le pays peut être le composant de pays pour tout code RFC 3066 (ceux-ci sont dérivés de ISO 3166).

7.9.2 'language'

Définition XSL :

Valeur : none | <langue> | inherit
Valeur initiale : none
S'applique à : fo:block, fo:character, fo:page-sequence
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

none

Indique que la langue est inconnue ou n'est pas significative pour une mise en forme correcte de cet objet ;

<langue>

Un spécifiant de langue conforme avec [RFC3066].
« errata-E17 »

Spécifie la langue qui est utilisée par le formateur pour des services couplés à une langue ou à une localisation, tels que la stratégie de justification de ligne, la coupure de ligne et la césure.

Remarque :

Ceci peut affecter la composition de la ligne en fonction du système.

Le pays peut être le composant de pays pour tout code RFC 3066 (ceux-ci sont dérivés de ISO 3166).
« errata-E17 »

7.9.3 'script'

Définition XSL :

Valeur : none | auto | <écriture> | inherit
Valeur initiale : auto
S'applique à : fo:block, fo:character
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

auto

Indique une détermination de l'écriture basée sur le test d'un caractère du document par des identifiants d'écriture assignés à des plages de points de code Unicode ;

Pour l'objet fo:character, c'est la propriété 'character' qui donne le caractère à tester. Pour les autres objets de mise en forme, c'est le premier caractère descendant, dans le cheminement pré-ordonné de l'arbre des objets de mise en forme affiné, celui-ci ayant un identifiant d'écriture non-ambigu, qui est testé.

Remarque :

Ceci fournit une différenciation automatique entre le Kanji, le Katakana, l'Hiragana et le Romanji, utilisés dans JIS-4051, ainsi que des services analogues dans d'autres associations pays/langues.

none

Indique que l'écriture est inconnue ou n'est pas significative pour une mise en forme correcte de cet objet ;

<écriture>

Un spécifiant d'écriture conforme avec [ISO15924].

Spécifie l'écriture qui est utilisée par le formateur pour des services couplés à une langue ou à une localisation, tels que la stratégie de justification de ligne, la coupure de ligne et la césure.

Remarque :

Ceci peut affecter la composition de la ligne en fonction du système.

7.9.4 'hyphenate'

Définition XSL :

Valeur : false | true | inherit
Valeur initiale : false
S'applique à : fo:block, fo:character
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

false

L'algorithme de coupure de ligne ne doit pas employer de césure pour le texte contenu dans cet objet ;

true

L'algorithme de coupure de ligne doit employer une césure pour le texte contenu dans cet objet.

Spécifie l'emploi d'un mécanisme de césure pour une coupure de ligne lors de la mise en forme de cet objet par le formateur.

7.9.5 'hyphenation-character'

Définition XSL :

Valeur : <caractère> | inherit
Valeur initiale : le caractère de césure Unicode U+2010
S'applique à : fo:block, fo:character
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

<caractère>

Spécifie le caractère Unicode à présenter quand une césure intervient. Les propriétés de style de ce caractère sont celles héritées de l'objet de flux qui contient celui-ci.

7.9.6 'hyphenation-push-character-count'

Définition XSL :

Valeur : <nombre> | inherit
Valeur initiale : 2
S'applique à : fo:block, fo:character
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

<entier>

Quand une valeur négative ou non-entière est spécifiée, celle-ci sera arrondie à l'entier le plus proche supérieur à zéro.

La valeur de la propriété 'hyphenation-push-character-count' est un entier positif qui spécifie le nombre minimum de caractères résultant de la césure d'un mot situés après le caractère de césure. C'est-à-dire, le nombre minimum de caractères du mot qui sont poussés à la ligne suivante celle qui se termine par le caractère de césure.

7.9.7 'hyphenation-remain-character-count'

Définition XSL :

Valeur : <nombre> | inherit
Valeur initiale : 2
S'applique à : fo:block, fo:character
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

<entier>

Quand une valeur négative ou non-entière est spécifiée, celle-ci sera arrondie à l'entier le plus proche supérieur à zéro.

La valeur de la propriété 'hyphenation-remain-character-count' est un entier positif qui spécifie le nombre minimum de caractères résultant de la césure d'un mot situés avant le caractère de césure. C'est-à-dire, le nombre minimum de caractères du mot qui restent dans la ligne se terminant par le caractère de césure.

7.10 Les propriétés de marge communes de bloc

7.10.1 'margin-top'

Définition CSS2 :

Valeur : <marge-largeur> | inherit
Valeur initiale : 0pt
S'applique à : tous les éléments
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'margin-top' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin-top

La largeur de marge prend l'une des valeurs suivantes :

auto

Voir le chapitre de CSS2 sur le calcul des largeurs et des marges pour une explication ;

<longueur>

Spécifie une largeur fixe ;

<pourcentage>

Le pourcentage se calcule en fonction de la largeur de la boîte du bloc conteneur générée. Ceci est vrai pour les propriétés 'margin-top' et 'margin-bottom', sauf dans un contexte de page où les pourcentages se rapporte à la hauteur de la boîte de page.

Les propriétés de marge admettent des valeurs négatives, mais ceci peut dépendre de l'implémentation.

Spécifie la marge du haut d'une boîte.

Les modifications XSL de la définition CSS :

7.10.2 'margin-bottom'

Définition CSS2 :

Valeur : <marge-largeur> | inherit
Valeur initiale : 0pt
S'applique à : tous les éléments
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'margin-bottom' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin-bottom

La largeur de marge prend l'une des valeurs suivantes :

auto

Voir le chapitre de CSS2 sur le calcul des largeurs et des marges pour une explication ;

<longueur>

Spécifie une largeur fixe ;

<pourcentage>

Le pourcentage se calcule en fonction de la largeur de la boîte du bloc conteneur générée. Ceci est vrai pour les propriétés 'margin-top' et 'margin-bottom', sauf dans un contexte de page où les pourcentages se rapporte à la hauteur de la boîte de page.

Les propriétés de marge admettent des valeurs négatives, mais ceci peut dépendre de l'implémentation.

Spécifie la marge du bas d'une boîte.

Les modifications XSL de la définition CSS :

7.10.3 'margin-left'

Définition CSS2 :

Valeur : <marge-largeur> | inherit
Valeur initiale : 0pt
S'applique à : tous les éléments
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'margin-left' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin-left

La largeur de marge prend l'une des valeurs suivantes :

auto

Voir le chapitre de CSS2 sur le calcul des largeurs et des marges pour une explication ;

<longueur>

Spécifie une largeur fixe ;

<pourcentage>

Le pourcentage se calcule en fonction de la largeur de la boîte du bloc conteneur générée.

Les propriétés de marge admettent des valeurs négatives, mais ceci peut dépendre de l'implémentation.

Spécifie la marge de gauche d'une boîte.

Les modifications XSL de la définition CSS :

7.10.4 'margin-right'

Définition CSS2 :

Valeur : <marge-largeur> | inherit
Valeur initiale : 0pt
S'applique à : tous les éléments
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'margin-right' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin-right

La largeur de marge prend l'une des valeurs suivantes :

auto

Voir le chapitre de CSS2 sur le calcul des largeurs et des marges pour une explication ;

<longueur>

Spécifie une largeur fixe ;

<pourcentage>

Le pourcentage se calcule en fonction de la largeur de la boîte du bloc conteneur générée.

Les propriétés de marge admettent des valeurs négatives, mais ceci peut dépendre de l'implémentation.

Spécifie la marge de droite d'une boîte.

Les modifications XSL de la définition CSS :

7.10.5 'space-before'

Définition XSL :

Valeur : <espace> | inherit
Valeur initiale : space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0
S'applique à : ceux des objets de mise en forme de type bloc
Héritée : non
Pourcentage : sans objet (différent de la marge du haut de CSS)
Médias : visuel

Les significations des valeurs sont les suivantes :

<espace>

Spécifie les valeurs minimum, optimum et maximum pour l'espace d'avant de toute aire générée par cet objet de mise en forme, ainsi que la conditionnalité et la préséance de cet espace.

Spécifie la valeur du spécifiant d'espace pour l'espace d'avant des aires générées par cet objet de mise en forme. La définition des spécifiants d'espace et leurs interactions, quand ceux-ci surviennent en succession, est donnée au chapitre [4.3 Les espaces et la conditionnalité].

Remarque :

Un exemple courant d'une telle succession est représenté par le trait space-after d'une aire et le trait space-before de l'aire de même niveau de parenté qui la suit.

7.10.6 'space-after'

Définition XSL :

Valeur : <espace> | inherit
Valeur initiale : space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0
S'applique à : ceux des objets de mise en forme de type bloc
Héritée : non
Pourcentage : sans objet (différent de la marge du bas de CSS)
Médias : visuel

Les significations des valeurs sont les suivantes :

<espace>

Spécifie les valeurs minimum, optimum et maximum pour l'espace d'après de toute aire générée par cet objet de mise en forme, ainsi que la conditionnalitée et la préséance de cet espace.

Spécifie la valeur du spécifiant d'espace pour l'espace d'après des aires générées par cet objet de mise en forme. La définition des spécifiants d'espace et leurs interactions, quand ceux-ci surviennent en succession, est donnée au chapitre [4.3 Les espaces et la conditionnalité].

Remarque :

Un exemple courant d'une telle succession est représenté par le trait space-after d'une aire et le trait space-before de l'aire de même niveau de parenté qui la suit.

7.10.7 'start-indent'

Définition XSL :

Valeur : <longueur> | <pourcentage> | inherit
Valeur initiale : 0pt
S'applique à : ceux des objets de mise en forme de type bloc
Héritée : oui
Pourcentage : se rapporte à la dimension de progression en-ligne de l'aire de référence conteneur
Médias : visuel

Les significations des valeurs sont les suivantes :

<longueur>

On spécifie « l'indentation du début » comme une longueur ;

<pourcentage>

On spécifie « l'indentation du début » comme un pourcentage de la dimension de progression en-ligne de l'aire de référence conteneur.

Spécifie, pour chaque aire de bloc générée par cet objet de mise en forme, la distance entre le bord de début du rectangle de contenu de l'aire de référence conteneur et le bord de début du rectangle de contenu de l'aire de bloc en question.

Cette propriété admet une valeur négative, indiquant ainsi un retrait.

7.10.8 'end-indent'

Définition XSL :

Valeur : <longueur> | <pourcentage> | inherit
Valeur initiale : 0pt
S'applique à : ceux des objets de mise en forme de type bloc
Héritée : oui
Pourcentage : se rapporte à la dimension de progression en-ligne de l'aire de référence conteneur
Médias : visuel

Les significations des valeurs sont les suivantes:

<longueur>

On spécifie « l'indentation de fin » comme une longueur ;

<pourcentage>

On spécifie « l'indentation de fin » comme un pourcentage de la dimension de progression en-ligne de l'aire de référence conteneur.

Spécifie, pour chaque aire de bloc générée par cet objet de mise en forme, la distance entre le bord de fin du rectangle de contenu de l'aire de référence conteneur et le bord de fin du rectangle de contenu de l'aire de bloc en question.

Cette propriété admet une valeur négative, indiquant ainsi un retrait.

7.11 Les propriétés de marge communes en-ligne

Ce groupe comprend également toutes les propriétés du groupe des propriétés de marge communes de bloc, sauf les propriétés 'space-before', 'space-after', 'start-indent' et 'end-indent'.

7.11.1 'space-end'

Définition XSL :

Valeur : <espace> | <pourcentage> | inherit
Valeur initiale : space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0
S'applique à : tous ceux des objets de mise en forme de type en-ligne
Héritée : non
Pourcentage : se rapporte à la dimension de progression en-ligne de l'aire de bloc ancêtre le plus proche qui n'est pas une aire de ligne
Médias : visuel

Les significations des valeurs sont les suivantes :

<espace>

On spécifie « l'espace de fin » comme un espace ;

<pourcentage>

On spécifie « l'espace de fin » comme un pourcentage de la dimension de progression en-ligne de l'aire de bloc ancêtre le plus proche.

Spécifie les valeurs minimum, optimum et maximum de l'espace de fin de toute aire générée par cet objet de mise en forme, ainsi que la conditionnalité et la préséance de cet espace.

Spécifie la valeur du spécifiant d'espace pour l'espace de fin des aires générées par cet objet de mise en forme. La définition des spécifiants d'espace et leurs interactions, quand ceux-ci surviennent en succession, est donnée au chapitre [4.3 Les espaces et la conditionnalité].

Remarque :

Un exemple courant d'une telle succession est représenté par le trait space-end d'une aire et le trait space-start de l'aire de même niveau de parenté qui la suit.

7.11.2 'space-start'

Définition XSL :

Valeur : <espace> | <pourcentage> | inherit
Valeur initiale : space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0
S'applique à : tous ceux des objets de mise en forme de type en-ligne
Héritée : non
Pourcentage : se rapporte à la dimension de progression en-ligne de l'aire de bloc ancêtre le plus proche qui n'est pas une aire de ligne
Médias : visuel

Les significations des valeurs sont les suivantes :

<espace>

On spécifie « l'espace de début » comme un espace ;

<pourcentage>

On spécifie « l'espace de début » comme un pourcentage de la dimension de progression en-ligne de l'aire de bloc ancêtre le plus proche.

Spécifie les valeurs minimum, optimum et maximum de l'espace de début de toute aire générée par cet objet de mise en forme, ainsi que la conditionnalité et la préséance de cet espace.

Spécifie la valeur du spécifiant d'espace pour l'espace de début des aires générées par cet objet de mise en forme. La définition des spécifiants d'espace et leurs interactions, quand ceux-ci surviennent en succession, est donnée au chapitre [4.3 Les espaces et la conditionnalité].

Remarque :

Un exemple courant d'une telle succession est représenté par le trait space-end d'une aire et le trait space-start de l'aire de même niveau de parenté qui la suit.

7.12 Les propriétés de position relative communes

Ce groupe comprend également les propriétés 'top', 'right', 'bottom' et 'left' du groupe des propriétés de position absolue communes.

7.12.1 'relative-position'

Dérivée d'une propriété CSS2.

Valeur : static | relative | inherit
Valeur initiale : static
S'applique à : tous les objets de mise en forme de type bloc (sauf fo:block-container) et de type en-ligne
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

static

L'aire est empilée normalement ;

relative

La position de l'aire se détermine comme si celle-ci était empilée normalement. Le décalage de la position de l'aire par rapport à cette position normale n'intervient qu'au moment de son rendu. Une aire en position relative n'influence pas la position des autres aires.

Pour les aires qui débordent des limites d'une page, seule la partie, qui aurait été placée au départ sur une page donnée, sera incluse dans l'aire repositionnée sur cette page. Toute partie de l'aire repositionnée, qui était au départ sur la page courante, mais qui tombe en dehors de la page courante du fait du repositionnement, est « éteinte » (typiquement rognée), et ainsi ne tombe sur aucune autre page.

7.13 Les propriétés d'alignement des aires

Les propriétés d'alignement des aires contrôlent l'alignement des aires enfants en fonction des aires de leurs parents. On donne un cadre de référence à l'aire du parent au travers de sa table de lignes de base ajustée. Une table de lignes de base ajustée est une valeur composée de trois composants : un identifiant de ligne de base pour la ligne de base dominante, une table de lignes de base dérivée avec les positions des lignes de base exprimées dans les coordonnées de l'espace du dessin et une taille de police de la table de lignes de base utilisée pour ajuster les positions des lignes de base dans cette table. Dans une table de lignes de base ajustée, on peut ajuster les positions des lignes de base en multipliant les valeurs de coordonnée de l'espace du dessin par la taille de police de la table de lignes de base.

La figure suivante illustre la position de ces lignes de base :

Exemple d'alignement de différentes écritures   [D]

Cette figure montre des échantillons de Gurmukhi (une écriture indienne suspendue) et d'écritures latines et idéographiques avec la plupart des lignes de bas définies plus loin. Le trait fin autour des glyphes idéographiques matérialise la boîte em dans laquelle le glyphe est centré. Ici, les positions des lignes de base "text-before-edge" et "text-after-edge" sont calculées en supposant que la ligne de base "alphabétic" est la ligne de base dominante. La ligne de base "centrale", qui n'apparaît pas dans la figure, se tient à mi-chemin entre les lignes de base "text-before-edge" et "text-after-edge", à peu près où la ligne de base "mathematical" s'inscrit.

On utilise dans cette spécification les identifiants de ligne de base ci-dessous. Certains d'entre eux sont déterminés par les tables de lignes de base contenues dans les polices, comme décrit au chapitre [7.8.1 Les polices et les données de police]. Les autres sont calculés à partir d'autres caractéristiques de police comme décrit ensuite. Que ceux-ci soient déterminés par la police ou calculés, une table de lignes de base dérivée est construite avec les positions pour chacune des lignes de base suivantes :

alphabetic

Celui-ci identifie la ligne de base utilisée par la plupart des écritures alphabétiques ou syllabiques. En font partie, mais pas seulement, de nombreuses écritures occidentales, indiennes du Sud, asiatiques du Sud-Est ;

ideographic

Celui-ci identifie la ligne de base utilisée par des écritures idéographiques. Pour des raisons historiques, cette ligne de base se situe en bas de la boîte em idéographique et non au milieu de celle-ci. Voir la ligne de base "central". Les écritures idéographiques comprennent le chinois, le japonais, le coréen et le vietnamien Chu Nom ;

hanging

Celui-ci identifie la ligne de base utilisée par certaintes écritures indiennes. Ces écritures comprennent le devanagari, le gurmukhi et le bengali ;

mathematical

Celui-ci identifie la ligne de base utilisée par des symboles mathématiques ;

central

Celui-ci identifie la ligne de base calculée située au centre de la boîte em. Celle-ci se tient à mi-chemin entre les lignes de base text-before-edge et text-after-edge ;

Remarque :

Pour les polices idéographiques, cette ligne de base est souvent utilisée pour aligner les glyphes ; c'est une alternative à la ligne de base idéographique.

middle

Celui-ci identifie une ligne de base qui se décale de la ligne de base alphabétique, dans la direction indiquée par le trait shift-direction, d'une valeur égale à la moitié de la caractéristique de police hauteur-x. On peut obtenir la position de cette ligne de base à partir des données de police ou, pour les polices qui ont une caractéristique "x-height", on peut la calculer en utilisant la moitié de sa valeur. En l'absence de l'une ou l'autre de ces informations, la ligne de base "central" peut constituer une approximation de la position de cette ligne de base ;

text-before-edge

Celui-ci identifie le bord d'avant de la boîte em. La position de cette ligne de base peut être spécifiée dans la table de lignes de base ou être calculée ;

Remarque :

La position de cette ligne de base se trouve normalement autour ou en haut des hampes, mais celle-ci peut ne pas englober les accents éventuels qui apparaissent en haut d'un glyphe. Pour de telles polices, la valeur de la caractéristique de police "ascent" est utilisée. Pour les polices idéographiques, la position de cette ligne de base se trouve normalement à 1em de la ligne de base "ideographic" dans le sens du trait shift-direction. Cependant, certaines polices idéographiques ont une largeur réduite dans la direction de progression en-ligne pour permettre une mise en place plus serrée. Quand on utilise une telle police, dessinée pour le seul mode d'écriture vertical, dans un mode horizontal, la ligne de base "text-before-edge" peut se trouver à moins de 1em de la ligne de base "text-after-edge".

text-after-edge

Celui-ci identifie le bord d'après de la boîte em. La position de cette ligne de base peut être spécifée dans la table de lignes de base ou être calculée ;

Remarque :

Pour les polices avec jambages, la position de cette ligne de base est normalement autour ou en bas de ces jambages. Pour de telles polices, la valeur de la caractéristique de police "descent" est utilisée. Pour les polices idéographiques, la position de cette ligne de base se trouve normalement sur la ligne de base "ideographic".

En outre, il existe deux lignes de base calculées, qui ne sont définies que pour les aires de ligne. Pour chaque aire de ligne, on a une ligne de base dominante, une table de lignes de base et une taille de police de table de lignes de base, qui sont celles de l'objet de mise en forme ancêtre le plus proche contenant entièrement la ligne. Les lignes de base "before-edge" et "after-edge" se définissent comme suit :

before-edge

Le décalage entre la ligne de base "before-edge" et la ligne de base dominante d'une ligne se détermine en ignorant toutes les aires en-ligne dont la valeur du trait alignment-baseline est "before-edge" ou "after-edge". Pour "before-edge", les déplacements se mesurent à partir de la ligne de base dominante en direction du haut de l'aire de référence. Le haut de l'aire de référence est défini par le trait reference-orientation de celle-ci. Le décalage de la ligne de base "before-edge" s'établit comme étant l'extension maximale des lignes de base "before-edge" des rectangles d'allocation des aires restantes. Si toutes les aires en-ligne dans une aire de ligne sont alignées soit sur la ligne de base "before-edge", soit sur "after-edge", alors on utilise le décalage de la ligne de base "text-before-edge" comme décalage de la ligne de base "before-edge" de la ligne ;

after-edge

Le décalage entre la ligne de base "after-edge" et la ligne de base dominante d'une ligne se détermine en ignorant toutes les aires en-ligne dont la valeur du trait alignment-baseline est "after-edge". Pour "after-edge", les déplacements se mesurent à partir de la ligne de base dominante en direction du bas de l'aire de référence. Le bas de l'aire de référence est défini par le trait reference-orientation de celle-ci. Le décalage de la ligne de base "after-edge" s'établit comme étant le négatif du maximum entre (1) l'extension maximale des lignes de base "after-edge" des rectangles d'allocation des aires restantes et (2) la hauteur maximum des rectangles d'allocation des aires ignorées moins le décalage de la ligne de base "before-edge" de la ligne.

Remarque :

Si toutes les aires en-ligne dans une aire de ligne sont alignées sur la ligne de base "after-edge", alors la spécification de la ligne de base "before-edge" fera coïncider celle-ci avec la ligne de base "text-before-baseline" de la ligne. Puis, le décalage vers la ligne de base "after-edge" sera déterminé suivant le cas (2) ci-dessus. Dans ce cas, le rectangle d'allocation de l'une des aires va s'étendre de la ligne de base "before-edge" à la ligne de base "after-edge".

Remarque :

Les spécifications ci-dessus pour les lignes de base "before-edge" et "after-edge" ont les trois propriétés suivantes : (1) les rectangles d'allocation de toutes les aires se trouvent en-dessous de la ligne de base "before-edge", (2) les rectangles d'allocation de toutes les aires se trouvent au-dessus de la ligne de base "after-edge" et (3) on ne peut pas réduire la distance entre les lignes de base "before-edge" et "after-edge" sans enfreindre (1) ou (2). Le placement spécifié de ces lignes de base ne représente pas la seule façon de satisfaire aux trois propriétés, par contre c'est la seule façon de les satisfaire avec le décalage le plus petit possible vers la ligne de base "before-edge".

Des exemples illustrant les alignements "before-edge" et "after-edge" :

Exemples d'empilements de lignes   [D]

Les rectangles, avec des lignes ou des flèches, sont des images avec une taille intrinsèque comme représenté. Les rectangles, sans flèches, représentent des images recevant un alignement par défaut, celui de la ligne de base dominante. L'alignement des autres rectangles correspond au point le plus éloigné des têtes de flèche (c'est le milieu quand il y a deux têtes de flèche). Les exemples 1 et 2 montrent comment l'alignement "before-edge" est déterminé par les objets alignés de plus grande hauteur non "before-edge" : dans l'exemple 1, il s'agit du rectangle de l'image sans flèche alignée par défaut et, dans l'exemple 2, il s'agit du rectangle de l'image avec une flèche à deux têtes. Les exemples 3 et 4 montrent le placement par défaut sur la ligne de base "text-before-edge" quand toutes les aires ont un alignement "before-edge" ou bien "after-edge". Dans l'exemple 3, parmi les images avec un alignement "before-edge", il y en a une de plus grande hauteur que celles avec un alignement "after-edge". Dans l'exemple 4, l'image de plus grande hauteur se trouve à l'inverse dans le jeu de celles alignées "after-edge". L'exemple 5 répète l'exemple 2, l'image de plus grande hauteur ayant cette fois un alignement "after-edge".

Il existe aussi quatre lignes de base définies pour les seuls modes d'écriture horizontaux :

top

Cette ligne de base est la même que la ligne de base "before-edge" dans un mode d'écriture horizontal, elle n'est pas définie pour un mode vertical ;

text-top

Cette ligne de base est la même que la ligne de base "text-before-edge" dans un mode d'écriture horizontal, elle n'est pas définie pour un mode vertical ;

bottom

Cette ligne de base est la même que la ligne de base "after-edge" dans un mode d'écriture horizontal, elle n'est pas définie pour un mode vertical ;

text-bottom

Cette ligne de base est la même que la ligne de base "text-after-edge" dans un mode d'écriture horizontal, elle n'est pas définie pour un mode vertical ;

L'alignement d'un objet de mise en forme par rapport à son parent est déterminé par trois choses : la table des lignes de base ajustée du parent, la ligne de base d'alignement et le point d'alignement de l'objet de mise en forme en question. Avant l'alignement, la table de lignes de base ajustée peut être altérée. Les spécifications de propriété ci-dessous fournissent l'information nécessaire pour aligner les objets de mise en formes du parent et de l'enfant.

Quatre propriétés contrôlent l'alignement des objets de mise en forme selon ce jeu de lignes de base. Ces propriétés sont toutes indépendantes et sont ainsi conçues que seule la spécification de l'une d'entre elles soit nécessaire pour obtenir un alignement donné.

La première propriété d'alignement de ligne de base est la propriété 'dominant-baseline'. Celle-ci admet une valeur composée de trois composants. Le composant identifiant de ligne de base dominante correspond à la ligne de base d'alignement par défaut utilisée pour l'alignement de deux aires en-ligne. Le composant table de lignes de base spécifie la positions de lignes de base dans les coordonnées de l'espace du dessin de la police (voir [7.8.1 Les polices et les données de police]). La table de lignes de base fonctionne comme une portée musicale ; celle-ci définit des points particuliers selon la direction de progression de bloc sur lesquels les glyphes et les objets de mise en forme en-ligne peuvent s'aligner. Le composant taille de police de la table de lignes de base donne un facteur d'ajustement pour la table de lignes de base.

En pratique, dans la spécification, on parle de la ligne de base identifiée par le composant identifiant de ligne de base dominante de la propriété 'dominant-baseline' comme de la « ligne de base dominante » (par abus de langage).

La figure suivante illustre un exemple d'alignement simple. Cette figure représente deux objets de mise en forme en-ligne, l'un dans l'autre. Ces objets forment le contenu d'une ligne dans un bloc pour lequel la valeur de la propriété 'writing-mode' est "lr-tb" et la police est "Helvetica". La structure de l'exemple est comme suit :

<fo:inline>Apex <fo:inline>Top</fo:inline></fo:inline>

Comme aucune propriété n'est spécifiée, alors les valeurs initiales s'appliquent. Puisqu'il s'agit d'un mode d'écriture horizontal, l'identifiant de ligne de base dominante reçoit la valeur "alphabetic", la table de lignes de base est déduite de la police nominale du bloc dans lequel apparaît la ligne, la police Helvetica ici.

Dans la figure, les positions des lignes de base, par rapport à la taille courante de la police, sont indiquées par des lignes rouges (comme une portée). Ces lignes reçoivent en étiquette les abréviations des noms des lignes de base (par exemple, TBE pour "text-before-edge"). La ligne de base, identifiée par l'identifiant de ligne de base dominante (A), apparaît en bleu. Il y a une rupture des lignes de la portée pour distinguer l'objet de mise en forme en-ligne interne. Ce n'est pas nécessaire ici, mais cette distinction va devenir importante dans les exemples suivants.

La propriété 'alignment-baseline' représente le premier moyen de positionner un objet de mise en forme interne par rapport à son parent. Pour tous les objets de mise en forme, sauf fo:character, la propriété 'alignment-baseline' a pour valeur initiale "baseline". Cette valeur a pour effet d'aligner la ligne de base dominante de l'objet de mise en forme en-ligne interne avec la ligne de base dominante de l'objet en-ligne externe. Dans la figure, ceci est représenté par la ligne bleue (A) qui réunit les deux portées.

Les glyphes déterminés par les objets fo:character, dans les contenus des deux objets de mise en forme, s'alignent en fonction de l'écriture dont ceux-ci font partie. Cet exemple ne faisant appel qu'à des glyphes latins, ceux-ci s'alignent sur la ligne de base "alphabetic".

Un objet de mise en forme en-ligne interne, contenant des caractères latins, aligné sur un objet de
mise en forme en-ligne externe, contenant aussi des caractères latins   [D]

Un objet de mise en forme en-ligne interne, contenant des caractères latins, aligné sur un objet de mise en forme en-ligne externe, contenant aussi des caractères latins.

Dans la figure suivante, le contenu de l'objet de mise en forme en-ligne est en gurmukhi, l'écriture de la langue punjabi. Les syllabes gurmukhi se prononcent « gourou ». Plutôt que d'employer les valeurs Unicode de ces caractères, on les symbolise ici par leur translitération latine en italique. La structure de l'exemple en est donc :

<fo:inline>Apex <fo:inline>gourou</fo:inline></fo:inline>

Le seul changement qui survient, par rapport à l'exemple précédent, c'est l'alignement des glyphes de l'écriture gurmukhi sur la ligne de base "hanging" de l'objet de mise en forme en-ligne interne. L'alignement de l'objet de mise en forme lui-même reste inchangé par rapport à l'objet de mise en forme en-ligne externe.

Un objet de mise en forme en-ligne interne, contenant des caractères gurmukhi, aligné sur un objet de
mise en forme en-ligne externe, contenant des caractères latins   [D]

Un objet de mise en forme en-ligne interne, contenant des caractères gurmukhi, aligné sur un objet de mise en forme en-ligne externe, contenant des caractères latins.

Dans la figure suivante, les fragments de texte des exemples précédents forme le contenu de l'objet de mise en forme en-ligne externe. L'objet de mise en forme en-ligne interne amène un changement dans la taille de la police. La structure en est :

<fo:inline>Apgourou
  <fo:inline font-size='.75em'>
    Exji
  </fo:inline>
</fo:inline>

Dans cet exemple, l'alignement de l'objet de mise en forme en-ligne interne lui-même ne change pas, non plus que l'alignement des glyphes plus petits dans celui-ci. Les glyphes latins sont toujours alignés sur la ligne de base "alphabetic" et les glyphes gurmukhi, prononcés « ji », toujours alignés sur la ligne de base "hanging". Noter que juste changer la valeur de la propriété 'font-size' ne change pas la table de lignes de base en vigueur dans l'objet de mise en forme en-ligne interne.

Un alignement en-ligne de glyphes avec une taille de police réduite   [D]

L'objet de mise en forme en-ligne interne avec une réduction de taille de police.

La figure suivante est équivalente à l'exemple précédent, les caractères gurmukhi étant remplacés par des caractères idéographiques. Ceux-ci s'alignent sur la ligne de base "ideographic".

Un alignement en-ligne de glyphes avec une taille de police réduite (suite)   [D]

Même figure que précédemment, cette fois avec des caractères idéographiques à la place des caractères gurmukhi. Les boîtes em des idégrammes sont visibles pour clarifier l'alignement de ces glyphes.

Pour changer l'ajustement des lignes de la table de lignes de base, il est nécessaire d'utiliser la propriété 'dominant-baseline' de l'objet de mise en forme en-ligne interne. La valeur de la propriété 'reset-size' entraîne une ré-attribution de la taille de police de la table de lignes de base à partir de la taille de police de l'objet de mise en forme sur lequel se trouve la propriété 'dominant-baseline'. La figure qui suit en est l'illustration, avec cette structure :

<fo:inline>Apgourou
  <fo:inline font-size='.75em'
             dominant-baseline='reset-size'>
     Exji
  </fo:inline>
</fo:inline>

L'alignement de l'objet de mise en forme en-ligne interne, par rapport à celui de l'objet externe, se déterminé toujours en alignant les lignes de bases dominantes. Mais, la table de lignes de base de l'objet de mise en forme en-ligne interne est réajusté en fonction de la taille de police de cet objet. Ainsi les glyphes les plus petits s'alignent l'un sur l'autre.

Un alignement en-ligne de glyphes avec une taille de police réduite (suite)   [D]

La table de lignes de base de l'objet de mise en forme en-ligne interne est ré-ajustée pour correspondre à la taille de police de l'objet en-ligne interne.

Mais, que faire s'il était plus important que les petits glyphes gurmukhi s'alignent sur les grands glyphes gumurkhi, plutôt que les glyphes latins soient alignés. Il existe au moins deux moyens de le faire. La structure :

<fo:inline dominant-baseline='hanging'>Apgourou
  <fo:inline font-size='.75em'
             dominant-baseline='reset-size'>
     Exji
  </fo:inline>
</fo:inline>

celle-ci est illustrée dans la figure suivante. La ligne de base "hanging" devient celle dominante et la valeur initiale de la propriété 'alignment-baseline' entraîne l'alignement de la (nouvelle) ligne de base "hanging" comme indiqué par la connexion des lignes de base en bleu.

Un alignement en-ligne de glyphes avec une taille de police réduite (suite)   [D]

Le basculement de la ligne de base dominante vers la ligne de base "hanging" entraîne l'alignement de l'objet de mise en forme en-ligne interne sur la ligne de base "hanging" de son parent.

On peut aussi aboutir à l'effet illustré dans la figure ci-dessus sans changer de ligne de base dominante. En effet, il suffit de spécifier explicitement que l'objet de mise en forme en-ligne interne soit aligné sur sa ligne de base "hanging". Comme ceci :

<fo:inline>Apgourou
  <fo:inline font-size='.75em'
             dominant-baseline='reset-size'
             alignment-baseline='hanging'>
     Exji
  </fo:inline>
</fo:inline>

Cette approche entraî;nerait, comme seul changement dans la figure précédente, la coloration de la ligne de base "hanging" en rouge et la conservation de la ligne de base "alphabetic" comme ligne de base dominante (en bleu). Celle-ci, dans l'objet de mise en forme en-ligne interne, ne sera pas alignée (comme dans la figure) avec la ligne de base "alphabetic" de l'objet de mise en forme en-ligne externe.

La troisième propriété d'alignement de ligne de base est 'baseline-shift'. Comme les propriétés autres que 'dominant-baseline', cette propriété n'altère pas la table de lignes de base ni la taille de police de la table de lignes de base. Elle déplace l'ensemble de la table de lignes de base de l'objet de mise en forme parent, de manière à ce que, quand un objet de mise en forme en-ligne interne est aligné sur l'une des lignes de base du parent, la position de cet objet de mise en forme en-ligne interne soit déplacée. La figure suivante en est l'illustration. La structure à l'origine de cette figure :

<fo:inline>Ap
  <fo:inline baseline-shift='super'>1ji</fo:inline>
</fo:inline>

Comme le jeu entier des lignes de portée de la table des lignes de base est déplacé vers la position de la ligne de base en exposant, la ligne de base sur laquelle s'alignent les glyphes en exposant importe peu. Le chiffre européen "1" s'aligne sur la ligne de base "alphabetic" et la syllabe gumurkhi « ji » s'aligne sur la ligne de base "hanging".

Utilisation d'un déplacement de ligne de base pour un exposant   [D]

L'utilisation d'un « déplacement de ligne de base » pour un exposant (ou pour un indice).

La taille de police du texte en exposant est généralement plus petite que celle du texte auquel cet exposant est accolé. Soit la structure :

<fo:inline>Ap
  <fo:inline font-size='.75em'
             baseline-shift='super'>
    1ji
  </fo:inline>
</fo:inline>

Comme il est habituel de changer la taille de police d'un exposant (ou d'un indice), voici le cas où un tel changement entraîne l'ajustement de la taille de police de la table de lignes de base quand la propriété 'dominant-baseline' a sa valeur initiale. Après le ré-ajustement, l'alignement par défaut sur la ligne de base dominante place l'objet de mise en forme en-ligne de l'exposant sur la position de la ligne de base dominante dans la table de lignes de base déplacée de l'objet de mise en forme parent.

Alignement d'exposants avec des taille de police réduites   [D]

La réduction de la taille de police de l'exposant ré-ajuste automatiquement la taille de la table de lignes de base de façon à ce que les écritures mixtes de l'exposant restent mutuellement alignées.

La quatrième propriété d'alignement est 'alignment-adjust'. Celle-ci s'utilise principalement pour des objets, tels que certains graphiques, qui n'appartiennent à aucune écriture donnée et qui n'ont pas de point d'alignement prédéfini. La propriété 'alignment-adjust' permet à l'auteur d'indiquer à quel endroit sur le bord de début de l'objet se tient le point d'alignement de celui-ci.

7.13.1 'alignment-adjust'

Définition XSL :

Valeur : auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | <pourcentage> | <longueur> | inherit
Valeur initiale : auto
S'applique à : tous ceux des objets de mise en forme en-ligne
Héritée : non
Pourcentage : voir explication
Médias : visuel

La propriété 'alignment-adjust' autorise un alignement plus précis des aires générées par des objets de mise en forme, notamment ceux tels que des graphiques, qui n'ont pas de table de lignes de base ou dont la ligne de base voulue est absente de leur table de lignes de base. On peut déterminer explicitement la position de la ligne de base désignée par la propriété 'alignment-baseline' avec celle-ci.

Les significations des valeurs sont les suivantes :

auto

Pour un glyphe, le point d'alignement correspond à l'intersection du bord de début du rectangle d'allocation de l'aire de glyphe et de la direction de progression de bloc du point d'alignement de la police, comme indiqué au chapitre [7.8.1 Les polices et les données de police]. Pour d'autres aires en-ligne, le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base identifiée par la propriété 'alignment-baseline', si cette ligne de base existe dans la table de lignes de base pour la ligne de base dominante de l'aire en-ligne. Si l'identifiant de ligne de base n'existe pas dans la table de lignes de base du glyphe ou dans celle d'une autre aire en-ligne, alors l'agent utilisateur peut soit employer des moyens heuristiques pour déterminer où serait la ligne de base manquante soit employer la ligne de base dominante comme repli. Pour les aires générées par un objet fo:external-graphic, ou fo:instream-foreign-object, le point d'alignement se trouve à l'intersection du bord de début et du bord d'après du rectangle d'allocation de l'aire ;

baseline

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base dominante de l'aire ;

before-edge

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "before-edge" de l'aire ;

text-before-edge

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "text-before-edge" de l'aire ;

central

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "central" de l'aire ;

middle

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "middle" de l'aire ;

after-edge

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "after-edge" de l'aire ;

text-after-edge

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "text-after-edge" de l'aire ;

ideographic

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "ideographic" de l'aire ;

alphabetic

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "alphabetic" de l'aire ;

hanging

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "hanging" de l'aire ;

mathematical

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "mathematical" de l'aire ;

top

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "top" de l'aire pour un mode d'écriture horizontal. Autrement, la ligne de base dominante est utilisée ;

bottom

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "bottom" de l'aire pour un mode d'écriture horizontal. Autrement, la ligne de base dominante est utilisée ;

text-top

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "text-top" de l'aire pour un mode d'écriture horizontal. Autrement, la ligne de base dominante est utilisée ;

text-bottom

Le point d'alignement se trouve à l'intersection du bord de début du rectangle d'allocation et de la ligne de base "text-bottom" de l'aire pour un mode d'écriture horizontal. Autrement, la ligne de base dominante est utilisée ;

<pourcentage>

La valeur calculée de la propriété est obtenue en multipliant ce pourcentage par la valeur calculée de la propriété 'height' de l'aire, quand celle-ci est générée par un objet fo:external-graphic, ou fo:instream-foreign-object, par la valeur de 'font-size', quand l'aire est générée par un objet fo:character et, sinon, par la valeur de 'line-height'. Le point d'alignement se trouve sur le bord de début du rectangle d'allocation de l'aire en cours d'alignement. Sa position le long du bord de début, par rapport à l'intersection de la ligne de base dominante et le bord de début, est décalée de cette valeur calculée. Le décalage se fait à l'opposé de la direction indiquée par le trait shift-direction, quand cette valeur est positive, et dans la même direction, quand cette valeur est négative. Pour une valeur de "0%", la ligne de base dominante devient le point d'alignement ;

<longueur>

Le point d'alignement se trouve sur le bord de début du rectangle d'allocation de l'aire en cours d'alignement. Sa position le long du bord de début, par rapport à l'intersection de la ligne de base dominante et du bord de début, est décalée de cette valeur de <longueur>. Le décalage se fait à l'opposé de la direction indiquée par le trait shift-direction, quand cette valeur est positive, et dans la même direction, quand cette valeur est négative. Pour une valeur de "0%", la ligne de base dominante devient le point d'alignement.

Une implémentation doit reconnaître au moins l'une des valeurs de la propriété 'alignment-adjust' définies dans cette recommandation.

7.13.2 'alignment-baseline'

Définition XSL :

Valeur : auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | inherit
Valeur initiale : auto
S'applique à : tous ceux des objets de mise en forme en-ligne
Héritée : non
Pourcentage : sans objet
Médias : visuel

Cette propriété spécifie comment un objet s'aligne par rapport à son parent. C'est-à-dire, sur quelle ligne de base du parent le point d'alignement de cet objet s'aligne. La propriété 'alignment-adjust' spécifie comment déterminer le point d'alignement. Par défaut, celui-ci correspond à la ligne de base de même nom que la valeur calculée pour la propriété 'alignment-baseline'. Par exemple, la position du point d'alignement "ideographic", dans la direction de progression de bloc correspond à celle de la ligne de base "ideographic" dans la table de lignes de base de l'objet en cours d'alignement.

Les significations des valeurs sont les suivantes :

auto

La valeur calculée dépend de la sorte d'objet sur lequel la propriété s'applique. Pour l'objet fo:character, c'est la ligne de base dominante de l'écriture à laquelle le caractère appartient. Si la valeur de la propriété 'script' de l'objet de mise en forme parent est autre que "auto", alors utiliser la ligne de base pour cette écriture, sinon, utiliser la ligne de base dominante du parent. Pour tous les autres objets, la valeur se calcule comme pour "baseline" ;

baseline

Le point d'alignement de l'objet en cours d'alignement s'aligne sur la ligne de base dominante de l'aire du parent ;

before-edge

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "before-edge" de l'aire du parent ;

text-before-edge

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "text-before-edge" de l'aire du parent ;

central

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "central" de l'aire du parent ;

middle

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "middle" de l'aire du parent ;

after-edge

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "after-edge" de l'aire du parent ;

text-after-edge

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "text-after-edge" de l'aire du parent ;

ideographic

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "ideographic" de l'aire du parent ;

alphabetic

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "alphabetic" de l'aire du parent ;

hanging

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "hanging" de l'aire du parent ;

mathematical

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "mathematical" de l'aire du parent ;

top

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "top" de l'aire du parent pour un mode d'écriture horizontal. Sinon, la ligne de base dominante est utilisée ;

bottom

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "bottom" de l'aire du parent pour un mode d'écriture horizontal. Sinon, la ligne de base dominante est utilisée ;

text-top

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "text-top" de l'aire du parent pour un mode d'écriture horizontal. Sinon, la ligne de base dominante est utilisée ;

text-bottom

Le point d'alignement de l'objet en cours s'aligne sur la ligne de base "text-bottom" de l'aire du parent pour un mode d'écriture horizontal. Sinon, la ligne de base dominante est utilisée.

Une implémentation doit reconnaître au moins l'une des valeurs de la propriété 'alignment-baseline' définies dans cette recommandation.

7.13.3 'baseline-shift'

Définition XSL :

Valeur : baseline | sub | super | <pourcentage> | <longueur> | inherit
Valeur initiale : baseline
S'applique à : tous ceux des objets de mise en forme en-ligne
Héritée : non
Pourcentage : se rapporte à la propriété 'line-height' de l'aire du parent
Médias : visuel

La propriété 'baseline-shift' permet le repositionnement de la ligne de base dominante par rapport à celle de l'aire parent. L'objet déplacé peut être un indice ou un exposant. Dans cet objet, la table de lignes de base entière est déplacée, non une seule ligne de base. L'importance du déplacement est déterminée à partir de l'information de l'aire parent, l'indice ou l'exposant se décale à partir de la police nominale de l'aire parent, d'un pourcentage de la valeur de la propriété 'line-height' ou d'une valeur absolue de cette aire parent.

Quand la valeur de la propriété 'baseline-shift' est autre que "0", alors le composant taille de police de la table de lignes de base de la propriété 'dominant-baseline' est recalculé pour utiliser la propriété 'font-size' qui s'applique sur cet objet de mise en forme avec cette valeur non nulle spécifié.

Les significations des valeurs sont les suivantes:

baseline

Aucun déplacement de ligne de base ; la ligne de base dominante reste à sa place initiale ;

sub

La ligne de base dominante se déplace vers la position par défaut pour un indice. Le décalage de cette position est déterminé en utilisant les données de police de la police nominale. Pour la plupart des polices, comme la position de l'indice est donnée normalement par rapport à la ligne de base "alphabetic", l'agent utilisateur peut calculer la position effective de l'indice quand une autre ligne de base est dominante. On suggère le calcul suivant : soustraire la différence entre la position de ligne de base dominante et celle de la ligne de base "alphabetic" de la position de l'indice. Le décalage final est déterminé en multipliant la position effective de l'indice par la taille de police de table de lignes de base dominante. Si aucune donnée de police ne s'applique, l'agent utilisateur peut employer des moyens heuristiques pour déterminer ce décalage ;

super

La ligne de base dominante se déplace vers la position par défaut pour un exposant. Le décalage de cette position est déterminé en utilisant les données de police de la police nominale. Pour la plupart des polices, comme la position de l'exposant est donnée normalement par rapport à la ligne de base "alphabetic", l'agent utilisateur peut calculer la position effective de l'exposant quand une autre ligne de base est dominante. On suggère le calcul suivant : soustraire la différence entre la position de la ligne de base dominante et la position de la ligne de base "alphabetic" de la position de l'exposant. Le décalage final est déterminé en multipliant la position effective de l'exposant par la taille de police de la table de lignes de base dominante. Si aucune donnée de police ne s'applique, l'agent utilisateur peut employer des moyens heuristiques pour déterminer ce décalage ;

<pourcentage>

La valeur calculée prise par la propriété correspond à ce pourcentage multiplié par la valeur calculé de la propriété 'line-height' de l'aire parent. La ligne de base dominante est déplacée de cette valeur calculée dans la direction indiquée par le trait shift-direction de l'aire du parent, pour une valeur positive, et dans la direction opposée, pour une valeur négative. Une valeur de "0%" équivaut à "baseline" ;

<longueur>

La ligne de base dominante est déplacée de cette valeur de <longueur> dans la direction indiquée par le trait shift-direction de l'aire du parent, pour une valeur positive, et dans la direction opposée, pour une valeur négative. Une valeur de "0%" équivaut à "baseline".

Remarque :

Bien que les propriétés 'baseline-shift' et 'alignment-adjust' puissent sembler faire la même chose, il y a une différence importante, même si celle-ci est subtile. Pour 'alignment-adjust', les valeurs de pourcentage se rapportent à la propriété 'line-height' de l'aire en cours d'alignement. Pour 'baseline-shift', les valeurs en pourcentage se rapportent à la propriété 'line-height' du parent. De la même façon, ce sont les décalages "sub" et "super" du parent qui sont utilisés pour aligner la ligne de base ajustée, plutôt que ceux de l'aire en cours d'alignement. Pour assurer la position cohérente d'un indice ou d'un exposant, il est plus logique d'utiliser le parent comme référence plutôt que l'objet de mise en forme en indice, ou en exposant, celui-ci pouvant avoir une « hauteur de ligne » modifiée suite à un changement de « taille de police » dans cet objet.

L'utilisation de la propriété 'alignment-adjust' est plutôt destinée au positionnement d'objets, comme des graphiques, qui n'ont aucune structure textuelle interne. L'utilisation de la propriété 'baseline-shift' est destinée aux écritures en indice ou en exposant, plus susceptibles d'être des objets positionnés textuels. Le déplacement de ligne de base donne le moyen de définir un décalage de ligne de base donné autre que les décalages nommés définis par rapport à la ligne de base dominante. De plus, avec 'baseline-shift', il est plus facile pour un outil de générer les propriétés concernées, de nombreux logiciels de mise en forme implémentant déjà une notion de déplacement de ligne de base.

7.13.4 'display-align'

Définition XSL :

Valeur : auto | before | center | after | inherit
Valeur initiale : auto
S'applique à : fo:table-cell, fo:region-body, fo:region-before, fo:region-after, fo:region-start, fo:region-end, fo:block-container, fo:inline-container, fo:external-graphic, fo:instream-foreign-object
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Cette propriété spécifie, dans la direction de progression de bloc, l'alignement des aires qui sont les enfants d'une aire de référence.

Les significations des valeurs sont les suivantes:

auto

Si la propriété 'relative-align' s'applique à cet objet de mise en forme, on utilise celle-ci. Sinon, on traite cette valeur comme si "before" avait été spécifiée ;

before

Le bord d'avant du rectangle d'allocation de la première aire enfant coïncide avec le bord d'avant du rectangle de contenu de l'aire de référence ;

center

Les aires enfants sont placées de manière à ce que la distance entre le bord d'avant du rectangle d'allocation de l'aire du premier enfant et celui du rectangle de contenu de l'aire de référence soit la même que celle entre leurs bords d'après ;

after

Le bord d'après du rectangle d'allocation de l'aire du dernier enfant coïcide avec le bord d'après du rectangle de contenu de l'aire de référence.

7.13.5 'dominant-baseline'

Définition XSL :

Valeur : auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge | inherit
Valeur initiale : auto
S'applique à : tous ceux des objets de mise en forme en-ligne
Héritée : non
Pourcentage : sans objet
Médias : visuel

La propriété 'dominant-baseline' est utilisée pour déterminer ou re-déterminer une table de lignes de base ajustée. Une table de lignes de base ajustée consiste en une valeur composée de trois composants : un identifiant de ligne de base pour la ligne de base dominante, une table de lignes de base dérivée et une taille de police de la table de lignes de base. Certaines valeurs de la propriété re-déterminent ces trois valeurs, d'autres n'établissent à nouveau que la taille de police de la table de lignes de base. Si la valeur initiale "auto" donnait un résultat indésirable, on peut utiliser cette propriété pour établir une table de lignes de base ajustée souhaitée.

Remarque :

La table de lignes de base dérivée est construite en utilisant une table de lignes de base de la police qui correspond avec; la valeur calculée de la propriété 'writing-mode'.

Les significations des valeurs sont les suivantes:

auto

Si cette propriété survient sur un objet de mise en forme de type bloc, alors la valeur calculée dépend de la valeur de la propriété 'script'. Deux cas peuvent se présenter. D'une part, quand 'script' a une valeur "auto", alors, pour un mode d'écriture horizontal, l'identifiant de ligne de base de ligne de base dominante prend la valeur "alphabetic", ou, pour un mode d'écriture vertical, l'identifiant prend la valeur "central". D'autre part, quand 'script' a une valeur autre que "auto", alors cette valeur de 'script' est utilisée pour sélectionner l'identifiant de ligne de base pour la ligne de base dominante. La correspondance entre l'écriture et l'identifiant de ligne de base est tirée de la police nominale. La table de lignes de base dérivée est construite en utilisant la table de lignes de base de la police nominale qui correspond à l'identifiant de ligne de base pour la ligne de base dominante. La taille de police de la table de lignes de base est changée pour la valeur de la propriété 'font-size' de l'objet de mise en forme.

Sinon, quand cette propriété ne survient pas sur un objet de mise en forme de type bloc, alors l'identifiant de ligne de base pour la ligne de base dominante, la table de lignes de base dérivée et la taille de police de la table de lignes de base prennent les mêmes valeurs que celles de l'objet de mise en forme parent. Si la valeur calculée déplace effectivement la ligne de base, alors la taille de police de la table de lignes de base devient celle de la propriété 'font-size' de l'objet de mise en forme sur lequel survient la propriété 'dominant-baseline', sinon la taille de police de la table garde celle de l'objet parent. S'il n'y a pas d'objet de mise en forme parent, la table de lignes de base dérivée se construit comme ci-dessus pour les objets de mise en forme de type bloc.

use-script

La propriété 'script' est utilisée pour sélectionner l'identifiant de ligne de base pour la ligne de base dominante. La correspondance entre l'écriture et l'identifiant de ligne de base est tirée de la police nominale. La table de lignes de base dérivée est construite en utilisant la table de lignes de base de la police nominale qui correspond à l'identifiant de ligne de base pour la ligne de base dominante. La taille de police de la table de lignes de base est changée pour la valeur de la propriété 'font-size' de cet objet de mise en forme ;

no-change

La ligne de base dominante, la table de lignes de base et la taille de police de la table de lignes de base restent les mêmes que celles de l'objet de mise en forme parent ;

reset-size

La ligne de base dominante et la table de lignes de base restent les mêmes, mais la taille de police de la table de lignes de base est changée pour la valeur de la propriété 'font-size' de cet objet de mise en forme. Ceci ré-ajuste la table de lignes de base pour la taille de police courante ;

ideographic

L'identifiant de ligne de base pour la ligne de base dominante prend la valeur "ideographic". La table de lignes de base dérivée est construite en utilisant la table de lignes de base "ideographic" de la police nominale. La taille de police de la table de lignes de base est changée pour la valeur de la propriété 'font-size' de cet objet de mise en forme ;

alphabetic

L'identifiant de ligne de base pour la ligne de base dominante prend la valeur "alphabetic". La table de lignes de base dérivée est construite en utilisant la table de lignes de base "alphabetic" de la police nominale. La taille de police de la table de lignes de base est changée pour la valeur de la propriété 'font-size' de cet objet de mise en forme ;

hanging

L'identifiant de ligne de base pour la ligne de base dominante prend la valeur "hanging". La table de lignes de base dérivée est construite en utilisant la table de lignes de base "hanging" de la police nominale. La taille de police de la table de lignes de base est changée pour la valeur de la propriété 'font-size' de cet objet de mise en forme ;

mathematical

L'identifiant de ligne de base pour la ligne de base dominante prend la valeur "mathematical". La table de lignes de base dérivée est construite en utilisant la table de lignes de base "mathematical" de la police nominale. La taille de police de la table de lignes de base est changée pour la valeur de la propriété 'font-size' de cet objet de mise en forme ;

central

L'identifiant de ligne de base pour la ligne de base dominante prend la valeur "central". La table de lignes de base dérivée est construite à partir des lignes de base définies dans la table de lignes de base de la police nominale. Cette table de ligne de base de police est choisie dans l'ordre de priorité suivant des noms de table de lignes de base : "ideographic", "alphabetic", "hanging", "mathematical". La taille de police de la table de lignes de base est changée pour la valeur de la propriété 'font-size' de cet objet de mise en forme ;

middle

L'identifiant de ligne de base pour la ligne de base dominante prend la valeur "middle". La table de lignes de base dérivée est construite à partir des lignes de base définies dans la table de lignes de base de la police nominale. Cette table de ligne de base de police est choisie dans l'ordre de priorité suivant des noms de table de lignes de base : "ideographic", "alphabetic", "hanging", "mathematical". La taille de police de la table de lignes de base est changée pour la valeur de la propriété 'font-size' de cet objet de mise en forme ;

text-after-edge

L'identifiant de ligne de base pour la ligne de base dominante prend la valeur "text-after-edge". La table de lignes de base dérivée est construite à partir des lignes de base définies dans la table de lignes de base de la police nominale. Le choix de la table de lignes de base de police à utiliser parmi les tables de lignes de base de la police nominale est défini par l'implémentation. La taille de police de la table de lignes de base est changée pour la valeur de la propriété 'font-size' de cet objet de mise en forme ;

Remarque :

Une stratégie raisonnable, pour déterminer quelle table de lignes de base utiliser, serait d'utiliser les noms de tables de lignes de base dans cet ordre de priorité : "alphabetic", "ideographic", "hanging", "mathematical".

text-before-edge

L'identifiant de ligne de base pour la ligne de base dominante prend la valeur "text-before-edge". La table de lignes de base dérivée est construite à partir des lignes de base définies dans la table de lignes de base de la police nominale. Le choix de la table de lignes de base de police à utiliser parmi les tables de lignes de base de la police nominale est défini par l'implémentation. La taille de police de la table de lignes de base est changée pour la valeur de la propriété 'font-size' de cet objet de mise en forme.

Remarque :

Une stratégie raisonnable, pour déterminer quelle table de lignes de base utiliser, serait d'utiliser les noms de tables de lignes de base dans cet ordre de priorité : "alphabetic", "ideographic", "hanging", "mathematical".

S'il n'y a pas de table de lignes de base dans la police nominale ou si la ligne de base souhaitée n'a pas d'entrée dans la table de lignes de base, alors l'agent utilisateur peut utiliser des moyens heuristiques pour déterminer la position de cette ligne de base souhaitée.

Une implémentation doit reconnaître au moins l'une des valeurs de la propriété 'dominant-baseline' définies dans cette recommandation.

7.13.6 'relative-align'

Définition XSL :

Valeur : before | baseline | inherit
Valeur initiale : before
S'applique à : fo:list-item, fo:table-cell
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Cette propriété spécifie, dans la direction de progression de bloc, l'alignement entre deux ou plus aires. Si la propriété 'display-align' s'applique à cet objet de mise en forme et si sa valeur est autre que "auto", cette propriété est ignorée.

Les significations des valeurs sont les suivantes:

before

Pour un objet fo:table-cell, pour chaque rangée, la première aire enfant, parmi toutes les cellules qui commence dans la rangée ayant cette valeur, est placée de manière à ce que le bord d'avant du rectangle de contenu se trouve à la même distance à partir du quadrillage de la rangée. De plus, au moins une des aires, premier enfant de ces cellules, doit avoir le bord d'avant de son rectangle d'allocation qui coïncide avec le bord d'avant du rectangle de contenu de la cellule de table.

Pour un objet fo:list-item, le bord d'avant de la première aire descendante, générée par l'objet fo:list-item-label, coïncide avec le bord d'avant de l'aire générée par l'objet fo:list-item. De même, le bord d'avant de la première aire descendante, générée par l'objet fo:list-item-body, coïcide avec le bord d'avant de l'aire générée par l'objet fo:list-item ;

baseline

Pour un objet fo:table-cell, pour chaque rangée, la première aire enfant, parmi toutes les cellules qui commencent dans la cellule ayant cette valeur, est placée de manière à ce que la ligne de base dominante, spécifiée pour l'objet fo:table-row, de la première ligne se trouve à la même distance à partir du quadrillage de la rangée. De plus, au moins une des aires, premier enfant de ces cellules, doit avoir le bord d'avant de son rectangle d'allocation qui coïncide avec le bord d'avant du rectangle de contenu de la cellule de table.

Remarque :

C'est-à-dire, pour toutes les cellules concernées, les lignes de base de toutes les premières lignes sont toutes alignées et placées à une distance minimum vers le bas dans la direction de progression de bloc. Noter que les bords de début des rectangles de contenu des cellules n'ont pas besoin d'être alignés.

Pour un objet fo:list-item, la distance entre la ligne de base de la première aire de ligne de la première aire descendante, générée par l'objet fo:list-item-label, est la même qu'entre la ligne de base de la première aire de ligne de la première aire descendante, générée par l'objet fo:list-item-body. De plus, au moins l'un des descendants de cette première aire doit avoir le bord d'avant de son rectangle d'allocation qui coïncide avec le bord d'avant du rectangle de contenu de l'item de liste.

7.14 Les propriétés de dimension des aires

7.14.1 'block-progression-dimension'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : auto | <longueur> | <pourcentage> | <longueur-plage> | inherit
Valeur initiale : auto
S'applique à : voir explication
Héritée : non
Pourcentage : voir explication
Médias : visuel

Cette propriété spécifie la dimension de progression de bloc du rectangle de contenu pour chaque aire générée par cet objet de mise en forme. L'utilisateur peut spécifier une dimension explicite ((<longueur> ou <pourcentage>) ou une valeur de <longueur-plage>, qui autorise l'ajustement de la dimension par le formateur.

Cette propriété ne s'applique pas quand la propriété 'line-height' concerne la même dimension des aires générées par cet objet de mise en forme.

Les significations des valeurs sont les suivantes :

auto

Cette propriété n'impose aucune contrainte. C'est le formateur, prenant en charge toutes les autres contraintes, qui détermine la dimension de progression de bloc.

Une spécification de block-progression-dimension = "auto" établit :

  • block-progression-dimension.minimum = "auto"

  • block-progression-dimension.optimum = "auto"

  • block-progression-dimension.maximum = "auto"

<longueur>

Spécifie une dimension de progression de bloc fixe..

Une spécification de block-progression-dimension = <longueur> établit :

  • block-progression-dimension.minimum = <longueur>

  • block-progression-dimension.optimum = <longueur>

  • block-progression-dimension.maximum = <longueur>

<pourcentage>

Spécifie une dimension de progression de bloc en pourcentage. Le pourcentage est résolu en fonction de la dimension correspondante de l'aire de l'ancêtre le plus proche générée par un objet de mise en forme de type bloc. Si cette valeur n'est pas spécifiée explicitement (celle-ci dépendant de la dimension de progression de bloc du contenu), alors la valeur est interprétée comme "auto".

Une spécification de block-progression-dimension = <pourcentage> établit :

  • block-progression-dimension.minimum = <pourcentage>

  • block-progression-dimension.optimum = <pourcentage>

  • block-progression-dimension.maximum = <pourcentage>

<longueur-plage>

Spécifie la dimension comme une plage de longueur qui consiste en :

  • block-progression-dimension.optimum

    C'est la dimension de préférence pour l'aire créée ; si le minimum et le maximum sont identiques, l'aire a une dimension fixe. Si ceux-ci sont respectivement plus petit et plus grand que l'optimum, alors l'aire peut s'ajuster en dimension entre ces valeurs.

    On peut spécifier une valeur de "auto" pour l'optimum, aucune préférence de dimension n'est indiquée, c'est la dimension intrinsèque ou résolue de l'aire qui serait utilisée. Si, également, le minimum et/ou le maximum n'ont pas la valeur "auto", alors la dimension sera contrainte entre ces limites ;

  • block-progression-dimension.minimum

  • block-progression-dimension.maximum

    On peut spécifier une valeur de "auto" pour block-progression-dimension.maximum. Ceci indique alors qu'il n'y a pas de limite maximum absolue, l'objet peut prendre sa dimension intrinsèque.

Les valeurs négatives pour block-progression-dimension.minimum, block-progression-dimension.optimum et block-progression-dimension.maximum sont invalides et sont traitées comme une valeur spécifié de "0pt".

Si la valeur de block-progression-dimension.optimum est "auto" et si la valeur calculée de block-progression-dimension.minimum est supérieure à celle calculée de block-progression-dimension.maximum, block-progression-dimension.minimum est considérée comme si la valeur de block-progression-dimension.maximum avait été spécifiée.

7.14.2 'content-height'

Définition XSL :

Valeur : auto | scale-to-fit | <longueur> | <pourcentage> | inherit
Valeur initiale : auto
S'applique à : fo:external-graphic, fo:instream-foreign-object
Héritée : non
Pourcentage : hauteur intrinsèque
Médias : visuel

Les significations des valeurs sont les suivantes:

auto

La hauteur du contenu devrait être la hauteur du contenu intrinsèque ;

scale-to-fit

Une dimension de la hauteur de contenu est égale à la hauteur de la zone de visualisation. Cette valeur implique l'application d'un certain facteur d'échelle au contenu ;

<longueur>

Une dimension absolue pour la hauteur du contenu. Cette valeur implique l'application d'un certain facteur d'échelle au contenu ;

<pourcentage>

Un pourcentage représentant un facteur d'échelle pour la hauteur du contenu.

Spécifie la hauteur du contenu d'un objet (par exemple, un graphique externe). Si c'est une valeur en pourcentage, c'est le pourcentage appliqué à la hauteur intrinsèque.

7.14.3 'content-width'

Définition XSL :

Valeur : auto | scale-to-fit | <longueur> | <pourcentage> | inherit
Valeur initiale : auto
S'applique à : fo:external-graphic, fo:instream-foreign-object
Héritée : non
Pourcentage : largeur intrinsèque
Médias : visuel

Les significations des valeurs sont les suivantes:

auto

La largeur du contenu devrait être la largeur intrinsèque ;

scale-to-fit

Une dimension de la largeur du contenu est égale à la largeur de la zone de visualisation. Cette valeur implique l'application d'un certain facteur d'échelle au contenu ;

<longueur>

Une dimension absolue pour la largeur du contenu. Cette valeur implique l'application d'un certain facteur d'échelle au contenu ;

<pourcentage>

Un pourcentage représentant un facteur d'échelle pour la largeur du contenu.

Spécifie la largeur du contenu d'un objet (par exemple, un graphique externe). Si la valeur est un pourcentage, c'est le pourcentage appliqué à la largeur intrinsèque.

7.14.4 'height'

Définition CSS2 :

Valeur : <longueur> | <pourcentage> | auto | inherit
Valeur initiale : auto
S'applique à : tous les éléments, sauf ceux de type en-ligne non-remplacés, les colonnes et les groupes de colonnes de table
Héritée : non
Pourcentage : voir explication
Médias : visuel

Référence CSS2 : propriété 'height' vf.
http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-height

Cette propriété spécifie la hauteur du contenu des boîtes générées par les éléments de type bloc et ceux remplacés.

Celle-ci ne s'applique pas aux éléments de type en-ligne non remplacés. La hauteur de boîte d'un tel élément est fournie par la valeur (éventuellement héritée) de la propriété 'line-height' de celui-ci.

Les significations des valeurs sont les suivantes :

auto

La hauteur dépend des valeurs d'autres propriétés ;

<longueur>

Spécifie une hauteur fixe ;

<pourcentage>

Spécifie une hauteur en pourcentage. Celui-ci est calculé par rapport à la hauteur de la boîte générée par le bloc conteneur. Si la hauteur de ce bloc n'est pas explicite (celle-ci dépendant de la hauteur du contenu), la valeur est interprétée comme étant "auto".

Une valeur négative pour 'height' est illégale.

Les modifications XSL de la définition CSS :

En XSL, cette propriété correspond soit à 'inline-progression-dimension', soit à 'block-progression-dimension', selon les valeurs concernées des propriétés 'writing-mode' et 'reference-orientation'. Le détail en est donné au chapitre [5 L'affinage et la résolution des propriétés].

Pour une explication de la propriété 'height' appliquée aux tables, voir http://www.w3.org/TR/REC-CSS2/tables.html vf.

7.14.5 'inline-progression-dimension'

Équivalent relatif dans le mode d'écriture d'une propriété CSS2.

Valeur : auto | <longueur> | <pourcentage> | <longueur-plage> | inherit
Valeur initiale : auto
S'applique à : voir explication
Héritée : non
Pourcentage : voir explication
Médias : visuel

Cette propriété spécifie la dimension de progression en-ligne du rectangle de contenu de chacune des aires générées par cet objet de mise en forme. L'utilisateur peut spécifier une dimension explicite (<longueur> ou <pourcentage>) ou une valeur <longueur-plage>, qui autorise l'ajustement de la dimension par le formateur.

Cette propriété ne s'applique pas quand la propriété 'line-height' concerne la même dimension des aires générées par cet objet de mise en forme.

Les significations des valeurs sont les suivantes :

auto

Cette propriété n'impose aucune contrainte. La dimension de progression en-ligne est déterminée par le formateur qui prend en charge toutes les autres contraintes.

Une spécification de inline-progression-dimension = "auto" établit :

  • inline-progression-dimension.minimum = "auto"

  • inline-progression-dimension.optimum = "auto"

  • inline-progression-dimension.maximum = "auto"

<longueur>

Spécifie une dimension de progression en-ligne fixe.

Une spécification de inline-progression-dimension = <longueur> établit :

  • inline-progression-dimension.minimum = <longueur>

  • inline-progression-dimension.optimum = <longueur>

  • inline-progression-dimension.maximum = <longueur>

<pourcentage>

Spécifie une dimension de progression en-ligne en pourcentage. Celui-ci est calculé par rapport à la dimension correspondante de l'aire de l'ancêtre le plus proche généré par un objet de mise en forme de type bloc. Si cette dimension n'est pas spécifiée explicitement (celle-ci dépendant de la dimension de progression en-ligne du contenu), la valeur est interprétée comme étant "auto".

Une spécification de inline-progression-dimension = <pourcentage> établit :

  • inline-progression-dimension.minimum = <pourcentage>

  • inline-progression-dimension.optimum = <pourcentage>

  • inline-progression-dimension.maximum = <pourcentage>

<longueur-plage>

Spécifie la dimension comme une plage de longueur qui consiste en :

  • inline-progression-dimension.optimum

    C'est la dimension de préférence pour l'aire créée ; si le minimum et le maximum sont identiques, l'aire a une dimension fixe. Si ceux-ci sont respectivement plus petit et plus grand que l'optimum, alors l'aire peut s'ajuster en dimension entre ces valeurs.

    On peut spécifier une valeur de "auto" pour l'optimum, aucune préférence de dimension n'est indiquée, c'est la dimension intrinsèque ou résolue de l'aire qui serait utilisée. Si, également, le minimum et/ou le maximum n'ont pas la valeur "auto", alors la dimension sera contrainte entre ces limites ;

  • inline-progression-dimension.minimum

  • inline-progression-dimension.maximum

    On peut spécifier une valeur de "auto" pour inline-progression-dimension.maximum. Ceci indique alors qu'il n'y a pas de limite maximum absolue, l'objet peut prendre sa dimension intrinsèque.

Les valeurs négatives pour inline-progression-dimension.minimum, inline-progression-dimension.optimum et inline-progression-dimension.maximum sont invalides et sont traitées comme une valeur spécifié de "0pt".

7.14.6 'max-height'

Définition CSS2 :

Valeur : <longueur> | <pourcentage> | none | inherit
Valeur initiale : 0pt
S'applique à : tous les éléments, sauf ceux de type en-ligne non-remplacés et ceux de table
Héritée : non
Pourcentage : se rapporte à la hauteur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'max-height' vf.
http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-max-height

Les deux propriétés ('max-height' et 'max-width') permettent aux auteurs de contraindre la hauteur des boîtes dans une plage donnée. Les significations des valeurs sont les suivantes :

none

(Seulement pour 'max-height') Aucune limitation sur la hauteur de la boîte ;

<longueur>

Spécifie une hauteur minimum fixe ou une hauteur maximum calculée ;

<pourcentage>

Spécifie un pourcentage pour déterminer la valeur calculée. Celui-ci est calculé par rapport à la hauteur du bloc conteneur de la boîte générée. Si la hauteur de ce bloc n'est pas explicite (celle-ci dépendant de la hauteur du contenu), la valeur est interprétée comme "auto".

Les modifications XSL de la définition CSS :

En XSL, cette propriété correspond soit à 'inline-progression-dimension', soit à 'block-progression-dimension', selon les valeurs concernées des propriétés 'writing-mode' et 'reference-orientation'. Le détail en est donné au chapitre [5 L'affinage et la résolution des propriétés].

7.14.7 'max-width'

Définition CSS2 :

Valeur : <longueur> | <pourcentage> | none | inherit
Valeur initiale : none
S'applique à : tous les éléments, sauf ceux de type en-ligne non-remplacés et ceux de table
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'max-width' vf.
http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-max-width

Les deux propriétés ('max-height' et 'max-width') permettent aux auteurs de contraindre la largeur des boîtes dans une plage donnée. Les significations des valeurs sont les suivantes :

none

(Seulement pour 'max-width') Aucune limitation sur la largeur de la boîte.

<longueur>

Spécifie une largeur minimum fixe ou une largeur maximum calculée ;

<pourcentage>

Spécifie un pourcentage pour déterminer la valeur calculée. Celui-ci est calculé par rapport à la largeur du bloc conteneur de la boîte générée.

Les modifications XSL de la définition CSS :

En XSL, cette propriété correspond soit à 'inline-progression-dimension', soit à 'block-progression-dimension', selon les valeurs concernées des propriétés 'writing-mode' et 'reference-orientation'. Le détail en est donné au chapitre [5 L'affinage et la résolution des propriétés].

7.14.8 'min-height'

Définition CSS2 :

Valeur : <longueur> | <pourcentage> | inherit
Valeur initiale : 0pt
S'applique à : tous les éléments, sauf ceux de type en-ligne non-remplacés et ceux de table
Héritée : non
Pourcentage : se rapporte à la hauteur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'min-height' vf.
http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-min-height

Les modifications XSL de la définition CSS :

En XSL, cette propriété correspond soit à 'inline-progression-dimension', soit à 'block-progression-dimension', selon les valeurs concernées des propriétés 'writing-mode' et 'reference-orientation'. Le détail en est donné au chapitre [5 L'affinage et la résolution des propriétés].

7.14.9 'min-width'

Définition CSS2 :

Valeur : <longueur> | <pourcentage> | inherit
Valeur initiale : selon l'agent utilisateur
S'applique à : tous les éléments, sauf ceux de type en-ligne non-remplacés et ceux de table
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'min-width' vf.
http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-min-width

Les modifications XSL de la définition CSS :

En XSL, cette propriété correspond soit à 'inline-progression-dimension', soit à 'block-progression-dimension', selon les valeurs concernées des propriétés 'writing-mode' et 'reference-orientation'. Le détail en est donné au chapitre [5 L'affinage et la résolution des propriétés].

7.14.10 'scaling'

Définition XSL :

Valeur : uniform | non-uniform | inherit
Valeur initiale : uniform
S'applique à : fo:external-graphic, fo:instream-foreign-object
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

uniform

La mise à l'échelle devrait conserver les ratios d'aspect ;

non-uniform

La mise à l'échelle n'a pas besoin de conserver les ratios d'aspect.

Spécifie si la mise à l'échelle doit conserver, ou non, les ratios d'aspect intrinsèques.

7.14.11 'scaling-method'

Définition XSL :

Valeur : auto | integer-pixels | resample-any-method | inherit
Valeur initiale : auto
S'applique à : fo:external-graphic, fo:instream-foreign-object
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

auto

L'agent utilisateur est libre de choisir entre un re-échantillonnage, une mise à l'échelle en valeur entière ou toute autre méthode de mise à l'échelle ;

integer-pixels

L'agent utilisateur devrait mettre à l'échelle l'image de manière à ce que chaque pixel de l'image originale soit ajustée au plus proche nombre entier de pixels-appareil pour produire une image dont les dimensions soient inférieures ou égales à celles dérivées de la hauteur et de la largeur du contenu comme des propriétés de mise à l'échelle ;

resample-any-method

L'agent utilisateur devrait re-échantillonner l'image fournie pour en produire une qui remplisse les dimensions dérivées de la hauteur et de la largeur du contenu comme des propriétés de mise à l'échelle. L'agent utilisateur peut utiliser toute méthode de re-échantillonage.

Cette propriété est utilisée pour marquer une préférence dans le traitement à utiliser pour la mise à l'échelle ou le dimensionnement des images bitmap lors de leur formatage.

Remarque :

Ceci se définit comme une préférence qui autorise une certaine flexibilité de l'agent utilisateur, l'adaptation de celui-ci aux limitations de l'appareil et son accomodation des situations de sur-contraintes mettant en jeu des dimensions minimales/maximales et des facteurs d'échelle.

7.14.12 'width'

Définition CSS2 :

Valeur : <longueur> | <pourcentage> | auto | inherit
Valeur initiale : auto
S'applique à : tous les éléments, sauf ceux de type en-ligne non-remplacés, ceux des rangées et ceux des groupes de rangées de table
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'width' vf.
http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-width

Cette propriété spécifie la largeur du contenu des boîtes générées par des éléments de type bloc et ceux remplacés.

Cette propriété ne s'applique pas aux éléments de type en-ligne non-remplacés. La largeur des boîtes en-ligne non-remplacées correspond à la largeur du contenu rendu dans celles-ci (avant un décalage relatif de leurs enfants. Se rappeler que les boîtes en-ligne s'écoulent dans des boîtes de ligne. La largeur des boîtes de ligne, qui est donnée par leur bloc conteneur, peut être raccourcie par la présence de flottants.

La largeur de la boîte d'un élément remplacé est intrinsèque, l'agent utilisateur peut ajuster celle-ci quand sa valeur est différente de "auto".

Les significations des valeurs sont les suivantes :

auto

La largeur dépend des valeurs d'autres propriétés ;

<longueur>

Spécifie une largeur fixe ;

<pourcentage>

Spécifie une largeur en pourcentage. Celui-ci est calculé par rapport à la largeur du bloc conteneur de la boîte générée ;

Les valeurs négatives pour 'width' sont illégales.

Les modifications XSL de la définition CSS :

En XSL, cette propriété correspond soit à 'inline-progression-dimension', soit à 'block-progression-dimension', selon les valeurs concernées des propriétés 'writing-mode' et 'reference-orientation'. Le détail en est donné au chapitre [5 L'affinage et la résolution des propriétés].

7.15 Les propriétés liées aux blocs et aux lignes

7.15.1 'hyphenation-keep'

Définition XSL :

Valeur : auto | column | page | inherit
Valeur initiale : auto
S'applique à : fo:block
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

auto

Aucune restriction n'est appliquée. Le mot peut être coupé à la fin de n'importe quelle région ;

column

Les deux parties du mot ayant subi une césure doivent se tenir dans une seule colonne ;

page

Les deux parties du mot ayant subi une césure doivent se tenir dans une seule page.

Cette propriété contrôle si une césure peut avoir lieu à la dernière ligne d'une aire de référence donnée.

7.15.2 'hyphenation-ladder-count'

Définition XSL :

Valeur : no-limit | <nombre> | inherit
Valeur initiale : no-limit
S'applique à : fo:block
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

no-limit

Un nombre quelconque de lignes successives peut recevoir une césure ;

<entier>

Un entier supérieur ou égal à 1.

Spécifie une limite sur le nombre de caractère de césure pour les aires de ligne successives qu'un formateur peut générer dans une aire de bloc.

7.15.3 'last-line-end-indent'

Définition XSL :

Valeur : <longueur> | <pourcentage> | inherit
Valeur initiale : 0pt
S'applique à : fo:block
Héritée : oui
Pourcentage : se rapporte à la dimension de progression en-ligne de l'aire de bloc ancêtre le plus proche qui n'est pas une aire de ligne
Médias : visuel

Les significations des valeurs sont les suivantes :

<longueur>

On spécifie une longueur pour « l'indentation de fin de la dernière ligne » ;

<pourcentage>

On spécifie, pour « l'indentation de fin de la dernière ligne », un pourcentage de la dimension de progression en-ligne de l'aire de bloc ancêtre le plus proche.

Spécifie l'indentation à appliquer sur la dernière aire de ligne enfant de la dernière aire de bloc générée et retournée par l'objet de mise en forme, ou sur toute aire de ligne générée par l'objet de mise en forme dont le pair qui suit est une aire de bloc, celle-ci n'étant pas une aire de ligne. Cette indentation est ajoutée au bord de fin du bloc. Une valeur positive entraîne une indentation, une valeur négative un retrait.

7.15.4 'line-height'

Définition CSS2 :

Valeur : normal | <longueur> | <nombre> | <pourcentage> | <espace> | inherit
Valeur initiale : normal
S'applique à : tous les éléments
Héritée : oui
Pourcentage : se rapporte à la taille de la police de l'élément en question
Médias : visuel

Référence CSS2 : propriété 'line-height' vf.
http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-line-height

Les significations des valeurs sont les suivantes :

normal

Indique à l'agent utilisateur de donner, comme valeur calculée, une valeur « raisonnable » basée sur la taille de la police de l'élément. La valeur a la même signification que pour <nombre>. On recommande pour "normal" une valeur calculée entre 1.0 et 1.2 ;

<longueur>

La hauteur de la boîte prend cette valeur de longueur. Une valeur négative est illégale ;

<nombre>

La valeur calculée de la propriété correspond à ce nombre multiplié par la taille de la police de l'élément. Une valeur négative est illégale. Le nombre s'hérite, non la valeur calculée ;

<pourcentage>

La valeur calculée de la propriété correspond à ce pourcentage multiplié par la valeur calculée de la taille de police de l'élément. Une valeur négative est illégale.

Si la proprié est appliquée sur un élément de type bloc composé d'éléments de type en-ligne, celle-ci spécifie la hauteur minimale pour chaque boîte en-ligne générée.

Si la propriétée est appliquée sur un élément de type en-ligne, celle-ci spécifie la hauteur exacte de chaque boîte générée par l'élément (à l'exception des éléments en-ligne remplacés dont la hauteur de la boîte est donnée par la propriété 'height').

Quand un élément contient du texte rendu dans plus d'une police, l'agent utilisateur devrait déterminer la valeur de la propriété 'line-height' en fonction de la plus grande taille de police.

En général, quand il n'y a qu'une valeur de 'line-height' pour toutes les boîtes en-ligne d'un paragraphe (sans image en hauteur), ce qui précède est l'assurance que les lignes de base des lignes successives sont séparées des « hauteurs de ligne ». C'est important quand des colonnes de texte dans des polices différentes doivent être alignées, par exemple dans une table.

Noter que les éléments remplacés ont une propriété 'font-size' et 'line-height', même si celles-ci ne sont pas utilisées directement pour déterminer la hauteur de la boîte. Cependant, la propriété 'font-size' s'utilise pour définir les unités « em » et « ex », et 'line-height' joue un rôle dans la propriété 'vertical-align'.

Les modifications XSL de la définition CSS :

En XSL, la propriété 'line-height' est utilisée pour déterminer le trait half-leading.

XSL ajoute cette valeur avec la signification suivante :

<espace>

Spécifie les valeurs minimum, optimum et maximum ainsi que la conditionnalité et la préséance de la propriété 'line-height' utilisée pour déterminer le demi-interlignage.

Les valeurs négatives pour line-height.minimum, line-height.optimum et line-height.maximum ne sont pas admises, celles-ci seraient interprétées comme étant 0pt.

Le réglage line-height.conditionality peut s'utiliser pour contrôler le demi-interlignage au-dessus de la première ligne, ou en-dessous de la dernière, placée dans une aire de référence.

Le réglage line-height.precedence peut s'utiliser pour contrôler la conjonction du demi-interlignage avec d'autres espaces.

Si la hauteur de ligne est spécifiée avec une valeur de <longueur>, de <pourcentage> ou de <nombre>, le formateur convertira cette valeur seule en un identifiant d'espace dont le suffixe de champs s'interprète ainsi :

7.15.5 'line-height-shift-adjustment'

Définition XSL :

Valeur : consider-shifts | disregard-shifts | inherit
Valeur initiale : consider-shifts
S'applique à : fo:block
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

consider-shifts

Dans la détermination de la hauteur de ligne, inclut les bords du haut et de bas ajustés de tout caractère ayant un ajustement de ligne de base ;

disregard-shifts

Dans la détermination de la hauteur de ligne, inclut les les bords du haut et du bas non-ajustés de tout caractère ayant un ajustement de ligne de base.

Cette propriété s'utilise pour contrôler l'ajustement de la hauteur de ligne, ou non, d'un contenu ayant un ajustement de ligne de base.

Remarque :

On peut utiliser cette propriété pour empêcher des caractères en indice ou en exposant de perturber l'agencement de la ligne.

7.15.6 'line-stacking-strategy'

Définition XSL :

Valeur : line-height | font-height | max-height | inherit
Valeur initiale : max-height
S'applique à : fo:block
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

line-height

Utilise le rectangle par hauteur en-ligne comme décrit au chapitre [4.5 Les aires de ligne].

Remarque :

Ceci correspond à la stratégie de hauteur de ligne et de positionnement de CSS.

font-height

Utilise le rectangle de ligne nominal requis comme décrit au chapitre [4.5 Les aires de ligne].

max-height

Utilise le rectangle de ligne maximum comme décrit au chapitre [4.5 Les aires de ligne].

Sélectionne la stratégie de positionnement des lignes adjacentes, les unes en fonction des autres.

Une implémentation doit reconnaître au moins les valeurs des propriétés 'max-height' et 'font-height' définies dans cette recommandation et peut traiter la propriété 'line-height' comme si 'max-height' avait été spécifiée.

7.15.7 'linefeed-treatment'

Définition XSL :

Valeur : ignore | preserve | treat-as-space | treat-as-zero-width-space | inherit
Valeur initiale : treat-as-space
S'applique à : voir explication
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

ignore

Spécifie que tout objet de flux de caractère dont le point de code Unicode est U+000A sera rejeté lors du processus d'affinage ;

preserve

Ne spécifie aucune action particulière ;

treat-as-space

Spécifie que tout objet de flux de caractère dont le point de code Unicode est U+000A (nouvelle ligne) sera converti, lors de l'affinage, en un objet de flux de caractère dont le point de code Unicode est U+0020 (espace) ;

treat-as-zero-width-space

Spécifie que tout objet de flux de caractère dont le point de code Unicode est U+000A sera converti, lors de l'affinage, en un objet de flux de caractère dont le point de code Unicode est U+200B (espace de largeur nulle).

Remarque :

Le standard Unicode recommande que l'espace de largeur nulle soit considéré comme un point de coupure de ligne valide et que, si deux caractères avec un tel espace entre eux, placés sur une ligne, alors aucun espace ne soit visible entre ceux-ci, et que, si ces caractères sont cette fois sur deux lignes, alors aucune aire de glyphe supplémentaire, comme un caractère de césure, ne soit créée à l'endroit de la coupure de ligne.

La propriété 'linefeed-treatment' spécifie la manière de traiter les nouvelles lignes (ce sont des objets de flux de caractère dont le point de code Unicode est U+000A) lors de l'affinage.

7.15.8 'white-space-treatment'

Définition XSL :

Valeur : ignore | preserve | ignore-if-before-linefeed | ignore-if-after-linefeed | ignore-if-surrounding-linefeed | inherit
Valeur initiale : ignore-if-surrounding-linefeed
S'applique à : voir explication
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

ignore

Spécifie que tout objet de flux de caractère, dont le caractère est classé, avant toute gestion des nouvelles lignes, comme caractère blanc en XML en excluant justement les caractères U+000A (nouvelle ligne), sera rejeté lors de l'affinage ;

preserve

Spécifie que tout objet de flux de caractère, dont le caractère est classé, avant toute gestion des nouvelles lignes, comme caractère blanc en XML en excluant justement les caractères U+000A (nouvelle ligne), sera converti en un objet de flux de caractère dont le point de code Unicode est U+0020 (espace) ;

ignore-if-before-linefeed

Spécifie que tout objet de flux de caractère, sauf les caractères U+000A (nouvelle ligne), dont le caractère est classé, avant toute gestion des nouvelles lignes, comme caractère blanc en XML (ou toute séquence de tels objets de flux de caractère), qui précède immédiatement un objet de flux de caractère dont le point de code Unicode est U+000A, avant toute gestion des nouvelles lignes, sera écarté lors de l'affinage ;

ignore-if-after-linefeed

Spécifie que tout objet de flux de caractère, sauf les caractères U+000A (nouvelle ligne), dont le caractère est classé, avant toute gestion des nouvelles lignes, comme caractère blanc en XML (ou toute séquence de tels objets de flux de caractère), qui suit immédiatement un objet de flux de caractère dont le point de code Unicode est U+000A, avant toute gestion des nouvelles lignes, sera écarté lors de l'affinage ;

ignore-if-surrounding-linefeed

Spécifie que tout objet de flux de caractère, sauf les caractères U+000A (nouvelle ligne), dont le caractère est classé, avant toute gestion des nouvelles lignes, comme caractère blanc en XML (ou toute séquence de tels objets de flux de caractère), qui précède ou suit immédiatement un objet de flux de caractère dont le point de code Unicode est U+000A, avant toute gestion des nouvelles lignes, sera écarté lors de l'affinage.

La propriété 'white-space-treatment' spécifie la gestion des objets de flux de caractère lors de leur affinage, sauf les caractères nouvelle ligne, quand ceux-ci sont considérés comme des caractères blancs pour XML. Ceux-ci comprennent les caractères U+0020 et les autres blancs, sauf le caractère U+000A (nouvelle ligne), celui-ci étant géré par la propriété 'linefeed-treatment'.

7.15.9 'text-align'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x77

Valeur : start | center | end | justify | inside | outside | left | right | <chaîne> | inherit
Valeur initiale : start
S'applique à : ceux des éléments de type bloc
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'text-align' vf.
http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-align

Cette propriété décrit comment le contenu en-ligne d'un bloc est aligné. Les significations des valeurs sont les suivantes :

left
center
right
justify

Respectivement, une justification du texte à gauche, centrée, à droite et justifiée ;

<chaîne>

Spécifie une chaîne sur laquelle les cellules d'une colonne de table vont s'aligner (voir le chapitre sur l'alignement horizontal dans une colonne pour le détail et un exemple). Cette valeur ne s'applique qu'aux cellules d'une table. Si cette valeur est appliquée à un autre élément, alors celle-ce sera considérée comme "left" ou "right", selon que la valeur de la propriété 'direction' est "ltr" ou "rtl" respectivement.

Un pavé de texte consiste en un empilement de boîtes de ligne. Pour les valeurs "left", "right" et "center", cette propriété spécifie comment les boîtes en-ligne dans chaque boîte de ligne s'alignent par rapport aux côtés gauche et droite de la boîte de ligne ; cet alignement ne se fait pas en fonction de la zone de visualisation. Pour la valeur "justify", l'agent utilisateur peut étirer les boîtes de ligne en plus d'ajuster leur position (voir aussi les propriétés 'letter-spacing' et 'word-spacing').

Remarque :

L'algorithme de justification effectif dépend de l'agent utilisateur et de l'écriture employée.

Un agent utilisateur conforme peut interpréter la valeur "justify" comme étant "left" ou "right", en fonction du sens d'écriture par défaut de l'élément, de gauche-à-droite ou de droite-à-gauche respectivement.

Les modifications XSL de la définition CSS :

Les significations des valeurs sont les suivantes :

start

Spécifie un alignement du contenu sur le bord de début dans la direction de progression en-ligne ;

center

Spécifie un alignement du contenu centré dans la direction de progression en-ligne ;

end

Spécifie un alignement du contenu sur le bord de fin dans la direction de progression en-ligne ;

justify

Spécifie une extension des contenus pour remplir la largeur disponible dans la direction de progression en-ligne ;

La dernière (ou seule) ligne de tout bloc et toutes les lignes d'un bloc qui se terminent par un caractère U+000A seront alignées en fonction de la valeur de la propriété 'text-align-last'. Si ces lignes devaient avoir une justification justifiée, spécifier text-align-last = "justify".

inside

Si le bord d'attache de la page est le bord de début, l'alignement sera "start". Si le bord d'attache est le bord de fin, l'alignement sera "end". Si aucun des deux, utiliser l'alignement "start" ;

outside

Si le bord d'attache de la page est le bord de début, l'alignement sera "end". Si le bord d'attache est le bord de fin, l'alignement sera "start". Si aucun des deux, utiliser l'alignement "end" ;

left

Interprété comme text-align = "start" ;

right

Interprété comme text-align = "end" ;

<chaîne>

Spécifie une chaîne sur laquelle le contenu des cellules d'une colonne de table va s'aligner (voir le détail au chapitre de la recommandation CSS2 sur l'alignement horizontal dans une colonne). Cette valeur ne s'applique que si l'objet de mise en forme est un descendant d'une cellule de table. Pour d'autres objets de mise en forme, celle-ci sera traitée comme étant "start".

Cette propriété décrit comment s'aligne le contenu en-ligne d'un bloc. Pour les objets fo:external-graphic, fo:instream-foreign-object et fo:table-and-caption, celle-ci spécifie l'alignement d'autres aires, comme décrit dans la section contrainte de ces objets de mise en forme.

7.15.10 'text-align-last'

Définition XSL :

Valeur : relative | start | center | end | justify | inside | outside | left | right | inherit
Valeur initiale : relative
S'applique à : fo:block
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

relative

Si la spécification est text-align = "justify", alors l'alignement de la derni&egrav;ere ligne et de toute ligne se terminant par le caract&egrav;ere U+000A sera "start". La propriété 'text-align-last' utilisera la valeur de la propriété 'text-align' quand la valeur de cette dernière n'est pas "justify" ;

start

Spécifie que le contenu doit s'aligner sur le bord de début dans la direction de progression en-ligne ;

center

Spécifie que les contenus doivent être centrés dans la direction de progression en-ligne ;

end

Spécifie que le contenu doit s'aligner sur le bord de fin dans la direction de progression en-ligne ;

justify

Spécifie une extension des contenus pour remplir la largeur disponible dans la direction de progression en-ligne ;

inside

Si le bord d'attache de la page est le bord de début, l'alignement sera "start". Si le bord d'attache est le bord de fin, l'alignement sera "end". Si aucun des deux, utiliser l'alignement "start" ;

outside

Si le bord d'attache de la page est le bord d'avant, l'alignement sera "end". Si le bord d'attache est le bord de fin, l'alignement sera "start". Si aucun des deux, utiliser l'alignement "end" ;

left

Interprété commme text-align-last = "start" ;

right

Interprété commme text-align-last = "end".

Spécifie l'alignement de la dernière aire de ligne enfant de la dernière aire de bloc générée et retournée par l'objet de mise en forme, l'alignement de toute aire de ligne générée par l'objet de mise en forme dont le pair qui suit est une aire de bloc, celle-ci n'étant pas une aire de ligne, et toutes les lignes de cette aire de bloc qui se terminent par le caractère U+000A.

7.15.11 'text-indent'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x76

Valeur : <longueur> | <pourcentage> | inherit
Valeur initiale : 0pt
S'applique à : ceux des éléments de type bloc
Héritée : oui
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'text-indent' vf.
http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-indent

Cette propriété spécifie l'indentation de la première ligne de texte dans un bloc. Plus précisément, celle-ci spécifie l'indentation de la première boîte qui s'écoule dans la première boîte de ligne du bloc. La boîte est indentée par rapport au bord de gauche de la boîte de ligne (ou de droite, pour une disposition de droite-à-gauche). L'agent utilisateur devrait rendre cette indentation sous la forme d'un espace vide.

Les significations des valeurs sont les suivantes :

<longueur>

L'indentation est une longueur fixe ;

<pourcentage>

L'indentation est un pourcentage de la largeur du bloc conteneur.

La valeur de la propriété 'text-indent' peut être négative, mais son interprétation peut dépendre de l'implémentation. Si la valeur de 'text-indent' est négative, la valeur de la propriété 'overflow' va agir, ou non, sur la visibilité du texte.

Les modifications XSL de la définition CSS :

La propriété 'text-indent' spécifie un ajustement de l'indentation de début du premier enfant L de la première aire de bloc générée et retournée par l'objet de mise en forme, pourvu que L soit une aire de ligne.

Une valeur négative spécifie une indentation suspendue, ou un retrait, de la première ligne.

7.15.12 'white-space-collapse'

Définition XSL :

Valeur : false | true | inherit
Valeur initiale : true
S'applique à : voir explication
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

false

Ne spécifie aucune action ;

true

Spécifie, pour tout objet de flux de caractère, ce qui suit:

cet objet de flux ne génèrera pas d'aire.

La propriété 'white-space-collapse' spécifie la gestion des caractères blancs consécutifs lors de la construction de l'arbre des aires. L'effet global produit par l'action des propriétés 'white-space-treatment' et 'linefeed-treatment', lors de l'affinage, et de la propriété 'white-space-collapse', lors de la génération de l'arbre des aires est le suiant : après le processus d'affinage, durant lequel certains caractères blancs ont pu être écartés ou changés en caractères espace, tous les jets de deux ou plus espaces consécutifs sont remplacés par un seul espace, puis tout espace restant, immédiatement adjacent à un caractère nouvelle ligne, est aussi écarté.

Une implémentation peut employer n'importe quel algorithme pour obtenir un effet équivalent.

7.15.13 'wrap-option'

Définition XSL :

Valeur : no-wrap | wrap | inherit
Valeur initiale : wrap
S'applique à : fo:block, fo:inline, fo:page-number, fo:page-number-citation
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

no-wrap

Aucun retour à la ligne n'est effectué ;

Au cas où les lignes étaient plus longue que la largeur disponible du rectangle de contenu, le débordement sera traité en fonction de la propriété 'overflow' spécifiée pour l'aire de référence.

wrap

Un retour à la ligne survient si la ligne déborde de la largeur disponible du bloc. Aucun caractère de marque ni un autre traitement ne seront appliqués.

Spécifie comment gérer le retour à la ligne (coupure de ligne) du contenu de l'objet de mise en forme.

Une implémentation doit reconnaître la valeur "no-wrap", comme définie dans cette recommandation, quand la valeur de la propriété 'linefeed-treatment' est "preserve".

7.16 Les propriétés des caractères

7.16.1 'character'

Définition XSL :

Valeur : <caractère>
Valeur initiale : sans objet, une valeur est requise
S'applique à : fo:character
Héritée : non, une valeur est requise
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

<caractère>

Spécifie le point de code Unicode du caractère à présenter.

7.16.2 'letter-spacing'

Définition CSS2 :

Valeur : normal | <longueur> | <espace> | inherit
Valeur initiale : normal
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'letter-spacing' vf.
http://www.w3.org/TR/REC-CSS2/text.html#propdef-letter-spacing

Cette propriété spécifie le comportement d'espacement entre deux caractères. Les significations des valeurs sont les suivantes :

normal

C'est l'espacement normal pour la police courante. Cette valeur permet à l'agent utilisateur de modifier l'interlettrage pour justifier le texte ;

<longueur>

Cette valeur indique l'espace supplémentaire qui vient s'ajouter à l'interlettrage par défaut. Les valeurs peuvent être négatives, mais leur interprétation dépend des limites de l'implémentation. Un agent utilisateur peut ne pas aller plus loin dans l'augmentation ou la diminution de l'interlettrage pour justifier un texte.

Les algorithmes d'interlettrage dépendent des agents utilisateurs. L'interlettrage peut aussi être influencé par la justification (voir la propriété 'text-align').

Les agents utilisateurs ne devraient pas employer de ligatures quand l'espacement résultant entre deux caractères n'est pas le même que l'interlettrage par défaut.

Les agents utilisateurs conformes peuvent ne considérer commme valeur de la propriété 'letter-spacing' que la valeur 'normal'.

Les modifications XSL de la définition CSS :

Le type de valeur suivant a été ajouté à XSL :

<espace>

Ceci permet à l'utilisateur de spécifier une plage d'ajustement supplémentaire pour l'interlettrage par défaut.

Les valeurs minimum et maximum spécifient les limites des ajustements.

On définit l'interlettrage par défaut comme étant de 0pt, c'est-à-dire, l'empilement des aires de glyphe a lieu sans espace supplémentaire entre le rectangles d'allocation de celles-ci. La dimension de progression en-ligne de l'aire de glyphe est issue de la mise en forme de l'objet fo:character.

Pour un objet fo:character, classé comme « alphabétique » dans la base de données Unicode, à moins que le trait treat-as-word-space n'ait la valeur "true", les traits space-start et space-end reçoivent tous deux une valeur telle que :

La phrase de CSS « Les agents utilisateurs conformes peuvent ne considérer commme valeur de la propriété 'letter-spacing' que la valeur "normal" » ne s'applique pas en XSL si l'agent utilisateur implémente le jeu de propriété « étendu ».

Remarque :

Si on souhaite combiner l'espace de la lettre avec d'autres espaces de moindre préséance, alors on devrait spécifier une valeur <espace> pour la propriété 'letter-space' avec une valeur préséance moindre, ce qui entraîne la combinaison de l'espace en fonction des règles de résolution d'espace décrites au chapitre [4.3 Les espaces et la conditionnalité].

L'algorithme pour résoudre les valeurs ajustées entre l'espacement des mots et celui des lettres est propre à l'agent utilisateur considéré.

7.16.3 'suppress-at-line-break'

Définition XSL :

Valeur : auto | suppress | retain | inherit
Valeur initiale : auto
S'applique à : fo:character
Héritée : non
Pourcentage : sans objet
Médias : visuel

Cette propriété, qui ne s'applique qu'à l'objet fo:character, détermine la suppression, ou non, de la représentation du caractère si la survenue de celui-ci était adjacente à une coupure de ligne générée par le formateur. Plusieurs caractères peuvent ainsi être supprimés.

Cette propriété admet les valeurs suivantes :

auto

La valeur de la propriété est déterminée par la valeur Unicode de la propriété character de l'objet. Un caractère situé au point de code U+0020 est traitée comme si la valeur "suppress" avait été spécifiée. Toute les autres valeurs sont traités comme si "retain" avait été spécifiée.

Cette valeur ne supprime pas automatiquement la présentation de l'espace insécable (U+00A0), les espaces fixes (de U+2000 à U+200A) ou l'espace idéographique (U+3000) ;

suppress

Si l'aire de glyphe, générée par l'objet fo:character, est la première ou la dernière dans une partition de construction de ligne (voir le chapitre [4.7.2 La construction de la ligne]), alors cette aire est supprimée plutôt que d'être placée dans l'arbre des aires, ainsi que toutes les aires adjacentes dont la valeur de la propriété 'suppress-at-line-break' est "suppress". Sinon, celle-ci est retenue et placée dans l'arbre des aires ;

retain

L'aire de glyphe, générée par l'objet fo:character, sera placée dans l'arbre des aires, que celle-ci soit, ou non, la premiè ou la dernière aire dans une partition de construction de ligne.

7.16.4 'text-decoration'

« errata-E15 »

Définition CSS2 :

Valeur : none | [ [ underline | no-underline] || [ overline | no-overline ] || [ line-through | no-line-through ] || [ blink | no-blink ] ] | inherit
Valeur initiale : none
S'applique à : tous les éléments
Héritée : non, mais voir explication
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'text-decoration' vf.
http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-decoration

Cette propriété décrit les décorations qui se rajoutent au texte d'un élément. Si cette propriété est spécifiée pour un élément de type bloc, celle-ci affecte tous les descendants de type en-ligne de cet élément. Si celle-ci est spécifié pour un élément de type en-ligne (ou affecte celui-ci), alors toutes les boîtes générées par cet élément sont concernées. Si l'élément n'a pas de contenu ou de contenu textuel (par exemple, l'élément IMG en HTML), l'agent utilisateur doit ignorer cette propriété.

Les significations des valeurs sont les suivantes :

none

Ne produit aucune décoration de texte ;

underline

Chaque ligne de texte est soulignée ;

overline

Chaque ligne de texte est surmontée d'une ligne ;

line-through

Chaque ligne de texte est barrée d'une ligne en son milieu ;

blink

Le texte clignote (alterne entre visible et invisible). Un agent utilisateur conforme n'est pas obligé de reconnaître cette valeur.

La couleur (ou couleurs) requise(s) pour la décoration du texte devrait être dérivée de la valeur de la propriété 'color'.

Cette propriété ne s'hérite pas, mais les boîtes descendantes d'une boîte de bloc devraient recevoir la même décoration (par exemple, toutes étant soulignées). La couleur des décorations devrait persister, même si les éléments descendants avait des valeurs de couleur différentes.

Les modifications XSL de la définition CSS :

XSL ajoute ces valeurs avec les significations suivantes :

no-underline

Le cas échéant, supprime le souligné ;

no-overline

Le cas échéant, supprime la ligne de dessus ;

no-line-through

Le cas échéant, supprime la ligne de rature ;

no-blink

Le cas échéant, supprime le clignotement.

7.16.5 'text-shadow'

Définition CSS2 :

Valeur : none | [ <couleur> || <longueur> <longueur> <longueur>? ,]* [ <couleur> || <longueur> <longueur> <longueur>?] | inherit
Valeur initiale : none
S'applique à : tous les éléments
Héritée : non, voir explication
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'text-shadow' vf.
http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-shadow

Cette propriété admet comme valeur une liste d'effets d'ombrage, séparés par des virgules, qui sont appliqués au texte d'un élément. Ces effets, qui s'appliquent dans l'ordre spécifié, peuvent ainsi se superposer l'un l'autre, mais ne se superposeront jamais au texte lui-même. Les effets d'ombrage ne modifient pas les dimensions d'une boîte, mais peuvent s'étendre au-delà des limites de celle-ci. Les effets d'ombrage se trouve au même niveau d'empilement que l'élément en question.

Chaque effet d'ombrage doit spécifier un décalage de l'ombrage et peut spécifier, en option, un rayon de flou et une couleur d'ombrage.

On spécifie le décalage de l'ombrage à l'aide de deux valeurs de « longueur » qui indiquent une distance par rapport au texte. La première valeur donne la distance horizontale vers la droite du texte. Une valeur horizontale négative place l'ombrage à la gauche du texte. La seconde valeur donne la distance verticale vers le bas du texte. Une valeur verticale négative place l'ombrage au-dessus du texte.

On peut spécifier, après le décalage de l'ombrage, un rayon de flou facultatif. Le rayon de flou est une valeur de longueur bornant l'effet de flou. On ne spécifie pas d'algorithme exact pour le calcul de cet effet.

On peut spécifier une valeur de couleur facultative, avant ou après les valeurs de longueur pour l'effet d'ombrage. Cette valeur de couleur sera utilisée comme base pour l'effet d'ombrage. Si aucune couleur n'est spécifiée, la valeur de la propriété 'color' sera utilisée à la place.

7.16.6 'text-transform'

Définition CSS2 :

Valeur : capitalize | uppercase | lowercase | none | inherit
Valeur initiale : none
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'text-transform' vf.
http://www.w3.org/TR/REC-CSS2/text.html#propdef-text-transform

Cette propriété contrôle les effets de capitalisation sur le texte d'un élément. Les significations des valeurs sont les suivantes :

capitalize

Met la première lettre de chaque mot en majuscule ;

uppercase

Met toutes les lettres de chaque mot en majuscule ;

lowercase

Met toutes les lettres de chaque mot en minuscule ;

none

Aucun effet de capitalisation.

Pour chacun des cas, la transformation effective dépend de la langue écrite. Voir [RFC2070] pour la manière de déterminer la langue d'un élément.

Un agent utilisateur peut considérer la valeur de la propriété 'text-transform' comme étant "none" pour ceux des caractères en dehors du répertoire ISO Latin-1 et pour ceux des éléments avec des écritures dont la transformation diffère de celle spécifiée dans les tables de conversion de casse Unicode ou ISO 10646.

Les modifications XSL de la définition CSS :

L'utilisation de cette propriété entraîne des problèmes d'internationnalisation importants. Celle-ci a été retenue pour compatibilité avec CSS, mais on ne recommande pas son emploi en XSL.

7.16.7 'treat-as-word-space'

Définition XSL :

Valeur : auto | true | false | inherit
Valeur initiale : auto
S'applique à : fo:character
Héritée : non
Pourcentage : sans objet
Médias : visuel

Cette propriété détermine quand un caractère est traité comme un espace de mot ou comme une lettre normale.

Les significations des valeurs sont les suivantes:

auto

La valeur de la propriété est déterminée par le point de code Unicode du caractère ;

Comme comportement par défaut :

true

Cette dimension de progression en-ligne du caractère sera ajustée comme décrit dans la propriété 'word-spacing' ;

false

Aucun ajustement d'espacement de mot ne sera appliqué.

7.16.8 'word-spacing'

Définition CSS2 :

Valeur : normal | <longueur> | <espace> | inherit
Valeur initiale : normal
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'word-spacing' vf.
http://www.w3.org/TR/REC-CSS2/text.html#propdef-word-spacing

Cette propriété spécifie le comportement d'espacement entre les mots. Les significations des valeurs sont les suivantes :

normal

L'espace inter-mots normal, comme défini par la police courante et/ou l'agent utilisateur ;

<longueur>

Cette valeur indique l'espace inter-mots en plus de l'espace inter-mots par défaut. Les valeurs peuvent être négatives, mais leur interpréation peut dépendre de l'agent utilisateur.

Les algorithmes d'espacement dépendent des agents utilisateurs. La justification agit aussi sur l'espace inter-mots (voir la propriété 'text-align').

Les modifications XSL de la définition CSS :

Le type de valeur suivant a été ajouté à XSL :

<espace>

Celle-ci perment à l'agent utilisateur de spécifier une plage d'ajustement en plus de l'espace inter-mots par défaut.

Les valeurs minimum et maximum donnent les limites pour ces ajustements.

L'espace inter-mots est défini comme étant la dimension de progression en-ligne de l'aire de glyphe obtenue par la mise en forme de l'objet fo:character courant, dont le trait treat-as-word-space a une valeur "true".

Pour un objet fo:character, dont le trait treat-as-word-space a une valeur "true", les traits space-start et space-end reçoivent tous deux une valeur comme suit :

Remarque :

Si on souhaite que l'espacement de mot se combine avec d'autres espaces de moindre force de préséance, alors la valeur de l'espacement de mot devrait être spécifiée comme une valeur <espace> de force de préséance moindre, ce qui entraîne une combinaison de l'espace en fonction des règles de résolution d'espace décrit au chapitre [4.3 Les espaces et la conditionnalité].

L'algorithme de résolution des valeurs ajustées entre l'espacement des mots et des lettres dépend de l'agent utilisateur.

Remarque :

La propriété 'word-spacing' n'agit que sur le placement des glyphes et non sur la forme qui peut être associée au caractère. Par exemple, l'ajustement d'un caractère « _ », considéré comme un espacement de mot, n'allonge ni ne raccourcit le glyphe « _ ».

7.17 Les propriétés en relation avec la couleur

7.17.1 'color'

Définition CSS2 :

Valeur : <couleur> | inherit
Valeur initiale : selon l'agent utilisateur
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'color' vf.
http://www.w3.org/TR/REC-CSS2/colors.html#propdef-color

<couleur>

Toute spécification de couleur valide.

Cette propriété décrit la couleur d'avant-plan du contenu textuel d'un élément.

Les modifications XSL de la définition CSS :

XSL ajoute la fonction rgb-icc() (voir [5.10.2 Les fonctions de couleur]) comme valeur admise pour cette propriété.

7.17.2 'color-profile-name'

Définition XSL :

Valeur : <nom> | inherit
Valeur initiale : sans objet, une valeur est requise
S'applique à : fo:color-profile
Héritée : non
Pourcentage : sans objet
Médias : visuel
<nom>

Spécifie le nom d'un profil de couleur pour des références internes.

7.17.3 'rendering-intent'

Définition XSL :

Valeur : auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric | inherit
Valeur initiale : auto
S'applique à : fo:color-profile
Héritée : non
Pourcentage : sans objet
Médias : visuel

La propriété 'rendering-intent' autorise la spécification de l'intention de rendu d'un profil de couleur autre que celui par défaut. Cette propriété s'applique principalement aux profils de couleur correspondant aux espaces de couleur CMYK. Les différentes options entraînent l'utilisation de diverses méthodes pour une traduction des couleurs vers le gamut de couleur de l'appareil de rendu cible.

Les significations des valeurs sont les suivantes :

auto

C'est le comportement par défaut. L'agent utilisateur détermine la meilleure intention, en fonction du type du contenu. Pour une image avec un profil incorporé, l'intention spécifié dans celui-ci sera censée être celle souhaitée. Sinon, l'agent utilisateur utilisera le profil courant et forcera l'intention, surclassant toute intention qui serait contenue dans le profil lui-même ;

perceptual

Cette méthode, souvent le meilleur choix pour les images, conserve les relations entre les couleurs. Celle-ci tente de maintenir les valeurs de couleur relatives entre les pixels en fonction de leur correspondance avec le gamut de l'appareil cible. Parfois, les valeurs des pixels qui se trouvaient dans le gamut de l'appareil sont modifiées pour éviter des déplacements et des discontinuités de teinte, et pour conserver autant que possible l'apparence générale de la scène ;

relative-colorimetric

Ne change pas les couleurs qui restent dans le gamut. Cette méthode convertit en général les couleurs hors-gamut en couleurs de même clarté tombant juste dans le gamut ;

saturation

Conserve les valeurs de saturation relatives (chromatiques) des pixels originaux. Les couleurs hors-gamut sont converties en couleurs de même saturation tombant juste dans le gamut ;

absolute-colorimetric

Désactive la correspondance avec le point blanc lors de la conversion des couleurs. On ne recommande pas cette option en général.

7.18 Les propriétés en relation avec les flottants

7.18.1 'clear'

Définition CSS2 :

Valeur : start | end | left | right | both | none | inherit
Valeur initiale : none
S'applique à : ceux des éléments de type bloc
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'clear' vf.
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-clear

Cette propriété indiquent quels sont les côtés de la boîte d'un élément qui ne peuvent pas être adjacents à une boître flottante précédente (l'élément en question pouvant avoir des descendants flottants, la propriété 'clear' n'agit pas sur ceux-ci).

On ne peut spécifier cette propriété que pour les éléments de type bloc (y compris les flottants). Pour les boîtes compactes ou run-in, cette propriété s'applique à la boîte de bloc finale à laquelle celles-ci appartiennent.

Les significations des valeurs sont les suivantes pour les boîtes de bloc non-flottantes :

left

La marge du haut de la boîte générée s'accroît suffisamment pour que le bord de la bordure du haut se retrouve en-dessous du bord externe du bas de toutes boîtes flottants à gauche, issues d'éléments survenus précédemment dans le document source ;

right

La marge du haut de la boîte générée s'accroît suffisamment pour que le bord de la bordure du haut se retrouve en-dessous du bord externe du bas de toutes boîtes flottants à droite, issues d'éléments survenus précédemment dans le document source ;

both

La boîte générée se déplace en-dessous de toutes les boîtes flottantes issues d'éléments survenus précédemment dans le document source ;

none

Aucune contrainte sur la position de la boîte vis-à-vis des flottants.

Quand la propriété s'applique sur des boîtes flottantes, ceci résulte en une modification des règles de positionnement des flottants. On ajoute une (dixième) règle supplémentaire à celles spécifiées dans la description de la propriété 'float' :

10. Le bord externe du haut du flottant doit se trouver en dessous du bord externe du bas de toutes les boˆtes flottant à gauche, quand la valeur de la propriété 'clear' est "left", de toutes celles flottant à droite, quand la valeur de 'clear' est "right", ou de toutes les boîtes flottantes, quand la valeur de 'clear' est "both".

Les modifications XSL de la définition CSS :

On définit un flottant de début comme étant une aire de la classe d'aire xsl-side-float, générée par un objet fo:float dont la valeur de la propriété 'float' est "left" ou "start".

On définit un flottant de fin comme étant une aire de la classe d'aire xsl-side-float, générée par un objet fo:float dont la valeur de la propriété 'float' est "right" ou "end".

On définit un flottant latéral comme étant un flottant de début ou un flottant de fin.

Une aire est définie comme « dégageant » un flottant latéral, si le bord d'avant du rectangle de bordure de l'aire est positionné après le bord d'après du flottant ou si l'aire n'est pas un descendant de l'aire de référence du parent du flottant.

Un objet de mise en forme de type bloc est défini comme « dégageant » un flottant latéral, si les aires générées par cet objet dégagent le flottant latéral.

En XSL, cette propriété s'applique aux objets de mise en forme de type bloc et à fo:float.

La propriété 'clear', quand elle s'applique à un objet fo:float qui génère des flottants latéraux, ne concerne pas l'aire d'ancre de ce fo:float.

Les significations des valeurs sont les suivantes :

start

Spécifie que chaque aire, celle-ci générée par l'objet de mise en forme en question, doit dégager chaque flottant de début dont l'aire de référence du parent est aussi l'aire de référence de l'ancêtre le plus proche de cette aire générée, pourvu que le flottant de début ait été généré par un objet fo:float se trouvant avant cet objet de mise en forme, dans l'ordre de cheminement pré-ordonné de l'arbre des objets de mise en forme. En plus, cette valeur spécifie que chaque aire, celle-ci générée par l'objet de mise en forme, doit être placée de manière à ce que la chaîne d'aires de référence, contenant l'aire de rérérence de l'ancêtre le plus proche de l'aire générée, ne contiennent pas une aire de référence ultérieure qui soit le parent d'un flottant de début généré par un objet fo:float, celui-ci se trouvant avant l'objet de mise en forme en question dans le cheminement pré-ordonné de l'arbre des objets de mise en forme ;

end

Spécifie que chaque aire, celle-ci générée par l'objet de mise en forme en question, doit dégager chaque flottant de fin dont l'aire de référence du parent est aussi l'aire de référence de l'ancêtre le plus proche de cette aire générée, pourvu que le flottant de fin ait été généré par un objet fo:float se trouvant avant cet objet de mise en forme, dans l'ordre de cheminement pré-ordonné de l'arbre des objets de mise en forme. En plus, cette valeur spécifie que chaque aire, celle-ci générée par l'objet de mise en forme, doit être placée de manière à ce que la chaîne d'aires de référence, contenant l'aire de rérérence de l'ancêtre le plus proche de l'aire générée, ne contiennent pas une aire de référence ultérieure qui soit le parent d'un flottant de fin généré par un objet fo:float, celui-ci se trouvant avant l'objet de mise en forme en question dans le cheminement pré-ordonné de l'arbre des objets de mise en forme ;

left

Interprété comme clear = "start" ;

right

Interprété comme clear = "end" ;

both

Spécifie que chaque aire, celle-ci générée par l'objet de mise en forme en question, doit dégager chaque flottant latéral dont l'aire de référence du parent est aussi l'aire de référence de l'ancêtre le plus proche de cette aire générée, pourvu que le flottant latéral ait été généré par un objet fo:float se trouvant avant cet objet de mise en forme, dans l'ordre de cheminement pré-ordonné de l'arbre des objets de mise en forme. En plus, cette valeur spécifie que chaque aire, celle-ci générée par l'objet de mise en forme, doit être placée de manière à ce que la chaîne d'aires de référence, contenant l'aire de rérérence de l'ancêtre le plus proche de l'aire générée, ne contiennent pas une aire de référence ultérieure qui soit le parent d'un flottant latéral généré par un objet fo:float, celui-ci se trouvant avant l'objet de mise en forme en question dans le cheminement pré-ordonné de l'arbre des objets de mise en forme ;

none

Aucune contrainte.

Quand un objet de mise en forme de type bloc est contraint par la propriété 'clear', les valeurs des composants de la propriété 'space-before' de celui-ci peuvent être modifiées, tant que nécessaire pour chaque aire que cet objet génère, pour que la contrainte soit vérifiée. Ces modifications se limitent à produire l'espace minimum requis supplémentaire pour satisfaire la contrainte imposée par la propriété 'clear'.

Remarque :

Selon la proximité entre le bord d'après d'un flottant latéral et le bord d'après de l'aire de référence de son parent, un objet de mise en forme de type bloc peut se trouver dans l'impossibilité de générer une aire qui soit un descendant de l'aire de référence du parent du flottant latéral. Dans ce cas, la première aire de bloc, générée par l'objet de mise en forme, doit être placée dans l'une des aires de référence, dans la chaîne des aires de référence qui contient l'aire de référence du parent du flottant latéral.

7.18.2 'float'

Définition CSS2 :

Valeur : before | start | end | left | right | none | inherit
Valeur initiale : none
S'applique à : tous les éléments, sauf ceux positionnés, et ceux dont le contenu est généré
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'float' vf.
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-float

Cette propriété spécifie si une boîte devrait flotter à gauche, à droite ou pas du tout. Celle-ci peut s'appliquer aux éléments générant des boîtes qui ne sont pas en position absolue. Les significations des valeurs sont les suivantes :

left

L'élément génère une boîte de bloc qui flotte à gauche. Le contenu s'écoule sur son flanc droit en commençant en haut (en fonction de la valeur de la propriété 'clear'). En ignorant la valeur de la propriété 'display', sauf si cette valeur est 'none' ;

right

Inversement et de la même façon que pour 'left' ;

none

La boîte ne flotte pas.

Voici les règles précises qui gouvernent le comportement des flottants :

1. Le bord externe gauche d'une boîte flottant à gauche ne peut pas se trouver au-delà du bord gauche de bloc conteneur. Inversement et de la même façon pour les boîtes flottant à droite ;

2. Pour une boîte donnée flottant à gauche, celle ci suivant dans la source un élément ayant déjà généré une autre boîte flottant à gauche, le bord externe gauche de cette boîte doit venir à droite du bord externe droit de la boîte précédente, ou, sinon, son sommet doit venir en dessous du bas de la boîte précédente. Inversement et de la même façon pour des boîtes flottant à droite ;

3. Le bord externe droit d'une boîte flottant à gauche du bord externe gauche d'une boîte flottant à droite, cette dernière étant située à sa droite. Inversement et de la même façon pour une boîte flottant à droite ;

4. Le sommet externe d'une boîte flottante ne peut pas se trouver au-dessus de celui de son bloc conteneur ;

5. Le sommet externe d'une boîte flottante ne peut pas se trouver au-dessus d'une boîte de bloc ou flottante, générée par un élément précédent dans le document source ;

6. Le sommet externe d'une boîte flottante ne peut pas se trouver au-dessus du sommet d'une boîte de ligne qui contient une boîte générée par un élément survenu plus tôt dans le document source ;

7. Une boîte flottant à gauche, ayant une autre boîte de même type à sa gauche, ne devrait pas avoir son bord externe droit au-delà du bord droit de son bloc conteneur. Plus librement, un flottant à gauche ne devrait pas dépasser le bord droit, à moins d'être déjà au maximum à gauche). Inversement et de la même façon pour les boîtes flottant à droite ;

8. Une boîte flottante doit se trouver aussi haut que possible ;

9. Une boîte flottant à gauche doit aller au maximum vers la gauche et, au maximum vers la droite pour celle flottant à droite. Une position plus haute est préférée à celle qui est plus à gauche ou à droite.

Les modifications XSL de la définition CSS :

Les valeurs "before", "start" et "end" ont été ajoutées à XSL.

En XSL, cette propriété ne s'applique qu'à un objet fo:float

Les significations des valeurs sont les suivantes :

before

Spécifie que les aires de bloc générées par l'objet fo:float seront de la classe d'aire xsl-before-float et seront des descendants d'une aire de référence avant-flottant générée par une sous-région conditionnelle d'une région de corps ;

start

Spécifie que les aires de bloc générées par l'objet fo:float seront de la classe d'aire xsl-side-float et seront flottées vers le bord de début de l'aire de référence ;

end

Spécifie que les aires de bloc retournées par l'objet fo:float seront de la classe d'aire xsl-side-float et seront flottées vers le bord de fin de l'aire de référence ;

left

Interprétée comme float = "start" ;

right

Interprétée comme float = "end" ;

none

Spécifie que les aires de bloc générées par l'objet fo:float seront normales.

Cette propriété détermine le trait area-class des aires de bloc retournées par l'objet fo:float, ce trait contrôle le placement et le parent de ces aires de bloc.

7.18.3 'intrusion-displace'

Définition XSL :

Valeur : auto | none | line | indent | block | inherit
Valeur initiale : auto
S'applique à : fo:block, fo:block-container, fo:table-and-caption, fo:table, fo:table-caption, fo:list-block, fo:list-item.
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

auto

Pour une aire de référence, cette valeur est traitée comme si la valeur "block" était spécifiée. Pour toute autre aire, cette valeur est traitée comme si la valeur "line" était spécifiée ;

none

Ni les aires de ligne ni celles de bloc ne sont déplacées (ni aucun ajustement n'intervient dans leur dimension de progression en-ligne) en réponse à l'intrusion du flottant. Le flottant se superpose sur l'aire sans affecter l'un ou l'autre contenu de celle-ci, à moins que la valeur spécifiée de la propriété 'clear' ne soit autre que "none" ;

line

Les bords de début et de fin des aires de lignes sont déplacées juste assez pour que les intrusions éventuelles ne recoupent plus le rectangle de contenu de l'aire de ligne. Pour ce test, le rectangle d'allocation de l'intrusion est considéré dans l'intersection. Également, ces intersections ont lieu en fonction de l'aire de ligne, avant, le cas échéant, l'ajustement par celle-ci de toute « indentation de texte ». Ceci va entraîner une réduction de la dimension de progression en-ligne de l'aire de ligne ;

Remarque :

C'est le comportement des flottants tel que décrit dans CSS2.

indent

Le bord de début (et de fin) de chaque ligne de l'aire de bloc, sur lequel la propriété s'applique, est déplacé (a) d'au moins la quantité de déplacement qu'aurait entraînée la valeur "line" pour cette propriété et (b) en plus, d'une quantité préservant le décalage relatif de ce bord de début (ou de fin) par rapport au bord de début (ou de fin) d'une autre ligne, celui-ci déplacé, le cas échéant, par une intrusion ayant entraîné le déplacement de la ligne courante. S'il y avait plus d'une intrusion provoquant un déplacement de la ligne, le plus grand est utilisé ;

block

Le bord de début (ou de fin) du bloc est déplacé de la quantité juste nécessaire pour garantir (a) que le bord de début (ou de fin) ne recoupe aucune intrusion de début (ou de fin) qui recouvrirait ce bloc et (b) que la quantité de déplacement de celui-ci soit au moins égale au déplacement de l'aire du parent, pourvu que ce parent soit une aire de bloc non une aire de référence. On dit qu'une intrusion recouvre un bloc, s'il existe une ligne parallèle à la direction de progression en-ligne qui recoupe à la fois les rectangles d'allocation du bloc et celui de l'intrusion.

Cette propriété détermine la stratégie de déplacement en présence d'intrusions.

Remarque :

Le déplacement du bord de début (et/ou de fin) d'un bloc déplace nécessairement le bord de début (et/ou de fin) de toutes les lignes et tous les blocs contenus dans le bloc en question.

7.19 Les propriétés de rétention et de coupure

Les coupures de page ne s'appliquent qu'aux descendants de l'objet de mise en forme fo:flow, ceux-ci n'étant pas dans des aires en position absolue ni dans des aires hors-ligne. Comme descendant d'objet de mise en forme fo:flow, une colonne peut avoir une coupure, une coupure de colonne dans la dernière (ou seule) colonne entraîne une coupure de page ; les coupures de colonnes dans un contenu statique sont possibles, sauf celles dans la dernière (ou seule) colonne, auquel cas cette coupure est ignorée.

La description de la sémantique des rétentions et coupures est approfondie au chapitre [4.8 Les rétentions et les coupures].

7.19.1 'break-after'

Définition XSL :

Valeur : auto | column | page | even-page | odd-page | inherit
Valeur initiale : auto
S'applique à : ceux des objets de mise en forme de type bloc, fo:list-item et fo:table-row.
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

auto

Aucune coupure n'est imposée ;

Remarque :

Les coupures de page peuvent survenir en fonction du formateur, selon l'influence des propriétés 'widow', 'orphan', 'keep-with-next', 'keep-with-previous' et 'keep-together' sur le traitement.

column

Impose une condition de coupure après dans un contexte d'aires de colonne ;

page

Impose une condition de coupure après dans un contexte d'aires de page ;

even-page

Impose une condition de coupure après dans un contexte d'aires de page paires (une page blanche peut être générée si nécessaire) ;

odd-page

Impose une condition de coupure après dans un contexte d'aires de page impaires (une page blanche peut être générée si nécessaire).

Spécifie que la première aire normale générée, le cas échéant, par la mise en forme de l'objet suivant, sera la première placée dans un contexte donné (par exemple, une aire de page, une aire de colonne).

Cette propriété ne produit aucun effet sur un objet de mise en forme fo:table-row dans lequel surviendrait une rangée qui s'étend, celle-ci s'étendant de l'objet fo:table-row en question sur le suivant.

7.19.2 'break-before'

Définition XSL :

Valeur : auto | column | page | even-page | odd-page | inherit
Valeur initiale : auto
S'applique à : ceux des objets de mise en forme de type bloc, fo:list-item et fo:table-row.
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

auto

Aucune coupure n'est imposée ;

Remarque :

Les coupures de page peuvent survenir en fonction du formateur, selon l'influence des propriétés 'widow', 'orphan', 'keep-with-next', 'keep-with-previous' et 'keep-together' sur le traitement.

column

Impose une condition de coupure avant dans un contexte d'aires de colonne ;

page

Impose une condition de coupure avant dans un contexte d'aires de page ;

even-page

Impose une condition de coupure avant dans un contexte d'aires de page paires (une page blanche peut être générée si nécessaire) ;

odd-page

Impose une condition de coupure avant dans un contexte d'aires de page impaires (une page blanche peut être générée si nécessaire).

Spécifie que la première aire normale générée, le cas échéant, par la mise en forme de l'objet suivant, sera la première placée dans un contexte donné (par exemple, une aire de page, une aire de colonne).

Cette propriété ne produit aucun effet sur un objet de mise en forme fo:table-row dans lequel surviendrait une rangée qui s'étend, celle-ci s'étendant de l'objet fo:table-row en question sur le suivant.

7.19.3 'keep-together'

Définition XSL :

Valeur : <rétention> | inherit
Valeur initiale : .within-line = "auto", .within-column = "auto", .within-page = "auto"
S'applique à : ceux des objets de mise en forme de type bloc, de type en-ligne et fo:table-caption, fo:table-row, fo:list-item, fo:list-item-label et fo:list-item-body
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Cette propriété impose des conditions de rétention ensemble sur des objets de mises en forme.

Le type de données <rétention> comprend trois composants : within-line, within-column et within-page. Les différents composants s'appliquent à diverses classes d'objets de mise en forme et offrent des conditions de rétention différentes en fonction du contexte. Pour le composant within-line, le contexte de rétention concerne les aires de ligne ; pour le composant within-column, le contexte concerne les aires de colonne ; pour le composant within-page, le contexte concerne les aires de page. Dans les descriptions qui suivent, l'expression « contexte approprié » devrait être interprètée par rapport à la phrase précédente.

Les significations des valeurs des composants sont les suivantes :

auto

Aucune condition de rétention ensemble n'est imposée par cette propriété ;

always

Impose une condition de rétention ensemble, d'une force de valeur "always", dans le contexte approprié ;

<entier>

Impose une condition de rétention ensemble, d'une force égale à la valeur <entier>, dans le contexte approprié.

La description de la sémantique des rétentions et coupures est approfondie au chapitre [4.8 Les rétentions et les coupures].

7.19.4 'keep-with-next'

Définition XSL :

Valeur : <rétention> | inherit
Valeur initiale : .within-line = "auto", .within-column = "auto", .within-page = "auto"
S'applique à : ceux des objets de mise en forme de type bloc, de type en-ligne, fo:list-item et fo:table-row
Héritée : non
Pourcentage : sans objet
Médias : visuel

Cette propriété impose des conditions de rétention avec le suivant sur des objets de mises en forme.

Le type de données <rétention> comprend trois composants : within-line, within-column et within-page. Les différents composants s'appliquent à diverses classes d'objets de mise en forme et offrent des conditions de rétention différentes en fonction du contexte. Pour le composant within-line, le contexte de rétention concerne les aires de ligne ; pour le composant within-column, le contexte concerne les aires de colonne ; pour le composant within-page, le contexte concerne les aires de page. Dans les descriptions qui suivent, l'expression « contexte approprié » devrait être interprètée par rapport à la phrase précédente.

Les significations des valeurs des composants sont les suivantes :

auto

Aucune condition de rétention avec le suivant n'est imposée par cette propriété ;

always

Impose une condition de rétention avec le suivant, d'une force de valeur "always", dans le contexte approprié ;

<entier>

Impose une condition de rétention avec le suivant, d'une force égale à la valeur <entier>, dans le contexte approprié.

La description de la sémantique des rétentions et coupures est approfondie au chapitre [4.8 Les rétentions et les coupures].

7.19.5 'keep-with-previous'

Définition XSL :

Valeur : <rétention> | inherit
Valeur initiale : .within-line = "auto", .within-column = "auto", .within-page = "auto"
S'applique à : ceux des objets de mise en forme de type bloc, de type en-ligne, fo:list-item et fo:table-row
Héritée : non
Pourcentage : sans objet
Médias : visuel

Cette propriété impose des conditions de rétention avec le précédent sur des objets de mises en forme.

Le type de données <rétention> comprend trois composants : within-line, within-column et within-page. Les différents composants s'appliquent à diverses classes d'objets de mise en forme et offrent des conditions de rétention différentes en fonction du contexte. Pour le composant within-line, le contexte de rétention concerne les aires de ligne ; pour le composant within-column, le contexte concerne les aires de colonne ; pour le composant within-page, le contexte concerne les aires de page. Dans les descriptions qui suivent, l'expression « contexte approprié » devrait être interprètée par rapport à la phrase précédente.

Les significations des valeurs des composants sont les suivantes :

auto

Aucune condition de rétention avec le précédent n'est imposée par cette propriété ;

always

Impose une condition de rétention avec le précédent, d'une force de valeur "always", dans le contexte approprié ;

<entier>

Impose une condition de rétention avec le précédent, d'une force égale à la valeur <entier>, dans le contexte approprié.

La description de la sémantique des rétentions et coupures est approfondie au chapitre [4.8 Les rétentions et les coupures].

7.19.6 'orphans'

Définition CSS2 :

Valeur : <entier> | inherit
Valeur initiale : 2
S'applique à : ceux des éléments de type bloc
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'orphans' vf.
http://www.w3.org/TR/REC-CSS2/page.html#propdef-orphans

Voir la définition de la propriété [7.19.7 'widows'].

7.19.7 'widows'

Définition CSS2 :

Valeur : <entier> | inherit
Valeur initiale : 2
S'applique à : ceux des éléments de type bloc
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'widows' vf.
http://www.w3.org/TR/REC-CSS2/page.html#propdef-widows

La propriété 'orphans' spécifie le nombre minimum de lignes d'un paragraphe qui doivent être laissées en bas d'une page. La propriété 'widows' spécifie le nombre minimum de lignes d'un paragraphe qui doivent être laissées en haut d'une page.

Les modifications XSL de la définition CSS :

En XSL, la propriété 'orphans' spécifie le nombre minimum d'aires de ligne dans la première aire générée par l'objet de mise en forme, la propriété 'widows' le nombre minimum d'aires de ligne dans la dernière aire générée par l'objet de mise en forme.

7.20 Les propriétés en relation avec la disposition

Les propriétés en relation avec la disposition suivantes ne sont pas communes à tous les objets de mise en forme.

7.20.1 'clip'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x68

Valeur : <forme> | auto | inherit
Valeur initiale : auto
S'applique à : ceux des éléments de type bloc et ceux remplacés
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'clip' vf.
http://www.w3.org/TR/REC-CSS2/visufx.html#propdef-clip

La propriété 'clip' s'aplique aux éléments dont la propriété 'overflow' a une valeur autre que "visible". Les significations des valeurs sont les suivantes :

auto

La zone de rognage a la même taille et emplacement que la ou les boîtes de l'élément ;

<forme>

En CSS2, la seule valeur admise pour <forme> est : rect (<haut>, <droite>, <bas>, <gauche>) où <haut>, <droite>, <bas> et <gauche> représentent les décalages par rapport aux côtés respectifs de la boîte.

Les valeurs <haut>, <droite>, <bas> et <gauche> peuvent être une valeur de <longueur> ou bien "auto". Les valeurs négatives sont admises. La valeur "auto" fait correspondre un bord donné de la zone de rognage à celui de la boîte générée par l'élément (c.à.d. la valeur "auto" a la même signification que "0").

Avec des coordonnées ayant des valeurs en pixels, il faudrait faire attention à ce qu'aucun pixel ne reste visible quand la somme de <gauche> et <droite> est égale à la largeur de l'élément (et de même, pour la somme de <haut> et <bas> avec la hauteur de l'élément), et inversement, à ce qu'aucun pixel ne reste caché quand leurs sommes sont nulles.

Les ancêtres de l'élément peuvent aussi avoir des zones de rognage (quand leur propriété 'overflow' n'a pas la valeur "visible" ; c'est l'intersection des diverses zones de rognage qui est rendue.

Si la zone de rognage excède les limites de la fenêtre du document de l'agent utilisateur, son contenu peut se trouver rogner par la fenêtre, en fonction du système d'exploitation.

7.20.2 'overflow'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x67

Valeur : visible | hidden | scroll | error-if-overflow | auto | inherit
Valeur initiale : auto
S'applique à : ceux des éléments de type bloc et ceux remplacés
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'overflow' vf.
http://www.w3.org/TR/REC-CSS2/visufx.html#propdef-overflow

Cette propriété spécifie si le contenu d'un élément de type bloc doit être rogné quand celui-ci déborde de la boîte de cet élément (qui se comporte comme un bloc conteneur). Les significations des valeurs sont :

visible

Le contenu ne sera pas rogné, et celui-ci peut être représenté hors de la boîte du bloc ;

hidden

Le contenu sera rogné et aucun mécanisme de défilement ne devrait être fourni pour voir la partie qui aura été rognée. On spécifie la taille et la forme du reliquat du rognage avec la propriété 'clip' ;

scroll

Le contenu sera rogné et, si disponible, l'agent utilisateur fournit un mécanisme de défilement visible à l'écran (tel qu'une barre de défilement ou un dispositif panoramique), celui-ci devrait apparaître pour une boîte donnée, que le contenu de celle-ci soit rogné ou non. Ceci pour éviter l'inconvénient que représenterait des barres de défilement apparaissant et disparaissant dans un environnement dynamique. Quand cette valeur est spécifiée conjointement avec le type de média 'print, la partie du contenu ayant débordée devrait aussi être imprimée ;

auto

L'interprétation de cette valeur dépend de l'agent utilisateur, cependant, celui-ci devrait fournir un mécanisme de défilement quand les boîtes débordent.

Même quand la valeur de la propriété 'overflow' est "visible", il peut arriver que le contenu soit rogné par le système d'exploitation, pour tenir dans la fenêtre du document de l'agent utilisateur.

Les modifications XSL de la définition CSS :

On définit une valeur de plus comme suit :

error-if-overflow

Cette valeur prend la même signification que la valeur "hidden" avec pour signification supplémentaire que la survenue d'une erreur devra être signalée ; une implémentation peut recouvrer de cette erreur en rognant la région.

Pour un média imprimé, les implémentation doivent reconnaître les valeurs "auto" et "visible", comme définies dans cette recommandation. Les autres valeurs peuvent être traitées comme si "auto" avait été spécifiée.

7.20.3 'reference-orientation'

Définition XSL :

Valeur : 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit
Valeur initiale : 0
S'applique à : voir explication
Héritée : oui (voir explication)
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

0

L'orientation de cette aire de référence est la même que celle de l'aire de référence qui la contient ;

90

L'orientation de cette aire de référence est tournée à 90 degrés dans le sens inverse des aiguilles d'une montre par rapport à celle de l'aire de référence qui la contient ;

180

L'orientation de cette aire de référence est tournée à 180 degrés dans le sens inverse des aiguilles d'une montre par rapport à celle de l'aire de référence qui la contient ;

270

L'orientation de cette aire de référence est tournée à 270 degrés dans le sens inverse des aiguilles d'une montre par rapport à celle de l'aire de référence qui la contient ;

-90

L'orientation de cette aire de référence est tournée à 270 degrés dans le sens inverse des aiguilles d'une montre par rapport à celle de l'aire de référence qui la contient ;

Remarque :

Cette valeur équivaut à "270".

-180

L'orientation de cette aire de référence est tournée à 180 degrés dans le sens inverse des aiguilles d'une montre par rapport à celle de l'aire de référence qui la contient ;

Remarque :

Cette valeur équivaut à "180".

-270

L'orientation de cette aire de référence est tournée à 90 degrés dans le sens inverse des aiguilles d'une montre par rapport à celle de l'aire de référence qui la contient.

Remarque :

Cette valeur équivaut à "90".

La propriété 'reference-orientation' spécifie la direction du haut du rectangle de contenu de l'aire de référence. C'est celle-ci qui est utilisée pour déduire les directions, telles que la direction de progression de bloc, la direction de progression en-ligne, etc., comme spécifiées par les propriétés 'writing-mode' et 'direction', ainsi que l'orientation, le placement et la mosaïque de l'arrière-plan.

La propriété 'reference-orientation' ne s'applique qu'aux objets de mise en forme qui établissent une aire de référence. Chacune des valeurs prises par 'reference-orientation' donne la direction absolue pour les propriétés 'top', 'left', 'bottom' et 'right' ; celle-ci est utilisée par les propriétés 'writing-mode' et 'direction', ainsi que par toutes les opérations de positionnement qui se rapportent à l'aire de référence ou font partie de celle-ci.

Le trait reference-orientation d'une aire est dérivé indirectement de la propriété 'reference-orientation' de l'objet de mise en forme qui génère cette aire ou des ancêtres de cet objet de mise en forme.

7.20.4 'span'

Définition XSL :

Valeur : none | all | inherit
Valeur initiale : none
S'applique à : voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

none

Cet objet ne s'étend par sur plusieurs colonnes ;

tous

Les aires issues de cet objet de flux s'étendront sur toutes les colonnes d'une région de plusieurs colonnes.

Spécifie le placement d'un objet de type bloc dans la colonne courante ou dans toutes les colonnes d'une région de plusieurs colonnes.

Remarque :

Ceci n'exerce une influence que sur les aires retournées par un objet de flux, par exemple, les aires de bloc générées par les objets fo:block enfants d'un objet fo:flow. Les enfants et leurs descendants adoptent les caractéristiques d'étendue de leur parent.

7.21 Les propriétés leader et rule

7.21.1 'leader-alignment'

Définition XSL :

Valeur : none | reference-area | page | inherit
Valeur initiale : none
S'applique à : fo:leader
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

none

Les motifs des lignes de conduite n'ont pas d'alignement particulier ;

reference-area

Le motif de ligne de conduite est aligné comme si celui-ci commençait au bord de début du rectangle de contenu de l'aire de référence ;

page

Le motif de ligne de conduite est aligné comme si celui-ci commençait au bord de début de la page courante.

Spécifie si les objets fo:leader, dont le contenu et les valeurs de propriété sont identiques, auront leurs motifs alignés l'un avec l'autre, par rapport à leur aire de référence ou leur page communes.

Cette propriété sera honorée pour les objets fo:leader dont la propriété 'leader-pattern' a une valeur spécifiée "dot" ou "use-content".

Si l'objet fo:leader est aligné, le bord de début de chaque cycle du motif répété sera placé sur le bord de début du cycle suivant dans la grille d'alignement du motif appropriée.

7.21.2 'leader-pattern'

Définition XSL :

Valeur : space | rule | dots | use-content | inherit
Valeur initiale : space
S'applique à : fo:leader
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

space

La ligne de conduite est composée d'espaces blancs ;

rule

La ligne de conduite est composée d'une règle.

Pour cette valeur, le style de cette ligne de conduite est fixé par les propriétés 'rule-thickness' et 'rule-style' ;

dots

La ligne de conduite est composée de la répétition d'une succession de points. Le choix du caractère point dépend de l'agent utilisateur ;

use-content

La ligne de conduite est composée de la répétition d'un motif spécifié par les enfants de l'objet fo:leader.

Spécifie la manière de remplir la ligne de conduite.

Si la ligne de conduite est alignée, le bord de début de chaque cycle de composant du motif répété sera placé sur le bord de début du cycle suivant dans la grille d'alignement du motif.

Les implémentations doivent reconnaître les valeurs "space", "rule" et "dots", définies dans cette recommandation. La valeur "use-content" peut être traitée comme si "space" avait été spécifiée.

7.21.3 'leader-pattern-width'

Définition XSL :

Valeur : use-font-metrics | <longueur> | <pourcentage> | inherit
Valeur initiale : use-font-metrics
S'applique à : fo:leader
Héritée : oui
Pourcentage : se rapporte à la dimension de progression en-ligne du rectangle de contenu de l'aire du parent
Médias : visuel

Les significations des valeurs sont les suivantes :

use-font-metrics

Utilise la largeur du motif de ligne de conduite déterminée à partir des mesures de la police ;

<longueur>

Donne la longueur du motif de ligne de conduite qui se répète.

La ligne de conduite aura un espace en-ligne inséré après chaque cycle du motif pour tenir compte d'une différence éventuelle entre la largeur du motif, déterminée par les mesures de la police, et la largeur spécifiée dans cette propriété.

Si la longueur spécifiée est inférieure à celle qui aurait été déterminée pour le choix de la valeur "use-font-metrics", la valeur calculée de cette propriété est considérée être celle qui aurait été obtenue pour "use-font-metrics".

Spécifie la longueur de chaque cycle pour une ligne de conduite qui se répète.

Cette propriété sera honorée pour les lignes de conduite dont la propriété 'leader-pattern' a la valeur "dots" ou "use-content".

7.21.4 'leader-length'

Définition XSL :

Valeur : <longueur-plage> | <pourcentage> | inherit
Valeur initiale : .minimum = "0pt", .optimum = "12.0pt", .maximum = "100%"
S'applique à : fo:leader
Héritée : oui
Pourcentage : se rapporte à la dimension de progression en-ligne du rectangle de contenu de l'aire du parent
Médias : visuel

Les significations des valeurs sont les suivantes :

<longueur-plage>

leader-length.minimum = longueur minimum de la ligne de conduite

leader-length.optimum = longueur optimum de la ligne de conduite

leader-length.maximum = longueur maximum de la ligne de conduite

Spécifie les longueurs minimum, optimum d'un objet fo:leader.

Cette propriété contraint la longueur de la ligne de conduite à se trouver entre un minimum et un maximum.

Remarque :

L'agent utilisateur peut choisir d'utiliser la valeur de "leader-length.optimum" pour déterminer où effectuer une coupure de ligne, puis d'utiliser les valeurs minimum et maximum pour une justification de la ligne.

Pour des valeurs de longueur de la ligne de conduite telles que :

leader-length.minimum = "0pt"
leader-length.optimum = "12pt"
leader-length.maximum = "100%"

celles-ci pourraient amener des contraintes qui entraîneraient la ligne de conduite à remplir tout l'espace disponible dans l'aire de ligne lors du processus de justification de celle-ci.

Remarque :

Comme pour tous les autres espaces et objets de mise en forme d'une aire de ligne, dont la dimension de progression en-ligne présente des contraintes minimum/optimum/maximum, une plage de longueur sur un objet de mise en forme de ligne de conduite offre une plus grande latitude pour le processus de justification. Bien qu'un reacute;sultat satisfaisant les contraintes spécifiées serait conforme à cette spécification, les pratiques typographiques actuelles tendraient, dans la même aire de ligne, plutôt vers la souplesse offerte par la longueur de la ligne de conduite que vers d'autres moyens (par exemple, les espaces entre les mots) pour la justification de la ligne. Quand plusieurs objets de mise en forme de ligne de conduite surviennent dans la même aire de ligne, la pratique actuelle est plutôt vers l'utilisation de la souplesse de la longueur de chacun d'eux, d'une façon définie par l'implémentation (par exemple, égales ou proportionnelles aux valeurs spécifiées pour leader-length.maximum).

7.21.5 'rule-style'

Définition XSL :

Valeur : none | dotted | dashed | solid | double | groove | ridge | inherit
Valeur initiale : solid
S'applique à : fo:leader
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Spécifie le style (motif) de la règle.

Cette propriété ne s'applique que si la valeur de la propriété 'leader-pattern' est "rule".

Les significations des valeurs sont les suivantes :

none

Aucune règle, force à 0 l'épaisseur de la règle ;

dotted

La règle est constituée d'une série de points ;

dashed

La règle est constituée d'une série de segments de ligne courts ;

solid

La règle est constituée d'un seul segment de ligne ;

double

La règle est constituée de deux lignes pleines. La somme des épaisseurs des deux lignes et de l'espace entre celles-ci est égale à la valeur de la propriété 'rule-thickness' ;

groove

La règle donne l'impression d'être gravée dans le canevas (les moitiés du haut et de gauche de l'épaisseur de la règle sont de la couleur spécifiée, les autres moitiés sont blanches) ;

ridge

L'inverse de "groove", la règle donne l'impression de sortir du canevas (les moitiés du bas et de droite de l'épaisseur de la règle sont de la couleur spécifiée, les autres moitiés sont blanches).

Les implémentations doivent reconnaître les valeurs "none" et "solid", définies dans cette recommandation. Les autres valeurs peuvent être traitées comme si "solid" était spécifiée.

7.21.6 'rule-thickness'

Définition XSL :

Valeur : <longueur>
Valeur initiale : 1.0pt
S'applique à : fo:leader
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Spécifie l'épaisseur globale de la règle.

Cette propriété ne s'applique que si la valeur de la propriété 'leader-pattern' est "rule".

Les significations des valeurs sont les suivantes :

<longueur>

L'épaisseur de la règle est toujours perpendiculaire à l'axe de longueur.

La règle s'épaissit de manière égale au-dessus et en-dessous de la position d'alignement de la ligne. Celle-ci peut s'ajuster avec la propriété 'baseline-shift'.

7.22 Les propriétés des effets dynamiques des objets de mise en forme

7.22.1 'active-state'

Définition XSL :

Valeur : link | visited | active | hover | focus
Valeur initiale : no, a value is required
S'applique à : fo:multi-property-set
Héritée : non
Pourcentage : sans objet
Médias : interactive
link

Cet objet fo:multi-property-set est concerné s'il y a un objet fo:basic-link descendant de l'objet fo:multi-properties parent, ce lien n'étant pas déjà visité ;

visited

Cet objet fo:multi-property-set est concerné s'il y a un objet fo:basic-link descendant de l'objet fo:multi-properties parent, ce lien étant déjà visité ;

active

Cet objet fo:multi-property-set est concerné quand une aire normale retournée par l'objet fo:multi-properties parent est en cours d'activation par l'utilisateur. Par exemple, entre les moments où celui-ci presse le bouton d'une souris et relâche ce bouton ;

hover

Cet objet fo:multi-property-set est concerné quand une aire normale retournée par l'objet fo:multi-properties parent est désignée par l'utilisateur (à l'aide d'un dispositif de pointage), sans que cette aire soit activée. Par exemple, quand le pointeur (d'une souris) survole cette aire ;

focus

Cet objet fo:multi-property-set est concerné quand un aire normale retournée par l'objet fo:multi-properties parent reçoit l'attention (accepte des actions du clavier ou d'autre formes d'entrée de texte).

La propriété 'active-state' s'utilise pour contrôler lequel des objets fo:multi-property-sets employer pour formater les objets de flux enfant dans un objet de mise en forme fo:multi-properties. Les états (ou tout au moins les événements qui provoque le basculement vers un état) sont définis par le DOM.

7.22.2 'auto-restore'

Définition XSL :

Valeur : true | false
Valeur initiale : false
S'applique à : fo:multi-switch
Héritée : oui
Pourcentage : sans objet
Médias : interactive
true

Si cet objet fo:multi-switch est contenu dans un autre objet fo:multi-switch, ce dernier objet modifiant l'objet fo:multi-case en cours (en cachant le premier objet fo:multi-switch), alors ce premier objet fo:multi-switch devrait restaurer son objet fo:multi-case initial ;

false

Cet objet fo:multi-switch devrait garder son objet fo:multi-case en cours.

Spécifie si l'objet fo:multi-case initial devrait être restauré quand l'objet fo:multi-switch se trouve caché par un objet fo:multi-switch ancêtre.

Remarque :

Une utilisation courante pour la valeur "true" de cette propriété est quand plusieurs objets fo:multi-switch imbriqués réalisent une présentation développée/rétractée d'une table des matières. Quand une table des matières est développée jusqu'en bas de la hiérarchie et quand un ancêtre (plus haut dans la hiérarchie) est fermé, il serait souhaitable que tous les sous-titres reprennent leur état original quand cet ancêtre est ré-ouvert.

7.22.3 'case-name'

Définition XSL :

Valeur : <nom>
Valeur initiale : aucune, une valeur est requise
S'applique à : fo:multi-case
Héritée : non, une valeur est requise
Pourcentage : sans objet
Médias : interactive
<nom>

Spécifie un nom pour un objet fo:multi-case. Ce nom doit être unique parmi les pairs de l'objet fo:multi-case en question, c'est-à-dire, au regard des objets fo:multi-switch qui les contiennent (directement). D'autres instances d'objets fo:multi-switch peuvent employer le même nom pour leurs objets fo:multi-case.

Cet propriété a pour but de permettre la sélection d'objets fo:multi-case par des objets fo:multi-toggle.

7.22.4 'case-title'

Définition XSL :

Valeur : <chaîne>
Valeur initiale : aucune, une valeur est requise
S'applique à : fo:multi-case
Héritée : non, une valeur est requise
Pourcentage : sans objet
Médias : interactive
<chaîne>

Spécifie un titre descriptif pour l'objet fo:multi-case. Ce titre peut être affiché dans un menu pour représenter cet objet fo:multi-case quand un objet fo:multi-toggle désigne plusieurs objet fo:multi-case de destination.

7.22.5 'destination-placement-offset'

Définition XSL :

Valeur : <longueur>
Valeur initiale : 0pt
S'applique à : fo:basic-link
Héritée : non
Pourcentage : sans objet
Médias : interactive
<longueur>

La propriété 'destination-placement-offset' spécifie la distance entre le commencement (haut) de la page et l'aire de ligne la plus interne qui contient la première aire de destination. Si cette aire n'est pas contenue dans une aire de ligne, la propriété 'destination-placement-offset' spécifie alors directement la distance jusqu'au haut de l'aire de destination.

Si la spécification du décalage de l'emplacement de la destination produit une distance supérieure à celle partant du début du document, cette dernière distance sera utilisée.

Si la distance spécifiée devait pousser la première aire de destination en-dessous de l'aire de la page, cette distance devrait être diminuée jusqu'à ce que l'aire de destination devienne visible dans son entier, si possible. Si la première aire de destination était plus haute que la page, le haut de cette aire devrait s'aligner sur le haut de la page.

7.22.6 'external-destination'

Définition XSL :

Valeur : <uri-spécification>
Valeur initiale : une chaîne vide
S'applique à : fo:basic-link
Héritée : non
Pourcentage : sans objet
Médias : interactive
<uri-spécification>

Spécifie la ressource de destination (ou, quand il s'agit d'un identifiant de fragment, la sous-ressource) d'un objet fo:basic-link.

La manière dont cette (sous-)ressource de destination est utilisée et/ou affichée dépend de l'application et de l'implémentation. Dans une application de navigation typique, la ressource de destination est affichée dans le navigateur, positionnée de manière à ce que le rendu d'une certaine partie rendue, issue du traitement d'une certaine partie de la sous-ressource de destination désignée par l'identifiant de fragment, soit visible.

L'une au moins entre les propriétés 'external-destination' et 'internal-destination' devrait être assignée. Au cas où les deux étaient assignées, le système peut soit signaler l'erreur soit utiliser la propriété 'internal-destination'.

7.22.7 'indicate-destination'

Définition XSL :

Valeur : true | false
Valeur initiale : false
S'applique à : fo:basic-link
Héritée : non
Pourcentage : sans objet
Médias : interactive
true

Les aires appartenant à la cible désignée par le lien devraient être signalée, d'une manière propre au système, quand celles-ci sont traversées ;

false

Aucune indication particulière ne devrait être donnée.

Remarque :

Ceci pourrait être signalé de toute manière réalisable, par exemple, en vidéo inverse, etc.

7.22.8 'internal-destination'

Définition XSL :

Valeur : chaîne vide | <idref>
Valeur initiale : chaîne vide
S'applique à : fo:basic-link
Héritée : non
Pourcentage : sans objet
Médias : interactive
<idref>

Spécifie l'objet de flux de destination d'un objet fo:basic-link. Cette propriété permet la spécification explicite du nœud de l'objet de flux de destination.

L'une au moins entre les propriétés 'external-destination' et 'internal-destination' devrait être assignée. Au cas où les deux étaient assignées, le système peut soit signaler l'erreur soit utiliser la propriété 'internal-destination'.

7.22.9 'show-destination'

Définition XSL :

Valeur : replace | new
Valeur initiale : replace
S'applique à : fo:basic-link
Héritée : non
Pourcentage : sans objet
Médias : interactive
replace

La vue du document courant devrait être remplacée. Cependant, si l'aire ou les aires de destination sont déjà disponibles dans une page ou une région, ces aires devraient simplement se déplacer ou défiler pour « devenir visible » ;

new

Une nouvelle vue du document (ou une vue supplémentaire) devrait toujours s'opérer.

Spécifie où les ressources de destination devraient s'afficher.

7.22.10 'starting-state'

Définition XSL :

Valeur : show | hide
Valeur initiale : show
S'applique à : fo:multi-case
Héritée : non
Pourcentage : sans objet
Médias : interactive
show

Le contenu de l'objet fo:multi-case est candidat pour un affichage initial ;

hide

Le contenu de l'objet fo:multi-case n'est pas candidat pour un affichage initial.

Spécifie si l'objet fo:multi-case peut être affiché initialement.

L'objet fo:multi-switch parent choisira le premier enfant fo:multi-case dont la valeur de la propriété 'starting-state' est "show".

Remarque :

Un nombre quelconque d'objets fo:multi-case peuvent avoir la valeur "show" pour la propriété 'starting-state'.

Si aucun objet fo:multi-case n'a la valeur "show" pour la propriété 'starting-state', alors le contenu d'aucun d'entre eux ne devraient être affiché.

Remarque :

Si aucun objet fo:multi-case n'est affiché, l'objet fo:multi-switch entier sera effectivement caché.

7.22.11 'switch-to'

Définition XSL :

Valeur : xsl-preceding | xsl-following | xsl-any | <nom>[ <nom> ]*
Valeur initiale : xsl-any
S'applique à : fo:multi-toggle
Héritée : non
Pourcentage : sans objet
Médias : interactive
xsl-preceding

L'activation de la bascule devrait entraîner le remplacement de l'objet fo:multi-case courant par son pair précédent

Remarque :

L'objet fo:multi-case courant est l'objet fo:multi-case ancêtre le plus proche.

En d'autres termes, l'objet fo:multi-switch courant devrait basculer vers le pair précédent de l'objet fo:multi-case qui est sélectionné.

Remarque :

L'objet fo:multi-switch courant est l'objet fo:multi-switch ancêtre le plus proche.

Si l'objet fo:multi-case courant est le premier pair, cette valeur devrait entraîner une bascule vers le dernier pair fo:multi-case ;

xsl-following

L'activation de la bascule devrait entraîner le remplacement de l'objet fo:multi-case courant par son pair suivant.

Si l'objet fo:multi-case courant est le dernier pair, cette valeur devrait entraîner une bascule vers le premier pair fo:multi-case ;

xsl-any

L'activation de la bascule devrait permettre à l'utilisateur de sélectionner l'un ou l'autre pair fo:multi-case.

S'il n'y a qu'un seul autre objet fo:multi-case, le basculement devrait s'opérer immédiatement vers celui-ci (et ne pas proposer cet unique choix à l'utilisateur) ;

<nom>

Un nom correspondant à la valeur de la propriété 'case-name' d'un objet fo:multi-case.

Spécifie vers quel(s) objet(s) fo:multi-case cet objet fo:multi-toggle devra effectuer un basculement.

Si la valeur de la propriété 'switch-to' est une liste de nom, l'utilisateur peut opérer un basculement vers l'un ou l'autre objet fo:multi-case nommé. Si un objet fo:multi-toggle avec un seul nom est activé, celui-ci devrait basculer immédiatement vers l'objet fo:multi-case avec ce nom.

Remarque :

La manière effective de sélectionner un objet fo:multi-case à partir d'une liste dépend du système.

7.22.12 'target-presentation-context'

Définition XSL :

Valeur : use-target-processing-context | <uri-spécification>
Valeur initiale : use-target-processing-context
S'applique à : fo:basic-link
Héritée : non
Pourcentage : sans objet
Médias : interactive
use-target-processing-context

C'est le contexte spécifié par la propriété 'target-processing-context' qui sera utilisée ;

<uri-spécification>

Spécifie le contexte limité dans lequel la ressource devrait être présentée quand la ressource de destination externe est d'un type de média structuré traité pour lequel un tel contexte de présentation limité fait sens (par exemple, XML, XHTML, SVG).

Cette propriété est ignorée si la valeur de la propriété 'external-destination' est une chaîne vide ou si la destination externe n'est pas d'un type de média structuré traité pour lequel un contexte de présentation limité fait sens.

Remarque :

Par exemple, une implémentation XML et XSL peut parcourir le document XML tout en commençant le traitement XSLT en appliquant des gabarits au jeu de nœuds désigné par la propriété 'target-presentation-context'.

Remarque :

Si c'est un nœud autre que la racine du document, le numérotage et d'autres présentation dépendant du contexte peuvent différer entre les implémentations. Certaines d'entre elles peuvent faire ce choix pour des questions de mémoire ou de performance.

7.22.13 'target-processing-context'

Définition XSL :

Valeur : document-root | <uri-spécification>
Valeur initiale : document-root
S'applique à : fo:basic-link
Héritée : non
Pourcentage : sans objet
Médias : interactive
document-root

La racine du document de la destination externe est utilisée ;

<uri-spécification>

Spécifie la racine d'un document virtuel que le processeur, préparant une nouvelle présentation, devrait traiter si la destination externe est une ressource de type de média structuré traité (par exemple, XML, SVG).

Cette propriété est ignorée si la valeur de la propriété 'external-destination' est une chaîne vide ou si la destination externe n'est pas d'un type de média structuré traité.

Remarque :

Les références d'URI ne seront pas toutes des racines cohérentes, par exemple, un XPointer qui donne une plage de chaîne dans un document XML.

Si la racine n'est pas valide pour le type de média, le processeur peut ignorer cette propriété.

7.22.14 'target-stylesheet'

Définition XSL :

Valeur : use-normal-stylesheet | <uri-spécification>
Valeur initiale : use-normal-stylesheet
S'applique à : fo:basic-link
Héritée : non
Pourcentage : sans objet
Médias : interactive
use-normal-stylesheet

L'implémentation trouvera les feuilles de style selon ses méthodes habituelles ;

<uri-spécification>

Spécifie la feuille de style à utiliser pour le traitement de la ressource. Cette feuille de style sera utilisée à la place de toutes celles qui autrement l'auraient été.

Remarque :

Par exemple, à partir des informations de l'en-tête HTTP, des instructions de traitement d'une feuille de style XML ou des éléments style et link de XHTML.

Cette propriété est ignorée si la valeur de la propriété 'external-destination' est une chaîne vide ou si la destination externe n'est pas d'un type de média utilisant des feuilles de style.

Remarque :

Dans cette version de XSL, une seule référence d'URI de feuille de style seulement n'est admise. Une version ultérieure de XSL pourrait étendre la spécification d'une feuille de style.

7.23 Les propriétés des marqueurs

7.23.1 'marker-class-name'

Définition XSL :

Valeur : <nom>
Valeur initiale : un nom vide
S'applique à : fo:marker
Héritée : non, une valeur est requise
Pourcentage : sans objet
Médias : paginé

Les significations des valeurs sont les suivantes :

<nom>

Les noms employés comme identifiants doivent être unique entre les objets fo:marker reliés (conceptuellement) à la même aire.

Si le nom est vide ou si un conflit de nom survient, une erreur sera rapportée. Le processeur peut continuer le traitement ensuite.

Cette propriété identifie l'objet fo:marker comme faisant partie d'un groupe ayant le même nom, chacun d'eux devenant un candidat au rapport par un objet fo:retrieve-marker dont la propriété 'retrieve-class-name' porte la même valeur que ce nom.

7.23.2 'retrieve-class-name'

Définition XSL :

Valeur : <nom>
Valeur initiale : un nom vide
S'applique à : fo:retrieve-marker
Héritée : non, une valeur est requise
Pourcentage : sans objet
Médias : paginé

Les significations des valeurs sont les suivantes :

<nom>

Un nom qui correspond à la valeur de la propriété 'marker-class-name' d'un objet fo:marker.

Cette propriété oblige l'objet fo:marker, dont les enfants sont rapportés par l'objet fo:retrieve-marker, à avoir une valeur de propriété 'marker-class-name' qui soit la même que celle de cette propriété.

7.23.3 'retrieve-position'

Définition XSL :

Valeur : first-starting-within-page | first-including-carryover | last-starting-within-page | last-ending-within-page
Valeur initiale : first-starting-within-page
S'applique à : fo:retrieve-marker
Héritée : non
Pourcentage : sans objet
Médias : paginé

L'expression « page conteneur » signifie ici la page qui contient la première aire générée ou retournée par les enfants de l'objet fo:marker rapporté.

Les significations des valeurs sont les suivantes :

first-starting-within-page

Spécifie une préférence pour le rapport des enfants d'un objet fo:marker attaché à une aire, celle-ci :

cette aire précède, dans l'arbre des aires, toute autre aire avec des contraintes similaires qui est attachée à un objet fo:marker de même nom, dans l'ordre de cheminement pré-ordonné ;

first-including-carryover

Spécifie une préférence pour le rapport des enfants d'un objet fo:marker attaché à une aire dans la page conteneur, cette aire précède, dans l'arbre des aires, toute autre aire avec des contraintes similaires qui est attachée à un objet fo:marker de même nom, dans l'ordre de cheminement pré-ordonné ;

last-starting-within-page

Spécifie une préférence pour le rapport des enfants d'un objet fo:marker attaché à une aire, celle-ci :

cette aire suit, dans l'arbre des aires, toute autre aire avec des contraintes similaires qui est attachée à un objet fo:marker de même nom, dans l'ordre de cheminement pré-ordonné ;

last-ending-within-page

Spécifie une préférence pour le rapport des enfants d'un objet fo:marker attaché à une aire dans la page conteneur, la valeur du trait is-last de cette aire étant "true", cette aire suit, dans l'arbre des aires, toute autre aire avec des contraintes similaires qui est attachée à un objet fo:marker de même nom, dans l'ordre de cheminement pré-ordonné.

Cette propriété spécifie la préférence pour le rapport des enfants d'un objet fo:marker qui seront rapportés par un objet fo:retrieve-marker, en fonction des aires retournées par le parent de l'objet fo:marker, par rapport aux aires retournées par les parents de ceux d'autres objets fo:marker de même nom.

7.23.4 'retrieve-boundary'

Définition XSL :

Valeur : page | page-sequence | document
Valeur initiale : page-sequence
S'applique à : fo:retrieve-marker
Héritée : non
Pourcentage : sans objet
Médias : paginé

L'expression « page conteneur » signifie ici la page qui contient la première aire générée ou retournée par les enfants de l'objet fo:marker rapporté.

Les significations des valeurs sont les suivantes :

page

Spécifie que les enfants de tout objet fo:marker, le parent de celui-ci ayant généré ou retourné une aire normale dans la page conteneur, ou ayant géné une aire non-normale dans la page conteneur, ces enfants peuvent être rapportés par cet objet fo:retrieve-marker ;

page-sequence

Spécifie que seuls les enfants des objets fo:marker qui sont les descendants d'un objet fo:flow, dans la page conteneur, peuvent être rapportés par cet objet fo:retrieve-marker ;

document

Spécifie que les enfants de tout objet fo:marker qui est un descendant d'un objet fo:flow, dans le document, peuvent être rapportés par cet objet fo:retrieve-marker.

7.24 Les propriétés de conversion des nombres vers des chaînes

7.24.1 'format'

Définition XSL :

Valeur : <chaîne>
Valeur initiale : 1
S'applique à : fo:page-sequence
Héritée : non
Pourcentage : sans objet
Médias : tous

Cette propriété est définie au chapitre [XSLT] : Les attributs de conversion des nombres vers les chaînes.

7.24.2 'grouping-separator'

Définition XSL :

Valeur : <caractère>
Valeur initiale : aucun séparateur
S'applique à : fo:page-sequence
Héritée : non
Pourcentage : sans objet
Médias : tous

Cette propriété est définie au chapitre [XSLT] : Les attributs de conversion des nombres vers les chaînes.

7.24.3 'grouping-size'

Définition XSL :

Valeur : <nombre>
Valeur initiale : aucun regroupement
S'applique à : fo:page-sequence
Héritée : non
Pourcentage : sans objet
Médias : tous

Cette propriété est définie au chapitre [XSLT] : Les attributs de conversion des nombres vers les chaînes.

7.24.4 'letter-value'

Définition XSL :

Valeur : auto | alphabetic | traditional
Valeur initiale : auto
S'applique à : fo:page-sequence
Héritée : non
Pourcentage : sans objet
Médias : tous

Cette propriété est définie au chapitre [XSLT] : Les attributs de conversion des nombres vers les chaînes. Une valeur "auto" correspond, dans la définition XSLT, à un attribut non-spécifié.

7.25 Les propriétés de pagination et de disposition

Toutes les propriétés de pagination et de disposition suivantes sont uniquement dans XSL.

7.25.1 'blank-or-not-blank'

Définition XSL :

Valeur : blank | not-blank | any | inherit
Valeur initiale : any
S'applique à : fo:conditional-page-master-reference
Héritée : non
Pourcentage : sans objet
Médias : visuel

Cette propriété fait partie d'une règle de sélection pour déterminer si le maître de page référencé est éligible pour la sélection à cet endroit donné de la séquence de page.

Les significations des valeurs sont les suivantes :

blank

Ce maître est éligible pour la sélection si une page doit être générée (par exemple, pour conserver une parité de page correcte au début ou à la fin de la séquence de page) et si aucune aire de l'objet fo:flow ne doit être placée sur cette page ;

not-blank

Ce maiˆtre est éligible pour la sélection si cette page contient des aires issues de l'objet fo:flow ;

any

Ce maître est toujours éligible pour la sélection.

7.25.2 'column-count'

Définition XSL :

Valeur : <nombre> | inherit
Valeur initiale : 1
S'applique à : fo:region-body
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

<entier>

Un entier positif. Si une valeur négative ou non-entière est fournie, celle-ci sera arrondie à la plus proche valeur entière supérieure ou égale à 1.

Spécifie le nombre des colonnes dans la région.

Une valeur de 1 indique qu'il ne s'agit pas d'une région avec plusieurs colonnes.

7.25.3 'column-gap'

Définition XSL :

Valeur : <longueur> | <pourcentage> | inherit
Valeur initiale : 12.0pt
S'applique à : fo:region-body
Héritée : non
Pourcentage : se rapporte à la largeur de la région en train d'être divisée en colonnes.
Médias : visuel

Les significations des valeurs sont les suivantes :

<longueur>

C'est une longueur sans signe. Si on spécifie une valeur négative, une valeur de 0pt est utilisée ;

<pourcentage>

La valeur est une pourcentage de la dimension de progression en-ligne du rectangle de contenu de la région.

Spécifie la largeur de la gouttière entre des colonnes adjacentes dans une région avec plusieurs colonnes. Voir la description au chapitre [6.4.13 fo:region-body] pour le détail.

7.25.4 'extent'

Définition XSL :

Valeur : <longueur> | <pourcentage> | inherit
Valeur initiale : 0.0pt
S'applique à : fo:region-before, fo:region-after, fo:region-start, fo:region-end
Héritée : non
Pourcentage : se rapporte à la hauteur, ou largeur, correspondante de l'aire de zone de visualisation de la page.
Médias : visuel

Les significations des valeurs sont les suivantes :

<longueur>

C'est une longueur sans signe. Si on spécifie une valeur négative, une valeur de 0pt est utilisée ;

<pourcentage>

La valeur est un pourcentage de la hauteur, ou largeur, correspondante de la page.

Spécifie la largeur de la région de début, ou de fin, ou la hauteur de la région d'avant, ou d'après.

7.25.5 'flow-name'

Définition XSL :

Valeur : <nom>
Valeur initiale : un nom vide
S'applique à : fo:flow, fo:static-content
Héritée : non, une valeur est requise
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

<nom>

Les noms employés comme identifiants doivent être uniques dans l'objet fo:page-sequence.

Si le nom est vide ou si un conflit de nom survient, une erreur sera rapportée. Le processeur peut continuer le traitement ensuite.

Définit le nom du flux.

Les propriétés 'flow-name' et 'region-name' sont utilisées pour assigner le contenu de l'objet fo:flow (ou de l'objet fo:static-content) à une région donnée, ou à une série de régions, dans la disposition. En XSL, ceci est accompli en spécifiant le nom de la région cible comme nom du flux (par exemple, le texte placé dans la région du corps aurait pour spécification flow-name = "xsl-region-body").

Remarque :

Les noms de flux réservés en XSL sont : xsl-region-body, xsl-region-before, xsl-region-after, xsl-region-start, xsl-region-end, xsl-before-float-separator, xsl-footnote-separator.

7.25.6 'force-page-count'

Définition XSL :

Valeur : auto | even | odd | end-on-even | end-on-odd | no-force | inherit
Valeur initiale : auto
S'applique à : fo:page-sequence
Héritée : non
Pourcentage : sans objet
Médias : visuel

La propriété 'force-page-count' s'utilise pour imposer une contrainte sur le nombre de pages dans une séquence de page. Au cas où cette contrainte n'était pas satisfaite, une page supplémentaire sera ajoutée à la fin de la séquence de page. Cette page devient la « dernière » de la séquence.

Les significations des valeurs sont les suivantes :

auto

Force le numéro de la dernière page de la séquence de page à être impair, quand le numéro de page initial de la séquence de page suivante est pair. Réciproquement, force un numéro pair pour la dernière page de la séquence de page, quand le numéro de page initial de la séquence suivante est impair. S'il n'y a pas de séquence de page suivante ou si, le cas échéant, la valeur de la propriété 'initial-page-number' est "auto", n'exerce aucune obligation sur une page ;

even

Force un nombre de pages pair pour cette séquence de page ;

odd

Force un nombre de pages impair pour cette séquence de page ;

end-on-even

Force un numéro pair pour la dernière page de cette séquence de page ;

end-on-odd

Force un numéro impair pour la dernière page de cette séquence de page ;

no-force

Ne force un nombre de pages ni pair ni impair pour cette séquence de page.

Remarque :

La parité d'une page est déterminée par le trait page-number.

7.25.7 'initial-page-number'

Définition XSL :

Valeur : auto | auto-odd | auto-even | <nombre> | inherit
Valeur initiale : auto
S'applique à : fo:page-sequence
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

auto

Le numéro initial sera 1 si aucun objet fo:page-sequence précédent n'existe dans le documen.

S'il existe une séquence de page précédente, le numéro initial sera supérieur d'une unité à celui du dernier numéro de cette séquence de page ;

auto-odd

Une valeur est déterminée de la même manière que pour "auto". Si cette valeur est paire, on lui ajoute 1 ;

auto-even

Une valeur est déterminée de la même manière que pour "auto". Si cette valeur est impaire, on lui ajoute 1 ;

<entier>

Un entier positif. Si une valeur négative ou non-entière est fournie, celle-ci sera arrondie à la plus proche valeur entière supérieure ou égale à 1.

Donne le numéro de page initial à utiliser pour cette séquence de page.

7.25.8 'master-name'

Définition XSL :

Valeur : <nom>
Valeur initiale : un nom vide
S'applique à : fo:simple-page-master, fo:page-sequence-master
Héritée : non, une valeur est requise
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

<nom>

Les noms identifient des maîtres, ne doivent pas être vide et doivent être uniques.

Si cette propriété est spécifiée sur un objet fo:simple-page-master, elle fournit un nom pour identifier le maître. Ce nom est référencé par la suite comme la valeur des propriétés, pour les objets de mise en formes fo:single-page-master-reference, fo:repeatable-page-master-reference et fo:conditional-page-master-reference, pour requérir l'emploi de ce maître en question pour la création d'instances de page.

Si cette propriété est spécifiée sur un objet fo:page-sequence-master, elle fournit un nom pour identifier le maître. Ce nom est référencé par la suite comme la valeur des propriétés de l'objet fo:page-sequence pour requérir l'emploi de ce maître de séquence de page en question pour la création d'instances de page.

Un nom de maître doit être unique pour l'ensemble des maîtres de page ou de séquence de page.

Si le nom est vide ou si un conflit de nom survient, une erreur sera rapportée. Le processeur peut continuer le traitement ensuite.

7.25.9 'master-reference'

Définition XSL :

Valeur : <nom>
Valeur initiale : un nom vide
S'applique à : fo:page-sequence, fo:single-page-master-reference, fo:repeatable-page-master-reference, fo:conditional-page-master-reference
Héritée : non, une valeur est requise
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

<nom>

Les noms ne sont pas nécessairement uniques, mais ne peuvent pas être vides et doivent se référer à un nom de maître existant dans le document.

Sélection d'un maître :

Si le nom est vide ou si un conflit de nom survient, une erreur sera rapportée. Le processeur peut continuer le traitement ensuite.

7.25.10 'maximum-repeats'

Définition XSL :

Valeur : <nombre> | no-limit | inherit
Valeur initiale : no-limit
S'applique à : fo:repeatable-page-master-reference, fo:repeatable-page-master-alternatives
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie les contraintes sur le nombre maximum de pages dans la sous-séquence de pages qui peuvent être générées par un objet fo:page-sequence, utilisant les objets fo:repeatable-page-master-reference ou fo:repeatable-page-master-alternatives sur lesquels cette propriété est spécifiée.

Les significations des valeurs sont les suivantes :

no-limit

Aucune contrainte spécifiée ;

<entier>

Le nombre maximum de pages dans la sous-séquence.

Cette valeur est un entier supérieur ou égal à 0.

Si une valeur fractionnaire ou inférieure à 0 est spécifiée, celle-ci sera arrondie à l'entier le plus proche supérieur ou égal à 0.

Une valeur nulle signifie que cette référence de maître ne sera pas utilisée.

7.25.11 'media-usage'

Définition XSL :

Valeur : auto | paginate | bounded-in-one-dimension | unbounded
Valeur initiale : auto
S'applique à : fo:root
Héritée : non
Pourcentage : NA
Médias : visuel

La propriété 'media-usage' est employée pour contrôler la manière dont le média d'affichage est utilisé pour présenter la page, ou les pages, spécifiée par la feuille de style.

Les significations des valeurs sont les suivantes :

auto

L'agent utilisateur détermine quelle valeur de la propriété 'media-usage' (autre que "auto") est utilisée. L'agent utilisateur peut considérer le type de média sur lequel intervient la présentation en effectuant cette détermination ;

Remarque :

Par exemple, l'agent utilisateur pourrait suivre ce processus de décision : si le média n'est pas continu et si les dimensions de celui-ci sont fixes, alors utiliser la valeur "paginate" (décrite ci-dessous) ; sinon, utiliser la valeur "bounded-in-one-dimension".

paginate

Une séquence de pages est générée à partir des objets fo:page-sequence enfants de l'objet fo:root comme décrit au chapitre [6.4.5 fo:page-sequence] ;

bounded-in-one-dimension

Seule une page est générée par objet fo:page-sequence descendant de l'objet fo:root. Exactement une valeur de propriété 'page-height', ou 'page-width', doit être spécifiée pour le maître de page utilisé. La taille de la page dans l'autre dimension est déterminée par le contenu qui entre dans la page.

C'est une erreur si on spécifie plus d'une, ou moins d'une, valeur pour la propriété 'page-height', ou 'page-width', pour le premier maître de page utilisé. L'agent utilisateur peut récupérer celle-ci comme suite : la récupération dépend de la propriété 'reference-orientation' du maître de page et de la propriété 'writing-mode' de la région de ce maître de page sur laquelle l'objet fo:flow est assigné. Quatre cas peuvent se présenter : (1) la valeur de 'reference-orientation' est "0" ou "180" et celle de 'writing-mode' est horizontale ; (2) la valeur de 'reference-orientation' est "0" ou "180" et celle de 'writing-mode' est verticale ; (3) la valeur 'reference-orientation' est "90" ou "270" et celle de 'writing-mode' est horizontale ; (4) la valeur de 'reference-orientation' est "90" ou "270" et celle de 'writing-mode' est verticale. Pour les cas (1) et (4), la valeur de 'page-width' est délimitée et celle de 'page-height' ne l'est pas. Pour les cas (2) et (3), la valeur de 'page-height' est délimitée et celle de 'page-width' ne l'est pas ;

unbounded

Seule une page est générée par objet fo:page-sequence descendant de l'objet fo:root. On ne peut spécifier de valeur ni pour 'page-height' ni pour 'page-width' pour aucun maître de page utilisé. Si on spécifie une valeur pour l'une ou l'autre propriété, c'est une erreur et un agent utilisateur peut récupérer celle-ci en ignorant la valeur spécifiée. Chaque page commence aux bords d'avant et de début de la page, celle-ci s'étendant aussi loin que nécessaire vers les bords d'après et de fin pour englober tout le contenu de la séquence de page qui génère la page.

Remarque :

Ceci implique qu'aucun contenu textuel n'est automatiquement enveloppé, c'est-à-dire, chaque bloc aura une seule ligne pour chaque nœud de texte ne contenant pas un caractère U+000A. Si plus d'une ligne est générée, alors la séquence de caractères, ayant généré les glyphes de chacune de ces lignes, doit avoir été délimitée dans le nœud de texte original, soit par le commencement ou la fin de ce nœud de texte, soit par un caractère U+000A dans ce nœud de texte. Le contrôle du traitement du caractère U+000A est décrit au chapitre [7.15.7 'linefeed-treatment'].

7.25.12 'odd-or-even'

Définition XSL :

Valeur : odd | even | any | inherit
Valeur initiale : any
S'applique à : fo:conditional-page-master-reference
Héritée : non
Pourcentage : sans objet
Médias : visuel

Cette partie fait partie de la règle de sélection pour déterminer si le maître de page référencé est éligible pour la sélection à ce point de la séquence de pages.

Les significations des valeurs sont les suivantes :

odd

Ce maître est éligible pour la sélection si le numéro de page est impair ;

even

Ce maître est éligible pour la sélection si le numéro de page est pair ;

any

Ce maître est éligible pour la sélection, que le numéro de page soit pair ou impair.

Remarque :

L'expression « numéro de page » se rapporte au trait page-number de la page à générer.

7.25.13 'page-height'

Définition XSL :

Valeur : auto | indefinite | <longueur> | inherit
Valeur initiale : auto
S'applique à : fo:simple-page-master
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

auto

La valeur de « hauteur de page » sera déterminée, dans le cas de médias continus, à partir de la dimension de la fenêtre de l'agent utilisateur, sinon à partir de la dimension du média. Si l'information sur le média n'est pas disponible, cette dimension sera définie par l'implémentation ;

Remarque :

Une solution de repli vers 11.0in conviendrait pour les formats de page Letter (8.5in x 11.0in) et A4.

indefinite

La hauteur de la page est déterminée à partir de la taille du contenu disposé.

Les propriétés 'page-width' et 'page-height' ne devraient pas toutes deux prendre la valeur "indefinite". Si c'était le cas, la dimension parallèle à la direction de progression de bloc, comme déterminée par les propriétés 'reference-orientation' et 'writing-mode' de l'objet fo:simple-page-master de l'aire de référence de la page, gardera la valeur "infinite" et l'autre reviendra à "auto" ;

<longueur>

Spécifie une hauteur de page fixe ;

Spécife la hauteur de la page.

Remarque :

Les valeurs des propriétés 'page-width' et 'page-height' ont pour but de permettre à la dimension spécifiée de correspondre avec la gestion d'un jeu de cadre dans une fenêtre de navigateur, quand le média est continu, ou de correspondre avec les pages, quand le média est paginé.

Un agent utilisateur peut fournir un moyen de déclarer le média pour lequel effectuer la mise en forme. Ceci peut être différent du média sur lequel le résultat de la mise en forme est vu. Par exemple, un agent utilisateur navigateur peut être employé pour avoir un aperçu des pages mises en forme pour un média papier. Dans ce cas, le calcul de la dimension se base sur le média pour lequel est effectuée la mise en forme plutôt que pour le média en cours.

7.25.14 'page-position'

Définition XSL :

Valeur : first | last | rest | any | inherit
Valeur initiale : any
S'applique à : fo:conditional-page-master-reference
Héritée : non
Pourcentage : sans objet
Médias : visuel

Cette propriété fait partie d'une règle de sélection pour déterminer si le maître de page référencé est éligible pour la sélection à ce point de la séquence de page.

Les significations des valeurs sont les suivantes :

first

Ce maître est éligible pour la sélection si c'est la première page dans la séquence de page ;

last

Ce maître est éligible pour la sélection si c'est la dernière page dans la séquence de page ;

rest

Ce maître est éligible pour la sélection si ce n'est pas la première page dans la séquence de page ;

any

Ce maître est éligible pour la sélection indépendamment de la position de la page dans la séquence de page.

7.25.15 'page-width'

Définition XSL :

Valeur : auto | indefinite | <longueur> | inherit
Valeur initiale : auto
S'applique à : fo:simple-page-master
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

auto

La propriété 'page-width' sera déterminée, pour un média continu, à partir de la dimension de la fenêtre de l'agent utilisateur, sinon, à partir de la dimension du média. Si l'information sur le média n'est pas disponible, cette dimension sera définie par l'implémentation ;

Remarque :

Une solution de repli vers 11.0in conviendrait pour les formats de page Letter (8.5in x 11.0in) et A4.

indefinite

La largeur de la page est déterminée à partir de la taille du contenu disposé.

Les propriétés 'page-width' et 'page-height' ne devraient pas toutes deux prendre la valeur "indefinite". Si c'était le cas, la dimension parallèle à la direction de progression de bloc, comme déterminée par les propriétés 'reference-orientation' et 'writing-mode' de l'objet fo:simple-page-master de l'aire de référence de la page, gardera la valeur "infinite" et l'autre reviendra à "auto" ;

<longueur>

Spécifie une largeur de page fixe.

Spécifie la largeur de la page.

7.25.16 'precedence'

Définition XSL :

Valeur : true | false | inherit
Valeur initiale : false
S'applique à : fo:region-before, fo:region-after
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

false

Une valeur "false" spécifie que cette région ne s'étend pas jusqu'aux bords de début et de fin du rectangle de contenu de l'aire de référence de la page, mais la dimension de progression en-ligne de cette région est réduite par les incursion des régions adjacentes ;

true

Une valeur "true" spécifie que la dimension de progression en-ligne de cette région s'étend jusqu'aux bords de début et de fin du rectangle de contenu de l'aire de référence de la page.

Spécifie quelle région (c'est-à-dire, parmi les régions d'avant, d'après, de début et de fin) a préséance et peut s'étendre jusqu'aux coins du maître de page simple.

7.25.17 'region-name'

Définition XSL :

Valeur : xsl-region-body | xsl-region-start | xsl-region-end | xsl-region-before | xsl-region-after | xsl-before-float-separator | xsl-footnote-separator | <nom>
Valeur initiale : voir explication
S'applique à : fo:region-body, fo:region-start, fo:region-end, fo:region-before et fo:region-after
Héritée : non, une valeur est requise
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

xsl-region-body

Nom de région réservé à utiliser comme nom par défaut pour l'objet fo:region-body. Ce nom ne peut pas être utilisé pour une autre classe de région ;

xsl-region-start

Nom de région réservé à utiliser comme nom par défaut pour l'objet fo:region-start. Ce nom ne peut pas être utilisé pour une autre classe de région ;

xsl-region-end

Nom de région réservé à utiliser comme nom par défaut pour l'objet fo:region-end. Ce nom ne peut pas être utilisé pour une autre classe de région ;

xsl-region-before

Nom de région réservé à utiliser comme nom par défaut pour l'objet fo:region-before. Ce nom ne peut pas être utilisé pour une autre classe de région ;

xsl-region-after

Nom de région réservé à utiliser comme nom par défaut pour l'objet fo:region-after. Ce nom ne peut pas être utilisé pour une autre classe de région ;

xsl-before-float-separator

Nom réservé pour un contenu à utiliser comme séparateur au bord de fin d'une aire de référence avant-flottant. Ce nom ne peut pas être utilisé pour une autre classe de région ;

xsl-footnote-separator

Nom réservé pour un contenu à utiliser comme séparateur au bord de début d'une aire de référence de note de pied. Ce nom ne peut pas être utilisé pour une autre classe de région ;

<nom>

Les noms utilisés comme identifiants doivent être uniques dans un maître de page.

Cette propriété est utilisée pour identifier une région dans un maître de page simple.

Le « nom de région » peut s'employer pour différencier une région qui se tient sur un maître de page pour une page impaire à partir d'une région qui se tient sur un maître de page de page paire. Pour cet usage, une fois qu'un nom est utilisé pour une classe de région spécifique (régions de début, de fin, d'avant, d'après ou de corps), on ne peut utiliser ce nom que pour les régions de la même classe dans tout autre maître de page. On ne peut utiliser les noms réservés que de la manière décrite plus haut.

7.26 Les propriétés des tables

7.26.1 'border-after-precedence'

Définition XSL :

Valeur : force | <entier> | inherit
Valeur initiale : fo:table: 6, fo:table-cell: 5, fo:table-column: 4, fo:table-row: 3, fo:table-body: 2, fo:table-header: 1, fo:table-footer: 0
S'applique à : fo:table, fo:table-body, fo:table-header, fo:table-footer, fo:table-column, fo:table-row, fo:table-cell
Héritée : non
Pourcentage : sans objet
Médias : visuel
force

La préséance est plus élevée que tout <entier> ;

<entier>

Une spécification de préséance numérique. Plus la valeur est élevé, plus la préséance est grande.

Spécifie la préséance de la spécification de bordure de l'objet de mise en forme pour le bord d'après.

7.26.2 'border-before-precedence'

Définition XSL :

Valeur : force | <entier> | inherit
Valeur initiale : fo:table: 6, fo:table-cell: 5, fo:table-column: 4, fo:table-row: 3, fo:table-body: 2, fo:table-header: 1, fo:table-footer: 0
S'applique à : fo:table, fo:table-body, fo:table-header, fo:table-footer, fo:table-column, fo:table-row, fo:table-cell
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie la préséance de la spécification de bordure de l'objet de mise en forme pour le bord d'avant.

Voir la définition de la propriété [7.26.1 'border-after-precedence'].

7.26.3 'border-collapse'

Définition CSS2 :

Valeur : collapse | collapse-with-precedence | separate | inherit
Valeur initiale : collapse
S'applique à : table
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-collapse' vf.
http://www.w3.org/TR/REC-CSS2/tables.html#propdef-border-collapse

collapse

La valeur "collapse" sélectionne le modèle des bordures fusionnées ;

separate

La valeur "separate" sélectionne le modèle des bordures séparées.

Cette propriété sélection un modèle de bordure de table. La valeur "separate" sélectionne le modèle des bordures séparées, la valeur "collapse" celui des bordures fusionnées.

Les modifications XSL de la définition CSS :

XSL ajoute la valeur suivante avec cette signification :

collapse-with-precedence

La valeur "collapse-with-precedence" sélectionne le modèle des bordures fusionnées et l'emploi des propriétés de préséance de bordure pour la résolution des conflits.

7.26.4 'border-end-precedence'

Définition XSL :

Valeur : force | <entier> | inherit
Valeur initiale : fo:table: 6, fo:table-cell: 5, fo:table-column: 4, fo:table-row: 3, fo:table-body: 2, fo:table-header: 1, fo:table-footer: 0
S'applique à : fo:table, fo:table-body, fo:table-header, fo:table-footer, fo:table-column, fo:table-row, fo:table-cell
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie la préséance de la spécification de bordure de l'objet de mise en forme pour la bord de fin.

Voir la définition de la propriété [7.26.1 'border-after-precedence'].

7.26.5 'border-separation'

Définition XSL :

Valeur : <longueur-bp-ip-direction> | inherit
Valeur initiale : .block-progression-direction = "0pt", .inline-progression-direction = "0pt"
S'applique à : fo:table
Héritée : oui
Pourcentage : sans objet
Médias : visuel
<longueur-bp-ip-direction>

Les longueurs spécifient les distances qui séparent les bordures de cellules adjacentes dans la direction d'empilement de rangée (donnée par la direction de progression de bloc de la table) et dans la direction d'empilement de colonne (donnée par la direction de progression en-ligne de la table).

Dans le modèle des bordures séparées, chaque cellule a une bordure individuelle. La propriété 'border-separation' spécifie la distance entre les bordures de cellules adjacentes. Cet espace est rempli par l'arrière-plan de l'élément table. Les rangées, les colonnes, les groupes de rangées et les groupes de colonnes ne peuvent pas avoir de bordures (les agents utilisateurs doivent ignorer les propriétés de bordure pour ces éléments).

7.26.6 'border-start-precedence'

Définition XSL :

Valeur : force | <entier> | inherit
Valeur initiale : fo:table: 6, fo:table-cell: 5, fo:table-column: 4, fo:table-row: 3, fo:table-body: 2, fo:table-header: 1, fo:table-footer: 0
S'applique à : fo:table, fo:table-body, fo:table-header, fo:table-footer, fo:table-column, fo:table-row, fo:table-cell
Héritée : non
Pourcentage : sans objet
Médias : visuel

Spécifie la préséance de la spécification de bordure de l'objet de mise en forme pour le bord de début.

Voir la définition de la propriété [7.26.1 'border-after-precedence'].

7.26.7 'caption-side'

Définition CSS2 :

Valeur : before | after | start | end | top | bottom | left | right | inherit
Valeur initiale : before
S'applique à : fo:table-and-caption
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'caption-side' vf.
http://www.w3.org/TR/REC-CSS2/tables.html#q6

top

Place la boîte de la légende au-dessus de celle de la table ;

bottom

Place la boîte de la légende au-dessous de celle de la table ;

left

Place la boîte de la légende à gauche de celle de la table ;

right

Place la boîte de la légende à droite de celle de la table.

Cette propriété spécifie la position de la boîte de la légende en fonction de celle de la table.

Les légendes au-dessus d'un élément avec une valeur 'table', ou au-dessous celui-ci, sont mises en forme un peu de la même manière que pour un élément de type bloc avant la table, ou après celle-ci, à la différence que les légendes (1) héritent des propriétés de la table et (2) ne sont pas considérées comme étant des boîtes de bloc pour les éléments précédant la table, quand les propriétés 'display' de ceux-ci ont les valeurs "compact" ou "run-in".

Pour une légende située au-dessus ou en-dessous de la boîte de la table, celle-ci se comporte aussi comme une boîte de bloc pour les calculs de largeur, ces calculs étant effectués par rapport à la largeur du bloc conteneur de la boîte de la table.

Pour une légende située à gauche ou à droite de la boîte de la table, d'autre part, c'est la valeur spécifiée pour la propriété 'width' quand la valeur est autre que "auto", qui donne la largeur, une valeur "auto" indiquant à l'agent utilisateur de prendre une « largeur raisonnable ». Ceci variant de « la boîte la plus étroite possible » jusqu'à « une ligne seule », c'est pourquoi on recommande aux utilisateurs d'éviter de choisir une valeur "auto" pour les largeurs des légendes latérales.

Pour aligner horizontalement le contenu dans la boîte de la légende, utiliser la propriété 'text-align'. Pour aligner verticalement les boîtes des légendes latérales par rapport à celle de la table, utiliser la propriété 'vertical-align'. Dans ce cas, les seules valeurs reconnues sont "top", "middle" et "bottom". Les autres valeurs admises par cette propriété sont considérées comme étant "top".

Les modifications XSL de la définition CSS :

Insérer les valeurs suivantes en fonction du mode d'écriture :

before

Place la légende avant la table dans la direction de progression de bloc ;

after

Place la légende après la table dans la direction de progression de bloc ;

start

Place la légende avant la table dans la direction de progression en-ligne ;

end

Place la légende après la table dans la direction de progression en-ligne.

Les qualifications (1) et (2) de CSS ne s'appliquent pas. Les trois dernières phrases du dernier paragraphe (à partir de ce qui concerne l'alignement vertical) ne s'appliquent pas non plus.

7.26.8 'column-number'

Définition XSL :

Valeur : <nombre>
Valeur initiale : voir explication
S'applique à : fo:table-column, fo:table-cell
Héritée : non
Pourcentage : sans objet
Médias : visuel
<entier>

Un entier positif. Si une valeur négative ou non-entière est fournie, celle-ci sera arrondie à la plus proche valeur entière supérieure ou égale à 1.

Pour un objet de mise en forme fo:table-column, celle-ci spécifie le numéro de colonne des cellules de la table qui peuvent utiliser les propriétés de l'objet fo:table-column, au moyen de la fonction from-table-column(). La valeur initiale est égale à 1 plus, le cas échéant, le numéro de colonne de la colonne de table précédente, autrement cette valeur est 1.

Pour un objet fo:table-cell, celle-ci spécifie le numéro de la première colonne dans laquelle s'étend la cellule de table. La valeur initiale est le numéro de colonne courant. Pour la première cellule de table dans une rangée de table, le numéro de colonne courant est 1. Pour les autres cellules de table, le numéro de colonne courant est égal au numéro de colonne de la cellule de table précédente, dans la rangée, plus le nombre de colonnes sur lesquelles s'étend cette cellule précédente.

Remarque :

Les numéros de colonne ne s'accroissent pas forcément de façon monotone d'un objet de mise en forme à l'autre.

7.26.9 'column-width'

Définition XSL :

Valeur : <longueur> | <pourcentage>
Valeur initiale : voir explication
S'applique à : fo:table-column
Héritée : non
Pourcentage : se rapporte à la largeur de la table
Médias : visuel
<longueur>

La propriété 'column-width' spécifie la largeur de la colonne désignée par la propriété 'column-number'. Cette propriété, si présente, est ignorée quand la valeur de la propriété 'number-columns-spanned' est supérieure à 1. La propriété 'column-width' doit être spécifiée pour toutes les colonnes, à moins d'employer une disposition de table automatique.

Remarque :

On ne peut employer la fonction proportional-column-width() qu'avec une disposition de table fixe.

Si on souhaite avoir des largeurs de colonne proportionnelles dans une table dont la largeur explicite est inconnue, la propriété 'inline-progression-dimension' ne peut avoir la valeur "auto". Pour cela, on doit spécifier une largeur en pourcentage. Par exemple, la spécification de table-layout = "fixed" et de inline-progression-dimension = "100%" produirait des largeurs de colonne proportionnelles en créant simultanément une table aussi large que possible dans le contexte donné.

Remarque :

L'utilisation d'un pourcentage comme valeur de largeur peut amener un résultat imprévisible, notamment avec une disposition de table automatique.

7.26.10 'empty-cells'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x79

Valeur : show | hide | inherit
Valeur initiale : show
S'applique à : fo:table-cell
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'empty-cells' vf.
http://www.w3.org/TR/REC-CSS2/tables.html#propdef-empty-cells

show

Quand cette propriété a la valeur "show", les bordures sont dessinées autour des cellules vides (comme pour les cellules normales) ;

hide

Pour la valeur "hide", aucune bordure n'est dessinée autour des cellules vides. De plus, si toutes les cellules d'une rangée ont la valeur "hide" et n'ont pas de contenu visible, la rangée entière se comporte comme si la valeur de la propriété 'display' de celle-ci avait été "none".

Dans le modèle des bordures séparées, cette propriété contrôle le rendu de l'arrière-plan des cellules et des bordures autour de celles-ci, ces cellules n'ayant pas de contenu. Les cellules vides et celles dont la propriété 'visibility' a la valeur "hide" se comportent comme si elles n'avaient pas de contenu visible. Par contenu visible, on entend « &nbsp; » et les autres blancs, sauf les caractères ASCII retour chariot ("\0D"), nouvelle ligne ("\0A"), tabulation ("\09") et espace ("\20").

7.26.11 'ends-row'

Définition XSL :

Valeur : true | false
Valeur initiale : false
S'applique à : fo:table-cell
Héritée : non
Pourcentage : sans objet
Médias : visuel
true

Cette cellule termine une rangée ;

false

Cette cellule ne termine pas une rangée.

Spécifie si cette cellule termine, ou non, une rangée. Ceci n'est permis que pour les cellules de table qui ne sont pas dans des rangées de table.

7.26.12 'number-columns-repeated'

Définition XSL :

Valeur : <nombre>
Valeur initiale : 1
S'applique à : fo:table-column
Héritée : non
Pourcentage : sans objet
Médias : visuel
<entier>

Un entier positif. Si une valeur négative ou non-entière est fournie, celle-ci sera arrondie à la plus proche valeur entière supérieure ou égale à 1.

La propriété 'number-columns-repeated' spécifie la répétition n fois d'une spécification de colonne de table ; l'effet est le même que si l'objet de mise en forme avait été répété n fois dans l'arbre résultant. La propriété 'column-number' a pour valeur le numéro de colonne de la précédente colonne, pour toutes les colonnes sauf la première, plus la valeur de la propriété 'number-columns-spanned' de celle-ci.

Remarque :

Cette propriété gère l'élément HTML "colgroup".

7.26.13 'number-columns-spanned'

Définition XSL :

Valeur : <nombre>
Valeur initiale : 1
S'applique à : fo:table-column, fo:table-cell
Héritée : non
Pourcentage : sans objet
Médias : visuel
<entier>

Un entier positif. Si une valeur négative ou non-entière est fournie, celle-ci sera arrondie à la plus proche valeur entière supérieure ou égale à 1.

Pour un objet fo:table-column, la propriété 'number-columns-spanned' spécifie le nombre de colonnes sur lesquelles s'eacute;tendent les cellules de table, celles-ci pouvant utiliser les propriétés de cet objet fo:table-column à l'aide de la fonction from-table-column().

Pour un objet fo:table-cell, la propriété 'number-columns-spanned' spécifie le nombre de colonnes sur lesquelles s'étend cette cellule dans la direction de progression de colonne à partir de la colonne courante.

7.26.14 'number-rows-spanned'

Définition XSL :

Valeur : <nombre>
Valeur initiale : 1
S'applique à : fo:table-cell
Héritée : non
Pourcentage : sans objet
Médias : visuel
<entier>

Un entier positif. Si une valeur négative ou non-entière est fournie, celle-ci sera arrondie à la plus proche valeur entière supérieure ou égale à 1.

La propriété 'number-rows-spanned' spécifie le nombre de rangées sur lesquelles cette cellule s'étend dans la direction de progression de rangée à partir de la rangée courante.

7.26.15 'starts-row'

Définition XSL :

Valeur : true | false
Valeur initiale : false
S'applique à : fo:table-cell
Héritée : non
Pourcentage : sans objet
Médias : visuel
true

Cette cellule commence une rangée ;

false

Cette cellule ne commence pas une rangée.

Spécifie si cette cellule commence, ou non, une rangée. Ceci n'est permis que pour les cellules de table qui ne sont pas dans des rangées de table.

Remarque :

Les propriétés 'starts-row' et 'ends-row' avec une valeur "true" s'utilisent typiquement quand les données en entrée n'ont pas d'éléments contenant de cellules dans chaque rangée, mais plutôt, chaque rangée commence aux éléments d'un type donné.

7.26.16 'table-layout'

Définition CSS2 :

Valeur : auto | fixed | inherit
Valeur initiale : auto
S'applique à : table
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'table-layout' vf.
http://www.w3.org/TR/REC-CSS2/tables.html#propdef-table-layout

fixed

Utilise l'algorithme de disposition de table fixe ;

auto

Utilise tout algorithme de disposition de table automatique.

La propriété 'table-layout' contrôle l'algorithme à utiliser pour disposer les cellules, les rangées et les colonnes de table.

7.26.17 'table-omit-footer-at-break'

Définition XSL :

Valeur : true | false
Valeur initiale : false
S'applique à : fo:table
Héritée : non
Pourcentage : sans objet
Médias : visuel
true

Cette propriété spécifie que le pied devrait être omis ;

false

Cette propriété spécifie que le pied ne devrait pas être omis.

Cette propriété 'table-omit-footer-at-break' spécifie si une table, dont la dernière aire ne se trouve pas à la fin d'une aire produite par celle-ci, devrait se terminer, ou non, par le contenu de l'objet de mise en forme fo:table-footer.

7.26.18 'table-omit-header-at-break'

Définition XSL :

Valeur : true | false
Valeur initiale : false
S'applique à : fo:table
Héritée : non
Pourcentage : sans objet
Médias : visuel
true

Cette propriété spécifie que l'en-tête devrait être omise ;

false

Cette propriété spécifie que l'en-tête ne devrait pas être omise.

La propriété 'table-omit-header-at-break' spécifie si une table, dont la première aire ne se trouve pas au commencement d'une aire produite par celle-ci, devrait commencer, ou non, par le contenu de l'objet de mise en forme fo:table-header.

7.27 Les propriétés en relation avec le mode d'écriture

Les propriétés décrites dans ce chapitre gèrent les paramètres de direction de progression en-ligne, de direction de progression de bloc et d'orientation des glyphes qui sont placés sur une ligne de base dans la direction de progression en-ligne. La propriété 'writing-mode' règle à la fois les directions de progression en-ligne et de bloc.

Les propriétés d'orientation de glyphe 'glyph-orientation-horizontal' et 'glyph-orientation-vertical' règlent l'orientation du glyphe en fonction de celle par défaut. L'orientation par défaut pour les glyphes est avec le haut du glyphe orienté vers le haut de l'aire de référence dont l'aire de glyphe est descendante ; c'est-à-dire, l'orientation du glyphe est la même que l'orientation de référence de l'aire de référence. Les glyphes orientés à "90" ou "-90" degrés par rapport à l'orientation de référence sont dits glyphes tournés. Ceux orientés à 180 degrés par rapport à cette orientation de référence sont dits glyphes inversés.

La propriété 'direction' (elle-même contrôlée par la propriété 'unicode-bidi' n'agit que sur du texte pour lequel l'orientation des glyphes est perpendiculaire à la ligne de base dominante. Pour les modes d'écriture horizontaux, la propriété 'direction' n'agit que sur les séquences de caractères qui génèrent des glyphes non-tournés. Pour les modes d'écriture verticaux, elle n'agit que sur les séquences de caractères qui génèrent des glyphes tournés.

On utilise l'exemple de fragment XML suivant pour illustrer les interactions entres les propriétés 'writing-mode', 'direction' et 'glyph-orientation-vertical'.

Le balisage du texte qui se trouve dans la figure suivante   [D]

Le balisage du texte qui se trouve dans la figure suivante

Dans le balisage XML pour la figure ci-dessus, les caractères apparaissent sous leur forme représentée (et non sous leur forme de point de code Unicode). L'ordre dans lequel ces caractères sont dépeints est celui de leur rangement. Les caractères hébreux dans la troisième ligne sont (de gauche à droite) les quatre premières lettres de l'alphabet : aleph, beth, gimel et daleth. Les identifiants génériques du balisage XML sont arbitraires, l'intention est de suggérer une séquence de texte dans laquelle s'étendent deux textes imbriqués.

La figure suivante montre ce que produit un assortiment de valeurs spécifiées pour les propriétés 'direction' et 'glyph-orientation-vertical', celles-ci sont spécifiées sur les trois éléments du fragment XML précédent. Pour tous les cas, la propriété 'writing-mode' a la valeur "tb-rl". Et pour tous les cas, l'algorithme Unicode BIDI [UNICODE UAX #9] est appliqué aux caractères qui sont les enfants ou les descendants de l'élément <t>, parfois avec un balisage directionnel explicite pour la propriété 'direction', parfois en utilisant les propriétés de direction intrinsèques des caractères sous-jacents. L'algorithme Unicode BIDI s'applique lors de la dernière étape de l'affinage (voir [5 L'affinage et la résolution des propriétés]) et avant de faire correspondre les caractères aux glyphes et d'appliquer les rotations éventuelles données par une valeur d'orientation de glyphe.

La figure montre sept représentations possibles de l'exemple de fragment XML, l'une avec tous les glyphes dans une orientation verticale et les six autres avec diverses combinaisons d'orientations de glyphe perpendiculaires et de directions. Dans la figure, le sens de lecture correct des glyphes (de gauche à droite pour les glyphes latins et de droite à gauche pour les glyphes hébreux) est indiqué par la flèche (rouge) placée sur la ligne de base sous les glyphes.

Les six combinaisons des propriétés 'direction' et 'glyph-orientation-vertical', qui produisent les cas (2) à (7), présentent la particularité de préserver le sens de lecture correct quand les glyphes sont lus verticalement. Dans certains cas, il faut tourner la page de côté pour lire les glyphes dans une langue et de l'autre côté pour lire les glyphes d'une autre langue en position verticale. Le sens de lecture est préservé en combinant le ré-ordonnancement visuel des glyphes, en utilisant l'algorithme Unicode BIDI, avec une orientation de glyphe qui donne le sens de lecture correct pour l'ordonnancement des glyphes issu de l'algorithme BIDI. Il est parfois nécessaire de spécifier explicitement la propriété 'direction' pour contraindre l'ordonnancement visuel souhaité pour les glyphes.

Les spécifications des propriétés qui produisent les six représentations sont données dans le tableau qui suit la figure.

Les rotations qui peuvent être obtenues pour un texte Bidi   [D]

Les rotation qui peuvent être obtenues pour un texte Bidi

Tableau des propriétés qui produisent la figure précédente
Éléments/cas <t> <t-s1> <t-s2>

(2)

writing-mode: tb-rl

glyph-orientation-vertical: 0

glyph-orientation-vertical: 90 glyph-orientation-vertical: 90

(3)

writing-mode: tb-rl

glyph-orientation-vertical: 0

glyph-orientation-vertical: 90 glyph-orientation-vertical: -90

unicode-bidi: bidi-override

direction: ltr

(4)

writing-mode: tb-rl

glyph-orientation-vertical: 0

glyph-orientation-vertical: -90

unicode-bidi: bidi-override

direction: rtl

glyph-orientation-vertical: -90

unicode-bidi: bidi-override

direction: ltr

(5)

writing-mode: tb-rl

glyph-orientation-vertical: 0

direction: rtl

glyph-orientation-vertical: -90

unicode-bidi: bidi-override

glyph-orientation-vertical: 90

(6)

writing-mode: tb-rl

glyph-orientation-vertical: 0

direction: rtl

glyph-orientation-vertical: -90

unicode-bidi: bidi-override

glyph-orientation-vertical: -90

unicode-bidi: bidi-override

direction: ltr

(7)

writing-mode: tb-rl

glyph-orientation-vertical: 0

direction: rtl

glyph-orientation-vertical: 90

unicode-bidi: embed

direction: ltr

glyph-orientation-vertical: 90

Remarque :

  1. Le cas (1) n'a pas de texte tourné. Ceci peut survenir soit parce que la valeur de la propriété 'glyph-orientation-vertical' est "0", soit parce que celle-ci a la valeur "auto" et que tous les caractères de la chaîne sont les variantes en toute largeur de ces caractères. Si tous les caractères ont une orientation verticale, alors il n'y a pas ré-ordonnancement des caractères. Si on donne la valeur "tb-lr" ou "tb-rl" à la propriété 'writing-mode', alors la propriété 'direction' prend la valeur "ltr" et, de la même façon, si 'writing-mode' a la valeur "bt-lr" ou "bt-rl", la propriété 'direction' prend la valeur "rtl". Ainsi, il n'est besoin que de donner une valeur explicite à la propriété 'direction' si cette valeur devait être différente de celle spécifiée par 'writing-mode' ; par exemple, les cas (5) à (7) ;

  2. Le cas (2) peut soit prendre les réglages explicites des propriétés comme indiqué dans le tableau, soit la propriété 'glyph-orientation-vertical' de l'élément <t> peut prendre la valeur "auto" et les caractères latins et hébreux être des caractères de demi-largeur. (Bien sûr, il n'existe pas de caractères hébreux en demi-largeur dans Unicode en réalité). Dans ce cas, le ré-ordonnancement des caractères est fourni par les types de caractère bi-directionnels dont sont dotés chaque caractère Unicode : les caractères romans ont le type "L", pour « left to right » et les caractères hébreux le type "R", pour « right to left » ;

  3. Les cas (5) à (7) donnent tous explicitement une valeur "rtl" pour la propriété 'direction'. Ceci règle à droite à gauche le niveau d'imbrication du paragraphe pour l'algorithme Unicode BIDI. Bien que la propriété 'direction' ait la valeur "rtl", les glyphes idéographiques ne sont pas ré-ordonné parce que leur orientation n'est pas perpendiculaire à la ligne dominante ;

  4. Dans les cas (5) et (6), pour l'élément <t-s1>, la propriété 'unicode-bidi' a la valeur "bidi-override", bien que la propriété 'direction' n'ait aucune spécification explicite. C'est la valeur héritée de cette propriété 'direction' (qui est "rtl" ici) est utilisée ;

  5. Dans le cas (7), pour l'élément <t-s1>, la propriété 'unicode-bidi' a la valeur "embed". Il n'est pas nécessaire d'utiliser la valeur "bidi-override" car le type de caractère bi-directionnel du contenu de l'élément <t-s1> est déjà "L". (L'utilisation de la valeur "bidi-override" aurait eu de toute façon le mêmet effet que "embed"). La valeur "embed" remet le niveau d'imbrication de l'élément <t-s1> de gauche à droite. Même la valeur "embed" (et le réglage spécifique de la propriété 'unicode-bidi') n'est pas nécessaire car le type de caractère bi-directionnel, "L" pour les caractères romans, est suffisant pour élever le niveau d'imbrication et pour entraîner le ré-ordonnancement de ceux-ci de gauche à droite. Il est nécessaire de donner la valeur "ltr" à la propriété 'direction', si la valeur de la propriété 'unicode-bidi' est autre que "normal", car la valeur héritée de "direction" est "rtl".

Si des paires de caractères de ponctuation, comme des parenthèses, sont comprises dans l'une des étendues de texte, alors ces caractères peuvent nécessiter d'être « réfléchis », comme décrit dans l'algorithme Unicode BIDI. Réfléchir un caractère signifie inverser la direction que regarde le caractère ; par exemple, réfléchir une parenthèse gauche en fait une parenthèse droite. Ceci garantit que les caractères réfléchis regardent toujours le texte qu'ils englobent.

Si la valeur de la propriété d'orientation de glyphe des caractères, auxquels les glyphes correspondent, est "90" et si le niveau d'imbrication, dans lequel se tiennent ces caractères, est impair, alors les glyphes appariés doivent être réfléchis. De même, si la valeur de la propriété d'orientation de glyphe des caractères, auxquels les glyphes correspondent, est "-90" et si le niveau d'imbrication, dans lequel se tiennent ces caractères, est pair, alors les glyphes appariés doivent être réfléchis. Dans l'exemple ci-dessus, les parenthèses qui englobent le texte latin ne seraient pas réfléchies dans les cas (2), (3) et (7), mais le seraient dans les cas (4) à (6). Réciproquement, les parenthèses qui englobent le texte hébreu ne seraient pas réfléchies dans les cas (4) à (6), mais le seraient dans les cas (2), (3) et (7).

Dans une chaîne de texte vertical, si la valeur de la propriété 'glyph-orientation-vertical' est "90", alors chaque glyphe concerné est tourné de 90 degrés dans le sens des aiguilles d'une montre. Cette rotation change la manière dont les glyphes tournés sont alignés. Le point d'alignement horizontal du glyphe tourné s'aligne sur la ligne de base adéquate de la table des lignes de base verticales. La ligne de base adéquate est celle identifiée par la propriété 'alignment-baseline' du ou des caractères qui génèrent l'aire du glyphe. Par exemple, si la propriété 'alignment-baseline' n'est pas explicitement spécifiée, les glyphes latins s'alignent sur la ligne de base "alphabetic" (verticale), certains glyphes indiens s'aligneraient sur la ligne de base "hanging" (verticale).

Remarque :

Si un glyphe, comme une ligature ou un glyphe syllabique, est généré à partir de plus d'un caractère, alors tous ces caractères doivent avoir une même valeur pour leur propriété 'alignment-baseline'.

Les positions des lignes de base (verticales) sont choisies pour que les glyphes tournés ne dépassent pas de trop (ou pas du tout) de l'aire de ligne, pour la ligne verticale, quand la propriété 'line-stacking-strategy' a la valeur "line-height" ou "font-height". Dans ce cas, on dit que le texte tourné est bien aligné dans l'aire de ligne verticale.

Pour préserver cette propriété, que le texte tourné dans une ligne verticale soit bien aligné, quand la valeur de la propriété 'glyph-orientation-vertical' est "-90", la table de lignes de base verticales doit être réfléchie avant que le texte tourné ne soit aligné. Soit C la valeur du décalage par rapport à la ligne de base "central" dans la table de lignes de base. Une table de lignes de base est réfléchie par négation de chaque décalage dans la table de lignes de base (où la négation de "-N" produit "N") et par ajout de 2 fois C à chacun des décalages ainsi négatifs. La ligne de base "central" est définie au chapitre [7.13 Les propriétés d'alignement des aires].

On appelle cette action « réflexion » car le décalage entre la ligne de base dominante originale et toute ligne de base dans la table des lignes de base réfléchie place cette ligne de base sur le côté opposé par rapport à la ligne de base "central", la distance entre cette ligne de base et la ligne de base "central" est la même que cette ligne de base avait par rapport à la ligne de base "central" quand celle-ci était dans sa position originale (non-réfléchie). En bref, les positions des lignes de base se réfléchissent par rapport à la ligne de base "central".

Remarque :

Si X est le décalage de la ligne de base X et C le décalage de la ligne de base "central", alors -X+2*C = C+(C-X). Où C+(C-X) est le décalage de la ligne de base "central" plus la distance entre celle-ci et la ligne de base X, la ligne de base qui est réfléchie.

La réflexion est nécessaire, car les lignes de base "alphabetic" et "hanging" sont toutes deux près des bords externes de l'aire de ligne verticale. Si le glyphe était simplement tourné de 180 degrés, alors il se trouverait bien en dehors de l'aire de ligne voulue. On empêche ceci en réfléchissant les lignes de base des glyphes qui sont perpendiculaires à la ligne de base dominante et qui sont tournés à 180 degrés à partir de la direction pour laquelle cette ligne de base était prévue. Cette dernière phrase s'applique autant aux lignes de base horizontales qu'aux lignes de base verticales.

Des rotations de glyphes et des modes d'écriture mélangés   [D]

La figure illustre le positionnement des glyphes tournés et invertis dans les deux modes d'écriture vertical et horizontal. Les trois exemples montrent d'abord quelques glyphes typiques du mode d'écriture, puis quelques glyphes atypiques dans chacune des orientations possibles, 0, 90, 180 et -90 degrés, dans cet ordre. Le point d'alignement de chaque glyphe est signalé par un petit « x », son centre étant le point d'alignement.

L'exemple 1 illustre le mode d'écriture vertical correspondant à la valeur "tb-rl". Celui-ci comporte le glyphe idéographique, signifiant « pays », comme glyphe normal et la séquence des deux lettres « Ap », comme glyphes tournés. Noter que les glyphes latins en pleine largeur sont utilisés dans l'orientation par défaut (0 degrés) et dans celle inversée ; les glyphes latins proportionnels sont utilisés dans les deux autres orientations. Il y a une petite quantité de blanc entre les glyphes latins proportionnels et ceux en pleine largeur. La ligne dominante, la ligne de base "central", est dessinée en bleu. La table de lignes de base réfléchie est représentée pour la dernière rotation (-90 degrés). Noter que la position de la ligne de base "central" ne change pas quand la table de lignes de base est réfléchie. Pour les glyphes inversés et les glyphes tournés de -90 degrés, leur bord de début se trouve sur le côté opposé de celui des glyphes non-tournés ; ainsi, le point d'alignement sur ce bord de début ne se trouve pas à l'endroit où les tables de polices le place normalement.

Les exemples 2 et 3 illustrent le mode d'écriture horizontal correspondant à la valeur "lr-tb". Ceux-ci comportent la séquence de glyphes latins « Ap », comme glyphes normaux. L'exemple 2 tourne le glyphe syllabique gurmukhi « ji » et l'exemple 3 tourne le glyphe idéographique qui signifiant « pays ». Dans l'exemple 2, le glyphe syllabique entier est tourné comme une unité indivisible. Pour les rotations de 90 et -90 degrés, le point d'alignement vertical, qui s'aligne sur la ligne de base "central", est utilisé dans les deux exemples. De la même façon, pour les glyphes inversés, la ligne de base est réfléchie. Pour les glyphes avec une rotation de 90 degrés et les glyphes inversés, leur bord de début se trouve sur le côté opposé de celui des glyphes non-tournés ; ainsi, le point d'alignement sur ce bord de début ne se trouve pas à l'endroit où les tables de polices le place normalement.

7.27.1 'direction'

Définition CSS2 :

Valeur : ltr | rtl | inherit
Valeur initiale : ltr
S'applique à : tous les éléments, mais voir explication
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'direction' vf.
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-direction

Cette propriété spécifie le sens d'écriture principal des blocs et le sens des incorporations et contraintes (voir [UNICODE UAX #9]) pour l'algorithme Unicode BIDI. En outre, elle spécifie le sens de mise en forme des colonnes des tables, la direction du débordement horizontal et l'emplacement d'une dernière ligne incomplète quand la propriété 'text-align' a pour valeur "justify".

Les valeurs de cette propriété ont la signification suivante :

ltr

Sens de gauche à droite [ndt. left-to-right] ;

rtl

Sens de droite à gauche [ndt. right-to-left].

La propriété 'unicode-bidi' doit avoir les valeurs "embed" ou "override" pour que la propriété 'direction' puisse agir sur les éléments de type en-ligne.

Remarque : Quand la propriété 'direction' est spécifiée pour les éléments des colonnes d'une table, celle-ci n'est pas héritée par les cellules des colonnes, les colonnes n'apparaissant pas dans l'arbre du document. Ainsi, on ne peut pas adresser facilement les règles d'héritage de l'attribut "dir", décrites dans la spécification [HTML40], chapitre 11.3.2.1.

Les modifications XSL de la définition CSS :

Les implémentations doivent reconnaître les valeurs de la propriété 'direction', définies dans cette recommandation, qui sont requises par les valeurs de la propriété 'writing-mode' reconnues par l'implémentation.

7.27.2 'glyph-orientation-horizontal'

Définition XSL :

Valeur : <angle> | inherit
Valeur initiale : 0deg
S'applique à : fo:character
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

<angle>

Les valeurs d'angle se restreignent à 0, 90, 180 et 270 degrés. L'agent utilisateur devra arrondir la valeur de l'angle à celle la plus proche parmi celles admises.

Une valeur de "0deg" indique que tous les glyphes s'arrangent avec leur sommet vers le haut de l'aire de référence. Le haut de l'aire de référence est défini par sa propriété 'reference-orientation'.

Une valeur de "90deg" indique une rotation de 90 degrés dans le sens des aiguilles d'une montre à partir de l'orientation correspondant à "0deg".

Cette propriété spécifie l'orientation des glyphes par rapport à la direction du cheminement spécifiée par la propriété 'writing-mode'. Cette propriété ne s'applique qu'à un texte écrit dans un mode d'écriture horizontal.

La valeur de cette propriété influe sur l'alignement et la largeur des aires de glyphe générées pour les glyphes concernés. Si un glyphe est orienté de façon à ne pas être perpendiculaire à la ligne de base dominante, alors le point d'alignement du glyphe tourné se cale sur l'alignement de ligne de base approprié pour ce glyphe. La ligne de base, sur laquelle s'aligne le glyphe tourné, est celle (horizontale) qui est identifiée par la propriété 'alignment-baseline' pour l'écriture à laquelle appartient le glyphe. La largeur de l'aire de glyphe est déterminée à partir de la caractéristique de police largeur verticale du glyphe.

7.27.3 'glyph-orientation-vertical'

Définition XSL :

Valeur : auto | <angle> | inherit
Valeur initiale : auto
S'applique à : fo:character
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

auto
<angle>

Les valeurs d'angle se restreignent à 0, 90, 180 et 270 degrés. L'agent utilisateur devra arrondir la valeur de l'angle à celle la plus proche parmi celles admises.

Une valeur de "0deg" indique que tous les glyphes s'arrangent avec leur sommet vers le haut de l'aire de référence. Le haut de l'aire de référence est défini par sa propriété 'reference-orientation'.

Une valeur de "90deg" indique une rotation de 90 degrés dans le sens des aiguilles d'une montre à partir de l'orientation correspondant à "0deg".

Cette propriété spécifie l'orientation des glyphes par rapport à la direction de cheminement spécifiée par le mode d'écriture. Elle ne s'applique qu'au texte écrit dans une direction de progression en-ligne de haut-en-bas ou de bas-en-haut.

Son usage le plus commun est de différencier l'orientation préférée d'un texte alphabétique dans des documents écrits verticalement en japonais (orientation de glyphe = "auto") et l'orientation d'un texte alphabétique dans la signalisation et la publicité occidentale (orientation de glyphe = "0deg").

La valeur de cette propriété influe sur l'alignement et la largeur des aires de glyphe générées pour les glyphes concernés. Si un glyphe est orienté de façon à ne pas être perpendiculaire à la ligne de base dominante, alors le point d'alignement du glyphe tourné se cale sur l'alignement de ligne de base approprié pour ce glyphe. La ligne de base, sur laquelle s'aligne le glyphe tourné, est celle (verticale) qui est identifiée par la propriété 'alignment-baseline' pour l'écriture à laquelle appartient le glyphe. La largeur de l'aire de glyphe est déterminée à partir de la caractéristique de police largeur verticale du glyphe.

7.27.4 'text-altitude'

Définition XSL :

Valeur : use-font-metrics | <longueur> | <pourcentage> | inherit
Valeur initiale : use-font-metrics
S'applique à : fo:block, fo:character, fo:leader, fo:page-number, fo:page-number-citation
Héritée : non
Pourcentage : se rapporte à la hauteur em de la police
Médias : visuel

Les significations des valeurs sont les suivantes :

use-font-metrics

Utilise une valeur pour « l'élévation » de la police au-dessus de la ligne de base dominante, correspondant à la distance entre la ligne de base text-before-edge et la ligne de base dominante, valeur obtenue à partir de la police nominale pour les objets fo:bloc;, fo:character et fo:leader quand la propriété 'leader-pattern' de ce dernier n'a pas la valeur "use-content". Avec fo:leader, quand cette propriété a la valeur "use-content", cette valeur d'élévation s'obtient à partir de la police nominale de son premier enfant.

Les implémentations conforme peuvent choisir, comme valeur effective, toute valeur parmi les élévations de texte utilisées par les polices de même écriture et de même taille, au lieu de valeurs issues des données de police ;

<longueur>

Remplace la valeur de « hauteur » trouvée dans la police.

Spécifie la « hauteur » à utiliser pour les hampes au-dessus de la ligne de base dominante.

7.27.5 'text-depth'

Définition XSL :

Valeur : use-font-metrics | <longueur> | <pourcentage> | inherit
Valeur initiale : use-font-metrics
S'applique à : fo:block, fo:character, fo:leader, fo:page-number, fo:page-number-citation
Héritée : non
Pourcentage : se rapporte à la hauteur em de la police
Médias : visuel

Les significations des valeurs sont les suivantes :

use-font-metrics

Utilise une valeur pour la « profondeur » de la police en-dessous de la ligne de base dominante, correspondant à la distance entre la ligne de base "text-after-edge" et la ligne de base dominante, valeur obtenue à partir de la police nominale pour les objets fo:bloc;, fo:character et fo:leader quand la propriété 'leader-pattern' de ce dernier n'a pas la valeur "use-content". Avec fo:leader, quand cette propriété a la valeur "use-content", cette valeur de profondeur s'obtient à partir de la police nominale de son premier enfant.

Les implémentations conforme peuvent choisir, comme valeur effective, toute valeur parmi les profondeurs de texte utilisées par les polices de même écriture et de même taille, au lieu de valeurs issues des données de police ;

<longueur>

Remplace la valeur de profondeur trouvée dans la police.

Spécifie la « profondeur » à utiliser pour les jambes sous la ligne de base dominante.

7.27.6 'unicode-bidi'

Définition CSS2 :

Valeur : normal | embed | bidi-override | inherit
Valeur initiale : normal
S'applique à : tous les éléments, mais voir explication
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'unicode-bidi' vf.
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-unicode-bidi

Les significations des valeurs sont les suivantes :

normal

L'élément n'ouvre pas un niveau supplémentaire d'incorporation en fonction de l'algorithme bi-directionnel. Pour les éléments de type en-ligne, un réajustement implicite s'effectue au-delà des limites de l'élément ;

embed

Quand il s'agit d'un élément de type en-ligne, cette valeur ouvre un niveau supplémentaire d'incorporation en fonction de l'algorithme bi-directionnel. La propriété 'direction' donne le sens du niveau d'incorporation. Le réordonnancement s'effectue implicitement à l'intérieur de l'élément. Celui-ci correspond à l'insertion des caractères LRE (U+202A pour 'direction: ltr') ou RLE (U+202B pour 'direction: rtl') au début de l'élément et du caractère PDF à la fin de celui-ci ;

bidi-override

Quand il s'agit d'un élément de type en-ligne, ou bloc, ne contenant à son tour que des éléments de type en-ligne, ceci crée une contrainte. Cela signifie que le réordonnancement à l'intérieur de l'élément s'effectue strictement dans l'ordre indiqué par la propriété 'direction', la partie implicite de l'algorithme étant ignorée. Le réordonnancement correspond à l'insertion des caractères LRO (U+202D pour 'direction: ltr') ou RLO (U+202E pour 'direction: rtl') au début de l'élément et du caractère PDF (U+202C) à la fin de celui-ci.

L'ordonnancement final des caractères de chaque élément de type bloc est le même que celui décrit ci-dessus, comme si les caractères de contrôle bidi avaient été ajoutés, le balisage retiré et la succession de caractères qui en résulte, transmise à une implémentation de l'algorithme bi-directionnel Unicode comme du texte brut qui produirait les mêmes retours à la ligne que du texte stylé. Dans ce processus, les entités non textuelles, comme les images, sont traitées comme des caractères neutres, à moins que leur propriété 'unicode-bidi' n'ait une valeur autre que "normal", auquel cas ces entités seraient considérées comme ayant une importance pour le sens indiqué par la propriété 'direction'.

Noter que pour autoriser l'écoulement de boîtes en-ligne dans une direction uniforme (soit entièrement de gauche à droite, ou inversement), plusieurs autres de ces boîtes en-ligne (dont des boîtes en-ligne anonymes) pourraient devoir être créées, et certaines d'entre elles devoir être découpées et réordonnée avant leur écoulement.

Du fait d'une limitation de l'algorithme Unicode à 15 niveaux d'incorporation, l'utilisation d'une autre valeur que "normal" avec la propriété 'unicode-bidi' ne devrait se faire que de façon appropriée. Plus particulièrement, la valeur "inherit" devrait faire l'objet d'une extrême prudence. Cependant, pour ceux des éléments destinés habituellement à un rendu en bloc (visuel), on préfèrera la spécification 'unicode-bidi: embed', pour conserver leur cohésion, au cas où leur propriété 'display' prenait la valeur "inline".

Les modifications XSL de la définition CSS :

L'intitulé de la phrase du premier paragraphe de la description générale (qui suit les définitions de valeur) devrait être « L'ordonnancement final de la présentation des caractères... ».

Pour Unicode 3.0, le Consortium Unicode a élevé la limite des niveaux d'imbrications à 61 (voir définition BD2 dans [UNICODE UAX #9]).

Repli :

S'il est impossible de présenter les caractères dans l'ordre correct, alors l'agent utilisateur devrait afficher le glyphe « caractère manquant » ou bien afficher un avertissement comme quoi le contenu ne peut être rendu correctement.

7.27.7 'writing-mode'

Définition XSL :

Valeur : lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit
Valeur initiale : lr-tb
S'applique à : voir explication
Héritée : oui (voir explication)
Pourcentage : sans objet
Médias : visuel

Remarque :

Cette version de la propriété 'writing-mode' couvre les modes d'écritures de base utilisés comme langues officielles des Nations Unies. Pour des informations sur les modes d'écriture supplémentaires, voir le chapitre [A.1 Les valeurs de mode d'écriture supplémentaires].

Les significations des valeurs sont les suivantes :

lr-tb

Les composants en-ligne et le texte dans une ligne se lisent de gauche-à-droite. Les lignes et les blocs sont disposés de haut-en-bas ;

Remarque :

C'est le mode d'écriture typique pour un texte « alphabétique » normal.

Elle établit les directions suivantes :

rl-tb

Les composants en-ligne et le texte dans une ligne se lisent de droite-à-gauche. Les lignes et les blocs sont disposés de haut-en-bas ;

Remarque :

Ce mode d'écriture est typique de textes arabes ou hébreux.

Elle établit les directions suivantes :

tb-rl

Les composants en-ligne et le texte dans une ligne se lisent de haut-en-bas. Les lignes et les blocs sont disposés de gauche-à-droite ;

Remarque :

Ce mode d'écriture est typique de textes chinois ou japonais.

Elle établit les directions suivantes :

lr

Raccourci pour la valeur lr-tb ;

rl

Raccourci pour la valeur rl-tb ;

tb

Raccourci pour la valeur tb-rl.

La propriété 'writing-mode' ne s'applique qu'aux objets de mise en forme qui organisent une aire de référence (pour XSL, ce sont les objets fo:simple-page-master, fo:region-*, fo:table, fo:block-container et fo:inline-container. Chacune de ses valeurs établit tous les trois traits de direction, indiqués ci-dessus dans leur description, sur l'aire de référence. (Voir le modèle des aires pour la description des traits de direction et leur usage).

Les implémentations doivent reconnaître au moins l'une des valeurs de la propriété 'writing-mode' définies dans cette recommandation.

7.28 Les propriétés diverses

7.28.1 'content-type'

Définition XSL :

Valeur : <chaîne> | auto
Valeur initiale : auto
S'applique à : fo:external-graphic, fo:instream-foreign-object
Héritée : non
Pourcentage : sans objet
Médias : visuel

Cette propriété spécifie le type du contenu, elle peut être utilisée par un agent utilisateur pour la sélection d'un moteur de rendu de l'objet en question.

Les significations des valeurs sont les suivantes :

auto

Aucune identification du type du contenu. L'agent utilisateur peut le déterminer en le « flairant » ou par d'autres moyens ;

<chaîne>

Une spécification du type du contenu sous la forme d'un type-mime ou d'un espace de nommage.

Une spécification du type-mime se présente sous la forme « content-type: » suivie d'un type de contenu mime, par exemple, content-type = "content-type:xml/svg".

Une spécification de l'espace de nommage est formée de la chaîne « namespace-prefix: » suivie par un prefixe d'espace de nommage déclaré, par exemple, content-type = "namespace-prefix:svg". Si le préfixe d'espace de nommage est nul, le type du contenu se rapporte à l'espace de nommage par défaut.

7.28.2 'id'

Définition XSL :

Valeur : <id>
Valeur initiale : voir explication
S'applique à : la plupart des objets de mise en forme
Héritée : non, voir explication
Pourcentage : sans objet
Médias : tous

Les significations des valeurs sont les suivantes :

<id>

Un identifiant unique parmi tous les objets de l'arbre résultant avec l'espace de nommage fo:. Celui-ci permet une référence à l'objet en question par les autres objets de mise en forme.

La valeur "inherit" n'est pas admise pour cette propriété.

La valeur initiale de cette propriété est un identifiant aléatoire et unique. L'algorithme qui génère cet identifiant dépend du système.

7.28.3 'provisional-label-separation'

Définition XSL :

Valeur : <longueur> | <pourcentage> | inherit
Valeur initiale : 6.0pt
S'applique à : fo:list-block
Héritée : oui
Pourcentage : se rapporte à la dimension de progression en-ligne de l'aire de bloc ancêtre le plus proche qui n'est pas une aire de ligne
Médias : visuel

Les significations des valeurs sont les suivantes :

<longueur>

La « séparation d'étiquette provisionnelle » est spécifiée par une longueur ;

<pourcentage>

La « séparation d'étiquette provisionnelle » est spécifiée par un pourcentage de la dimension de progression en-ligne de l'aire de bloc de l'ancêtre le plus proche.

Spécifie la distance provisionnelle entre la fin de l'objet fo:list-item-label et le début de l'objet fo:list-item-body. La valeur n'est pas employée directement dans la mise en forme, mais dans le calcul de la valeur de la fonction label-end().

label-end() = largeur du rectangle de contenu de l'aire de référence dans lequel est placé le bloc de liste - (la valeur de la propriété 'provisional-distance-between-starts' + la valeur de la propriété 'start-indent' + la valeur de la propriété 'start-indent' + la valeur de la propriété 'start-intrusion-adjustment' - la valeur de la propriété 'provisional-label-separation') de l'objet fo:list-block ancêtre le plus proche.

7.28.4 'provisional-distance-between-starts'

Définition XSL :

Valeur : <longueur> | <pourcentage> | inherit
Valeur initiale : 24.0pt
S'applique à : fo:list-block
Héritée : oui
Pourcentage : se rapporte à la dimension de progression en-ligne de l'aire de bloc ancêtre le plus proche qui n'est pas une aire de ligne
Médias : visuel

Les significations des valeurs sont les suivantes :

<longueur>

La « distance provisionnelle entre débuts » est spécifiée par une longueur ;

<pourcentage>

La « distance provisionnelle entre débuts » est spécifiée par un pourcentage de la dimension de progression en-ligne de l'aire de bloc de l'ancêtre le plus proche.

Spécifie la distance provisionnelle entre l'indentation de début de l'objet fo:list-item-label et l'indentation de début de l'objet fo:list-item-body. La valeur n'est pas employée directement dans la mise en forme, mais dans le calcul de la valeur de la fonction body-start().

body-start() = la valeur de la propriété 'start-indent' + la valeur de la propriété 'start-intrusion-adjustment' + la valeur de la propriété 'provisional-distance-between-starts' de l'objet fo:list-block ancêtre le plus proche.

7.28.5 'ref-id'

Définition XSL :

Valeur : <idref> | inherit
Valeur initiale : aucune, une valeur est requise
S'applique à : fo:page-number-citation
Héritée : non
Pourcentage : sans objet
Médias : tous

Les significations des valeurs sont les suivantes :

<idref>

C'est « l'id » d'un objet dans l'arbre des objets de mise en forme.

Une référence à l'objet ayant l'identifiant unique spécifié.

7.28.6 'score-spaces'

Définition XSL :

Valeur : true | false | inherit
Valeur initiale : true
S'applique à : fo:bidi-override, fo:character, fo:initial-property-set, fo:page-number, fo:page-number-citation
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

true

Une décoration de texte sera appliquée aux espaces ;

false

Aucune décoration de texte ne sera appliquée aux espaces.

Spécifie si la propriété 'text-decoration' est appliquée, ou non, aux espaces.

7.28.7 'src'

Définition XSL :

Valeur : <uri-spécification> | inherit
Valeur initiale : aucune, une valeur est requise
S'applique à : fo:external-graphic, fo:color-profile
Héritée : non
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

<uri-spécification>

Spécifie la référence URI pour localiser une ressource externe, telles que les données d'une image/d'un graphique à inclure comme contenu de l'objet en question ou les donnés de profils de couleur.

7.28.8 'visibility'

Définition CSS2 :

Valeur : visible | hidden | collapse | inherit
Valeur initiale : visible
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'visibility' vf.
http://www.w3.org/TR/REC-CSS2/visufx.html#propdef-visibility

La propriété 'visibility' spécifie le rendu, ou non, des boîtes générées par un élément donné. Ces boîtes, bien qu'invisibles, influencent toujours la mise en forme du document (utiliser la propriété 'display' avec la valeur "none" pour prohiber la génération d'une boîte, et ainsi toutes influences sur la mise en forme). Les valeurs ont les significations suivantes :

visible

La boîte générée est visible ;

hidden

La boîte générée est invisible (entièrement transparente), mais celle-ci influence toujours la mise en forme ;

collapse

Consulter le passage traitant des effets dynamiques sur les rangées et colonnes des tables. Quand on l'utilise avec autre chose, cette valeur "collapse" correspond à "hidden".

On peut employer cette propriété conjointement avec des scripts pour créer des effets dynamiques.

Les modifications XSL de la définition CSS :

La valeur initiale change pour "visible" (c'était "inherit" en CSS), c'est maintenant une propriété qui s'hérite.

7.28.9 'z-index'

Définition CSS2 :

Valeur : auto | <entier> | inherit
Valeur initiale : auto
S'applique à : ceux des éléments positionnés
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'z-index' vf.
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-z-index

Pour une boîte positionnée, la propriété 'z-index' spécifie :

1. Le niveau dans l'empilement pour une boîte dans un contexte d'empilement donné ;

2. L'établissement par une boîte d'un contexte d'empilement local.

Voici les significations des valeurs :

<entier>

Cet entier correspond au niveau dans l'empilement d'une boîte générée dans un contexte d'empilement donné. Cette boîte établit également un contexte d'empilement local dans lequel la valeur de son niveau est "0" ;

auto

Le niveau d'empilement de la boîte générée dans un contexte d'empilement donné est le même que celui de la boîte de son parent. Cette boîte n'établit pas un nouveau contexte d'empilement local.

Cet exemple (voir la spécification CSS2) illustre la notion de transparence. Par défaut, une boîte laisse voir celles situées en arrière à travers les zones transparentes de son contenu. Dans l'exemple, chacune des boîtes vient recouvrir celles en dessous de façon transparente. On peut annuler ce comportement en employant l'une des propriétés d'arrière-plan.

7.29 Les propriétés raccourcies

Les propriétés suivantes sont toutes des propriétés raccourcies. Celles-ci ne font partie que du plus haut niveau de conformité XSL, le niveau « complet » (voir [8 La conformité]).

Les propriétés raccourcies admettent comme valeur une liste de valeurs de sous-propriété ou la valeur "inherit". On ne peut mélanger cette valeur "inherit" avec les autres valeurs de sous-proprieacute;té car il ne serait plus possible de déterminer sur quelle sous-propriété elle s'applique.

7.29.1 'background'

Définition CSS2 :

Valeur : [ <background-color> || <background-image> || <background-repeat> || <background-attachment> || <background-position> ] | inherit
Valeur initiale : non définie pour les propriétés raccourcies
S'applique à : tous les éléments
Héritée : non
Pourcentage : admis pour 'background-position'
Médias : visuel

Référence CSS2 : propriété 'background' vf.
http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background

La propriété 'background' est une propriété raccourcie qui sert à regrouper les propriétés individuelles 'background-color', 'background-image', 'background-repeat', 'background-attachment' et 'background-position' dans la feuille de style.

La propriété 'background' distribue d'abord à toutes les propriétés individuelles d'arrière-plan à leur valeur initiale, puis leur applique les valeurs explicites de la déclaration.

7.29.2 'background-position'

Définition CSS2 :

Valeur : [ [ <pourcentage> | <longueur> ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | inherit
Valeur initiale : 0% 0%
S'applique à : ceux des éléments de type bloc et ceux remplacés
Héritée : non
Pourcentage : se rapporte à la taille de la boîte elle-même
Médias : visuel

Référence CSS2 : propriété 'background-position' vf.
http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-position

Quand on spécifie une image d'arrière-plan, cette propriété indique la position initiale de celle-ci. Les significations des valeurs sont :

<pourcentage> <pourcentage>

Pour la paire de valeurs "0% 0%", le coin en haut et à gauche de l'image est aligné sur celui du bord de l'espacement de la boîte. Pour la paire de valeurs "100% 100%", c'est le coin en bas et à droite de l'image sur celui du bord de l'espacement de la boîte. Pour la paire de valeurs "14% 84%", le point dans l'image, situé 14% vers la droite et 84% vers le bas, se place sur celui contenu dans l'aire d'espacement de la boîte, dans les mêmes proportions ;

<longueur> <longueur>

Pour la paire de valeur "2cm 2cm", le coin en haut et à gauche de l'image se place sur le point, situé à 2cm vers la droite et 2cm vers le bas en partant du coin en haut et à gauche de l'aire d'espacement de la boîte ;

top left et left top

Identique à "0% 0%" ;

top, top center et center top

Identique à "50% 0%" ;

right top et top right

Identique à "100% 0%" ;

left, left center et center left

Identique à "0% 50%" ;

center et center center

Identique à "50% 50%" ;

right, right center et center right

Identique à "100% 50%" ;

bottom left et left bottom

Identique à "0% 100%" ;

bottom, bottom center et center bottom

Identique à "50% 100%" ;

bottom right et right bottom

Identique à "100% 100%".

Quand on ne donne qu'une seule valeur, en pourcentage ou en longueur, celle-ci ne concerne que la position horizontale, la position verticale sera de "50%". Quand on donne deux valeurs, la première concerne la position horizontale. Les combinaisons de valeurs de pourcentage et de longueur sont admises (ex. "50% 2cm"). Les positions négatives le sont également. On ne peut pas combiner des mots-clés avec des valeurs de pourcentage ou de longueur (ce qui est possible est indiqué plus haut).

Quand l'image d'arrière-plan est fixe par rapport à la zone de visualisation (voir la propriété 'background-attachment'), cette image se place relativement à celui-ci, et non par rapport à l'aire d'espacement de l'élément.

Les modifications XSL de la définition CSS :

La propriété CSS sera traitée comme une propriété raccourcie par XSL avec les correspondances suivantes :

<pourcentage>

background-position-horizontal = "<pourcentage>"

background-position-vertical = "50%"

<pourcentage1> <pourcentage2>

background-position-horizontal = "<pourcentage1>"

background-position-vertical = "<pourcentage2>"

<longueur>

background-position-horizontal = "<longueur>"

background-position-vertical = "50%"

<longueur1> <longueur2>

background-position-horizontal = "<longueur1>"

background-position-vertical = "<longueur2>"

<longueur> <pourcentage>

background-position-horizontal = "<longueur>"

background-position-vertical = "<pourcentage>"

<pourcentage> <longueur>

background-position-horizontal = "<pourcentage>"

background-position-vertical = "<longueur>"

top left et left top

background-position-horizontal = "0%"

background-position-vertical = "0%"

top, top center et center top

background-position-horizontal = "50%"

background-position-vertical = "0%"

right top et top right

background-position-horizontal = "100%"

background-position-vertical = "0%"

left, left center et center left

background-position-horizontal = "0%"

background-position-vertical = "50%"

center et center center

background-position-horizontal = "50%"

background-position-vertical = "50%"

right, right center et center right

background-position-horizontal = "100%"

background-position-vertical = "50%"

bottom left et left bottom

background-position-horizontal = "0%"

background-position-vertical = "100%"

bottom, bottom center et center bottom

background-position-horizontal = "50%"

background-position-vertical = "100%"

bottom right et right bottom

background-position-horizontal = "100%"

background-position-vertical = "100%"

7.29.3 'border'

Définition CSS2 :

Valeur : [ <bordure-largeur> || <bordure-style> || <couleur> ] | inherit
Valeur initiale : voir les propriétés individuelles
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border

La propriété raccourcie 'border' spécifie les mêmes épaisseurs, couleurs et styles pour les quatre côtés d'une boîte. À la différence des propriétés 'margin' et 'padding', cette propriété 'border' ne permet pas de donner des valeurs propres à chacune des quatre bordures. Pour cela, il faut employer l'une, ou plusieurs, des propriétés individuelles de bordure.

Les modifications XSL de la définition CSS :

Voir le chapitre [5.3.1 Les propriétés de bordure et d'espacement] pour connaître l'ordre de préséance des propriétés.

7.29.4 'border-bottom'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10

Valeur : [ <bordure-largeur> || <bordure-style> || <couleur> ] | inherit
Valeur initiale : voir les propriétés individuelles
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-bottom' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-bottom

Cette propriété raccourcie spécifie les épaisseurs, les styles et les couleurs des bordures du haut, de droite, du bas et de gauche d'une boîte.

7.29.5 'border-color'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x35

Valeur : [ <couleur> | transparent ]{1,4} | inherit
Valeur initiale : voir les propriétés individuelles
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-color' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-color

La propriété 'border-color' spécifie la couleur des quatre côtés de la bordure. Voici la signification des valeurs que celle-ci admet :

<couleur>

Spécifie la valeur d'une couleur ;

transparent

La bordure est transparent (tout en ayant une épaisseur).

La propriété 'border-color' admet une à quatre valeurs, les valeurs étant appliquées sur les quatres côtés de la bordure de la même façon que pour la propriété 'border-width' définie plus haut.

Quand, pour un élément, aucune valeur de couleur n'est spécifiée par une propriété de bordure, les agents utilisateurs doivent utiliser celle de la propriété 'color' de cet élément comme valeur calculée pour la couleur de bordure.

Les modifications XSL de la définition CSS :

Voir la propriété 'border-width' pour savoir comment interpréter cette propriété quand une à quatre valeurs sont fournies.

7.29.6 'border-left'

Définition CSS2, modifiée; par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10

Valeur : [ <bordure-largeur> || <bordure-style> || <couleur> ] | inherit
Valeur initiale : voir les propriétés individuelles
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-left' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-left

Une propriété raccourcie pour donner l'épaisseur, le style et la couleur de la bordure de gauche d'une aire de bloc ou en-ligne.

7.29.7 'border-right'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10

Valeur : [ <bordure-largeur> || <bordure-style> || <couleur> ] | inherit
Valeur initiale : voir les propriétés individuelles
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-right' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-right

Une propriété raccourcie pour donner l'épaisseur, le style et la couleur de la bordure de droite d'une aire de bloc ou en-ligne.

7.29.8 'border-style'

Définition CSS2 :

Valeur : <bordure-style>{1,4} | inherit
Valeur initiale : voir les propriétés individuelles
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-style' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-style

La propriété 'border-style' donne un style aux quatre bordures.

Elle admet d'une à quatre valeurs, les valeurs étant appliquées sur les différents côtés.

Les modifications XSL de la définition CSS :

Voir la propriété 'border-width' pour savoir comment interpréter cette propriété quand une à quatre valeurs sont fournies.

7.29.9 'border-spacing'

Définition CSS2 :

Valeur : <longueur> <longueur>? | inherit
Valeur initiale : 0pt
S'applique à : fo:table
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-spacing' vf.
http://www.w3.org/TR/REC-CSS2/tables.html#propdef-border-spacing

<longueur>

Les longueurs spécifient la distance qui séparent les bordures de cellules adjacentes. Quand on ne spécifie qu'une longueur, ceci donne l'espacement horizontal et vertical. Quand on spécifie deux longueurs, la première donne l'espacement horizontal et la deuxième celui vertical. Ces longueurs ne peuvent pas être négatives.

Dans le modèle des bordures séparées, chaque cellule a une bordure individuelle. La propriété 'border-spacing' indique la distance entre les bordures de cellules adjacentes. Cet espace est comblé par l'arrière-plan de l'élément table. Les rangées, colonnes, groupes de rangées et de colonnes ne peuvent pas avoir de bordures (c.à.d. les agents utilisateurs doivent ignorer les propriétés de bordure de ces éléments).

Les modifications XSL de la définition CSS :

La propriété CSS sera traitée comme une propriété raccourcie par XSL avec les correspondances suivantes :

Si une valeur est spécifié, les composants "border-separation.block-progression-direction" et "border-separation.inline-progression-direction" prennent tous deux cette valeur.

Si deux valeurs sont spécifiées, le composant "border-separation.block-progression-direction" prend la seconde valeur et le composant "border-separation.inline-progression-direction" la première.

7.29.10 'border-top'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10

Valeur : [ <bordure-largeur> || <bordure-style> || <couleur> ] | inherit
Valeur initiale : voir les propriétés individuelles
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-top' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-top

Une propriété raccourcie pour donner l'épaisseur, le style et la couleur de la bordure du haut d'une aire de bloc ou en-ligne.

7.29.11 'border-width'

Définition CSS2 :

Valeur : <bordure-largeur>{1,4} | inherit
Valeur initiale : voir les propriétés individuelles
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'border-width' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-border-width

Cette propriété raccourcie sert à spécifier de manière groupée les propriétés 'border-top-width', 'border-right-width', 'border-bottom-width' et 'border-left-width' dans la feuille de style.

Quand il n'y a qu'une seule valeur spécifiée, celle-ci s'applique à tous les côtés. S'il y en a deux, alors la première valeur s'applique pour la bordure du haut et celle du bas, et la seconde pour la bordure de droite et celle de gauche. Avec trois valeurs, la bordure du haut reçoit la première valeur, les bordures gauche et droite la deuxième et la bordure du bas la troisième. Pour quatre valeurs, celles-ci s'appliquent respectivement aux bordures du haut, de droite, du bas et de gauche.

7.29.12 'cue'

Définition CSS2 :

Valeur : <cue-before> || <cue-after> | inherit
Valeur initiale : non définie pour les propriétés raccourcies
S'applique à : tous les éléments
Héritée : non
Pourcentage : sans objet
Médias : auditif

Référence CSS2 : propriété 'cue' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-cue

7.29.13 'font'

Définition CSS2 :

Valeur : [ [ <font-style> || <font-variant> || <font-weight> ]? <font-size> [ / <line-height> ]? <font-family> ] | caption | icon | menu | message-box | small-caption | status-bar | inherit
Valeur initiale : voir les propriétés individuelles
S'applique à : tous les éléments
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'font' vf.
http://www.w3.org/TR/REC-CSS2/fonts.html#propdef-font

La propriété raccourcie 'font', sauf comme indiqué plus loin, sert à regrouper les propriétés 'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height' et 'font-family' dans la feuille de style. Sa syntaxe est issue d'une notation typographique traditionnelle pour fixer plusieurs propriétés liées aux polices.

Tout d'abord, les valeurs des propriétés de police sont toutes réinitialisées à leur valeur initiale, les propriétés décrites précédemment ainsi que 'font-stretch' et 'font-size-adjust'. Ensuite, les valeurs spécifiées explicitement dans la propriété 'font' sont données aux propriétés concernées. Voir les définitions des propriétés pour les valeurs admises et initiales de celles-ci. Pour des raisons de compatibilité, il n'est pas possible, au moyen de cette propriété 'font', de spécifier des valeurs autres que leur valeur initiale aux propriétés 'font-stretch' et 'font-size-adjust' ; pour ce faire, utiliser directement celles-ci.

Les (six premières) valeurs suivantes se rapporte aux polices du système :

caption

La police employée pour légender les contrôles (ex. les boutons, les menus déroulants, etc.) ;

icon

La police employée pour légender les icones ;

menu

La police employée dans les menus (ex. les menus déroulants et les listes de menus) ;

message-box

La police employée dans les boîtes de dialogue ;

small-caption

La police employée pour étiqueter les contrôles de petite taille;

status-bar

La police employée dans les barres de statut de la fenêtre.

On ne peut spécifier les polices de système que globalement, c.à.d. une spécification en une seule fois de la famille d'une police, de sa taille, de son poids, de son style, etc. Ces valeurs peuvent être ensuite modifiées individuellement. S'il n'y a pas de police avec les caractéristiques requises sur une plate-forme donnée, l'agent utilisateur devrait exercer une interprétation adéquate (par exemple utiliser une forme réduite de la police désignée par la valeur 'caption' pour la valeur 'small-caption') ou bien lui substituer une police par défaut. Comme pour les polices normales, si, pour une police de système, une quelconque des propriétés individuelles n'était pas disponible au travers des préférences de l'utilisateur du système d'exploitation, ces propriétés devraient prendre leur valeur initiale.

C'est pourquoi cette propriété est « presque » une propriété raccourcie : on ne peut spécifier les polices de système qu'avec celle-ci, et non avec la propriété 'font-family'. Ainsi, la propriété 'font' permet un plus grand champ d'action que la somme de ses sous-propriétés. Cependant, les propriétés individuelles, telle que 'font-weight', peuvent toujours prendre les valeurs données par ce moyen, qu'on peut faire varier indépendamment.

Les modifications XSL de la définition CSS :

Dans XSL, le propriété 'font' est une pure propriété raccourcie. Les caractéristiques des polices du système, telles que la famille de police et la taille de police, peuvent être obtenues au travers de la fonction system-font() dans le langage d'expression.

7.29.14 'margin'

Définition CSS2 :

Valeur : <marge-largeur>{1,4} | inherit
Valeur initiale : non définie pour les propriétés raccourcies
S'applique à : tous les éléments
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'margin' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-margin

Une propriété raccourcie qui donne les marges du haut, de droite, du bas et de gauche d'une aire de bloc ou en-ligne.

Quand il n'y a qu'une seule valeur spécifiée, celle-ci s'applique à tous les côtés. S'il y en a deux, alors la première valeur s'applique pour la marge du haut et celle du bas, et la seconde pour la marge droite et celle de gauche. Avec trois valeurs, la marge du haut reçoit la première valeur, les marges gauche et droite la deuxième et la marge du bas la troisième. Pour quatre valeurs, celles-ci s'appliquent respectivement aux marges du haut, de droite, du bas et de gauche.

Les modifications XSL de la définition CSS :

7.29.15 'padding'

Définition CSS2 :

Valeur : <espacement-largeur>{1,4} | inherit
Valeur initiale : non définie pour les propriétés raccourcies
S'applique à : tous les éléments
Héritée : non
Pourcentage : se rapporte à la largeur du bloc conteneur
Médias : visuel

Référence CSS2 : propriété 'padding' vf.
http://www.w3.org/TR/REC-CSS2/box.html#propdef-padding

Une propriété raccourcie qui donne les espacements du haut, de droite, du bas et de gauche d'une aire de bloc ou en-ligne.

Quand il n'y a qu'une seule valeur spécifiée, celle-ci s'applique à tous les côtés. S'il y en a deux, alors la première valeur s'applique pour l'espacement du haut et celui du bas, et la seconde pour l'espacement de droite et celui de gauche. Avec trois valeurs, l'espacement du haut reçoit la première valeur, les espacements gauche et droite la deuxième et l'espacement du bas la troisième. Pour quatre valeurs, celles-ci s'appliquent respectivement aux espacements du haut, de droite, du bas et de gauche.

La couleur ou l'image de la surface de l'aire d'espacement sont indiquées par la propriété 'background'.

7.29.16 'page-break-after'

Définition CSS2 :

Valeur : auto | always | avoid | left | right | inherit
Valeur initiale : auto
S'applique à : à ceux des éléments de type bloc, aux items de liste et aux rangées de table.
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'page-break-after' vf.
http://www.w3.org/TR/REC-CSS2/page.html#propdef-page-break-after

Les significations des valeurs sont les suivantes :

auto

Ne force ni n'interdit un saut de page avant (ou après, ou à l'intérieur de) la boîte générée ;

always

Force toujours un saut de page avant (ou après) la boîte générée ;

avoid

Évite un saut de page avant (ou après, ou à l'intérieur de) la boîte générée ;

left

Force un saut de page, ou deux, avant (ou après) la boîte générée, de manière à ce que la page suivante soit mise en forme comme une page de gauche ;

right

Force un saut de page, ou deux, avant (ou après) la boîte générée, de manière à ce que la page suivante soit mise en forme comme une page de droite.

L'endroit potentiel d'un saut de page est typiquement influencé par la propriété 'page-break-inside' de l'élément parent, par la propriété 'page-break-after' de l'élément précédent et la propriété 'page-break-before' de l'élément suivant. Quand celles-ci ont une valeur autre que "auto", les valeurs "always", "left" et "right" ont préséance sur "avoid". Voir la partie traitant des sauts de page permis pour les règles précises régissant l'obligation et la suppression des sauts de page.

Les modifications XSL de la définition CSS :

La propriété CSS sera traitée comme une propriété raccourcie par XSL avec les correspondances suivantes :

auto

break-after = "auto"

keep-with-next = "auto"

always

break-after = "page"

keep-with-next = "auto"

avoid

break-after = "auto"

keep-with-next = "always"

left

break-after = "even-page"

keep-with-next = "auto"

right

break-after = "odd-page"

keep-with-next = "auto"

7.29.17 'page-break-before'

Définition CSS2 :

Valeur : auto | always | avoid | left | right | inherit
Valeur initiale : auto
S'applique à : à ceux des éléments de type bloc, aux items de liste et aux rangées de table.
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'page-break-before' vf.
http://www.w3.org/TR/REC-CSS2/page.html#propdef-page-break-before

Les significations des valeurs pour ces propriétés sont les suivantes :

auto

Ne force ni n'interdit un saut de page avant (ou après, ou à l'intérieur de) la boîte générée ;

always

Force toujours un saut de page avant (ou après) la boîte générée ;

avoid

Évite un saut de page avant (ou après, ou à l'intérieur de) la boîte générée ;

left

Force un saut de page, ou deux, avant (ou après) la boîte générée, de manière à ce que la page suivante soit mise en forme comme une page de gauche ;

right

Force un saut de page, ou deux, avant (ou après) la boîte générée, de manière à ce que la page suivante soit mise en forme comme une page de droite.

L'endroit potentiel d'un saut de page est typiquement influencé par la propriété 'page-break-inside' de l'élément parent, par la propriété 'page-break-after' de l'élément précédent et la propriété 'page-break-before' de l'élément suivant. Quand celles-ci ont une valeur autre que "auto", les valeurs "always", "left" et "right" ont préséance sur "avoid". Voir la partie traitant des sauts de page permis pour les règles précises régissant l'obligation et la suppression des sauts de page.

Les modifications XSL de la définition CSS :

La propriété CSS sera traitée comme une propriété raccourcie par XSL avec les correspondances suivantes :

auto

break-before = "auto"

keep-with-previous = "auto"

always

break-before = "page"

keep-with-previous = "auto"

avoid

break-before = "auto"

keep-with-previous = "always"

left

break-before = "even-page"

keep-with-previous = "auto"

right

break-before = "odd-page"

keep-with-previous = "auto"

7.29.18 'page-break-inside'

Définition CSS2 :

Valeur : avoid | auto | inherit
Valeur initiale : auto
S'applique à : ceux des éléments de type bloc
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'page-break-inside' vf.
http://www.w3.org/TR/REC-CSS2/page.html#propdef-page-break-inside

Remarque :

La définition CSS de la propriété 'page-break-inside' était partagée avec celle de 'page-break-before' et 'page-break-after'. Le texte suivant a été récrit pour seulement inclure le choix des valeurs valides pour la propriété 'page-break-inside' et pour retirer ce qui concernait le triplet avant/après/à l'intérieur.

Les significations des valeurs pour ces propriétés sont les suivantes :

auto

Ne force ni n'interdit un saut de page à l'intérieur de la boîte générée ;

avoid

Évite un saut de page à l'intérieur de la boîte générée ;

L'endroit potentiel d'un saut de page est typiquement influencé par la propriété 'page-break-inside' de l'élément parent, par la propriété 'page-break-after' de l'élément précédent et la propriété 'page-break-before' de l'élément suivant. Quand celles-ci ont une valeur autre que "auto", les valeurs "always", "left" et "right" ont préséance sur "avoid". Voir la partie traitant des sauts de page permis pour les règles précises régissant l'obligation et la suppression des sauts de page.

Les modifications XSL de la définition CSS :

La propriété CSS sera traitée comme une propriété raccourcie par XSL avec les correspondances suivantes :

auto

keep-together = "auto"

avoid

keep-together = "always"

7.29.19 'pause'

Définition CSS2 :

Valeur : [ <durée> | <pourcentage> ]{1,2} | inherit
Valeur initiale : selon l'agent utilisateur
S'applique à : tous les éléments
Héritée : non
Pourcentage : voir les descriptions de 'pause-before' et 'pause-after'
Médias : auditif

Référence CSS2 : propriété 'pause' vf.
http://www.w3.org/TR/REC-CSS2/aural.html#propdef-pause

7.29.20 'position'

Définition CSS2, modifiée par http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x11

Valeur : static | relative | absolute | fixed | inherit
Valeur initiale : static
S'applique à : tous les éléments, mais pas aux contenus générés
Héritée : non
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'position' vf.
http://www.w3.org/TR/REC-CSS2/visuren.html#propdef-position

Les significations des valeurs sont les suivantes :

static

La boîte est normale, placée selon le flux normal. Les propriétés 'left', 'top', 'right' et 'bottom' ne s'appliquent pas ;

relative

L'emplacement de la boîte est calculé selon le flux normal (ce qu'on appelle la position dans le flux normal). Ensuite la boîte est déplacée relativement à cette position dans le flux normal. Quand une boîte B a une position relative, l'emplacement de la boîte suivante est calculé comme si B n'avait pas été déplacée ;

absolute

L'emplacement de la boîte (et éventuellement sa taille) est déterminé par les propriétés 'left', 'right', 'top' et 'bottom'. Celles-ci spécifient les déplacements en fonction du bloc conteneur. Les boîtes en position absolue se situent hors du flux normal. Elles n'ont ainsi aucune influence sur la mise en forme des autres éléments de même degré de parenté. Bien que les boîtes en position absolue aient également des marges, celles-ci ne fusionnent pas avec les autres marges ;

fixed

L'emplacement de la boîte est calculé comme pour 'absolute', mais la boîte est en plus fixe par rapport à une référence donnée. Pour les médias continus, par rapport à la zone de visualisation (la boîte ne bouge pas lors d'un défilement). Pour les médias paginés, par rapport à la page, même si celle-ci apparaît dans une zone de visualisation (par exemple lors d'un aperçu avant impression). Les auteurs peuvent souhaiter un tel comportement en fonction d'un média donné. Par exemple, une boîte qui reste fixe en haut de la zone de visualisation à l'écran, mais pas en haut de chaque page imprimée.

Spécifie le schéma de positionnement à utiliser.

Les modifications XSL de la définition CSS :

La propriété CSS sera traitée comme une propriété raccourcie par XSL avec les correspondances suivantes :

static

relative-position = "static"

absolute-position = "auto"

relative

relative-position = "relative"

absolute-position = "auto"

absolute

relative-position = "static"

absolute-position = "absolute"

fixed

relative-position = "static"

absolute-position = "fixed"

7.29.21 'size'

Définition CSS2 :

Valeur : <longueur>{1,2} | auto | landscape | portrait | inherit
Valeur initiale : auto
S'applique à : le contexte de page
Héritée : sans objet [XSL:no est optionnel]
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'size' vf.
http://www.w3.org/TR/REC-CSS2/page.html#propdef-size

Cette propriété spécifie la taille et l'orientation d'une boîte de page.

La taille d'une boîte de page peut être soit « absolue » (de taille fixe), soit « relative » (de taille variable, celle-ci s'adaptant aux tailles des feuilles disponibles). Les boîtes de page relatives permettent aux agents utilisateurs une mise à l'échelle du document pour une utilisation optimale de la taille de la cible.

Les trois prochaines valeurs de la propriété 'size' produisent une boîte de page relative :

auto

La boîte de la page se conforme à la taille et l'orientation de la feuille cible ;

landscape

Surclasse l'orientation de la feuille cible. La boîte de la page a la même taille que celle de la cible, les côtés de la boîte les plus longs sont horizontaux ;

portrait

Surclasse l'orientation de la feuille cible. La boîte de la page a la même taille que celle de la cible, les côtés de la boîte les plus courts sont horizontaux.

<longueur>

Les valeurs de longueur de la propriété 'size' créent une boîte de page absolue. Quand on ne spécifie qu'une seule valeur, la largeur et la hauteur de la boîte de la page sont les mêmes (c.à.d. une boîte carrée). La boîte de la page étant le bloc conteneur initial, la propriété 'size' n'admet pas de valeurs en pourcentage.

Les agents utilisateurs peuvent autoriser un certain contrôle du transfert de la page vers la feuille (c.à.d. la rotation d'une boîte de page absolue en vue de son impression).

Les modifications XSL de la définition CSS :

Ceci est traité comme une propriété raccourcie CSS qui correspond aux propriétés XSL 'page-height' et 'page-width'.

7.29.22 'vertical-align'

Définition CSS2 :

Valeur : baseline | middle | sub | super | text-top | text-bottom | <pourcentage> | <longueur> | top | bottom | inherit
Valeur initiale : baseline
S'applique à : inline-level and 'table-cell' elements
Héritée : non
Pourcentage : refer to the 'line-height' of the element itself
Médias : visuel

Référence CSS2 : propriété 'vertical-align' vf.
http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-vertical-align

Cette propriété agit sur le positionnement vertical à l'intérieur de la boîte de ligne des boîtes générées par un élément de type en-ligne. Les règles suivantes n'ont de sens que par rapport à un élément parent de type en-ligne, ou de type bloc si celui-ci génère des boîtes en-ligne anonymes ; elles sont inopérantes autrement.

Remarque :

La signification des valeurs pour cette propriété est légèrement différente dans le contexte des tables. Consulter le chapitre traitant des algorithmes pour la hauteur des tables pour le détail.

Les significations des valeurs sont les suivantes :

baseline

Aligne la ligne de base d'une boîte avec celle de son parent. Si la boîte en est dépourvue, aligner le bas de celle-ci avec la ligne de base de son parent ;

middle

Aligne le milieu vertical de la boîte avec la ligne de base de la boîte de son parent, ce milieu étant augmenté de la moitié de la valeur de la propriété 'x-height' du parent ;

sub

Abaisse la ligne de base de la boîte à la position appropriée pour une écriture en indice dans la boîte du parent. Cette valeur n'a pas d'effet sur la taille de la police de texte de l'élément ;

super

Élève la ligne de base de la boîte à la position appropriée pour une écriture en exposant dans la boîte du parent. Cette valeur n'a pas d'effet sur la taille de la police de texte de l'élément ;

text-top

Aligne le haut de la boîte avec le haut du texte de l'élément parent ;

text-bottom

Aligne le bas de la boîte avec le bas du texte de l'élément parent ;

top

Aligne le haut de la boîte avec le haut de la boîte de ligne ;

bottom

Aligne le bas de la boîte avec le bas de la boîte de ligne ;

<pourcentage>

Élève (pour une valeur positive) ou abaisse (pour une valeur négative) la boîte de ce pourcentage (qui se rapporte à la valeur de la propriété 'line-height'). La valeur "0%" signifie la même chose que "baseline" ;

<longueur>

Élève (pour une valeur positive) ou abaisse (pour une valeur négative) la boîte de cette quantité. La valeur "0cm" signifie la même chose que "baseline".

Les modifications XSL de la définition CSS :

La propriété CSS sera traitée comme une propriété raccourcie par XSL avec les correspondances suivantes :

baseline

alignment-baseline = "baseline"

alignment-adjust = "auto"

baseline-shift = "baseline"

dominant-baseline = "auto"

top

alignment-baseline = "before-edge"

alignment-adjust = "auto"

baseline-shift = "baseline"

dominant-baseline = "auto"

text-top

alignment-baseline = "text-before-edge"

alignment-adjust = "auto"

baseline-shift = "baseline"

dominant-baseline = "auto"

middle

alignment-baseline = "middle"

alignment-adjust = "auto"

baseline-shift = "baseline"

dominant-baseline = "auto"

bottom

alignment-baseline = "after-edge"

alignment-adjust = "auto"

baseline-shift = "baseline"

dominant-baseline = "auto"

text-bottom

alignment-baseline = "text-after-edge"

alignment-adjust = "auto"

baseline-shift = "baseline"

dominant-baseline = "auto"

sub

alignment-baseline = "baseline"

alignment-adjust = "auto"

baseline-shift = "sub"

dominant-baseline = "auto"

super

alignment-baseline = "baseline"

alignment-adjust = "auto"

baseline-shift = "super"

dominant-baseline = "auto"

<pourcentage>

alignment-baseline = "baseline"

alignment-adjust = "<pourcentage>"

baseline-shift = "baseline"

dominant-baseline = "auto"

<longueur>

alignment-baseline = "baseline"

alignment-adjust = "<longueur>"

baseline-shift = "baseline"

dominant-baseline = "auto"

7.29.23 'white-space'

Définition CSS2 :

Valeur : normal | pre | nowrap | inherit
Valeur initiale : normal
S'applique à : ceux des éléments de type bloc
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Référence CSS2 : propriété 'white-space' vf.
http://www.w3.org/TR/REC-CSS2/text.html#propdef-white-space

Cette propriété détermine la gestion des blancs dans un élément. Les significations des valeurs sont les suivantes :

normal

Cette valeur enjoint aux agents utilisateurs de fusionner les séquences de blancs et d'effectuer des sauts de ligne de manière appropriée pour remplir les boîtes de ligne. Dans un contenu généré, les survenues de la séquence de caractères « \A » peuvent produire d'autres sauts de ligne (ex. comme l'élément BR en HTML) ;

pre

Cette valeur interdit aux agents utilisateurs la fusion des séquences de blancs. Les sauts de ligne n'interviennent qu'aux endroits des caractères « nouvelle ligne » de la source, ou aux survenues de la séquence « \A » dans un contenu généré ;

nowrap

Cette valeur provoque la fusion des blancs comme pour 'normal' mais supprime les sauts de ligne d'un texte, sauf les sauts de ligne induits par la séquence « \A » dans un contenu généré (ex. comme l'élément BR en HTML).

Les agents utilisateurs conformes peuvent ignorer la propriété 'white-space' des feuilles de style de l'auteur et de l'utilisateur, mais doivent lui donner une valeur dans la feuille de style par défaut.

Les modifications XSL de la définition CSS :

XSL partage le contrôle de la fusion des blancs, de la gestion des espaces et des nouvelles lignes et des sauts de ligne entre des propriétés distinctes.

La propriété CSS sera traitée comme une propriété raccourcie par XSL avec les correspondances suivantes :

normal

linefeed-treatment = "treat-as-space"

white-space-collapse = "true"

white-space-treatment = "ignore-if-surrounding-linefeed"

wrap-option = "wrap"

pre

linefeed-treatment = "preserve"

white-space-collapse = "false"

white-space-treatment = "preserve"

wrap-option = "no-wrap"

nowrap

linefeed-treatment = "treat-as-space"

white-space-collapse = "true"

white-space-treatment = "ignore-if-surrounding-linefeed"

wrap-option = "no-wrap"

7.29.24 'xml:lang'

Définition XSL :

Valeur : <pays-langue> | inherit
Valeur initiale : non définie pour les propriétés raccourcies
S'applique à : voir explication
Héritée : oui
Pourcentage : sans objet
Médias : visuel

Les significations des valeurs sont les suivantes :

<chaîne>

Un spécifiant de langue et/ou de pays conforme à [RFC3066].

Spécifie la langue et le pays à utiliser par le formateur pour des services linguistiques (telle que la césure) et pour la détermination des sauts de lignes. Ceci exerce une influence sur la composition de la ligne qui dépend du système.

La chaîne peut être tout code RFC 3066.

XSL traite xml:lang comme un raccourci et l'utilise pour régler les propriétés 'country' et 'language'.

Remarque :

En général, les services linguistiques (stratégie de justification des lignes, saut de ligne et césure) peuvent résulter de l'action combinée des propriétés 'language', 'script' et 'country'.


    

Précédent

Table des matières

début de page          

Suivant