Changeset 108219 in spip-zone


Ignore:
Timestamp:
Dec 28, 2017, 10:45:24 AM (15 months ago)
Author:
arnaud.berard@…
Message:

une balise FONT_INDEX pour récupérer facilement le fichier .json d'index des fonts (pour le moment)
une fonction font_declaration pour générer facilement les reges @font-face

un set de font_stacks emprunté a bourbon pour les futures fallbacks fonts …

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/webfonts/branches/webfonts2/webfonts2_fonctions.php

    r108154 r108219  
    4545}
    4646
     47// permet aux plugins themes de spécifier leur webfonts
     48// via la pipeline fonts_list
     49
    4750function lister_webfonts(){
    4851        $fonts = pipeline('fonts_list',array(
     
    5356}
    5457
     58function balise_FONT_INDEX_dist($p){
     59        $p->code = "get_font_index()";
     60        $p->interdire_scripts = false;
     61        return $p;
     62}
     63
     64function get_font_index(){
     65        lire_fichier(_DIR_TMP.'/googlefont_list.json',$respons);
     66        return $respons;
     67}
     68
    5569/**
    5670 * googlefont_api_get
     
    5872 * retourne l'index complet de la typothèque via l'API
    5973 *
    60  * @todo à stocker en copie locale ou dans /tmp ?
     74 * @todo index.json à stocker en copie locale ou dans /tmp ?
    6175*/
    6276function googlefont_api_get($api_key,$sort=false,$category=false){
     
    7993        return $googlefonts;
    8094}
     95
     96
     97/*
     98 * fontface_declaration
     99 *
     100 *
     101@font-face {
     102    font-family: 'open_sansitalic';
     103    src: url('OpenSans-Italic-webfont.eot');
     104    src: url('OpenSans-Italic-webfont.eot?#iefix') format('embedded-opentype'),
     105         url('OpenSans-Italic-webfont.woff2') format('woff2'),
     106         url('OpenSans-Italic-webfont.woff') format('woff'),
     107         url('OpenSans-Italic-webfont.ttf') format('truetype'),
     108         url('OpenSans-Italic-webfont.svg#open_sansitalic') format('svg');
     109    font-weight: normal;
     110    font-style: normal;
     111
     112}
     113
     114@param $font array family|file|weight|style
     115@param $formats array extension|format default
     116
     117*/
     118
     119function fontface_declaration($font, $formats = array('.woff'=>'woff','.woff2'=>'woff2','.ttf'=>'truetype')){
     120       
     121        $default = array(
     122                'family'=>'Dutissimo',
     123                'file'=>'squelettes-dist/polices/dutissimo',
     124                'weight'=>'400',
     125                'style'=>'normal'
     126        );     
     127        $font = array_merge($default,$font);
     128        $font_files = '';
     129        $i = 1;
     130        foreach($formats as $extension => $format){
     131                $font_files .="url('".$font['file'].$extension."') format('$format')";
     132                ($i < count($formats)) ? $font_files .=", " : $font_files .=";";       
     133                $i++;           
     134        }
     135
     136        $declaration = <<<EOT
     137@font-face {
     138    font-family: '{$font['family']}';
     139        src: $font_files
     140    font-weight:{$font['weight']};
     141    font-style:{$font['style']};
     142}
     143EOT;
     144
     145        return $declaration;
     146}
     147
     148/*
     149 * function font_sets
     150 * @param $fonts
     151 */
     152
     153function font_sets($fonts) {
     154       
     155}
     156
     157
     158
     159function font_stacks(){
     160        return array(
     161                'sans-serif' => [
     162                        'Helvetica' => '"Helvetica Neue", "Helvetica", "Arial", sans-serif',
     163                        'Lucida' => '"Lucida Grande", "Lucida Sans Unicode", "Geneva", "Verdana", sans-serif',
     164                        'Verdana' => '"Verdana", "Geneva", sans-serif',
     165                        'System' => '-apple-system, BlinkMacSystemFont, "Avenir Next", "Avenir", "Segoe UI", "Lucida Grande", "Helvetica Neue", "Helvetica", "Fira Sans", "Roboto", "Noto", "Droid Sans", "Cantarell", "Oxygen", "Ubuntu", "Franklin Gothic Medium", "Century Gothic", "Liberation Sans", sans-serif', 
     166                ],
     167                'serif'=> [
     168                        'Garamond' => '"Garamond", "Baskerville", "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif',
     169                        'Georgia' => '"Georgia", "Times", "Times New Roman", serif',
     170                        'Hoefler' => '"Hoefler Text", "Baskerville Old Face", "Garamond", "Times New Roman", serif',
     171                ],
     172                'monospace'=> [
     173                        'Consolas' => '"Consolas", "monaco", monospace',
     174                        'Courrier' => '"Courier New", "Courier", "Lucida Sans Typewriter", "Lucida Typewriter", monospace',
     175                        'Monaco' => '"Monaco", "Consolas", "Lucida Console", monospace'
     176                ]
     177        );
     178}
Note: See TracChangeset for help on using the changeset viewer.