Commit Graph

36 Commits

Author SHA1 Message Date
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
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
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
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
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
Santhosh Thottingal
dfc40c8f59 Refactor the css for interlanguage links and autonym class
Move it to a seperate css file ext.uls.webfonts.css so that the RL
modules are more granular and clear.

Also get the @font-face css for Autonym font get ready on page load
so that the font applied automatically to any future elements on page.

Change-Id: Icb76df5baedaba8ab613d665a1be923779a6b9e7
2013-11-06 20:51:26 +05:30
Ori Livneh
03e40f7215 Make base font repository path configurable via $wgULSFontRepositoryBasePath
This patch adds a configuration variable, '$wgULSFontRepositoryBasePath', which
specifies the base path to the font repository. By default, the variable is set
to its existing value, which is $wgExtensionAssetsPath +
'/UniversalLanguageSelector/data/fontrepo/fonts/'. However, adding a discrete
configuration variable makes it possible to configure ULS to use a custom URL
scheme that is more suitable for large static assets that change infrequently.

Change-Id: Idbe57072c4f3258757eb691e54cab5429cadcfda
2013-10-17 00:10:00 -07:00
Santhosh Thottingal
3fbbf05c26 Optionally exclude elements from applying webfonts
* Updates jquery.webfonts from upstream
* Introduces wgULSNoWebfontsSelectors configuration variable. It
  takes an array of jquery selector to which webfonts will not be
  applied if defined.

Change-Id: I0dc263f84620af4077f52e18eeb0f986ff0f13b9
2013-09-19 10:17:54 -07:00
Santhosh Thottingal
c793a9bd31 Pass an actual array to fontStack option to webfonts
Change-Id: Id836d7ce82e22e7d0679a5c615be014b1fce08b3
2013-08-26 09:43:00 +05:30
Santhosh Thottingal
e4cefe06fd Apply webfonts to the IME selector too
It get added to DOM after DOM is ready, and does not inherit styles
(by design)

Change-Id: I45a982b5c1c2a39718f38e77a33b79f89e460474
2013-07-08 07:42:49 +00:00
Santhosh Thottingal
8ddff0b2fc Use single entry point mw.uls.init for all ULS ui initialization
Change-Id: I485ea27deebb530eb89e4b0935eda01a5276f884
2013-07-04 17:05:10 +00:00
Santhosh Thottingal
3b3e2da332 Disable Webfonts too for blacklisted browsers
Change-Id: I9feb342b091e00ef0279333018b86045932d68de
2013-06-17 09:33:03 +00:00
Santhosh Thottingal
66e1fab8a8 Exclude does not apply if the editfont preference is default
'editfont' == 'default' means 'Browser default' font setting. We can
apply webfonts there.

Change-Id: Iff522e0016d8284dc785580e6eb3dd2967c58289
2013-05-29 15:23:34 +05:30
Santhosh Thottingal
931cb6dc22 Do not use "System" as a font
Regression from I62860f9d62538915628ad21e5d904e56bdcc9430
Bug: 48871

Change-Id: I72f5c40739928244cd402c000b48af9911c5b0c7
2013-05-28 21:15:47 +05:30
Santhosh Thottingal
f23666a15a Get the saved font using the fontSelector defined in mw.webfonts.setup
Also make sure that correct language is passed to the getFont
It was wrong in current version - UI language was passed always
(introduced in a refactoring to avoid code duplication for content
and ui language- commit: 98bb1c200c )

Change-Id: I62860f9d62538915628ad21e5d904e56bdcc9430
2013-05-27 14:43:30 +05:30
Santhosh Thottingal
164568e516 Remove document from anon cover function
jshintrc has browser:true setting

Change-Id: I30acfb63f132473611be9da4edf12c3b6ea42523
2013-05-27 13:59:36 +05:30
Amir E. Aharoni
2ef2376bfe Remove webfonts enabling checkbox and associated preference
Bug: 48535
Change-Id: If735a733717596fae03042c5e277bd538bd8501f
2013-05-27 07:59:45 +03:00
Amir E. Aharoni
4f651fa0e2 Cleanup for JSHint
Change-Id: I35d2d41640f405f4e1e94b18ddac751437a84bb5
2013-03-05 14:50:12 +02:00
Santhosh Thottingal
086ee5ff1d Fix the webfonts preferences
Disabling was not working actually. If disabled donot call
webfonts() on body. Also addresses Bug 39992.

