webfontloader 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. data/Gemfile +9 -0
  2. data/LICENSE +201 -0
  3. data/README.md +148 -0
  4. data/Rakefile +243 -0
  5. data/bin/webfontloader-demos +28 -0
  6. data/docs/EVENTS.md +115 -0
  7. data/docs/MODULES.md +49 -0
  8. data/docs/TRANSITIONS.md +107 -0
  9. data/lib/webfontloader.rb +10 -0
  10. data/lib/webfontloader/demo/public/ascender.html +99 -0
  11. data/lib/webfontloader/demo/public/basic.css +9 -0
  12. data/lib/webfontloader/demo/public/custom.html +88 -0
  13. data/lib/webfontloader/demo/public/event-css-active-multiple.html +44 -0
  14. data/lib/webfontloader/demo/public/event-css-active.html +38 -0
  15. data/lib/webfontloader/demo/public/event-css-inactive.html +38 -0
  16. data/lib/webfontloader/demo/public/event-css-loading.html +55 -0
  17. data/lib/webfontloader/demo/public/event-js-active.html +39 -0
  18. data/lib/webfontloader/demo/public/event-js-font-active.html +40 -0
  19. data/lib/webfontloader/demo/public/event-js-loading.html +60 -0
  20. data/lib/webfontloader/demo/public/events-variations.html +130 -0
  21. data/lib/webfontloader/demo/public/events.html +103 -0
  22. data/lib/webfontloader/demo/public/google-css.html +27 -0
  23. data/lib/webfontloader/demo/public/google.html +33 -0
  24. data/lib/webfontloader/demo/public/ie-fast-js.html +47 -0
  25. data/lib/webfontloader/demo/public/ie-slow-js.html +48 -0
  26. data/lib/webfontloader/demo/public/ie-slow-link.html +38 -0
  27. data/lib/webfontloader/demo/public/index.html +70 -0
  28. data/lib/webfontloader/demo/public/typekit-variations.html +50 -0
  29. data/lib/webfontloader/demo/public/typekit.html +41 -0
  30. data/lib/webfontloader/demo/server.rb +92 -0
  31. data/lib/webfontloader/modules.rb +44 -0
  32. data/src-test/ascender/ascender_script_test.js +48 -0
  33. data/src-test/core/cssclassnametest.js +42 -0
  34. data/src-test/core/cssfontfamilynametest.js +54 -0
  35. data/src-test/core/domhelpertest.js +81 -0
  36. data/src-test/core/eventdispatchertest.js +99 -0
  37. data/src-test/core/fontmoduleloadertest.js +30 -0
  38. data/src-test/core/fonttest.js +92 -0
  39. data/src-test/core/fontvariationdescriptiontest.js +76 -0
  40. data/src-test/core/fontwatchertest.js +510 -0
  41. data/src-test/core/useragenttest.js +395 -0
  42. data/src-test/custom/customcsstest.js +30 -0
  43. data/src-test/google/fontapiparsertest.js +92 -0
  44. data/src-test/google/fontapiurlbuildertest.js +28 -0
  45. data/src-test/google/googlefontapitest.js +173 -0
  46. data/src-test/typekit/typekit_script_test.js +171 -0
  47. data/src/ascender/ascender_script.js +84 -0
  48. data/src/async_load.js +3 -0
  49. data/src/closure.js +3 -0
  50. data/src/core/cssclassname.js +21 -0
  51. data/src/core/cssfontfamilyname.js +20 -0
  52. data/src/core/domhelper.js +103 -0
  53. data/src/core/eventdispatcher.js +78 -0
  54. data/src/core/font.js +84 -0
  55. data/src/core/fontmoduleloader.js +25 -0
  56. data/src/core/fontvariationdescription.js +112 -0
  57. data/src/core/fontwatcher.js +121 -0
  58. data/src/core/initialize.js +26 -0
  59. data/src/core/namespace.js +11 -0
  60. data/src/core/useragent.js +41 -0
  61. data/src/core/useragentparser.js +234 -0
  62. data/src/custom/customcss.js +37 -0
  63. data/src/google/fontapiparser.js +94 -0
  64. data/src/google/fontapiurlbuilder.js +39 -0
  65. data/src/google/googlefontapi.js +49 -0
  66. data/src/modules.yml +27 -0
  67. data/src/typekit/typekit_script.js +58 -0
  68. data/tools/compiler/compiler.jar +0 -0
  69. data/tools/jstestdriver/JsTestDriver-1.2.1.jar +0 -0
  70. data/webfontloader.gemspec +144 -0
  71. metadata +191 -0
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @constructor
3
+ */
4
+ webfont.FontApiParser = function(fontFamilies) {
5
+ this.fontFamilies_ = fontFamilies;
6
+ this.parsedFontFamilies_ = [];
7
+ this.variations_ = {};
8
+ this.fvd_ = new webfont.FontVariationDescription();
9
+ };
10
+
11
+ webfont.FontApiParser.VARIATIONS = {
12
+ 'ultralight': 'n2',
13
+ 'light': 'n3',
14
+ 'regular': 'n4',
15
+ 'bold': 'n7',
16
+ 'italic': 'i4',
17
+ 'bolditalic': 'i7',
18
+ 'ul': 'n2',
19
+ 'l': 'n3',
20
+ 'r': 'n4',
21
+ 'b': 'n7',
22
+ 'i': 'i4',
23
+ 'bi': 'i7'
24
+ };
25
+
26
+ webfont.FontApiParser.prototype.parse = function() {
27
+ var length = this.fontFamilies_.length;
28
+
29
+ for (var i = 0; i < length; i++) {
30
+ var pair = this.fontFamilies_[i].split(":");
31
+ var fontFamily = pair[0];
32
+ var variations = null;
33
+
34
+ if (pair.length == 2) {
35
+ var fvds = this.parseVariations_(pair[1]);
36
+
37
+ if (fvds.length > 0) {
38
+ variations = fvds;
39
+ }
40
+ } else {
41
+ variations = ['n4'];
42
+ }
43
+ this.parsedFontFamilies_.push(fontFamily);
44
+ this.variations_[fontFamily] = variations;
45
+ }
46
+ };
47
+
48
+ webfont.FontApiParser.prototype.generateFontVariationDescription_ = function(variation) {
49
+ if (!variation.match(/^[\w ]+$/)) {
50
+ return '';
51
+ }
52
+
53
+ var fvd = webfont.FontApiParser.VARIATIONS[variation];
54
+
55
+ if (fvd) {
56
+ return fvd;
57
+ } else {
58
+ var groups = variation.match(/^(\d*)(\w*)$/);
59
+ var numericMatch = groups[1];
60
+ var styleMatch = groups[2];
61
+ var s = styleMatch ? styleMatch : 'n';
62
+ var w = numericMatch ? numericMatch.substr(0, 1) : '4';
63
+ var css = this.fvd_.expand([s, w].join(''));
64
+ if (css) {
65
+ return this.fvd_.compact(css);
66
+ } else {
67
+ return null;
68
+ }
69
+ }
70
+ };
71
+
72
+ webfont.FontApiParser.prototype.parseVariations_ = function(variations) {
73
+ var finalVariations = [];
74
+ var providedVariations = variations.split(",");
75
+ var length = providedVariations.length;
76
+
77
+ for (var i = 0; i < length; i++) {
78
+ var variation = providedVariations[i];
79
+ var fvd = this.generateFontVariationDescription_(variation);
80
+
81
+ if (fvd) {
82
+ finalVariations.push(fvd);
83
+ }
84
+ }
85
+ return finalVariations;
86
+ };
87
+
88
+ webfont.FontApiParser.prototype.getFontFamilies = function() {
89
+ return this.parsedFontFamilies_;
90
+ };
91
+
92
+ webfont.FontApiParser.prototype.getVariations = function() {
93
+ return this.variations_;
94
+ };
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @constructor
3
+ */
4
+ webfont.FontApiUrlBuilder = function(apiUrl) {
5
+ if (apiUrl) {
6
+ this.apiUrl_ = apiUrl;
7
+ } else {
8
+ var protocol = 'https:' == window.location.protocol ? 'https:' : 'http:';
9
+
10
+ this.apiUrl_ = protocol + webfont.FontApiUrlBuilder.DEFAULT_API_URL;
11
+ }
12
+ this.fontFamilies_ = null;
13
+ };
14
+
15
+ webfont.FontApiUrlBuilder.DEFAULT_API_URL = '//fonts.googleapis.com/css';
16
+
17
+ webfont.FontApiUrlBuilder.prototype.setFontFamilies = function(fontFamilies) {
18
+ // maybe clone?
19
+ this.fontFamilies_ = fontFamilies;
20
+ };
21
+
22
+ webfont.FontApiUrlBuilder.prototype.webSafe = function(string) {
23
+ return string.replace(/ /g, '+');
24
+ };
25
+
26
+ webfont.FontApiUrlBuilder.prototype.build = function() {
27
+ if (!this.fontFamilies_) {
28
+ throw new Error('No fonts to load !');
29
+ }
30
+ var length = this.fontFamilies_.length;
31
+ var sb = [];
32
+
33
+ for (var i = 0; i < length; i++) {
34
+ sb.push(this.webSafe(this.fontFamilies_[i]));
35
+ }
36
+ var url = this.apiUrl_ + '?family=' + sb.join('%7C'); // '|' escaped.
37
+
38
+ return url;
39
+ };
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @constructor
3
+ */
4
+ webfont.GoogleFontApi = function(userAgent, domHelper, configuration) {
5
+ this.userAgent_ = userAgent;
6
+ this.domHelper_ = domHelper;
7
+ this.configuration_ = configuration;
8
+ };
9
+
10
+ webfont.GoogleFontApi.NAME = 'google';
11
+
12
+ webfont.GoogleFontApi.prototype.supportUserAgent = function(userAgent, support) {
13
+ if (userAgent.getPlatform().match(/iPad|iPod|iPhone/) != null) {
14
+ support(false);
15
+ }
16
+ return support(userAgent.isSupportingWebFont());
17
+ };
18
+
19
+ webfont.GoogleFontApi.prototype.load = function(onReady) {
20
+ var fontApiUrlBuilder = new webfont.FontApiUrlBuilder(
21
+ this.configuration_['api']);
22
+ var fontFamilies = this.configuration_['families'];
23
+ var domHelper = this.domHelper_;
24
+ var nonBlockingIe = this.userAgent_.getName() == 'MSIE' &&
25
+ this.configuration_['blocking'] != true;
26
+
27
+ fontApiUrlBuilder.setFontFamilies(fontFamilies);
28
+
29
+ if (nonBlockingIe) {
30
+ domHelper.whenBodyExists(function() {
31
+ domHelper.insertInto('head', domHelper.createCssLink(
32
+ fontApiUrlBuilder.build()));
33
+ });
34
+ } else {
35
+ domHelper.insertInto('head', domHelper.createCssLink(
36
+ fontApiUrlBuilder.build()));
37
+ }
38
+ var fontApiParser = new webfont.FontApiParser(fontFamilies);
39
+
40
+ fontApiParser.parse();
41
+ onReady(fontApiParser.getFontFamilies(), fontApiParser.getVariations());
42
+ };
43
+
44
+ WebFont.addModule(webfont.GoogleFontApi.NAME, function(configuration) {
45
+ var userAgentParser = new webfont.UserAgentParser(navigator.userAgent);
46
+ var userAgent = userAgentParser.parse();
47
+ return new webfont.GoogleFontApi(userAgent,
48
+ new webfont.DomHelper(document), configuration);
49
+ });
data/src/modules.yml ADDED
@@ -0,0 +1,27 @@
1
+ core:
2
+ - core/namespace.js
3
+ - core/domhelper.js
4
+ - core/useragent.js
5
+ - core/useragentparser.js
6
+ - core/eventdispatcher.js
7
+ - core/fontmoduleloader.js
8
+ - core/fontwatcher.js
9
+ - core/font.js
10
+ - core/cssclassname.js
11
+ - core/cssfontfamilyname.js
12
+ - core/fontvariationdescription.js
13
+ - core/initialize.js
14
+
15
+ ascender:
16
+ - ascender/ascender_script.js
17
+
18
+ google:
19
+ - google/fontapiurlbuilder.js
20
+ - google/fontapiparser.js
21
+ - google/googlefontapi.js
22
+
23
+ typekit:
24
+ - typekit/typekit_script.js
25
+
26
+ custom:
27
+ - custom/customcss.js
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @constructor
3
+ */
4
+ webfont.TypekitScript = function(global, domHelper, configuration) {
5
+ this.global_ = global;
6
+ this.domHelper_ = domHelper;
7
+ this.configuration_ = configuration;
8
+ this.fontFamilies_ = [];
9
+ this.fontVariations_ = {};
10
+ };
11
+
12
+ webfont.TypekitScript.NAME = 'typekit';
13
+ webfont.TypekitScript.HOOK = '__webfonttypekitmodule__';
14
+
15
+ webfont.TypekitScript.prototype.getScriptSrc = function(kitId) {
16
+ var api = this.configuration_['api'] || 'http://use.typekit.com';
17
+ return api + '/' + kitId + '.js';
18
+ };
19
+
20
+ webfont.TypekitScript.prototype.supportUserAgent = function(userAgent, support) {
21
+ var kitId = this.configuration_['id'];
22
+ var configuration = this.configuration_;
23
+ var self = this;
24
+
25
+ if (kitId) {
26
+ // Provide data to Typekit for processing.
27
+ if (!this.global_[webfont.TypekitScript.HOOK]) {
28
+ this.global_[webfont.TypekitScript.HOOK] = {};
29
+ }
30
+
31
+ // Typekit will call 'init' to indicate whether it supports fonts
32
+ // and what fonts will be provided.
33
+ this.global_[webfont.TypekitScript.HOOK][kitId] = function(callback) {
34
+ var init = function(typekitSupports, fontFamilies, fontVariations) {
35
+ self.fontFamilies_ = fontFamilies;
36
+ self.fontVariations_ = fontVariations;
37
+ support(typekitSupports);
38
+ };
39
+ callback(userAgent, configuration, init);
40
+ };
41
+
42
+ // Load the Typekit script.
43
+ var script = this.domHelper_.createScriptSrc(this.getScriptSrc(kitId))
44
+ this.domHelper_.insertInto('head', script);
45
+
46
+ } else {
47
+ support(true);
48
+ }
49
+ };
50
+
51
+ webfont.TypekitScript.prototype.load = function(onReady) {
52
+ onReady(this.fontFamilies_, this.fontVariations_);
53
+ };
54
+
55
+ WebFont.addModule(webfont.TypekitScript.NAME, function(configuration) {
56
+ return new webfont.TypekitScript(window, new webfont.DomHelper(document), configuration);
57
+ });
58
+
Binary file
@@ -0,0 +1,144 @@
1
+ ## This is the rakegem gemspec template. Make sure you read and understand
2
+ ## all of the comments. Some sections require modification, and others can
3
+ ## be deleted if you don't need them. Once you understand the contents of
4
+ ## this file, feel free to delete any comments that begin with two hash marks.
5
+ ## You can find comprehensive Gem::Specification documentation, at
6
+ ## http://docs.rubygems.org/read/chapter/20
7
+ Gem::Specification.new do |s|
8
+ s.specification_version = 2 if s.respond_to? :specification_version=
9
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
10
+ s.rubygems_version = '1.3.5'
11
+
12
+ ## Leave these as is they will be modified for you by the rake gemspec task.
13
+ ## If your rubyforge_project name is different, then edit it and comment out
14
+ ## the sub! line in the Rakefile
15
+ s.name = 'webfontloader'
16
+ s.version = '1.0.5'
17
+ s.date = '2010-07-12'
18
+
19
+ ## Make sure your summary is short. The description may be as long
20
+ ## as you like.
21
+ s.summary = "WebFont Loader gives you added control when using linked fonts via @font-face."
22
+ s.description = <<-DESC
23
+ WebFont Loader gives you added control when using linked fonts via
24
+ `@font-face`. It provides a common interface to loading fonts regardless of
25
+ the source, then adds a standard set of events you may use to control the
26
+ loading experience.
27
+ DESC
28
+
29
+ ## List the primary authors. If there are a bunch of authors, it's probably
30
+ ## better to set the email to an email list or something. If you don't have
31
+ ## a custom homepage, consider using your GitHub URL or the like.
32
+ s.authors = ["Ryan Carver", "Jeremie Lenfant-engelmann"]
33
+ s.email = 'ryan@typekit.com'
34
+ s.homepage = 'http://github.com/typekit/webfontloader'
35
+
36
+ ## This gets added to the $LOAD_PATH so that 'lib/NAME.rb' can be required as
37
+ ## require 'NAME.rb' or'/lib/NAME/file.rb' can be as require 'NAME/file.rb'
38
+ s.require_paths = %w[lib]
39
+
40
+ ## This sections is only necessary if you have C extensions.
41
+ # s.require_paths << 'ext'
42
+ # s.extensions = %w[ext/extconf.rb]
43
+
44
+ ## If your gem includes any executables, list them here.
45
+ # s.executables = []
46
+ # s.default_executable = 'name'
47
+
48
+ ## Specify any RDoc options here. You'll want to add your README and
49
+ ## LICENSE files to the extra_rdoc_files list.
50
+ s.rdoc_options = ["--charset=UTF-8"]
51
+ s.extra_rdoc_files = %w[README.md] + Dir["docs/*.md"]
52
+
53
+ ## List your runtime dependencies here. Runtime dependencies are those
54
+ ## that are needed for an end user to actually USE your code.
55
+ # s.add_dependency('DEPNAME', [">= 1.1.0", "< 2.0.0"])
56
+
57
+ ## List your development dependencies here. Development dependencies are
58
+ ## those that are only needed during development
59
+ s.add_development_dependency('rack', ["~>1.2.1"])
60
+ s.add_development_dependency('sinatra', ["~>1.0"])
61
+ s.add_development_dependency('vegas', ["~>0.1.6"])
62
+
63
+ ## Leave this section as-is. It will be automatically generated from the
64
+ ## contents of your Git repository via the gemspec task. DO NOT REMOVE
65
+ ## THE MANIFEST COMMENTS, they are used as delimiters by the task.
66
+ # = MANIFEST =
67
+ s.files = %w[
68
+ Gemfile
69
+ LICENSE
70
+ README.md
71
+ Rakefile
72
+ bin/webfontloader-demos
73
+ docs/EVENTS.md
74
+ docs/MODULES.md
75
+ docs/TRANSITIONS.md
76
+ lib/webfontloader.rb
77
+ lib/webfontloader/demo/public/ascender.html
78
+ lib/webfontloader/demo/public/basic.css
79
+ lib/webfontloader/demo/public/custom.html
80
+ lib/webfontloader/demo/public/event-css-active-multiple.html
81
+ lib/webfontloader/demo/public/event-css-active.html
82
+ lib/webfontloader/demo/public/event-css-inactive.html
83
+ lib/webfontloader/demo/public/event-css-loading.html
84
+ lib/webfontloader/demo/public/event-js-active.html
85
+ lib/webfontloader/demo/public/event-js-font-active.html
86
+ lib/webfontloader/demo/public/event-js-loading.html
87
+ lib/webfontloader/demo/public/events-variations.html
88
+ lib/webfontloader/demo/public/events.html
89
+ lib/webfontloader/demo/public/google-css.html
90
+ lib/webfontloader/demo/public/google.html
91
+ lib/webfontloader/demo/public/ie-fast-js.html
92
+ lib/webfontloader/demo/public/ie-slow-js.html
93
+ lib/webfontloader/demo/public/ie-slow-link.html
94
+ lib/webfontloader/demo/public/index.html
95
+ lib/webfontloader/demo/public/typekit-variations.html
96
+ lib/webfontloader/demo/public/typekit.html
97
+ lib/webfontloader/demo/server.rb
98
+ lib/webfontloader/modules.rb
99
+ src-test/ascender/ascender_script_test.js
100
+ src-test/core/cssclassnametest.js
101
+ src-test/core/cssfontfamilynametest.js
102
+ src-test/core/domhelpertest.js
103
+ src-test/core/eventdispatchertest.js
104
+ src-test/core/fontmoduleloadertest.js
105
+ src-test/core/fonttest.js
106
+ src-test/core/fontvariationdescriptiontest.js
107
+ src-test/core/fontwatchertest.js
108
+ src-test/core/useragenttest.js
109
+ src-test/custom/customcsstest.js
110
+ src-test/google/fontapiparsertest.js
111
+ src-test/google/fontapiurlbuildertest.js
112
+ src-test/google/googlefontapitest.js
113
+ src-test/typekit/typekit_script_test.js
114
+ src/ascender/ascender_script.js
115
+ src/async_load.js
116
+ src/closure.js
117
+ src/core/cssclassname.js
118
+ src/core/cssfontfamilyname.js
119
+ src/core/domhelper.js
120
+ src/core/eventdispatcher.js
121
+ src/core/font.js
122
+ src/core/fontmoduleloader.js
123
+ src/core/fontvariationdescription.js
124
+ src/core/fontwatcher.js
125
+ src/core/initialize.js
126
+ src/core/namespace.js
127
+ src/core/useragent.js
128
+ src/core/useragentparser.js
129
+ src/custom/customcss.js
130
+ src/google/fontapiparser.js
131
+ src/google/fontapiurlbuilder.js
132
+ src/google/googlefontapi.js
133
+ src/modules.yml
134
+ src/typekit/typekit_script.js
135
+ tools/compiler/compiler.jar
136
+ tools/jstestdriver/JsTestDriver-1.2.1.jar
137
+ webfontloader.gemspec
138
+ ]
139
+ # = MANIFEST =
140
+
141
+ ## Test files will be grabbed from the file list. Make sure the path glob
142
+ ## matches what you actually use.
143
+ s.test_files = s.files.select { |path| path =~ /^spec\/.*_spec\.rb/ }
144
+ end
metadata ADDED
@@ -0,0 +1,191 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: webfontloader
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 5
10
+ version: 1.0.5
11
+ platform: ruby
12
+ authors:
13
+ - Ryan Carver
14
+ - Jeremie Lenfant-engelmann
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2010-07-12 00:00:00 -07:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: rack
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ hash: 29
31
+ segments:
32
+ - 1
33
+ - 2
34
+ - 1
35
+ version: 1.2.1
36
+ type: :development
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: sinatra
40
+ prerelease: false
41
+ requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ hash: 15
47
+ segments:
48
+ - 1
49
+ - 0
50
+ version: "1.0"
51
+ type: :development
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: vegas
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 23
62
+ segments:
63
+ - 0
64
+ - 1
65
+ - 6
66
+ version: 0.1.6
67
+ type: :development
68
+ version_requirements: *id003
69
+ description: |
70
+ WebFont Loader gives you added control when using linked fonts via
71
+ `@font-face`. It provides a common interface to loading fonts regardless of
72
+ the source, then adds a standard set of events you may use to control the
73
+ loading experience.
74
+
75
+ email: ryan@typekit.com
76
+ executables: []
77
+
78
+ extensions: []
79
+
80
+ extra_rdoc_files:
81
+ - README.md
82
+ - docs/EVENTS.md
83
+ - docs/MODULES.md
84
+ - docs/TRANSITIONS.md
85
+ files:
86
+ - Gemfile
87
+ - LICENSE
88
+ - README.md
89
+ - Rakefile
90
+ - bin/webfontloader-demos
91
+ - docs/EVENTS.md
92
+ - docs/MODULES.md
93
+ - docs/TRANSITIONS.md
94
+ - lib/webfontloader.rb
95
+ - lib/webfontloader/demo/public/ascender.html
96
+ - lib/webfontloader/demo/public/basic.css
97
+ - lib/webfontloader/demo/public/custom.html
98
+ - lib/webfontloader/demo/public/event-css-active-multiple.html
99
+ - lib/webfontloader/demo/public/event-css-active.html
100
+ - lib/webfontloader/demo/public/event-css-inactive.html
101
+ - lib/webfontloader/demo/public/event-css-loading.html
102
+ - lib/webfontloader/demo/public/event-js-active.html
103
+ - lib/webfontloader/demo/public/event-js-font-active.html
104
+ - lib/webfontloader/demo/public/event-js-loading.html
105
+ - lib/webfontloader/demo/public/events-variations.html
106
+ - lib/webfontloader/demo/public/events.html
107
+ - lib/webfontloader/demo/public/google-css.html
108
+ - lib/webfontloader/demo/public/google.html
109
+ - lib/webfontloader/demo/public/ie-fast-js.html
110
+ - lib/webfontloader/demo/public/ie-slow-js.html
111
+ - lib/webfontloader/demo/public/ie-slow-link.html
112
+ - lib/webfontloader/demo/public/index.html
113
+ - lib/webfontloader/demo/public/typekit-variations.html
114
+ - lib/webfontloader/demo/public/typekit.html
115
+ - lib/webfontloader/demo/server.rb
116
+ - lib/webfontloader/modules.rb
117
+ - src-test/ascender/ascender_script_test.js
118
+ - src-test/core/cssclassnametest.js
119
+ - src-test/core/cssfontfamilynametest.js
120
+ - src-test/core/domhelpertest.js
121
+ - src-test/core/eventdispatchertest.js
122
+ - src-test/core/fontmoduleloadertest.js
123
+ - src-test/core/fonttest.js
124
+ - src-test/core/fontvariationdescriptiontest.js
125
+ - src-test/core/fontwatchertest.js
126
+ - src-test/core/useragenttest.js
127
+ - src-test/custom/customcsstest.js
128
+ - src-test/google/fontapiparsertest.js
129
+ - src-test/google/fontapiurlbuildertest.js
130
+ - src-test/google/googlefontapitest.js
131
+ - src-test/typekit/typekit_script_test.js
132
+ - src/ascender/ascender_script.js
133
+ - src/async_load.js
134
+ - src/closure.js
135
+ - src/core/cssclassname.js
136
+ - src/core/cssfontfamilyname.js
137
+ - src/core/domhelper.js
138
+ - src/core/eventdispatcher.js
139
+ - src/core/font.js
140
+ - src/core/fontmoduleloader.js
141
+ - src/core/fontvariationdescription.js
142
+ - src/core/fontwatcher.js
143
+ - src/core/initialize.js
144
+ - src/core/namespace.js
145
+ - src/core/useragent.js
146
+ - src/core/useragentparser.js
147
+ - src/custom/customcss.js
148
+ - src/google/fontapiparser.js
149
+ - src/google/fontapiurlbuilder.js
150
+ - src/google/googlefontapi.js
151
+ - src/modules.yml
152
+ - src/typekit/typekit_script.js
153
+ - tools/compiler/compiler.jar
154
+ - tools/jstestdriver/JsTestDriver-1.2.1.jar
155
+ - webfontloader.gemspec
156
+ has_rdoc: true
157
+ homepage: http://github.com/typekit/webfontloader
158
+ licenses: []
159
+
160
+ post_install_message:
161
+ rdoc_options:
162
+ - --charset=UTF-8
163
+ require_paths:
164
+ - lib
165
+ required_ruby_version: !ruby/object:Gem::Requirement
166
+ none: false
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ hash: 3
171
+ segments:
172
+ - 0
173
+ version: "0"
174
+ required_rubygems_version: !ruby/object:Gem::Requirement
175
+ none: false
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ hash: 3
180
+ segments:
181
+ - 0
182
+ version: "0"
183
+ requirements: []
184
+
185
+ rubyforge_project:
186
+ rubygems_version: 1.3.7
187
+ signing_key:
188
+ specification_version: 2
189
+ summary: WebFont Loader gives you added control when using linked fonts via @font-face.
190
+ test_files: []
191
+