Aller au contenu

Configuration

phil/typography-bundle
# config/packages/phil_typography.yaml
phil_typography:
    default_locale: ~            # the kernel's default locale when null
    hyphenation: true            # whether presets insert soft hyphens
    experimental_hyphenation: [] # hy, mk: experimental patterns, off by default
    protected_tags: [pre, code, kbd, script, style, textarea]
    locales:
        fr_CA: []                # a service with the preset of fr_CA
        en: [ellipsis, smart_quotes, curly_quote, dash]
    ujo:
        enabled: true            # fix the HTML of UJO documents, when phil/ujo-bundle is installed
        locale: ~                # the locale of the request when null
OptionValeur par défautEffet
default_localenullLa locale du service Typographer, et celle des filtres et de la passe UJO quand le LocaleSwitcher de Symfony n'est pas enregistré ; %kernel.default_locale% si elle est nulle
hyphenationtruefalse retire hyphen, et word_break pour le thaï, de chaque préréglage ; une locale configurée avec eux les garde
experimental_hyphenation[]Les motifs de césure expérimentaux servis, parmi hy (arménien) et mk (macédonien) ; toute autre valeur est refusée à la construction du conteneur. Sans eux, ces langues n'ont pas de césure
protected_tagspre, code, kbd, script, style, textareaLes éléments dont le texte n'est jamais modifié
locales{}Un service de typographe pour chaque locale ; une liste de noms de correcteurs, dans leur ordre d'exécution, remplace son préréglage et sert aussi les locales plus précises de la même langue ; une liste vide garde le préréglage. Un nom inconnu est refusé à la construction du conteneur
ujo.enabledtruefalse laisse le HTML des documents UJO tel que phil/ujo le produit
ujo.localenullLa locale de cette passe ; la locale courante de la requête si elle est nulle, comme pour les filtres

Les noms de correcteurs sont ceux de Preset::FIXERS : unicode_normalization, ellipsis, dimension, dash, smart_quotes, curly_quote, no_space_before_comma, space_before_punctuation, trademark, unit, hyphen, word_break.

Services

ServiceConstruit comme
Phil\Typography\Hyphenation\DictionaryLes motifs fournis, lus une fois et partagés, avec les motifs expérimentaux de experimental_hyphenation
Phil\Typography\TypographersSelon les options ci-dessus ; public
Phil\Typography\TypographerTypographers::for(), la locale par défaut ; public
phil_typography.typographer.<locale>Typographers::for('<locale>'), pour chaque clé de locales ; public
phil_typography.ujo_filterTypographyHtmlFilter, quand ujo.enabled est vrai et que phil/ujo est installé ; avec translation.locale_switcher s'il existe
phil_typography.ujo_rendererDécore Phil\Ujo\Html\HtmlRenderer avec ce filtre

Chaque locale configurée est aussi injectée dans un argument qui porte son nom, la locale en camel case :

public function __construct(
    private Typographer $typographer,          // the default locale
    private Typographer $enGBTypographer,      // phil_typography.typographer.en_GB
) {
}

Typographers::for() accepte n'importe quelle locale, configurée ou non : une locale sans configuration reçoit son préréglage.