Commit Graph

501 Commits

Author SHA1 Message Date
Amir E. Aharoni
10a25c1cc9 Allow always logging tofu detection
This commit allows to log tofu detection always,
even if the rest of the webfonts library is not loaded.

By default this is disabled.

To enable it, set the variable $wgULSTofuLoggingChance
to a number between 0 and 100, indicating the chance of it
getting logged. The idea of the lottery is that even a partial
sample can be useful.

Change-Id: Ia08fe0de348b7eebfa95498a6be58ae41608ba3b
2014-04-14 09:14:14 +05:30
Amir E. Aharoni
0c8984e2f5 Simplify tofu detection cache
Change-Id: If68fce9c0bd281019de6e2992c856bdbe843aec8
2014-03-18 16:29:05 +05:30
Kartik Mistry
30b31aaf16 Rename Lohit Oriya to Lohit Odia
* Updated font to 2.5.5. Since there wasn't any other changes, I just
   renamed font name here.
 * Upstream: https://fedorahosted.org/lohit/

Change-Id: I553098e54849c19ede45951d208d81f5d681f2e1
2014-03-08 11:33:28 +05:30
Niharika Kohli
5ca0d5d400 Compacting the interlanguage links with the ULS
Displays a shorter version of the language list with the languages that are more relevant to you.
More info at https://www.mediawiki.org/wiki/Universal_Language_Selector/Design/Interlanguage_links

Due to a problem with duplicate patchsets we had to create a new one. 
The history and info on code and security revisions is available at
https://gerrit.wikimedia.org/r/#/c/104793/

Change-Id: I109bfb10f6181b6408aab170db5e8ca32493d657
2014-03-04 09:41:47 +00:00
Santhosh Thottingal
ac50f27d2d Fix: Live preview of languages removes labels from the language panel
MW ULS uses its api to load the localization. Avoid the conflict with
i18n.load method. Directly use the i18n message stores load method

Bug: 61990
Change-Id: I7ea7e7fc31a0831ae2b2c4b4301fbe81109fdf9d
2014-02-27 15:18:13 +05:30
Amir E. Aharoni
261542d738 Log tofu detection event
This only works if webfonts enabled (the checkbox is checked).

Change-Id: Ibbedc6a34dacb983f156d8a33afa5ab625e32f5f
2014-02-26 00:19:08 +02:00
Amir E. Aharoni
7627358fb4 Prevent JSON parsing errors
Bug: 61137
Change-Id: I2df6b6108bb7834b927205d3b6afa69354cecaf7
2014-02-10 15:25:37 +02:00
jenkins-bot
ab83208b60 Merge "Encode URL parameter" 2014-02-10 12:38:32 +00:00
Santhosh Thottingal
1c3a935ef0 Try to restore the old preferences, if any, if possible
Preferences were saved using jStorage. The browsers which ULS supports now
have wide native support for local storage, so we removed jquery.jStorage
in I09b2bd52972.

The old local storage key was 'jStorage' as put by jquery.jStorage. We now
check if that key is present. If so we migrate the preferences and remove
the old key to save space. We are not aware of anything else using this
module.

Change-Id: I995a32c4cb7a3bc818fe255f92dbc972211cb112
2014-02-10 17:52:04 +05:30
Santhosh Thottingal
e21c221e2b Use localStorage, fallback to cookie, remove jquery.jStorage RL dependency
As per comments in I22613d9f6846db5456beb532cec47396fccda8ae

Change-Id: I09b2bd52972d9aef20dd469c556631e0299bc407
2014-02-10 12:11:13 +00:00
Santhosh Thottingal
27771fdeaf Restore enableWebfonts pref and remove uls-enable
This patch restores the enableWebfonts preference, stored inside
the uls-preferences blob. It existed as 'enable-webfonts' in
the past and was removed in
If735a733717596fae03042c5e277bd538bd8501f

Each wiki can be configured to load the fonts by default
using the new global variable $wgULSWebfontsEnabled.
Its default value is true (to load fonts).

This also removes the preference 'uls-enable', recently added in
I71b70d8ee7c3cad7f49b32e5dc494ef4fc1bdb2f

The initialization of ext.uls.webfonts.js is changed as well,
so that minimal webfonts JS library code is loaded,
and the rest is loaded only if a user requests it.

