jenkins-bot has submitted this change and it was merged.

Change subject: Refactor font repo compiler so it can be reused
......................................................................


Refactor font repo compiler so it can be reused

Includes changes to the generated repository file
because the script had not been run for last update.

Change-Id: I6b5d1ce980c6e5b42e36c0044729536b6b0ae4dc
---
D data/fontrepo/scripts/compile.php
M extension.json
A includes/FontRepoCompiler.php
M resources/js/ext.uls.webfonts.repository.js
A scripts/compile-font-repo.php
5 files changed, 198 insertions(+), 119 deletions(-)

Approvals:
  Santhosh: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/data/fontrepo/scripts/compile.php 
b/data/fontrepo/scripts/compile.php
deleted file mode 100644
index 008988f..0000000
--- a/data/fontrepo/scripts/compile.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-if ( isset( $_SERVER['REQUEST_METHOD'] ) ) {
-       exit( "compile.php should be run from the command line\n" );
-}
-
-if ( !is_dir( '../fonts/' ) ) {
-       exit( "compile.php should be run from the data/fontrepo/scripts 
directory\n" );
-}
-
-$list = array();
-$list['base'] = '../data/fontrepo/fonts/';
-
-foreach ( glob( '../fonts/*/font.ini' ) as $inifile ) {
-       $conf = parse_ini_file( $inifile, true );
-       $languages = array();
-       $version = null;
-
-       $dir = dirname( $inifile );
-
-       foreach ( $conf as $fontname => $font ) {
-               if ( isset( $font['languages'] ) ) {
-                       $languages = explode( ',', $font['languages'] );
-                       foreach ( $languages as $rcode ) {
-                               $rcode = trim( $rcode );
-                               $code = str_replace( '*', '', $rcode );
-
-                               if ( !isset( $list['languages'][$code] ) ) {
-                                       $list['languages'][$code] = array( 
'system' );
-                               }
-
-                               if ( strpos( $rcode, '*' ) !== false ) {
-                                       unset( $list['languages'][$code][0] );
-                                       array_unshift( 
$list['languages'][$code], $fontname );
-                               } else {
-                                       $list['languages'][$code][] = $fontname;
-                               }
-                       }
-               }
-
-               if ( isset( $font['version'] ) ) {
-                       $version = $font['version'];
-               }
-
-               $list['fonts'][$fontname] = array(
-                       'version' => $version,
-               );
-
-               if ( isset( $font['fontweight'] ) ) {
-                       $list['fonts'][$fontname]['fontweight'] = 
$font['fontweight'];
-               }
-
-               if ( isset( $font['fontstyle'] ) ) {
-                       $list['fonts'][$fontname]['fontstyle'] = 
$font['fontstyle'];
-               }
-
-               if ( isset( $font['ttf'] ) ) {
-                       $list['fonts'][$fontname]['ttf'] = basename( $dir ) . 
'/' . $font['ttf'];
-               }
-
-               if ( isset( $font['svg'] ) ) {
-                       $list['fonts'][$fontname]['svg'] = basename( $dir ) . 
'/' . $font['svg'];
-               }
-
-               if ( isset( $font['eot'] ) ) {
-                       $list['fonts'][$fontname]['eot'] = basename( $dir ) . 
'/' . $font['eot'];
-               }
-
-               if ( isset( $font['woff'] ) ) {
-                       $list['fonts'][$fontname]['woff'] = basename( $dir ) . 
'/' . $font['woff'];
-               }
-
-               if ( isset( $font['woff2'] ) ) {
-                       $list['fonts'][$fontname]['woff2'] = basename( $dir ) . 
'/' . $font['woff2'];
-               }
-
-               // If font formats are not explicitly defined, scan the 
directory.
-               if ( !isset( $list['fonts'][$fontname]['ttf'] ) ) {
-                       foreach ( glob( "$dir/*.{eot,ttf,woff,woff2,svg}", 
GLOB_BRACE ) as $fontfile ) {
-                               $type = substr( $fontfile, strrpos( $fontfile, 
'.' ) + 1 );
-                               $list['fonts'][$fontname][$type] = str_replace( 
dirname( $dir ) . '/', '', $fontfile );
-                       }
-               }
-
-               // Font variants
-               if ( isset( $font['bold'] ) ) {
-                       $list['fonts'][$fontname]['variants']['bold'] = 
$font['bold'];
-               }
-
-               if ( isset( $font['bolditalic'] ) ) {
-                       $list['fonts'][$fontname]['variants']['bolditalic'] = 
$font['bolditalic'];
-               }
-
-               if ( isset( $font['italic'] ) ) {
-                       $list['fonts'][$fontname]['variants']['italic'] = 
$font['italic'];
-               }
-       }
-}
-
-ksort( $list['languages'] );
-ksort( $list['fonts'] );
-
-$json = json_encode( $list );
-$js = <<<JAVASCRIPT
-// Do not edit! This file is generated from data/fontrepo by 
data/fontrepo/scripts/compile.php
-( function ( $ ) {
-       $.webfonts = $.webfonts || {};
-       $.webfonts.repository = $json;
-}( jQuery ) );
-
-JAVASCRIPT;
-file_put_contents( '../../../resources/js/ext.uls.webfonts.repository.js', $js 
);
-
-echo "Done.\n";
diff --git a/extension.json b/extension.json
index e228284..9e273fb 100644
--- a/extension.json
+++ b/extension.json
@@ -38,13 +38,14 @@
                ]
        },
        "AutoloadClasses": {
-               "UniversalLanguageSelectorHooks": 
"UniversalLanguageSelector.hooks.php",
-               "ResourceLoaderULSModule": 
"includes/ResourceLoaderULSModule.php",
-               "ResourceLoaderULSJsonMessageModule": 
"includes/ResourceLoaderULSJsonMessageModule.php",
                "ApiLanguageSearch": "api/ApiLanguageSearch.php",
                "ApiULSLocalization": "api/ApiULSLocalization.php",
+               "FontRepoCompiler": "includes/FontRepoCompiler.php",
+               "LanguageNameSearch": "data/LanguageNameSearch.php",
+               "ResourceLoaderULSJsonMessageModule": 
"includes/ResourceLoaderULSJsonMessageModule.php",
+               "ResourceLoaderULSModule": 
"includes/ResourceLoaderULSModule.php",
                "ULSJsonMessageLoader": "includes/ULSJsonMessageLoader.php",
-               "LanguageNameSearch": "data/LanguageNameSearch.php"
+               "UniversalLanguageSelectorHooks": 
"UniversalLanguageSelector.hooks.php"
        },
        "DefaultUserOptions": {
                "uls-preferences": ""
diff --git a/includes/FontRepoCompiler.php b/includes/FontRepoCompiler.php
new file mode 100644
index 0000000..6941083
--- /dev/null
+++ b/includes/FontRepoCompiler.php
@@ -0,0 +1,142 @@
+<?php
+
+/**
+ * This class parses font specification ini files to a central list.
+ * @author Niklas Laxström
+ * @since 2016.04
+ */
+class FontRepoCompiler {
+       protected $fsPath;
+       protected $webPath;
+
+       public function __construct( $fsPath, $webPath ) {
+               $this->fsPath = $fsPath;
+               $this->webPath = $webPath;
+       }
+
+       public function getRepository() {
+               $files = $this->getFilesFromPath( $this->fsPath );
+
+               $fonts = array();
+               $languages = array();
+
+               foreach ( $files as $file ) {
+                       $conf = $this->parseFile( $file );
+                       $fontPath = dirname( $file );
+
+                       // Ugly hack to populate version to all fonts in a set
+                       $version = null;
+                       foreach ( $conf as $fontname => $font ) {
+                               $fontLanguages = $this->getLanguages( $font );
+                               $this->appendLanguages( $languages, 
$fontLanguages, $fontname );
+                               $fonts[$fontname] = $this->getFontInfo( $font, 
$fontPath, $version );
+                       }
+               }
+
+               ksort( $languages );
+               ksort( $fonts );
+
+               return array(
+                       'base' => $this->webPath,
+                       'languages' => $languages,
+                       'fonts' => $fonts
+               );
+       }
+
+
+       public function getFilesFromPath( $fspath ) {
+               return glob( "$fspath/*/font.ini" );
+       }
+
+       public function parseFile( $filepath ) {
+               return parse_ini_file( $filepath, true );
+       }
+
+       public function getLanguages( array $font ) {
+               if ( !isset( $font['languages'] ) ) {
+                       return array();
+               }
+
+               $languages = explode( ',', $font['languages'] );
+               $languages = array_map( 'trim', $languages );
+
+               return $languages;
+       }
+
+       public function appendLanguages( &$languages, $fontLanguages, $fontname 
) {
+               foreach ( $fontLanguages as $rcode ) {
+                       $code = str_replace( '*', '', $rcode );
+
+                       if ( !isset( $languages[$code] ) ) {
+                               $languages[$code] = array( 'system' );
+                       }
+
+                       if ( strpos( $rcode, '*' ) !== false ) {
+                               if ( $languages[$code][0] === 'system' ) {
+                                       unset( $languages[$code][0] );
+                               }
+                               array_unshift( $languages[$code], $fontname );
+                       } else {
+                               $languages[$code][] = $fontname;
+                       }
+               }
+       }
+
+       public function getFontInfo( $font, $fontpath, &$version ) {
+               $info = array();
+               $fontdir = basename( $fontpath );
+
+               $version = $info['version'] = isset( $font['version'] ) ? 
$font['version'] : $version;
+
+               if ( isset( $font['fontweight'] ) ) {
+                       $info['fontweight'] = $font['fontweight'];
+               }
+
+               if ( isset( $font['fontstyle'] ) ) {
+                       $info['fontstyle'] = $font['fontstyle'];
+               }
+
+               if ( isset( $font['ttf'] ) ) {
+                       $info['ttf'] = $fontdir . '/' . $font['ttf'];
+               }
+
+               if ( isset( $font['svg'] ) ) {
+                       $info['svg'] = $fontdir . '/' . $font['svg'];
+               }
+
+               if ( isset( $font['eot'] ) ) {
+                       $info['eot'] = $fontdir . '/' . $font['eot'];
+               }
+
+               if ( isset( $font['woff'] ) ) {
+                       $info['woff'] = $fontdir . '/' . $font['woff'];
+               }
+
+               if ( isset( $font['woff2'] ) ) {
+                       $info['woff2'] = $fontdir . '/' . $font['woff2'];
+               }
+
+               // If font formats are not explicitly defined, scan the 
directory.
+               if ( !isset( $info['ttf'] ) ) {
+                       foreach ( glob( "$fontpath/*.{eot,ttf,woff,woff2,svg}", 
GLOB_BRACE ) as $fontfile ) {
+                               $type = substr( $fontfile, strrpos( $fontfile, 
'.' ) + 1 );
+                               $info[$type] = $fontdir . '/' . basename( 
$fontfile );
+                       }
+               }
+
+               // Font variants
+               if ( isset( $font['bold'] ) ) {
+                       $info['variants']['bold'] = $font['bold'];
+               }
+
+               if ( isset( $font['bolditalic'] ) ) {
+                       $info['variants']['bolditalic'] = $font['bolditalic'];
+               }
+
+               if ( isset( $font['italic'] ) ) {
+                       $info['variants']['italic'] = $font['italic'];
+               }
+
+               return $info;
+       }
+}
diff --git a/resources/js/ext.uls.webfonts.repository.js 
b/resources/js/ext.uls.webfonts.repository.js
index b9391b2..8516c63 100644
--- a/resources/js/ext.uls.webfonts.repository.js
+++ b/resources/js/ext.uls.webfonts.repository.js
@@ -1,5 +1,5 @@
 // Do not edit! This file is generated from data/fontrepo by 
data/fontrepo/scripts/compile.php
 ( function ( $ ) {
        $.webfonts = $.webfonts || {};
-       $.webfonts.repository = 
{"base":"..\/data\/fontrepo\/fonts\/","languages":{"adx":["Jomolhari"],"af":["system","OpenDyslexic"],"ahr":["Lohit
 
Marathi"],"akk":["Akkadian"],"am":["AbyssinicaSIL"],"ang":["system","Junicode"],"ar":["system","Amiri"],"arb":["system","Amiri"],"arc":["Estrangelo
 Edessa","East Syriac Adiabene","SertoUrhoy"],"as":["system","Lohit 
Assamese"],"bbc":["system","Pangururan"],"bh":["Lohit 
Devanagari"],"bho":["Lohit 
Devanagari"],"bk":["system","OpenDyslexic"],"bn":["Siyam Rupali","Lohit 
Bengali"],"bo":["Jomolhari"],"bod":["Jomolhari"],"bpy":["Siyam Rupali","Lohit 
Bengali"],"btk":["system","Pangururan"],"bug":["Saweri"],"ca":["system","OpenDyslexic"],"cdo":["system","CharisSIL"],"ckb":["system","Lateef","Scheherazade","Amiri"],"cr":["OskiEast"],"cy":["system","ComicNeue","OpenDyslexic"],"da":["system","OpenDyslexic"],"de":["system","OpenDyslexic"],"dre":["Jomolhari"],"dv":["FreeFont-Thaana"],"dz":["Jomolhari"],"en":["system","ComicNeue","OpenDyslexic"],"es":["system","OpenDyslexic"],"et":["system","OpenDyslexic"],"fa":["system","Iranian
 Sans","Iranian 
Serif","Lateef","Nazli","Scheherazade"],"fi":["system","OpenDyslexic"],"fo":["system","OpenDyslexic"],"fr":["system","OpenDyslexic"],"fy":["system","OpenDyslexic"],"ga":["system","OpenDyslexic"],"gd":["system","OpenDyslexic"],"gez":["AbyssinicaSIL"],"gl":["system","OpenDyslexic"],"goe":["Jomolhari"],"gom":["Lohit
 Devanagari"],"got":["system","Skeirs 
II"],"grc":["system","GentiumPlus"],"gu":["Lohit Gujarati"],"hbo":["Taamey 
Frank CLM","Alef"],"he":["system","Alef","Miriam CLM","Taamey Frank 
CLM"],"hi":["Lohit 
Devanagari"],"hu":["system","OpenDyslexic"],"hut":["Jomolhari"],"id":["system","ComicNeue","OpenDyslexic"],"ii":["Nuosu
 
SIL"],"is":["system","OpenDyslexic"],"it":["system","OpenDyslexic"],"iu":["system","OskiEast"],"jv":["system","Tuladha
 Jejeg"],"jv-java":["Tuladha 
Jejeg"],"kbg":["Jomolhari"],"khg":["Jomolhari"],"km":["KhmerOSbattambang","Hanuman","KhmerOS","Nokora
 Regular","Suwannaphum"],"kn":["Lohit Kannada","Gubbi"],"kok":["Lohit 
Devanagari"],"kte":["Jomolhari"],"lb":["system","OpenDyslexic"],"lbj":["Jomolhari"],"lhm":["Jomolhari"],"li":["system","OpenDyslexic"],"lo":["Phetsarath"],"loy":["Jomolhari"],"luk":["Jomolhari"],"lya":["Jomolhari"],"mai":["Lohit
 
Devanagari"],"mak":["Saweri"],"mi":["system","OpenDyslexic"],"ml":["system","AnjaliOldLipi","Meera"],"mr":["Lohit
 
Marathi"],"ms":["system","ComicNeue","OpenDyslexic"],"muk":["Jomolhari"],"mul":["system","Autonym"],"my":["TharLon","Myanmar3","Padauk"],"nan":["system","CharisSIL","Doulos
 SIL"],"nb":["system","OpenDyslexic"],"ne":["Lohit 
Nepali","Madan"],"nl":["system","ComicNeue","OpenDyslexic"],"oc":["system","OpenDyslexic"],"ola":["Jomolhari"],"or":["Lohit
 Odia","Utkal"],"otb":["Jomolhari"],"pa":["Lohit 
Punjabi","Saab"],"pal":["Shapour"],"peo":["Artaxerxes"],"pl":["system","OpenDyslexic"],"pt":["system","OpenDyslexic"],"sa":["Lohit
 
Devanagari"],"saz":["Pagul"],"si":["system","lklug"],"sq":["system","OpenDyslexic"],"sux":["Akkadian"],"sv":["system","OpenDyslexic"],"sw":["system","ComicNeue","OpenDyslexic"],"syc":["Estrangelo
 Edessa","East Syriac Adiabene","SertoUrhoy"],"ta":["system","Lohit 
Tamil","Lohit Tamil 
Classical","Thendral","Thenee"],"tcn":["Jomolhari"],"tcy":["Lohit 
Kannada","Gubbi"],"te":["Lohit 
Telugu"],"thw":["Jomolhari"],"ti":["AbyssinicaSIL"],"tig":["AbyssinicaSIL"],"tl":["system","ComicNeue","OpenDyslexic"],"tr":["system","OpenDyslexic"],"tsk":["Jomolhari"],"ur":["system","Hussaini
 
Nastaleeq","NafeesWeb"],"wa":["system","OpenDyslexic"],"xct":["Jomolhari"],"yi":["system","Alef"],"zau":["Jomolhari"]},"fonts":{"AbyssinicaSIL":{"version":"1.500","eot":"AbyssinicaSIL\/AbyssinicaSIL-R.eot","ttf":"AbyssinicaSIL\/AbyssinicaSIL-R.ttf","woff":"AbyssinicaSIL\/AbyssinicaSIL-R.woff"},"Akkadian":{"version":"2.56","eot":"Akkadian\/Akkadian.eot","ttf":"Akkadian\/Akkadian.ttf","woff":"Akkadian\/Akkadian.woff"},"Alef":{"version":"1.0","ttf":"Alef\/Alef-Regular.ttf","eot":"Alef\/Alef-Regular.eot","woff":"Alef\/Alef-Regular.woff","variants":{"bold":"Alef
 Bold"}},"Alef 
Bold":{"version":"1.0","fontweight":"bold","ttf":"Alef\/Alef-Bold.ttf","eot":"Alef\/Alef-Bold.eot","woff":"Alef\/Alef-Bold.woff"},"Amiri":{"version":"1.0.2","ttf":"amiri\/amiri-regular.ttf","eot":"amiri\/amiri-regular.eot","woff":"amiri\/amiri-regular.woff","variants":{"bold":"Amiri
 Bold","bolditalic":"Amiri Bold Italic","italic":"Amiri Italic"}},"Amiri 
Bold":{"version":"1.0.2","fontweight":"bold","ttf":"amiri\/amiri-bold.ttf","eot":"amiri\/amiri-bold.eot","woff":"amiri\/amiri-bold.woff"},"Amiri
 Bold 
Italic":{"version":"1.0.2","fontweight":"bold","fontstyle":"italic","ttf":"amiri\/amiri-boldslanted.ttf","eot":"amiri\/amiri-boldslanted.eot","woff":"amiri\/amiri-boldslanted.woff"},"Amiri
 
Italic":{"version":"1.0.2","fontstyle":"italic","ttf":"amiri\/amiri-slanted.ttf","eot":"amiri\/amiri-slanted.eot","woff":"amiri\/amiri-slanted.woff"},"AnjaliOldLipi":{"version":".0.730","eot":"AnjaliOldLipi\/AnjaliOldLipi.eot","ttf":"AnjaliOldLipi\/AnjaliOldLipi.ttf","woff":"AnjaliOldLipi\/AnjaliOldLipi.woff"},"Artaxerxes":{"version":"1.400","eot":"Artaxerxes\/Artaxerxes.eot","ttf":"Artaxerxes\/Artaxerxes.ttf","woff":"Artaxerxes\/Artaxerxes.woff"},"Autonym":{"version":"20131205","eot":"Autonym\/Autonym.eot","ttf":"Autonym\/Autonym.ttf","woff":"Autonym\/Autonym.woff"},"CharisSIL":{"version":"4.011","eot":"CharisSIL\/CharisSIL-R.eot","ttf":"CharisSIL\/CharisSIL-R.ttf","woff":"CharisSIL\/CharisSIL-R.woff"},"ComicNeue":{"version":"1.1","ttf":"ComicNeue\/ComicNeue-Regular.ttf","eot":"ComicNeue\/ComicNeue-Regular.eot","woff":"ComicNeue\/ComicNeue-Regular.woff","variants":{"bold":"ComicNeue
 Bold","italic":"ComicNeue Oblique"}},"ComicNeue 
Bold":{"version":"1.1","fontweight":"bold","ttf":"ComicNeue\/ComicNeue-Bold.ttf","eot":"ComicNeue\/ComicNeue-Bold.eot","woff":"ComicNeue\/ComicNeue-Bold.woff"},"ComicNeue
 
Oblique":{"version":"1.1","fontstyle":"italic","ttf":"ComicNeue\/ComicNeue-Regular-Oblique.ttf","eot":"ComicNeue\/ComicNeue-Regular-Oblique.eot","woff":"ComicNeue\/ComicNeue-Regular-Oblique.woff"},"Doulos
 
SIL":{"version":"4.112","eot":"DoulosSIL\/DoulosSIL-R.eot","ttf":"DoulosSIL\/DoulosSIL-R.ttf","woff":"DoulosSIL\/DoulosSIL-R.woff"},"East
 Syriac 
Adiabene":{"version":"1.21","eot":"EastSyriacAdiabene\/SyrCOMAdiabene.eot","ttf":"EastSyriacAdiabene\/SyrCOMAdiabene.ttf","woff":"EastSyriacAdiabene\/SyrCOMAdiabene.woff"},"Estrangelo
 
Edessa":{"version":"1.21","eot":"EstrangeloEdessa\/SyrCOMEdessa.eot","ttf":"EstrangeloEdessa\/SyrCOMEdessa.ttf","woff":"EstrangeloEdessa\/SyrCOMEdessa.woff"},"FreeFont-Thaana":{"version":"1.0","ttf":"FreeFontThana\/FreeFont-Thaana.ttf","eot":"FreeFontThana\/FreeFont-Thaana.eot","woff":"FreeFontThana\/FreeFont-Thaana.woff","variants":{"bold":"FreeFont-Thaana
 Bold"}},"FreeFont-Thaana 
Bold":{"version":"1.0","fontweight":"bold","ttf":"FreeFontThana\/FreeFont-Thaana-Bold.ttf","eot":"FreeFontThana\/FreeFont-Thaana-Bold.eot","woff":"FreeFontThana\/FreeFont-Thaana-Bold.woff"},"GentiumPlus":{"version":"1.510","ttf":"GentiumPlus\/GentiumPlus-R.ttf","eot":"GentiumPlus\/GentiumPlus-R.eot","woff":"GentiumPlus\/GentiumPlus-R.woff","variants":{"italic":"GentiumPlus
 Italic"}},"GentiumPlus 
Italic":{"version":"1.510","fontstyle":"italic","ttf":"GentiumPlus\/GentiumPlus-I.ttf","eot":"GentiumPlus\/GentiumPlus-I.eot","woff":"GentiumPlus\/GentiumPlus-I.woff"},"Gubbi":{"version":"1.3","eot":"Gubbi\/Gubbi.eot","ttf":"Gubbi\/Gubbi.ttf","woff":"Gubbi\/Gubbi.woff"},"Hanuman":{"version":"1.0","ttf":"Hanuman\/Hanuman.ttf","eot":"Hanuman\/Hanuman.eot","woff":"Hanuman\/Hanuman.woff","variants":{"bold":"Hanuman
 Bold"}},"Hanuman 
Bold":{"version":"1.0","fontweight":"bold","ttf":"Hanuman\/Hanumanb.ttf","eot":"Hanuman\/Hanumanb.eot","woff":"Hanuman\/Hanumanb.woff"},"Hussaini
 
Nastaleeq":{"version":"0.01","eot":"HussainiNastaleeq\/hussaini-nastaleeq.eot","ttf":"HussainiNastaleeq\/hussaini-nastaleeq.ttf","woff":"HussainiNastaleeq\/hussaini-nastaleeq.woff"},"Iranian
 
Sans":{"version":"1.000","ttf":"IranianSans\/irsans.ttf","eot":"IranianSans\/irsans.eot","woff":"IranianSans\/irsans.woff","variants":{"bold":"Iranian
 Sans Bold"}},"Iranian Sans 
Bold":{"version":"1.000","fontweight":"bold","ttf":"IranianSans\/irsansb.ttf","eot":"IranianSans\/irsansb.eot","woff":"IranianSans\/irsansb.woff"},"Iranian
 
Serif":{"version":"1.000","ttf":"IranianSerif\/irseri.ttf","eot":"IranianSerif\/irseri.eot","woff":"IranianSerif\/irseri.woff"},"Jomolhari":{"version":"0.003","eot":"Jomolhari\/Jomolhari.eot","ttf":"Jomolhari\/Jomolhari.ttf","woff":"Jomolhari\/Jomolhari.woff"},"Junicode":{"version":"2013-01-17","ttf":"Junicode\/Junicode.ttf","eot":"Junicode\/Junicode.eot","woff":"Junicode\/Junicode.woff","variants":{"bold":"Junicode
 Bold","bolditalic":"Junicode Bold Italic","italic":"Junicode 
Italic"}},"Junicode 
Bold":{"version":"2013-01-17","fontweight":"bold","ttf":"Junicode\/Junicode-Bold.ttf","eot":"Junicode\/Junicode-Bold.eot","woff":"Junicode\/Junicode-Bold.woff"},"Junicode
 Bold 
Italic":{"version":"2013-01-17","fontweight":"bold","fontstyle":"italic","ttf":"Junicode\/Junicode-BoldItalic.ttf","eot":"Junicode\/Junicode-BoldItalic.eot","woff":"Junicode\/Junicode-BoldItalic.woff"},"Junicode
 
Italic":{"version":"2013-01-17","fontstyle":"italic","ttf":"Junicode\/Junicode-Italic.ttf","eot":"Junicode\/Junicode-Italic.eot","woff":"Junicode\/Junicode-Italic.woff"},"KhmerOS":{"version":"1.10","eot":"KhmerOS\/KhmerOS.eot","ttf":"KhmerOS\/KhmerOS.ttf","woff":"KhmerOS\/KhmerOS.woff"},"KhmerOSbattambang":{"version":"1.10","eot":"KhmerOSbattambang\/KhmerOSbattambang.eot","ttf":"KhmerOSbattambang\/KhmerOSbattambang.ttf","woff":"KhmerOSbattambang\/KhmerOSbattambang.woff"},"Lateef":{"version":"1.001","ttf":"Lateef\/LateefRegOT.ttf","eot":"Lateef\/LateefRegOT.eot","woff":"Lateef\/LateefRegOT.woff"},"Linux
 
Libertine":{"version":"5.3.0","ttf":"LinuxLibertine\/LinLibertine_Rah.ttf","eot":"LinuxLibertine\/LinLibertine_Rah.eot","woff":"LinuxLibertine\/LinLibertine_Rah.woff","variants":{"bold":"Linux
 Libertine Bold","bolditalic":"Linux Libertine Bold Italic","italic":"Linux 
Libertine Italic"}},"Linux Libertine 
Bold":{"version":"5.3.0","fontweight":"bold","ttf":"LinuxLibertine\/LinLibertine_RBah.ttf","eot":"LinuxLibertine\/LinLibertine_RBah.eot","woff":"LinuxLibertine\/LinLibertine_RBah.woff"},"Linux
 Libertine Bold 
Italic":{"version":"5.3.0","fontweight":"bold","fontstyle":"italic","ttf":"LinuxLibertine\/LinLibertine_RBIah.ttf","eot":"LinuxLibertine\/LinLibertine_RBIah.eot","woff":"LinuxLibertine\/LinLibertine_RBIah.woff"},"Linux
 Libertine 
Italic":{"version":"5.3.0","fontstyle":"italic","ttf":"LinuxLibertine\/LinLibertine_RIah.ttf","eot":"LinuxLibertine\/LinLibertine_RIah.eot","woff":"LinuxLibertine\/LinLibertine_RIah.woff"},"Lohit
 
Assamese":{"version":"2.5.3","eot":"LohitAssamese\/Lohit-Assamese.eot","ttf":"LohitAssamese\/Lohit-Assamese.ttf","woff":"LohitAssamese\/Lohit-Assamese.woff"},"Lohit
 
Bengali":{"version":"2.5.3","eot":"LohitBengali\/Lohit-Bengali.eot","ttf":"LohitBengali\/Lohit-Bengali.ttf","woff":"LohitBengali\/Lohit-Bengali.woff"},"Lohit
 
Devanagari":{"version":"2.5.3","eot":"LohitDevanagari\/Lohit-Devanagari.eot","ttf":"LohitDevanagari\/Lohit-Devanagari.ttf","woff":"LohitDevanagari\/Lohit-Devanagari.woff"},"Lohit
 
Gujarati":{"version":"2.5.3","eot":"LohitGujarati\/Lohit-Gujarati.eot","ttf":"LohitGujarati\/Lohit-Gujarati.ttf","woff":"LohitGujarati\/Lohit-Gujarati.woff"},"Lohit
 
Kannada":{"version":"2.5.3","eot":"LohitKannada\/Lohit-Kannada.eot","ttf":"LohitKannada\/Lohit-Kannada.ttf","woff":"LohitKannada\/Lohit-Kannada.woff"},"Lohit
 
Marathi":{"version":"2.5.3","eot":"LohitMarathi\/Lohit-Marathi.eot","ttf":"LohitMarathi\/Lohit-Marathi.ttf","woff":"LohitMarathi\/Lohit-Marathi.woff"},"Lohit
 
Nepali":{"version":"2.5.3","eot":"LohitNepali\/Lohit-Nepali.eot","ttf":"LohitNepali\/Lohit-Nepali.ttf","woff":"LohitNepali\/Lohit-Nepali.woff"},"Lohit
 
Odia":{"version":"2.5.5","eot":"LohitOdia\/Lohit-Odia.eot","ttf":"LohitOdia\/Lohit-Odia.ttf","woff":"LohitOdia\/Lohit-Odia.woff"},"Lohit
 
Punjabi":{"version":"2.5.3","eot":"LohitPunjabi\/Lohit-Punjabi.eot","ttf":"LohitPunjabi\/Lohit-Punjabi.ttf","woff":"LohitPunjabi\/Lohit-Punjabi.woff"},"Lohit
 
Tamil":{"version":"2.5.3","eot":"LohitTamil\/Lohit-Tamil.eot","ttf":"LohitTamil\/Lohit-Tamil.ttf","woff":"LohitTamil\/Lohit-Tamil.woff"},"Lohit
 Tamil 
Classical":{"version":"2.5.3","eot":"LohitTamilClassical\/Lohit-Tamil-Classical.eot","ttf":"LohitTamilClassical\/Lohit-Tamil-Classical.ttf","woff":"LohitTamilClassical\/Lohit-Tamil-Classical.woff"},"Lohit
 
Telugu":{"version":"2.5.3","eot":"LohitTelugu\/Lohit-Telugu.eot","ttf":"LohitTelugu\/Lohit-Telugu.ttf","woff":"LohitTelugu\/Lohit-Telugu.woff"},"Madan":{"version":"2","eot":"madan\/madan.eot","ttf":"madan\/madan.ttf","woff":"madan\/madan.woff"},"Meera":{"version":"6.0","eot":"Meera\/Meera.eot","ttf":"Meera\/Meera.ttf","woff":"Meera\/Meera.woff"},"Miriam
 
CLM":{"version":"0.130","eot":"MiriamCLM\/MiriamCLM-Book.eot","ttf":"MiriamCLM\/MiriamCLM-Book.ttf","woff":"MiriamCLM\/MiriamCLM-Book.woff"},"Myanmar3":{"version":"3.0","eot":"Myanmar3\/Myanmar3.eot","ttf":"Myanmar3\/Myanmar3.ttf","woff":"Myanmar3\/Myanmar3.woff"},"NafeesWeb":{"version":"1.2","eot":"NafeesWeb\/NafeesWeb.eot","ttf":"NafeesWeb\/NafeesWeb.ttf","woff":"NafeesWeb\/NafeesWeb.woff"},"Nazli":{"version":"0.4","ttf":"Nazli\/Nazli.ttf","eot":"Nazli\/Nazli.eot","woff":"Nazli\/Nazli.woff","variants":{"bold":"Nazli
 Bold"}},"Nazli 
Bold":{"version":"0.4","fontweight":"bold","ttf":"Nazli\/Nazli-bold.ttf","eot":"Nazli\/Nazli-bold.eot","woff":"Nazli\/Nazli-bold.woff"},"Nokora
 
Bold":{"version":"1.10","fontweight":"bold","eot":"Nokora\/Nokora-Regular.eot","woff":"Nokora\/Nokora-Regular.woff","ttf":"Nokora\/Nokora-Regular.ttf"},"Nokora
 
Regular":{"version":"1.10","ttf":"Nokora\/Nokora-Regular.ttf","eot":"Nokora\/Nokora-Regular.eot","woff":"Nokora\/Nokora-Regular.woff","variants":{"bold":"Nokora
 Bold"}},"Nuosu 
SIL":{"version":"2.1.1","ttf":"NuosuSIL\/NuosuSIL.ttf","eot":"NuosuSIL\/NuosuSIL.eot","woff":"NuosuSIL\/NuosuSIL.woff"},"OpenDyslexic":{"version":"2.1.0+git03aa683","ttf":"OpenDyslexic\/OpenDyslexic-Regular.ttf","eot":"OpenDyslexic\/OpenDyslexic-Regular.eot","woff":"OpenDyslexic\/OpenDyslexic-Regular.woff","variants":{"bold":"OpenDyslexic
 Bold","bolditalic":"OpenDyslexic BoldItalic","italic":"OpenDyslexic 
Italic"}},"OpenDyslexic 
Bold":{"version":"2.1.0+git03aa683","fontweight":"bold","ttf":"OpenDyslexic\/OpenDyslexic-Bold.ttf","eot":"OpenDyslexic\/OpenDyslexic-Bold.eot","woff":"OpenDyslexic\/OpenDyslexic-Bold.woff"},"OpenDyslexic
 
BoldItalic":{"version":"2.1.0+git03aa683","fontweight":"bold","fontstyle":"italic","ttf":"OpenDyslexic\/OpenDyslexic-BoldItalic.ttf","eot":"OpenDyslexic\/OpenDyslexic-BoldItalic.eot","woff":"OpenDyslexic\/OpenDyslexic-BoldItalic.woff"},"OpenDyslexic
 
Italic":{"version":"2.1.0+git03aa683","fontstyle":"italic","ttf":"OpenDyslexic\/OpenDyslexic-Italic.ttf","eot":"OpenDyslexic\/OpenDyslexic-Italic.eot","woff":"OpenDyslexic\/OpenDyslexic-Italic.woff"},"OskiEast":{"version":"2.200","ttf":"OskiEast\/oskie.ttf","eot":"OskiEast\/oskie.eot","woff":"OskiEast\/oskie.woff","variants":{"bold":"OskiEast
 Bold","bolditalic":"OskiEast Bold Italic","italic":"OskiEast 
Italic"}},"OskiEast 
Bold":{"version":"2.200","fontweight":"bold","ttf":"OskiEast\/oskiebold.ttf","eot":"OskiEast\/oskiebold.eot","woff":"OskiEast\/oskiebold.woff"},"OskiEast
 Bold 
Italic":{"version":"2.200","fontweight":"bold","fontstyle":"italic","ttf":"OskiEast\/oskiebolditalic.ttf","eot":"OskiEast\/oskiebolditalic.eot","woff":"OskiEast\/oskiebolditalic.woff"},"OskiEast
 
Italic":{"version":"2.200","fontstyle":"italic","ttf":"OskiEast\/oskieitalic.ttf","eot":"OskiEast\/oskieitalic.eot","woff":"OskiEast\/oskieitalic.woff"},"Padauk":{"version":"2.8","eot":"Padauk\/Padauk-Regular.eot","ttf":"Padauk\/Padauk-Regular.ttf","woff":"Padauk\/Padauk-Regular.woff"},"Pagul":{"version":"1.0","eot":"Pagul\/Pagul.eot","ttf":"Pagul\/Pagul.ttf","woff":"Pagul\/Pagul.woff"},"Pangururan":{"version":"1.0.5","ttf":"Pangururan\/Pangururan.ttf","eot":"Pangururan\/Pangururan.eot","woff":"Pangururan\/Pangururan.woff"},"Phetsarath":{"version":"1.01","ttf":"Phetsarath\/Phetsarath-Regular.ttf","eot":"Phetsarath\/Phetsarath-Regular.eot","woff":"Phetsarath\/Phetsarath-Regular.woff","variants":{"bold":"Phetsarath-Bold"}},"Phetsarath-Bold":{"version":"1.01","fontweight":"bold","ttf":"Phetsarath\/Phetsarath-Bold.ttf","eot":"Phetsarath\/Phetsarath-Bold.eot","woff":"Phetsarath\/Phetsarath-Bold.woff"},"RailwaySans":{"version":"2013-12-15","ttf":"RailwaySans\/RailwaySans.ttf","eot":"RailwaySans\/RailwaySans.eot","woff":"RailwaySans\/RailwaySans.woff"},"Saab":{"version":"0.91","eot":"Saab\/Saab.eot","ttf":"Saab\/Saab.ttf","woff":"Saab\/Saab.woff"},"Saweri":{"version":"2","eot":"saweri\/saweri.eot","ttf":"saweri\/saweri.ttf","woff":"saweri\/saweri.woff"},"Scheherazade":{"version":"2.010","ttf":"Scheherazade\/Scheherazade-R.ttf","eot":"Scheherazade\/Scheherazade-R.eot","woff":"Scheherazade\/Scheherazade-R.woff"},"SertoUrhoy":{"version":"1.20","eot":"SertoUrhoy\/SyrCOMUrhoy.eot","ttf":"SertoUrhoy\/SyrCOMUrhoy.ttf","woff":"SertoUrhoy\/SyrCOMUrhoy.woff"},"Shapour":{"version":"001.000","eot":"Shapour\/Shapour.eot","ttf":"Shapour\/Shapour.ttf","woff":"Shapour\/Shapour.woff"},"Siyam
 
Rupali":{"version":"1.070","eot":"SiyamRupali\/SiyamRupali.eot","ttf":"SiyamRupali\/SiyamRupali.ttf","woff":"SiyamRupali\/SiyamRupali.woff"},"Skeirs
 II":{"version":"4.0","ttf":"Skeirs\/Skeirs II.ttf","eot":"Skeirs\/Skeirs 
II.eot","woff":"Skeirs\/Skeirs 
II.woff"},"Suwannaphum":{"version":"2.00","ttf":"Suwannaphum\/Suwannaphum.ttf","eot":"Suwannaphum\/Suwannaphum.eot","woff":"Suwannaphum\/Suwannaphum.woff"},"Taamey
 Frank 
CLM":{"version":"0.110","eot":"TaameyFrankCLM\/TaameyFrankCLM.eot","ttf":"TaameyFrankCLM\/TaameyFrankCLM.ttf","woff":"TaameyFrankCLM\/TaameyFrankCLM.woff"},"TharLon":{"version":"1.003","eot":"TharLon\/TharLon.eot","ttf":"TharLon\/TharLon.ttf","woff":"TharLon\/TharLon.woff"},"Thendral":{"version":"1.0","eot":"Thendral\/ThendralUni.eot","ttf":"Thendral\/ThendralUni.ttf","woff":"Thendral\/ThendralUni.woff"},"Thenee":{"version":"1.0","eot":"Thenee\/TheneeUni.eot","ttf":"Thenee\/TheneeUni.ttf","woff":"Thenee\/TheneeUni.woff"},"Tuladha
 
Jejeg":{"version":"2.0.1","eot":"TuladhaJejeg\/TuladhaJejeg_gr.eot","ttf":"TuladhaJejeg\/TuladhaJejeg_gr.ttf","woff":"TuladhaJejeg\/TuladhaJejeg_gr.woff"},"UnifrakturMaguntia":{"version":"2014-07-06","ttf":"UnifrakturMaguntia\/UnifrakturMaguntia.ttf","eot":"UnifrakturMaguntia\/UnifrakturMaguntia.eot","woff":"UnifrakturMaguntia\/UnifrakturMaguntia.woff"},"Utkal":{"version":"0.13","eot":"utkal\/utkal.eot","ttf":"utkal\/utkal.ttf","woff":"utkal\/utkal.woff"},"lklug":{"version":"0.6","ttf":"lklug\/lklug.ttf","eot":"lklug\/lklug.eot","woff":"lklug\/lklug.woff"}}};
+       $.webfonts.repository = 
{"base":"..\/data\/fontrepo\/fonts\/","languages":{"adx":["Jomolhari"],"af":["system","OpenDyslexic"],"ahr":["Lohit
 
Marathi"],"akk":["Akkadian"],"am":["AbyssinicaSIL"],"ang":["system","Junicode"],"ar":["system","Amiri"],"arb":["system","Amiri"],"arc":["Estrangelo
 Edessa","East Syriac Adiabene","SertoUrhoy"],"as":["system","Lohit 
Assamese"],"bbc":["system","Pangururan"],"bh":["Lohit 
Devanagari"],"bho":["Lohit 
Devanagari"],"bk":["system","OpenDyslexic"],"bn":["Siyam Rupali","Lohit 
Bengali"],"bo":["Jomolhari"],"bod":["Jomolhari"],"bpy":["Siyam Rupali","Lohit 
Bengali"],"btk":["system","Pangururan"],"bug":["Saweri"],"ca":["system","OpenDyslexic"],"cdo":["system","CharisSIL"],"ckb":["system","Lateef","Scheherazade","Amiri"],"cr":["OskiEast"],"cy":["system","ComicNeue","OpenDyslexic"],"da":["system","OpenDyslexic"],"de":["system","OpenDyslexic"],"dre":["Jomolhari"],"dv":["FreeFont-Thaana"],"dz":["Jomolhari"],"en":["system","ComicNeue","OpenDyslexic"],"es":["system","OpenDyslexic"],"et":["system","OpenDyslexic"],"fa":["system","Iranian
 Sans","Iranian 
Serif","Lateef","Nazli","Scheherazade"],"fi":["system","OpenDyslexic"],"fo":["system","OpenDyslexic"],"fr":["system","OpenDyslexic"],"fy":["system","OpenDyslexic"],"ga":["system","OpenDyslexic"],"gd":["system","OpenDyslexic"],"gez":["AbyssinicaSIL"],"gl":["system","OpenDyslexic"],"goe":["Jomolhari"],"gom":["Lohit
 Devanagari"],"got":["system","Skeirs 
II"],"grc":["system","GentiumPlus"],"gu":["Lohit Gujarati"],"hbo":["Taamey 
Frank CLM","Alef"],"he":["system","Alef","Miriam CLM","Taamey Frank 
CLM"],"hi":["Lohit 
Devanagari"],"hu":["system","OpenDyslexic"],"hut":["Jomolhari"],"id":["system","ComicNeue","OpenDyslexic"],"ii":["Nuosu
 
SIL"],"is":["system","OpenDyslexic"],"it":["system","OpenDyslexic"],"iu":["system","OskiEast"],"jv":["system","Tuladha
 Jejeg"],"jv-java":["Tuladha 
Jejeg"],"kbg":["Jomolhari"],"khg":["Jomolhari"],"km":["KhmerOSbattambang","Hanuman","KhmerOS","Nokora
 Regular","Suwannaphum"],"kn":["Lohit Kannada","Gubbi"],"kok":["Lohit 
Devanagari"],"kte":["Jomolhari"],"lb":["system","OpenDyslexic"],"lbj":["Jomolhari"],"lhm":["Jomolhari"],"li":["system","OpenDyslexic"],"lo":["Phetsarath"],"loy":["Jomolhari"],"luk":["Jomolhari"],"lya":["Jomolhari"],"mai":["Lohit
 
Devanagari"],"mak":["Saweri"],"mi":["system","OpenDyslexic"],"ml":["system","AnjaliOldLipi","Meera"],"mr":["Lohit
 
Marathi"],"ms":["system","ComicNeue","OpenDyslexic"],"muk":["Jomolhari"],"mul":["system","Autonym"],"my":["TharLon","Myanmar3","Padauk"],"nan":["system","CharisSIL","Doulos
 SIL"],"nb":["system","OpenDyslexic"],"ne":["Lohit 
Nepali","Madan"],"nl":["system","ComicNeue","OpenDyslexic"],"oc":["system","OpenDyslexic"],"ola":["Jomolhari"],"or":["Lohit
 Odia","Utkal"],"otb":["Jomolhari"],"pa":["Lohit 
Punjabi","Saab"],"pal":["Shapour"],"peo":["Artaxerxes"],"pl":["system","OpenDyslexic"],"pt":["system","OpenDyslexic"],"sa":["Lohit
 
Devanagari"],"saz":["Pagul"],"si":["system","lklug"],"sq":["system","OpenDyslexic"],"sux":["Akkadian"],"sv":["system","OpenDyslexic"],"sw":["system","ComicNeue","OpenDyslexic"],"syc":["Estrangelo
 Edessa","East Syriac Adiabene","SertoUrhoy"],"ta":["system","Lohit 
Tamil","Lohit Tamil 
Classical","Thendral","Thenee"],"tcn":["Jomolhari"],"tcy":["Lohit 
Kannada","Gubbi"],"te":["Lohit 
Telugu"],"thw":["Jomolhari"],"ti":["AbyssinicaSIL"],"tig":["AbyssinicaSIL"],"tl":["system","ComicNeue","OpenDyslexic"],"tr":["system","OpenDyslexic"],"tsk":["Jomolhari"],"ur":["system","Hussaini
 
Nastaleeq","NafeesWeb"],"wa":["system","OpenDyslexic"],"xct":["Jomolhari"],"yi":["system","Alef"],"zau":["Jomolhari"]},"fonts":{"AbyssinicaSIL":{"version":"1.500","eot":"AbyssinicaSIL\/AbyssinicaSIL-R.eot","ttf":"AbyssinicaSIL\/AbyssinicaSIL-R.ttf","woff":"AbyssinicaSIL\/AbyssinicaSIL-R.woff"},"Akkadian":{"version":"2.56","eot":"Akkadian\/Akkadian.eot","ttf":"Akkadian\/Akkadian.ttf","woff":"Akkadian\/Akkadian.woff"},"Alef":{"version":"1.0","ttf":"Alef\/Alef-Regular.ttf","eot":"Alef\/Alef-Regular.eot","woff":"Alef\/Alef-Regular.woff","variants":{"bold":"Alef
 Bold"}},"Alef 
Bold":{"version":"1.0","fontweight":"bold","ttf":"Alef\/Alef-Bold.ttf","eot":"Alef\/Alef-Bold.eot","woff":"Alef\/Alef-Bold.woff"},"Amiri":{"version":"0.107","ttf":"amiri\/amiri-regular.ttf","eot":"amiri\/amiri-regular.eot","woff":"amiri\/amiri-regular.woff","variants":{"bold":"Amiri
 Bold","bolditalic":"Amiri Bold Italic","italic":"Amiri Italic"}},"Amiri 
Bold":{"version":"0.107","fontweight":"bold","ttf":"amiri\/amiri-bold.ttf","eot":"amiri\/amiri-bold.eot","woff":"amiri\/amiri-bold.woff"},"Amiri
 Bold 
Italic":{"version":"0.107","fontweight":"bold","fontstyle":"italic","ttf":"amiri\/amiri-boldslanted.ttf","eot":"amiri\/amiri-boldslanted.eot","woff":"amiri\/amiri-boldslanted.woff"},"Amiri
 
Italic":{"version":"0.107","fontstyle":"italic","ttf":"amiri\/amiri-slanted.ttf","eot":"amiri\/amiri-slanted.eot","woff":"amiri\/amiri-slanted.woff"},"AnjaliOldLipi":{"version":".0.730","eot":"AnjaliOldLipi\/AnjaliOldLipi.eot","ttf":"AnjaliOldLipi\/AnjaliOldLipi.ttf","woff":"AnjaliOldLipi\/AnjaliOldLipi.woff"},"Artaxerxes":{"version":"1.400","eot":"Artaxerxes\/Artaxerxes.eot","ttf":"Artaxerxes\/Artaxerxes.ttf","woff":"Artaxerxes\/Artaxerxes.woff"},"Autonym":{"version":"20131205","eot":"Autonym\/Autonym.eot","ttf":"Autonym\/Autonym.ttf","woff":"Autonym\/Autonym.woff"},"CharisSIL":{"version":"4.011","eot":"CharisSIL\/CharisSIL-R.eot","ttf":"CharisSIL\/CharisSIL-R.ttf","woff":"CharisSIL\/CharisSIL-R.woff"},"ComicNeue":{"version":"1.1","ttf":"ComicNeue\/ComicNeue-Regular.ttf","eot":"ComicNeue\/ComicNeue-Regular.eot","woff":"ComicNeue\/ComicNeue-Regular.woff","variants":{"bold":"ComicNeue
 Bold","italic":"ComicNeue Oblique"}},"ComicNeue 
Bold":{"version":"1.1","fontweight":"bold","ttf":"ComicNeue\/ComicNeue-Bold.ttf","eot":"ComicNeue\/ComicNeue-Bold.eot","woff":"ComicNeue\/ComicNeue-Bold.woff"},"ComicNeue
 
Oblique":{"version":"1.1","fontstyle":"italic","ttf":"ComicNeue\/ComicNeue-Regular-Oblique.ttf","eot":"ComicNeue\/ComicNeue-Regular-Oblique.eot","woff":"ComicNeue\/ComicNeue-Regular-Oblique.woff"},"Doulos
 
SIL":{"version":"4.112","eot":"DoulosSIL\/DoulosSIL-R.eot","ttf":"DoulosSIL\/DoulosSIL-R.ttf","woff":"DoulosSIL\/DoulosSIL-R.woff"},"East
 Syriac 
Adiabene":{"version":"1.21","eot":"EastSyriacAdiabene\/SyrCOMAdiabene.eot","ttf":"EastSyriacAdiabene\/SyrCOMAdiabene.ttf","woff":"EastSyriacAdiabene\/SyrCOMAdiabene.woff"},"Estrangelo
 
Edessa":{"version":"1.21","eot":"EstrangeloEdessa\/SyrCOMEdessa.eot","ttf":"EstrangeloEdessa\/SyrCOMEdessa.ttf","woff":"EstrangeloEdessa\/SyrCOMEdessa.woff"},"FreeFont-Thaana":{"version":"1.0","ttf":"FreeFontThana\/FreeFont-Thaana.ttf","eot":"FreeFontThana\/FreeFont-Thaana.eot","woff":"FreeFontThana\/FreeFont-Thaana.woff","variants":{"bold":"FreeFont-Thaana
 Bold"}},"FreeFont-Thaana 
Bold":{"version":"1.0","fontweight":"bold","ttf":"FreeFontThana\/FreeFont-Thaana-Bold.ttf","eot":"FreeFontThana\/FreeFont-Thaana-Bold.eot","woff":"FreeFontThana\/FreeFont-Thaana-Bold.woff"},"GentiumPlus":{"version":"1.510","ttf":"GentiumPlus\/GentiumPlus-R.ttf","eot":"GentiumPlus\/GentiumPlus-R.eot","woff":"GentiumPlus\/GentiumPlus-R.woff","variants":{"italic":"GentiumPlus
 Italic"}},"GentiumPlus 
Italic":{"version":"1.510","fontstyle":"italic","ttf":"GentiumPlus\/GentiumPlus-I.ttf","eot":"GentiumPlus\/GentiumPlus-I.eot","woff":"GentiumPlus\/GentiumPlus-I.woff"},"Gubbi":{"version":"1.3","eot":"Gubbi\/Gubbi.eot","ttf":"Gubbi\/Gubbi.ttf","woff":"Gubbi\/Gubbi.woff"},"Hanuman":{"version":"1.0","ttf":"Hanuman\/Hanuman.ttf","eot":"Hanuman\/Hanuman.eot","woff":"Hanuman\/Hanuman.woff","variants":{"bold":"Hanuman
 Bold"}},"Hanuman 
Bold":{"version":"1.0","fontweight":"bold","ttf":"Hanuman\/Hanumanb.ttf","eot":"Hanuman\/Hanumanb.eot","woff":"Hanuman\/Hanumanb.woff"},"Hussaini
 
Nastaleeq":{"version":"0.01","eot":"HussainiNastaleeq\/hussaini-nastaleeq.eot","ttf":"HussainiNastaleeq\/hussaini-nastaleeq.ttf","woff":"HussainiNastaleeq\/hussaini-nastaleeq.woff"},"Iranian
 
Sans":{"version":"1.000","ttf":"IranianSans\/irsans.ttf","eot":"IranianSans\/irsans.eot","woff":"IranianSans\/irsans.woff","variants":{"bold":"Iranian
 Sans Bold"}},"Iranian Sans 
Bold":{"version":"1.000","fontweight":"bold","ttf":"IranianSans\/irsansb.ttf","eot":"IranianSans\/irsansb.eot","woff":"IranianSans\/irsansb.woff"},"Iranian
 
Serif":{"version":"1.000","ttf":"IranianSerif\/irseri.ttf","eot":"IranianSerif\/irseri.eot","woff":"IranianSerif\/irseri.woff"},"Jomolhari":{"version":"0.003","eot":"Jomolhari\/Jomolhari.eot","ttf":"Jomolhari\/Jomolhari.ttf","woff":"Jomolhari\/Jomolhari.woff"},"Junicode":{"version":"2013-01-17","ttf":"Junicode\/Junicode.ttf","eot":"Junicode\/Junicode.eot","woff":"Junicode\/Junicode.woff","variants":{"bold":"Junicode
 Bold","bolditalic":"Junicode Bold Italic","italic":"Junicode 
Italic"}},"Junicode 
Bold":{"version":"2013-01-17","fontweight":"bold","ttf":"Junicode\/Junicode-Bold.ttf","eot":"Junicode\/Junicode-Bold.eot","woff":"Junicode\/Junicode-Bold.woff"},"Junicode
 Bold 
Italic":{"version":"2013-01-17","fontweight":"bold","fontstyle":"italic","ttf":"Junicode\/Junicode-BoldItalic.ttf","eot":"Junicode\/Junicode-BoldItalic.eot","woff":"Junicode\/Junicode-BoldItalic.woff"},"Junicode
 
Italic":{"version":"2013-01-17","fontstyle":"italic","ttf":"Junicode\/Junicode-Italic.ttf","eot":"Junicode\/Junicode-Italic.eot","woff":"Junicode\/Junicode-Italic.woff"},"KhmerOS":{"version":"1.10","eot":"KhmerOS\/KhmerOS.eot","ttf":"KhmerOS\/KhmerOS.ttf","woff":"KhmerOS\/KhmerOS.woff"},"KhmerOSbattambang":{"version":"1.10","eot":"KhmerOSbattambang\/KhmerOSbattambang.eot","ttf":"KhmerOSbattambang\/KhmerOSbattambang.ttf","woff":"KhmerOSbattambang\/KhmerOSbattambang.woff"},"Lateef":{"version":"1.001","ttf":"Lateef\/LateefRegOT.ttf","eot":"Lateef\/LateefRegOT.eot","woff":"Lateef\/LateefRegOT.woff"},"Linux
 
Libertine":{"version":"5.3.0","ttf":"LinuxLibertine\/LinLibertine_Rah.ttf","eot":"LinuxLibertine\/LinLibertine_Rah.eot","woff":"LinuxLibertine\/LinLibertine_Rah.woff","variants":{"bold":"Linux
 Libertine Bold","bolditalic":"Linux Libertine Bold Italic","italic":"Linux 
Libertine Italic"}},"Linux Libertine 
Bold":{"version":"5.3.0","fontweight":"bold","ttf":"LinuxLibertine\/LinLibertine_RBah.ttf","eot":"LinuxLibertine\/LinLibertine_RBah.eot","woff":"LinuxLibertine\/LinLibertine_RBah.woff"},"Linux
 Libertine Bold 
Italic":{"version":"5.3.0","fontweight":"bold","fontstyle":"italic","ttf":"LinuxLibertine\/LinLibertine_RBIah.ttf","eot":"LinuxLibertine\/LinLibertine_RBIah.eot","woff":"LinuxLibertine\/LinLibertine_RBIah.woff"},"Linux
 Libertine 
Italic":{"version":"5.3.0","fontstyle":"italic","ttf":"LinuxLibertine\/LinLibertine_RIah.ttf","eot":"LinuxLibertine\/LinLibertine_RIah.eot","woff":"LinuxLibertine\/LinLibertine_RIah.woff"},"Lohit
 
Assamese":{"version":"2.5.3","eot":"LohitAssamese\/Lohit-Assamese.eot","ttf":"LohitAssamese\/Lohit-Assamese.ttf","woff":"LohitAssamese\/Lohit-Assamese.woff"},"Lohit
 
Bengali":{"version":"2.5.3","eot":"LohitBengali\/Lohit-Bengali.eot","ttf":"LohitBengali\/Lohit-Bengali.ttf","woff":"LohitBengali\/Lohit-Bengali.woff"},"Lohit
 
Devanagari":{"version":"2.5.3","eot":"LohitDevanagari\/Lohit-Devanagari.eot","ttf":"LohitDevanagari\/Lohit-Devanagari.ttf","woff":"LohitDevanagari\/Lohit-Devanagari.woff"},"Lohit
 
Gujarati":{"version":"2.5.3","eot":"LohitGujarati\/Lohit-Gujarati.eot","ttf":"LohitGujarati\/Lohit-Gujarati.ttf","woff":"LohitGujarati\/Lohit-Gujarati.woff"},"Lohit
 
Kannada":{"version":"2.5.3","eot":"LohitKannada\/Lohit-Kannada.eot","ttf":"LohitKannada\/Lohit-Kannada.ttf","woff":"LohitKannada\/Lohit-Kannada.woff"},"Lohit
 
Marathi":{"version":"2.5.3","eot":"LohitMarathi\/Lohit-Marathi.eot","ttf":"LohitMarathi\/Lohit-Marathi.ttf","woff":"LohitMarathi\/Lohit-Marathi.woff"},"Lohit
 
Nepali":{"version":"2.5.3","eot":"LohitNepali\/Lohit-Nepali.eot","ttf":"LohitNepali\/Lohit-Nepali.ttf","woff":"LohitNepali\/Lohit-Nepali.woff"},"Lohit
 
Odia":{"version":"2.5.5","eot":"LohitOdia\/Lohit-Odia.eot","ttf":"LohitOdia\/Lohit-Odia.ttf","woff":"LohitOdia\/Lohit-Odia.woff"},"Lohit
 
Punjabi":{"version":"2.5.3","eot":"LohitPunjabi\/Lohit-Punjabi.eot","ttf":"LohitPunjabi\/Lohit-Punjabi.ttf","woff":"LohitPunjabi\/Lohit-Punjabi.woff"},"Lohit
 
Tamil":{"version":"2.5.3","eot":"LohitTamil\/Lohit-Tamil.eot","ttf":"LohitTamil\/Lohit-Tamil.ttf","woff":"LohitTamil\/Lohit-Tamil.woff"},"Lohit
 Tamil 
Classical":{"version":"2.5.3","eot":"LohitTamilClassical\/Lohit-Tamil-Classical.eot","ttf":"LohitTamilClassical\/Lohit-Tamil-Classical.ttf","woff":"LohitTamilClassical\/Lohit-Tamil-Classical.woff"},"Lohit
 
Telugu":{"version":"2.5.3","eot":"LohitTelugu\/Lohit-Telugu.eot","ttf":"LohitTelugu\/Lohit-Telugu.ttf","woff":"LohitTelugu\/Lohit-Telugu.woff"},"Madan":{"version":"2","eot":"madan\/madan.eot","ttf":"madan\/madan.ttf","woff":"madan\/madan.woff"},"Meera":{"version":"6.0","eot":"Meera\/Meera.eot","ttf":"Meera\/Meera.ttf","woff":"Meera\/Meera.woff"},"Miriam
 
CLM":{"version":"0.130","eot":"MiriamCLM\/MiriamCLM-Book.eot","ttf":"MiriamCLM\/MiriamCLM-Book.ttf","woff":"MiriamCLM\/MiriamCLM-Book.woff"},"Myanmar3":{"version":"3.0","eot":"Myanmar3\/Myanmar3.eot","ttf":"Myanmar3\/Myanmar3.ttf","woff":"Myanmar3\/Myanmar3.woff"},"NafeesWeb":{"version":"1.2","eot":"NafeesWeb\/NafeesWeb.eot","ttf":"NafeesWeb\/NafeesWeb.ttf","woff":"NafeesWeb\/NafeesWeb.woff"},"Nazli":{"version":"0.4","ttf":"Nazli\/Nazli.ttf","eot":"Nazli\/Nazli.eot","woff":"Nazli\/Nazli.woff","variants":{"bold":"Nazli
 Bold"}},"Nazli 
Bold":{"version":"0.4","fontweight":"bold","ttf":"Nazli\/Nazli-bold.ttf","eot":"Nazli\/Nazli-bold.eot","woff":"Nazli\/Nazli-bold.woff"},"Nokora
 
Bold":{"version":"1.10","fontweight":"bold","eot":"Nokora\/Nokora-Regular.eot","woff":"Nokora\/Nokora-Regular.woff","ttf":"Nokora\/Nokora-Regular.ttf"},"Nokora
 
Regular":{"version":"1.10","ttf":"Nokora\/Nokora-Regular.ttf","eot":"Nokora\/Nokora-Regular.eot","woff":"Nokora\/Nokora-Regular.woff","variants":{"bold":"Nokora
 Bold"}},"Nuosu 
SIL":{"version":"2.1.1","ttf":"NuosuSIL\/NuosuSIL.ttf","eot":"NuosuSIL\/NuosuSIL.eot","woff":"NuosuSIL\/NuosuSIL.woff"},"OpenDyslexic":{"version":"2.1.0+git03aa683","ttf":"OpenDyslexic\/OpenDyslexic-Regular.ttf","eot":"OpenDyslexic\/OpenDyslexic-Regular.eot","woff":"OpenDyslexic\/OpenDyslexic-Regular.woff","variants":{"bold":"OpenDyslexic
 Bold","bolditalic":"OpenDyslexic BoldItalic","italic":"OpenDyslexic 
Italic"}},"OpenDyslexic 
Bold":{"version":"2.1.0+git03aa683","fontweight":"bold","ttf":"OpenDyslexic\/OpenDyslexic-Bold.ttf","eot":"OpenDyslexic\/OpenDyslexic-Bold.eot","woff":"OpenDyslexic\/OpenDyslexic-Bold.woff"},"OpenDyslexic
 
BoldItalic":{"version":"2.1.0+git03aa683","fontweight":"bold","fontstyle":"italic","ttf":"OpenDyslexic\/OpenDyslexic-BoldItalic.ttf","eot":"OpenDyslexic\/OpenDyslexic-BoldItalic.eot","woff":"OpenDyslexic\/OpenDyslexic-BoldItalic.woff"},"OpenDyslexic
 
Italic":{"version":"2.1.0+git03aa683","fontstyle":"italic","ttf":"OpenDyslexic\/OpenDyslexic-Italic.ttf","eot":"OpenDyslexic\/OpenDyslexic-Italic.eot","woff":"OpenDyslexic\/OpenDyslexic-Italic.woff"},"OskiEast":{"version":"2.200","ttf":"OskiEast\/oskie.ttf","eot":"OskiEast\/oskie.eot","woff":"OskiEast\/oskie.woff","variants":{"bold":"OskiEast
 Bold","bolditalic":"OskiEast Bold Italic","italic":"OskiEast 
Italic"}},"OskiEast 
Bold":{"version":"2.200","fontweight":"bold","ttf":"OskiEast\/oskiebold.ttf","eot":"OskiEast\/oskiebold.eot","woff":"OskiEast\/oskiebold.woff"},"OskiEast
 Bold 
Italic":{"version":"2.200","fontweight":"bold","fontstyle":"italic","ttf":"OskiEast\/oskiebolditalic.ttf","eot":"OskiEast\/oskiebolditalic.eot","woff":"OskiEast\/oskiebolditalic.woff"},"OskiEast
 
Italic":{"version":"2.200","fontstyle":"italic","ttf":"OskiEast\/oskieitalic.ttf","eot":"OskiEast\/oskieitalic.eot","woff":"OskiEast\/oskieitalic.woff"},"Padauk":{"version":"2.8","eot":"Padauk\/Padauk-Regular.eot","ttf":"Padauk\/Padauk-Regular.ttf","woff":"Padauk\/Padauk-Regular.woff"},"Pagul":{"version":"1.0","eot":"Pagul\/Pagul.eot","ttf":"Pagul\/Pagul.ttf","woff":"Pagul\/Pagul.woff"},"Pangururan":{"version":"1.0.5","ttf":"Pangururan\/Pangururan.ttf","eot":"Pangururan\/Pangururan.eot","woff":"Pangururan\/Pangururan.woff"},"Phetsarath":{"version":"1.01","ttf":"Phetsarath\/Phetsarath-Regular.ttf","eot":"Phetsarath\/Phetsarath-Regular.eot","woff":"Phetsarath\/Phetsarath-Regular.woff","variants":{"bold":"Phetsarath-Bold"}},"Phetsarath-Bold":{"version":"1.01","fontweight":"bold","ttf":"Phetsarath\/Phetsarath-Bold.ttf","eot":"Phetsarath\/Phetsarath-Bold.eot","woff":"Phetsarath\/Phetsarath-Bold.woff"},"RailwaySans":{"version":"2013-12-15","ttf":"RailwaySans\/RailwaySans.ttf","eot":"RailwaySans\/RailwaySans.eot","woff":"RailwaySans\/RailwaySans.woff"},"Saab":{"version":"0.91","eot":"Saab\/Saab.eot","ttf":"Saab\/Saab.ttf","woff":"Saab\/Saab.woff"},"Saweri":{"version":"2","eot":"saweri\/saweri.eot","ttf":"saweri\/saweri.ttf","woff":"saweri\/saweri.woff"},"Scheherazade":{"version":"2.010","ttf":"Scheherazade\/Scheherazade-R.ttf","eot":"Scheherazade\/Scheherazade-R.eot","woff":"Scheherazade\/Scheherazade-R.woff"},"SertoUrhoy":{"version":"1.20","eot":"SertoUrhoy\/SyrCOMUrhoy.eot","ttf":"SertoUrhoy\/SyrCOMUrhoy.ttf","woff":"SertoUrhoy\/SyrCOMUrhoy.woff"},"Shapour":{"version":"001.000","eot":"Shapour\/Shapour.eot","ttf":"Shapour\/Shapour.ttf","woff":"Shapour\/Shapour.woff"},"Siyam
 
Rupali":{"version":"1.070","eot":"SiyamRupali\/SiyamRupali.eot","ttf":"SiyamRupali\/SiyamRupali.ttf","woff":"SiyamRupali\/SiyamRupali.woff"},"Skeirs
 II":{"version":"4.0","ttf":"Skeirs\/Skeirs II.ttf","eot":"Skeirs\/Skeirs 
II.eot","woff":"Skeirs\/Skeirs 
II.woff"},"Suwannaphum":{"version":"2.00","ttf":"Suwannaphum\/Suwannaphum.ttf","eot":"Suwannaphum\/Suwannaphum.eot","woff":"Suwannaphum\/Suwannaphum.woff"},"Taamey
 Frank 
CLM":{"version":"0.110","eot":"TaameyFrankCLM\/TaameyFrankCLM.eot","ttf":"TaameyFrankCLM\/TaameyFrankCLM.ttf","woff":"TaameyFrankCLM\/TaameyFrankCLM.woff"},"TharLon":{"version":"1.003","eot":"TharLon\/TharLon.eot","ttf":"TharLon\/TharLon.ttf","woff":"TharLon\/TharLon.woff"},"Thendral":{"version":"1.0","eot":"Thendral\/ThendralUni.eot","ttf":"Thendral\/ThendralUni.ttf","woff":"Thendral\/ThendralUni.woff"},"Thenee":{"version":"1.0","eot":"Thenee\/TheneeUni.eot","ttf":"Thenee\/TheneeUni.ttf","woff":"Thenee\/TheneeUni.woff"},"Tuladha
 
Jejeg":{"version":"2.0.1","eot":"TuladhaJejeg\/TuladhaJejeg_gr.eot","ttf":"TuladhaJejeg\/TuladhaJejeg_gr.ttf","woff":"TuladhaJejeg\/TuladhaJejeg_gr.woff"},"UnifrakturMaguntia":{"version":"2014-07-06","ttf":"UnifrakturMaguntia\/UnifrakturMaguntia.ttf","eot":"UnifrakturMaguntia\/UnifrakturMaguntia.eot","woff":"UnifrakturMaguntia\/UnifrakturMaguntia.woff"},"Utkal":{"version":"0.13","eot":"utkal\/utkal.eot","ttf":"utkal\/utkal.ttf","woff":"utkal\/utkal.woff"},"lklug":{"version":"0.6","ttf":"lklug\/lklug.ttf","eot":"lklug\/lklug.eot","woff":"lklug\/lklug.woff"}}};
 }( jQuery ) );
diff --git a/scripts/compile-font-repo.php b/scripts/compile-font-repo.php
new file mode 100644
index 0000000..7fb3886
--- /dev/null
+++ b/scripts/compile-font-repo.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ *
+ * @author Niklas Laxström
+ * @license GPL-2.0+
+ * @file
+ */
+
+// Standard boilerplate to define $IP
+if ( getenv( 'MW_INSTALL_PATH' ) !== false ) {
+       $IP = getenv( 'MW_INSTALL_PATH' );
+} else {
+       $dir = __DIR__;
+       $IP = "$dir/../../..";
+}
+require_once "$IP/maintenance/Maintenance.php";
+
+class CompileFontRepo extends Maintenance {
+       public function __construct() {
+               parent::__construct();
+               $this->mDescription = 'Creates JavaScript font repository.';
+       }
+
+       public function execute() {
+               $base = dirname( __DIR__ );
+
+               $compiler = new FontRepoCompiler(
+                       "$base/data/fontrepo/fonts",
+                       '../data/fontrepo/fonts/'
+               );
+
+               $list = $compiler->getRepository();
+
+               $json = json_encode( $list );
+               $js = <<<JAVASCRIPT
+// Do not edit! This file is generated from data/fontrepo by 
data/fontrepo/scripts/compile.php
+( function ( $ ) {
+       $.webfonts = $.webfonts || {};
+       $.webfonts.repository = $json;
+}( jQuery ) );
+
+JAVASCRIPT;
+               file_put_contents( 
"$base/resources/js/ext.uls.webfonts.repository.js", $js );
+
+               $this->output( "Done.\n" );
+       }
+}
+
+$maintClass = 'CompileFontRepo';
+require_once DO_MAINTENANCE;

-- 
To view, visit https://gerrit.wikimedia.org/r/283398
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I6b5d1ce980c6e5b42e36c0044729536b6b0ae4dc
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <niklas.laxst...@gmail.com>
Gerrit-Reviewer: Santhosh <santhosh.thottin...@gmail.com>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to