Santhosh has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/390945 )

Change subject: Remove autonym font and its usage
......................................................................

Remove autonym font and its usage

I no longer maintains the Autonym font.
Also removes the tofu detection.

Bug: T135464
Bug: T135465
Change-Id: I103aab40ea5f5fc403a7ee5b23d1b634cc9c6ee1
---
M UniversalLanguageSelector.hooks.php
D data/fontrepo/fonts/Autonym/Autonym.ttf
D data/fontrepo/fonts/Autonym/Autonym.woff
D data/fontrepo/fonts/Autonym/Autonym.woff2
D data/fontrepo/fonts/Autonym/font.ini
M resources/js/ext.uls.webfonts.js
M resources/js/ext.uls.webfonts.repository.js
D tests/autonym.html
8 files changed, 9 insertions(+), 234 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector 
refs/changes/45/390945/1

diff --git a/UniversalLanguageSelector.hooks.php 
b/UniversalLanguageSelector.hooks.php
index 70135b4..3dc19ad 100644
--- a/UniversalLanguageSelector.hooks.php
+++ b/UniversalLanguageSelector.hooks.php
@@ -188,7 +188,7 @@
                        'uls' => [
                                'text' => Language::fetchLanguageName( 
$langCode ),
                                'href' => '#',
-                               'class' => 'uls-trigger autonym',
+                               'class' => 'uls-trigger',
                                'active' => true
                        ]
                ] + $personal_urls;
diff --git a/data/fontrepo/fonts/Autonym/Autonym.ttf 
b/data/fontrepo/fonts/Autonym/Autonym.ttf
deleted file mode 100644
index 0565206..0000000
--- a/data/fontrepo/fonts/Autonym/Autonym.ttf
+++ /dev/null
Binary files differ
diff --git a/data/fontrepo/fonts/Autonym/Autonym.woff 
b/data/fontrepo/fonts/Autonym/Autonym.woff
deleted file mode 100644
index 13b55d3..0000000
--- a/data/fontrepo/fonts/Autonym/Autonym.woff
+++ /dev/null
Binary files differ
diff --git a/data/fontrepo/fonts/Autonym/Autonym.woff2 
b/data/fontrepo/fonts/Autonym/Autonym.woff2
deleted file mode 100644
index 32b38ce..0000000
--- a/data/fontrepo/fonts/Autonym/Autonym.woff2
+++ /dev/null
Binary files differ
diff --git a/data/fontrepo/fonts/Autonym/font.ini 
b/data/fontrepo/fonts/Autonym/font.ini
deleted file mode 100644
index 14e9ee4..0000000
--- a/data/fontrepo/fonts/Autonym/font.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[Autonym]
-languages=mul
-version=20131205
-license=OFL-1.1
-licensefile=OFL.txt
-url=https://github.com/santhoshtr/AutonymFont/
diff --git a/resources/js/ext.uls.webfonts.js b/resources/js/ext.uls.webfonts.js
index 0bf41b9..b536ee8 100644
--- a/resources/js/ext.uls.webfonts.js
+++ b/resources/js/ext.uls.webfonts.js
@@ -20,11 +20,7 @@
 ( function ( $, mw ) {
        'use strict';
 
-       var ulsPreferences,
-               // Text to prepend the sample text. 0D00 is an unassigned 
unicode point.
-               tofuSalt = '\u0D00',
-               // cache languages with tofu.
-               tofuLanguages = {};
+       var ulsPreferences;
 
        mw.webfonts = mw.webfonts || {};
        ulsPreferences = mw.uls.preferences();
@@ -67,62 +63,6 @@
                }
        };
 