Bug: 60304
Change-Id: I49e812eae32266f165591c75fd67b86ca06b13f0
2014-02-10 17:40:30 +05:30
jenkins-bot
7b376a80c8 Merge "Fix remaining strings not participating in live language preview" 2014-02-10 06:56:34 +00:00
jenkins-bot
9a5a1d909f Merge "Remove duplicate code and add todo" 2014-02-10 06:54:11 +00:00
Timo Tijhof
c6d71015ff Various clean up
Files:
* Consistently have one (1) new line at EOF
  (.gitignore, *.css, *.sh)

JSHint:
* Separate the common (general Wikimedia code conventions) from
  the local more stricter rules (nice work!).

Maintenance:
* Use simplified $IP definition where getenv is only called once.
  Based on http://git.io/ve-mw-36fc3b59-makeStaticLoader

JavaScript:
* Use the same closure in all files:
  - No need for "undefined".
  - One linebreak between license header and start of closure
    (sometimes there were 1 or 2 empty lines).
  - ext.uls.ime.js: No need for "document" (redundant in general,
    but especially as it wasn't used anywhere in this file).
  - Use "$, mw" for all ext.* modules (one of them used "mw, $").

Change-Id: Iba5dab14bbc3fbfc9f8fe96dd2d95529587a69aa
2014-02-08 00:11:50 -08:00
jenkins-bot
135507f8dd Merge "Replace Xerxes with Artaxerxes" 2014-02-07 08:50:59 +00:00
Niklas Laxström
41d6ee2f44 Remove duplicate code and add todo
Found while looking at bug 47974

Change-Id: I7d4ef165e36e96cb6a61880a3413d8883c51c7fd
2014-02-06 17:09:08 +05:30
Kartik Mistry
abd130ed64 Set tooltip load timeout later than collapsible navs
Load tooltip at 700ms on page load to give enough time for collapsible
navigation to finish altering sidebar layout.

Bug: 51170
Change-Id: I8c7666a51ffe68007c4aadb4e72aa668d0fe6164
2014-02-06 09:11:02 +00:00
Reza
d81e5b762f Replace Xerxes with Artaxerxes
Xerxes is not passing OpentypeSanitizer check per
https://bugzilla.mozilla.org/show_bug.cgi?id=964696 that is why it won't work
as web font on Chrome and Firefox. This is its derivation to fix the issue.

Change-Id: I619e0c3ecb882ee91d46b36bf65a143bd8647d2f
2014-02-01 20:00:24 +05:30
Niklas Laxström
9fb8c3fdf0 Fix remaining strings not participating in live language preview
Change-Id: Id2dc9279e4bfae499a6e8b00a34a74c5505512b2
2014-02-01 11:22:30 +00:00
Reza
33713a1d69 Add Iranian Serif, Iranian Sans Bold, remove Amiri from fa
* Adding Iranian Serif and removing Amiri is per this request-url which is added also:
  https://fa.wikipedia.org/wiki/%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7:%D9%86%D8%B8%D8%B1%D8%AE%D9%88%D8%A7%D9%87%DB%8C/%D8%A7%D9%81%D8%B2%D9%88%D8%AF%D9%86_%DB%8C%DA%A9_%D9%82%D9%84%D9%85_%D9%88_%D8%AD%D8%B0%D9%81_%D9%82%D9%84%D9%85%DB%8C_%D8%AF%DB%8C%DA%AF%D8%B1
  but adding Iranian Sans Bold is for sake of completion like Amiri
* All EOTs and WOFFs are built/rebuilt using latest sfnttool

Change-Id: I3c0220395b22eaeebc355c0b857a7444c6e14662
2014-01-28 14:44:57 +00:00
Niklas Laxström
7c28df5125 Add ext.uls.messages as dependency for ext.uls.mediawiki
Turns out the messages for language selector were not loading
in Special:MainPage. This fixes that as well as cleaning up the
dependencies.

Change-Id: Ice8dcf1b2e878a0fe3cd0e002a9b1cff2f1901dd
2014-01-25 00:53:47 +00:00
Santhosh Thottingal
219b222c34 Remove the license string from the font repository
Saves 2KB

Change-Id: Ifc4add09a00b1906fad60185f95d0691915d9c94
2014-01-25 00:00:21 +00:00
Niklas Laxström
15b3c31029 Avoid loading of jquery.i18n and messages until trigger clicked
Use RL for trigger tooltip messages to avoid using jquery.i18n just
to display the triggers. Reordered dependencies so that messages
are loaded for the setting panels and ime menu.

Change-Id: Ic9518f7b63699542deb02a413e03c28344c99fa4
2014-01-23 23:35:27 +00:00
Fomafix
d50ca14543 Encode URL parameter
Change-Id: I2eaf564b35624c8441cb8f54f6ab166f5d1762a2
2014-01-21 07:18:03 +00:00
Santhosh Thottingal
89892f7f0e For IE, do not use salt for tofu detection
Adding salt won't work for IE since it uses a tofu with small width
for unassigned code points. From tests, algorithm without salt
should be enough for IE.

Change-Id: If39e6c49d272fa67f60c19f1af64f1fb71856bcd
2014-01-20 18:46:29 +00:00
Santhosh Thottingal
1113786330 Detect tofu before applying any default fonts
To detect whether the client can render a given string,
use a tofu detection algorithm.

If the user has an explicit font preference, do not override it.

If the user has no preference and there is a default font for a
language, see if that language can be rendered at the user's browser
using tofu detection.

If tofu is detected, apply the font.

If the element has 'autonym' class, apply Autonym font only when
that language has tofu.

Change-Id: Ib9ee9497e6bcfa7eb86f7d264e0980d8880d6b70
2014-01-20 22:20:58 +05:30
Santhosh Thottingal
61e1f95a4c Wait till rendering thread completion before applying webfonts
So that the fontfamily values are always 'seen' by the webfonts jquery
plugin. Missing this was causing incorrect behavior -overriding the
fontfamiliy from css- in random cases.

The stylesheet ext.uls.webfonts.css define font family values for
interlanguge links and autonym class. This patch make sure that that
css values are read by jquery.webfonts while deciding which font to
apply. Autonym font is supposed to be used for them. If jquery.webfonts
does not read that these elements has a font family defined in css as
"'Autonym', sans-serif", it will attempt to apply fonts as per user
preference or default fonts based on lang attribute. That will cause
applying bigger fonts.

jquery.webfonts does not apply any fonts, if an element has explicit
font family value defined by inline css or by external style sheets.

Bug: 59958
Change-Id: I2da436caa618bc2318e20e3c0492a6bf1c03e162
2014-01-13 08:58:00 +05:30
Reedy
9d94cfad57 Add RailwaysSans font
Not adding as a font option for English, but make it possible to define
the font in css and get the font downloaded from server

Bug: 58203
Change-Id: I968c4c4c3ba35ca53a9762cef0f7c59b374b1f67
2014-01-07 14:56:55 +05:30
Reza
426e005ca4 Fixing Scheherazade to properly target local font
Change-Id: I790f43d611f33d48c30f56fc95ce5f7d2c1f2f24
2014-01-04 23:08:21 +00:00
Kartik Mistry
7db07f2d94 Update AbyssinicaSIL font to new upstream version
* Upstream version: 1.500
* Upstream URL: http://scripts.sil.org/AbyssinicaSIL

Change-Id: Ia676001360affbb05985bd865506f03f983fdf07
2013-12-23 17:14:23 +05:30
Reedy
b1b2a26a8c Update ext.uls.webfonts.repository.js against current code
Change-Id: Iab27035e87f381bffd4f186cdb735d61ee0993cd
2013-12-15 19:23:55 +00:00
Ebrahim Byagowi
7f7c2c89f2 Add Lateef and Scheherazade fonts for ckb and fa
* Also improves Nazli by adding Nazli bold from its original pack
* Scheherazade-R.woff is taken from Scheherazade font pack
* Except the above, rest WOFFs and EOTs are made by sfntly

Bug: 58381
Bug: 58382
Change-Id: Iede469600ddcaebfce177f5b3d33a9fc81ea33f9
2013-12-12 10:13:04 +00:00
Kartik Mistry
e19309c1b9 Update Autonym font from upstream.
* Fixed autonym for Old Slavonic.
* Fixed Glagolitic glyphs for 'cu'.
* Removed RFN and documentation updates.

Change-Id: I51263f0b6ecfbd43234b115a2d143f6703f0e60a
Version: 20131205
URL: https://github.com/santhoshtr/AutonymFont
2013-12-05 19:15:37 +05:30
jenkins-bot
bcfd55af9b Merge "Initial support for webfonts in MobileFrontend" 2013-12-02 17:25:37 +00:00
Ebrahim Byagowi
e4736e8cd6 Enable Amiri for ckbwiki
Bug: 57767
Change-Id: Ia176d107061047a921cd29a45ec24b330daddf19
2013-11-30 12:28:50 +00:00
Amir E. Aharoni
fd885d9881 Initial support for webfonts in MobileFrontend
Written in pair-programming with Ryan Kaldari.

This adds a version of webfonts initialization that is stripped
of any smart features. It only loads the basic jquery.webfonts
library and the fonts repository in a way that is usable
with the MobileFronted extension.

It is completely disabled by default.

It can be enabled by setting
$wgULSMobileWebfontsEnabled = true;
and even then it will only be enabled for users
who opted in for the mobile beta mode.

Change-Id: I488e411232a1192bbf46ae5675c701366bda9a3e
2013-11-30 12:28:46 +02:00
Santhosh Thottingal
abae4e1780 Do not save isDirty field in preferences
Bug: 57349
Change-Id: Id5fe6bf61fcf79942f879bd1729e6b0a622aded8
2013-11-25 17:24:44 +05:30
Santhosh Thottingal
ed993610f5 Clean up ini files
* Use ; for comments
* Avoid unescaped characters like = signs
* Consistency in request-url values

Change-Id: I1a94e30f1acedd934645b70f65025872e4bc7b8e
2013-11-24 12:17:42 +05:30
Santhosh Thottingal
d1647a9fa0 Update the local copy of preferences before saving to reflect other module changes
Change-Id: Idfd6d4f71eff9d1a1e6606b3fa91abf9ddc7b183
2013-11-22 12:05:42 +05:30
Amir E. Aharoni
3dda6b5828 Comment and whitespace cleanup
Change-Id: I7ac44f4d371faa3c6941ccf8a4654a035e9b05a5
2013-11-22 10:18:20 +05:30
jenkins-bot
52a011afa2 Merge "Update TharLon font to new upstream version." 2013-11-22 04:17:01 +00:00
Amir E. Aharoni
d2522e40dc Avoid duplicate html ids for the settings panel triggers
Bug: 57353
Change-Id: I144b7612639147fc96ef1506c454954d605958e9
2013-11-21 16:31:44 +00:00
Santhosh Thottingal
277b0db94d Visual indication while saving the settings
* Button label change to "applying changes"
* Button become disabled
* Cursor changes to "progress"

Bug: 53772
Change-Id: I1de459590ea9b357965a73f274d566eba8c04482
2013-11-21 14:52:48 +05:30
Santhosh Thottingal
328eb017c8 Json message loader clean up
* Rename JsonMessageLoader to ULSJsonMessageLoader
* Correct the return type of mw.uls.loadLocalization

Follow up: Ic39dec1c484982fb07edd167e83794c0b5f470ee

Change-Id: I13c64a5e89ac75be8a95d951658018a78534f466
2013-11-19 10:55:52 +00:00
jenkins-bot
bda50b7426 Merge "Remove unused method: hide" 2013-11-18 20:12:54 +00:00
jenkins-bot
5bf7ea41c2 Merge "Fix bug: Cannot apply changes after switching panels back and forth" 2013-11-18 20:11:47 +00:00
Santhosh Thottingal
8d9f1e97cd Remove unused method: hide
Change-Id: Iba2ca843db8f0edd7fd1826b998a73279e7c06fe
2013-11-18 20:09:42 +00:00
Kartik Mistry
d74954fe7f Update TharLon font to new upstream version.
Updated to version 1.003
Upstream: http://code.google.com/p/tharlon-font/

Change-Id: Ic6563bfcbb851f85e4be7cab83507d02353a1c78
2013-11-18 16:02:25 +05:30
Santhosh Thottingal
b04c11aec9 Sort the language code in alphabetic order
Follow up: Ide4379c01ec1666cc837e0418c1481e3ae599441

Change-Id: If58594ef1157e84dcf646ef14e5e09ad741c7efc
2013-11-17 07:36:37 +05:30
Santhosh Thottingal
644f38d5f3 Add Polish also to OpenDyslexic font supported languages
Bug: 57136
Change-Id: Ide4379c01ec1666cc837e0418c1481e3ae599441
2013-11-16 18:15:54 +05:30