Sha256: 388462a6c891e459ea0f9972cebb07de560f2bf1fee72585db1ebd713b1deb3b

Contents?: true

Size: 1.51 KB

Versions: 14

Compression:

Stored size: 1.51 KB

Contents

goog.provide('webfont.FontRuler');

/**
 * An element that can be used to measure the metrics
 * of a given font and string.
 * @constructor
 * @param {webfont.DomHelper} domHelper
 * @param {string} fontTestString
 */
webfont.FontRuler = function (domHelper, fontTestString) {
  this.domHelper_ = domHelper;
  this.fontTestString_ = fontTestString;
  this.el_ = this.domHelper_.createElement('span', {
    "aria-hidden": "true"
  }, this.fontTestString_);
};

goog.scope(function () {
  var FontRuler = webfont.FontRuler;

  /**
   * @param {webfont.Font} font
   */
  FontRuler.prototype.setFont = function(font) {
    this.domHelper_.setStyle(this.el_, this.computeStyleString_(font));
  };

  /**
   * Inserts the ruler into the DOM.
   */
  FontRuler.prototype.insert = function() {
    this.domHelper_.insertInto('body', this.el_);
  };

  /**
   * @private
   * @param {webfont.Font} font
   * @return {string}
   */
  FontRuler.prototype.computeStyleString_ = function(font) {
    return "position:absolute;top:-999px;left:-999px;" +
           "font-size:300px;width:auto;height:auto;line-height:normal;margin:0;" +
           "padding:0;font-variant:normal;white-space:nowrap;font-family:" +
           font.getCssName() + ";" + font.getCssVariation();
  };

  /**
   * @return {number}
   */
  FontRuler.prototype.getWidth = function() {
    return this.el_.offsetWidth;
  };

  /**
   * Removes the ruler element from the DOM.
   */
  FontRuler.prototype.remove = function() {
    this.domHelper_.removeElement(this.el_);
  };
});

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
webfontloader-1.5.2 src/core/fontruler.js
webfontloader-1.5.1 src/core/fontruler.js
webfontloader-1.5.0 src/core/fontruler.js
webfontloader-1.4.12 src/core/fontruler.js
webfontloader-1.4.11 src/core/fontruler.js
webfontloader-1.4.10 src/core/fontruler.js
webfontloader-1.4.9 src/core/fontruler.js
webfontloader-1.4.8 src/core/fontruler.js
webfontloader-1.4.7 src/core/fontruler.js
webfontloader-1.4.6 src/core/fontruler.js
webfontloader-1.4.5 src/core/fontruler.js
webfontloader-1.4.4 src/core/fontruler.js
webfontloader-1.4.3 src/core/fontruler.js
webfontloader-1.4.2 src/core/fontruler.js