Changeset 47577 in spip-zone


Ignore:
Timestamp:
May 9, 2011, 2:14:43 AM (10 years ago)
Author:
patfr@…
Message:

Exposants typographiques :

  • optimisation sur les accents : caractere_charset() remplace unicode2charset()
File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/couteau_suisse/outils/typo_exposants.php

    r47576 r47577  
    1111@define('_TYPO_sup2', '\\1<sup class="typo_exposants">\\2</sup>');
    1212
     13// fonction simplifiee, equivalent numerique de unicode2charset($texte)
     14function caractere_charset($num) {
     15        if($GLOBALS['meta']['charset']=='utf-8')
     16                return caractere_utf_8($num);
     17        $charset = load_charset($GLOBALS['meta']['charset']);
     18        static $CHARSET_REVERSE;
     19        if(!is_array($CHARSET_REVERSE))
     20                $CHARSET_REVERSE = array_flip($GLOBALS['CHARSET'][$charset]);
     21        return isset($CHARSET_REVERSE[$num])?chr($CHARSET_REVERSE[$num]):chr($num);
     22}
     23
    1324// cette fonction appelee automatiquement a chaque affichage de la page privee du Couteau Suisse renvoie un tableau
    1425function typo_exposants_installe_dist() {
    1526        // en principe, pas besoin de : caractere_utf_8(232)
    16         $carre = unicode2charset('&#178;').'|&(?:#178|sup2);';
    17         $egrave = unicode2charset('&#232;').'|&(?:#232|egrave);';
    18         $eaigu1 = unicode2charset('&#233;').'|&(?:#233|eacute);';
    19         $eaigu2 = unicode2charset('&#201;').'|&(?:#201|Eacute);';
    20         $accents = unicode2charset('&#224;&#225;&#226;&#228;&#229;&#230;&#232;&#233;&#234;&#235;&#236;&#237;&#238;&#239;&#242;&#243;&#244;&#246;&#249;&#250;&#251;&#252;');
     27        $carre = caractere_charset(178).'|&(?:#178|sup2);';
     28        $egrave = caractere_charset(232).'|&(?:#232|egrave);';
     29        $eaigu1 = caractere_charset(233).'|&(?:#233|eacute);';
     30        $eaigu2 = caractere_charset(201).'|&(?:#201|Eacute);';
     31        // $accents = unicode2charset('&#224;&#225;&#226;&#228;&#229;&#230;&#232;&#233;&#234;&#235;&#236;&#237;&#238;&#239;&#242;&#243;&#244;&#246;&#249;&#250;&#251;&#252;');
     32        $accents = join('', array_map('caractere_charset', array(224,225,226,228,229,230,232,233,234,235,236,237,238,239,242,243,244,246,249,250,251,252)));
    2133        $typo = array( array(
    2234                '/(?<=\bM)e?(lles?)\b/',                // Mlle(s), Mme(s) et erreurs Melle(s)
Note: See TracChangeset for help on using the changeset viewer.