Change-Id: I8e4d466dd9271604be6ae722c49357b192651950
2013-01-01 08:49:26 +02:00
Santhosh Thottingal
8bfe9862fa Avoid hardcoded font fallback stack
Change-Id: I07571d1390f4f68313b786d3dd1371488b6534a6
2012-11-23 09:14:20 +00:00
Santhosh Thottingal
4b09afb2ba Simplify the preference system
* Just use key,value system and drop the concept of groups
* Abstract the preferences for each type of systems(display, input)
  to have meaningful APIs

Change-Id: I25423667adf6ca181a4027cdfc4ed378f36a94ba
2012-10-23 09:59:26 +05:30
Santhosh Thottingal
2d18576bec Use default font only if webfonts is enabled.
Also contains fixes to make code jshint valid.

Change-Id: I40577acfc939512c71ffe607c14a9fe795760588
2012-10-16 16:26:59 +05:30
Siebrand Mazeland
e1a4f7f0cb After training the PHPStorm code formatter.
See https://github.com/siebrand/MediaWiki-PHPStorm

Issue remains with anonymous functions in JavaScript.

Change-Id: I2b520f8df127452acf02deb659277a6465e6ca59
2012-09-17 17:10:59 -07:00
Santhosh Thottingal
569b09712c Wrong exclude selector for webfonts
* It is not textbox. It is textarea. :(

Change-Id: Ib6b170fe09101448ccf231c5c3244b7ad3f7b291
2012-09-17 09:25:48 -07:00
Siebrand
d4a46dccd2 Merge "Fix Bug 39560 - Monospace font setting overridden" 2012-09-16 16:53:50 +00:00
Santhosh Thottingal
5b3f7cc269 Whitespace cleanup, remove deprecated methods
* Fixed many white space issues- mainly whitespace missing before
  function start paranthesis eg: function()
* Removed the deprecated live methods and replaced with on
* Added file documentation for ext.uls.geoclient

Change-Id: Ib2c8cfed1a6ff3859495e707680d5c19882a33e8
2012-09-07 16:47:03 +05:30
Santhosh Thottingal
cc1cca33d7 Fix Bug 39560 - Monospace font setting overridden
* use the exclude option from jquery.webfonts

Change-Id: I5c35c848197ceae0def6cbc31249f887b962365b
2012-09-06 11:18:11 +05:30
Santhosh Thottingal
0d73ffe09e Use sans-serif as default fallback font
jquery.uls uses Helvetica, Arial, sans-serif.

Override it to match MediaWiki's default fallback font.

Change-Id: I2d842ce5c2f9a32c781560c4583567873320e786
2012-08-25 21:47:38 +03:00
Santhosh Thottingal
5c6567adbc Whitespace, typo, jshint fixes
Change-Id: Ib22d9c4a75d1f9ce77a7db2a820dc6de9c680b09
2012-08-21 12:12:15 +03:00
Santhosh Thottingal
77515dd664 Use new jquery.uls and preferences system
Change-Id: I0e626320f494597e9125d394fb9bbbceccfff34c
2012-08-21 10:10:31 +05:30
Amir E. Aharoni
5bb5ca0118 Add webfonts reset functionality to the checkbox
Change-Id: I983d261fa018416c36ad2123b94850986beeca70
2012-08-17 11:57:02 +03:00
Santhosh Thottingal
1bc80d58ba ULS persistent preference system.
Change-Id: Ieb22e09f226e770c9935b875f4226a75ffd8c46d
2012-08-16 17:20:21 +03:00
Santhosh Thottingal
a17598ad04 More UI code
Not all functionalities are added.

Change-Id: I37007a8dedce6bcb055a9d6d79376f40868fd6dd
2012-08-15 18:25:09 +03:00
Santhosh Thottingal
e62b50c9d8 WebFonts integration with ULS display settings.
This does not add much functionality. That will come in
future commits.

This commit has many cleanup, refactoring on the display settings,
language settings code.

Change-Id: I7fbc3ebb9b67c1afd80f159c2d82cd2a1c6bea74
2012-08-14 18:01:25 +03:00