-       /**
-        * Detect tofu
-        *
-        * Create a temporary span in the page with fontsize 72px and 
font-family
-        * sans-serif for each letter of the text.
-        * For each of these spans, calculate the width and height. If they are 
same
-        * for all spans, we can understand that each of the letter is rendered 
using
-        * same glyph - it must be a tofu.
-        *
-        * @param {string} text
-        * @return {boolean}
-        */
-       function detectTofu( text ) {
-               var index,
-                       $fixture,
-                       width = {},
-                       height = {},
-                       length = Math.min( 4, text.length ),
-                       detected = false;
-
-               if ( $.client.test( {
-                       msie: false
-               } ) ) {
-                       // IE shows a different tofu for unassigned code points!
-                       text = tofuSalt + text;
-               }
-               $fixture = $( '<span>' )
-                       .css( {
-                               fontSize: '72px',
-                               fontFamily: 'sans-serif'
-                       } )
-                       .appendTo( 'body' );
-
-               for ( index = 0; index < length; index++ ) {
-                       $fixture.text( text[ index ] );
-                       width[ index ] = $fixture.width() || width[ index - 1 ];
-                       height[ index ] = $fixture.height();
-
-                       if ( index > 0 &&
-                               ( width[ index ] !== width[ index - 1 ] ||
-                                       height[ index ] !== height[ index - 1 ] 
)
-                       ) {
-                               detected = false;
-                               break;
-                       }
-               }
-
-               $fixture.remove();
-
-               if ( index === length ) {
-                       detected = true;
-               }
-
-               return detected;
-       }
-
        mw.webfonts.setup = function () {
                // Initialize webfonts
                var mediawikiFontRepository = $.webfonts.repository;
@@ -143,7 +83,7 @@
                         * @return {string|null}
                         */
                        fontSelector: function ( repository, language, classes 
) {
-                               var font, autonym, defaultFont;
+                               var font, defaultFont;
 
                                if ( !language ) {
                                        return null;
@@ -152,40 +92,15 @@
                                defaultFont = repository.defaultFont( language 
);
 
                                if ( classes && $.inArray( 'autonym', classes ) 
>= 0 ) {
-                                       autonym = true;
+                                       // Do not load font for showing autonym.
+                                       return null;
                                }
 
                                // If the user has a font preference, apply it 
always.
-                               font = mw.webfonts.preferences.getFont( 
language );
-                               if ( !font || autonym ) {
-                                       // Is there any default font for this 
language?
-                                       if ( ( !defaultFont || defaultFont === 
'system' ) && !autonym ) {
-                                               return font;
-                                       }
-
-                                       // There is a default font for this 
language,
-                                       // but check whether the user sees tofu 
for it.
-                                       if ( tofuLanguages[ language ] === 
undefined ) {
-                                               tofuLanguages[ language ] = 
detectTofu( $.uls.data.getAutonym( language ) );
-
-                                               // Log the tofu detection only 
once per page per language
-                                               if ( tofuLanguages[ language ] 
) {
-                                                       mw.log( 'tofu detected 
for ' + language );
-                                                       mw.hook( 
'mw.uls.webfonts.tofudetected' ).fire( language );
-                                               }
-                                       }
-
-                                       if ( tofuLanguages[ language ] ) {
-                                               font = autonym ? 'Autonym' : 
defaultFont;
-                                       } else {
-                                               // No tofu and no font 
preference. Use system font.
-                                               font = 'system';
-                                       }
-                               }
-
-                               if ( font === 'system' ) {
+                               font = mw.webfonts.preferences.getFont( 
language ) || defaultFont;
+                               if ( !font || font === 'system' ) {
                                        // Avoid setting 'system' as a font in 
css
-                                       font = null;
+                                       return null;
                                }
 
                                return font;
@@ -213,14 +128,6 @@
                // property values set by stylesheets.
                setTimeout( function () {
                        $( 'body' ).webfonts();
-
-                       // Load the CSS required for the Autonym font. Note 
that this won't download the font.
-                       // Browsers are smart enough to delay it till some 
element with this font-family
-                       // becomes visible. For example: If there is a popup 
div with an element with class
-                       // 'autonym', without explicitly calling .webfonts() on 
it, Autonym font will not
-                       // be applied in general. But we ensure that the CSS is 
ready so that the font
-                       // will be applied automatically to such future 
elements.
-                       $( 'body' ).data( 'webfonts' ).load( 'Autonym' );
                }, 0 );
        };
 
diff --git a/resources/js/ext.uls.webfonts.repository.js 
b/resources/js/ext.uls.webfonts.repository.js
index ea5141c..b5fb37b 100644
--- a/resources/js/ext.uls.webfonts.repository.js
+++ b/resources/js/ext.uls.webfonts.repository.js
@@ -1,4 +1,4 @@
-// Do not edit! This file is generated from data/fontrepo by 
data/fontrepo/scripts/compile.php
+// Do not edit! This file is generated from data/fontrepo by 
scripts/compile-font-repo.php
 ( function ( $ ) {
        $.webfonts = $.webfonts || {};
        $.webfonts.repository = {
@@ -306,10 +306,6 @@
                "muk": [
                        "Jomolhari"
                ],
-               "mul": [
-                       "system",
-                       "Autonym"
-               ],
                "my": [
                        "TharLon",
                        "Myanmar3",
@@ -521,11 +517,6 @@
                        "ttf": "Artaxerxes/Artaxerxes.ttf?79a74",
                        "woff": "Artaxerxes/Artaxerxes.woff?c1ed7",
                        "woff2": "Artaxerxes/Artaxerxes.woff2?7a96e"
-               },
-               "Autonym": {
-                       "ttf": "Autonym/Autonym.ttf?d41f5",
-                       "woff": "Autonym/Autonym.woff?235d8",
-                       "woff2": "Autonym/Autonym.woff2?280d0"
                },
                "CharisSIL": {
                        "ttf": "CharisSIL/CharisSIL-R.ttf?20bec",
diff --git a/tests/autonym.html b/tests/autonym.html
deleted file mode 100644
index 48626b7..0000000
--- a/tests/autonym.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<meta charset="utf-8" />
-<title>Autonym font Example</title>
-<meta name="description" content="A test page for the Autonym font" />
-<script 
src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
-<script src="../lib/jquery.uls/src/jquery.uls.data.js"></script>
-<script src="../lib/jquery.uls/src/jquery.uls.data.utils.js"></script>
-<style>
-@font-face {
-       font-family: 'Autonym';
-       src: url('../data/fontrepo/fonts/Autonym/Autonym.eot');
-       src: local('Autonym'),
-               url('../data/fontrepo/fonts/Autonym/Autonym.woff') 
format('woff'),
-               url('../data/fontrepo/fonts/Autonym/Autonym.ttf') 
format('truetype');
-       font-style: normal;
-}
-
-table, th, td {
-       border: 1px solid #ddd;
-       border-collapse:collapse;
-       padding: 5px;
-}
-
-td.lang,
-td.index {
-       background-color: #ccc;
-}
-</style>
-</head>
-<body>
-<h1>Autonym Font</h1>
-<p>The following table in this page uses the <a 
href="https://github.com/santhoshtr/AutonymFont";>Autonym</a>
- font for displaying language names without font issues.</p>
-<p>Version: 20131118</p>
-<hr/>
-<div>
-<label for="font-selector">Select a font:</label>
-<select id="font-selector">
-       <option value="Autonym">Autonym</option>
-       <option value="sans-serif">sans-serif</option>
-       <option value="Autonym, sans-serif">Autonym, sans-serif</option>
-       <option value="sans-serif, Autonym">sans-serif, Autonym</option>
-       <option value="Verdana, Arial, Helvetica, Autonym, sans-serif">Verdana, 
Arial, Helvetica, Autonym, sans-serif</option>
-</select>
-<select id="size-selector">
-       <option value="8">Select size (px)</option>
-       <option value="8">8</option>
-       <option value="9">9</option>
-       <option value="10">10</option>
-       <option value="11">11</option>
-       <option value="12">12</option>
-       <option value="13">13</option>
-       <option value="14">14</option>
-       <option value="16">16</option>
-       <option value="20">20</option>
-       <option value="24">24</option>
-       <option value="30">30</option>
-       <option value="36">36</option>
-       <option value="48">48</option>
-</select>
-<table><tr></tr></table>
-<div>A dropdown example:
-<select class="dropdown autonym">
-</select>
-</div>
-<script>
-var index = 1,
-       $fontSelector = $( '#font-selector' ),
-       $sizeSelector = $( '#size-selector' );
-
-$fontSelector.change( function () {
-       $( '.autonym' ).css( 'font-family', $( this ).val() );
-});
-
-$sizeSelector.change( function () {
-       $( '.autonym' ).css( 'font-size', $( this ).val() + 'px' );
-});
-
-$.each( $.uls.data.languages, function( langCode ) {
-       var autonym = $.uls.data.getAutonym( langCode ),
-               dir = $.uls.data.getDir( langCode );
-
-       $( '.dropdown' ).append(
-               $( '<option>')
-                       .attr( {
-                               lang: langCode,
-                               dir: dir
-                       } )
-                       .text( autonym )
-       );
-
-       $( 'table' ).append(
-               $( '<tr>' ).append(
-                       $( '<td>' )
-                               .addClass( 'index' )
-                               .text( index++ ),
-                       $( '<td>' )
-                               .addClass( 'lang' )
-                               .text( langCode ),
-                       $( '<td>' )
-                               .addClass( 'name autonym' )
-                               .attr( {
-                                       lang: langCode,
-                                       dir: dir
-                               } )
-                               .text( autonym )
-               )
-       );
-} );
-
-// Apply the initial font
-$( '.autonym' ).css( 'font-family', $fontSelector.val() );
-</script>
-</div>
-</body>

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I103aab40ea5f5fc403a7ee5b23d1b634cc9c6ee1
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Santhosh <santhosh.thottin...@gmail.com>

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

Reply via email to