518 lines
23 KiB
JavaScript
518 lines
23 KiB
JavaScript
/*
|
|
* (c) Copyright Ascensio System SIA 2010-2015
|
|
*
|
|
* This program is a free software product. You can redistribute it and/or
|
|
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
|
* version 3 as published by the Free Software Foundation. In accordance with
|
|
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
|
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
|
* of any third-party rights.
|
|
*
|
|
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
|
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
|
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
|
*
|
|
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
|
* EU, LV-1021.
|
|
*
|
|
* The interactive user interfaces in modified source and object code versions
|
|
* of the Program must display Appropriate Legal Notices, as required under
|
|
* Section 5 of the GNU AGPL version 3.
|
|
*
|
|
* Pursuant to Section 7(b) of the License you must retain the original Product
|
|
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
|
* grant you any rights under trademark law for use of our trademarks.
|
|
*
|
|
* All the Product's GUI elements, including illustrations and icon sets, as
|
|
* well as technical writing content are licensed under the terms of the
|
|
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
|
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
|
*
|
|
*/
|
|
"use strict";
|
|
(function (document) {
|
|
function CEmbeddedCutFontsLoader() {
|
|
this.Api = null;
|
|
this.font_infos = [];
|
|
this.font_files = [];
|
|
this.map_name_cutindex = null;
|
|
this.CurrentFindFileParse = -1;
|
|
this.Url = "";
|
|
this.bIsCutFontsUse = false;
|
|
var oThis = this;
|
|
this.load_cut_fonts = function () {
|
|
var scriptElem = document.createElement("script");
|
|
if (scriptElem.readyState && false) {
|
|
scriptElem.onreadystatechange = function () {
|
|
if (this.readyState == "complete" || this.readyState == "loaded") {
|
|
scriptElem.onreadystatechange = null;
|
|
setTimeout(oThis._callback_script_load, 0);
|
|
}
|
|
};
|
|
}
|
|
scriptElem.onload = scriptElem.onerror = oThis._callback_font_load;
|
|
scriptElem.setAttribute("src", this.Url);
|
|
scriptElem.setAttribute("type", "text/javascript");
|
|
document.getElementsByTagName("head")[0].appendChild(scriptElem);
|
|
this.Api.asyncFontsDocumentStartLoaded();
|
|
};
|
|
this._callback_font_load = function () {
|
|
if (undefined === embedded_fonts) {
|
|
return;
|
|
}
|
|
oThis.CurrentFindFileParse = 0;
|
|
setTimeout(oThis.parse_font, 10);
|
|
},
|
|
this.parse_font = function () {
|
|
var __font_data_idx = g_fonts_streams.length;
|
|
g_fonts_streams[__font_data_idx] = CreateFontData2(embedded_fonts[oThis.CurrentFindFileParse], undefined);
|
|
embedded_fonts[oThis.CurrentFindFileParse] = "";
|
|
oThis.font_files[oThis.CurrentFindFileParse].SetStreamIndex(__font_data_idx);
|
|
oThis.font_files[oThis.CurrentFindFileParse].Status = 0;
|
|
oThis.CurrentFindFileParse++;
|
|
if (oThis.CurrentFindFileParse >= oThis.font_files.length) {
|
|
oThis.Api.asyncFontsDocumentEndLoaded();
|
|
return;
|
|
}
|
|
setTimeout(oThis.parse_font, 10);
|
|
};
|
|
this.init_cut_fonts = function (_fonts) {
|
|
this.map_name_cutindex = {};
|
|
var _len = _fonts.length;
|
|
for (var i = 0; i < _len; i++) {
|
|
var _font = _fonts[i];
|
|
var _info = this.map_name_cutindex[_font.Name];
|
|
if (_info === undefined) {
|
|
_info = new CFontInfo(_font.Name, "", FONT_TYPE_ADDITIONAL_CUT, -1, -1, -1, -1, -1, -1, -1, -1);
|
|
this.map_name_cutindex[_font.Name] = _info;
|
|
}
|
|
switch (_font.Style) {
|
|
case 0:
|
|
_info.indexR = _font.IndexCut;
|
|
_info.faceIndexR = 0;
|
|
break;
|
|
case 1:
|
|
_info.indexB = _font.IndexCut;
|
|
_info.faceIndexB = 0;
|
|
break;
|
|
case 2:
|
|
_info.indexI = _font.IndexCut;
|
|
_info.faceIndexI = 0;
|
|
break;
|
|
case 3:
|
|
_info.indexBI = _font.IndexCut;
|
|
_info.faceIndexBI = 0;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
this.font_files[i] = new CFontFileLoader("embedded_cut" + i);
|
|
}
|
|
};
|
|
}
|
|
function CGlobalFontLoader() {
|
|
this.fonts_streams = [];
|
|
this.fontFilesPath = "";
|
|
this.fontFiles = window.g_font_files;
|
|
this.fontInfos = window.g_font_infos;
|
|
this.map_font_index = window.g_map_font_index;
|
|
this.embeddedFilesPath = "";
|
|
this.embeddedFontFiles = [];
|
|
this.embeddedFontInfos = [];
|
|
this.ThemeLoader = null;
|
|
this.Api = null;
|
|
this.fonts_loading = [];
|
|
this.fonts_loading_after_style = [];
|
|
this.bIsLoadDocumentFirst = false;
|
|
this.currentInfoLoaded = null;
|
|
this.loadFontCallBack = null;
|
|
this.loadFontCallBackArgs = null;
|
|
this.embedded_cut_manager = new CEmbeddedCutFontsLoader();
|
|
this.put_Api = function (_api) {
|
|
this.Api = _api;
|
|
this.embedded_cut_manager.Api = _api;
|
|
};
|
|
this.LoadEmbeddedFonts = function (url, _fonts) {
|
|
this.embeddedFilesPath = url;
|
|
var _count = _fonts.length;
|
|
if (0 == _count) {
|
|
return;
|
|
}
|
|
this.embeddedFontInfos = new Array(_count);
|
|
var map_files = {};
|
|
for (var i = 0; i < _count; i++) {
|
|
map_files[_fonts[i].id] = _fonts[i].id;
|
|
}
|
|
var index = 0;
|
|
for (var i in map_files) {
|
|
this.embeddedFontFiles[index] = new CFontFileLoader(map_files[i]);
|
|
this.embeddedFontFiles[index].CanUseOriginalFormat = false;
|
|
this.embeddedFontFiles[index].IsNeedAddJSToFontPath = false;
|
|
map_files[i] = index++;
|
|
}
|
|
for (var i = 0; i < _count; i++) {
|
|
var lStyle = 0;
|
|
if (0 == lStyle) {
|
|
this.embeddedFontInfos[i] = new CFontInfo(_fonts[i].name, "", FONT_TYPE_EMBEDDED, map_files[_fonts[i].id], 0, -1, -1, -1, -1, -1, -1);
|
|
} else {
|
|
if (2 == lStyle) {
|
|
this.embeddedFontInfos[i] = new CFontInfo(_fonts[i].name, "", FONT_TYPE_EMBEDDED, -1, -1, map_files[_fonts[i].id], _fonts[i].faceindex, -1, -1, -1, -1);
|
|
} else {
|
|
if (1 == lStyle) {
|
|
this.embeddedFontInfos[i] = new CFontInfo(_fonts[i].name, "", FONT_TYPE_EMBEDDED, -1, -1, -1, -1, map_files[_fonts[i].id], _fonts[i].faceindex, -1, -1);
|
|
} else {
|
|
this.embeddedFontInfos[i] = new CFontInfo(_fonts[i].name, "", FONT_TYPE_EMBEDDED, -1, -1, -1, -1, -1, -1, map_files[_fonts[i].id], _fonts[i].faceindex);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var _count_infos_ = this.fontInfos.length;
|
|
for (var i = 0; i < _count; i++) {
|
|
this.map_font_index[_fonts[i].name] = i + _count_infos_;
|
|
this.fontInfos[i + _count_infos_] = this.embeddedFontInfos[i];
|
|
}
|
|
};
|
|
this.SetStandartFonts = function () {
|
|
var standarts = window["standarts"];
|
|
if (undefined == standarts) {
|
|
standarts = [];
|
|
for (var i = 0; i < window.g_font_infos.length; i++) {
|
|
if (window.g_font_infos[i].Name != "ASCW3") {
|
|
standarts.push(window.g_font_infos[i].Name);
|
|
}
|
|
}
|
|
}
|
|
var _count = standarts.length;
|
|
var _infos = this.fontInfos;
|
|
var _map = this.map_font_index;
|
|
for (var i = 0; i < _count; i++) {
|
|
_infos[_map[standarts[i]]].Type = FONT_TYPE_STANDART;
|
|
}
|
|
};
|
|
this.AddLoadFonts = function (name, need_styles) {
|
|
var fontinfo = g_fontApplication.GetFontInfo(name);
|
|
this.fonts_loading[this.fonts_loading.length] = fontinfo;
|
|
this.fonts_loading[this.fonts_loading.length - 1].NeedStyles = (need_styles == undefined) ? 15 : need_styles;
|
|
return fontinfo;
|
|
};
|
|
this.AddLoadFontsNotPick = function (info, need_styles) {
|
|
this.fonts_loading[this.fonts_loading.length] = info;
|
|
this.fonts_loading[this.fonts_loading.length - 1].NeedStyles = (need_styles == undefined) ? 15 : need_styles;
|
|
};
|
|
this.LoadDocumentFonts = function (_fonts, is_default) {
|
|
if (this.embedded_cut_manager.bIsCutFontsUse) {
|
|
return this.embedded_cut_manager.load_cut_fonts();
|
|
}
|
|
var gui_fonts = [];
|
|
var gui_count = 0;
|
|
for (var i = 0; i < this.fontInfos.length; i++) {
|
|
var info = this.fontInfos[i];
|
|
if (FONT_TYPE_STANDART == info.Type) {
|
|
var __font = new CFont(info.Name, "", info.Type, info.Thumbnail);
|
|
gui_fonts[gui_count++] = __font;
|
|
}
|
|
}
|
|
for (var i in _fonts) {
|
|
if (_fonts[i].type != FONT_TYPE_EMBEDDED) {
|
|
var info = this.AddLoadFonts(_fonts[i].name, _fonts[i].NeedStyles);
|
|
if (info.Type == FONT_TYPE_ADDITIONAL) {
|
|
if (info.name != "ASCW3") {
|
|
var __font = new CFont(info.Name, "", info.Type, info.Thumbnail);
|
|
gui_fonts[gui_count++] = __font;
|
|
}
|
|
}
|
|
} else {
|
|
var ind = -1;
|
|
for (var j = 0; j < this.embeddedFontInfos.length; j++) {
|
|
if (this.embeddedFontInfos[j].Name == _fonts[i].name) {
|
|
this.AddLoadFontsNotPick(this.embeddedFontInfos[j], 15);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.Api.sync_InitEditorFonts(gui_fonts);
|
|
if (this.Api.IsNeedDefaultFonts()) {
|
|
this.AddLoadFonts("Arial", 15);
|
|
this.AddLoadFonts("Symbol", 15);
|
|
this.AddLoadFonts("Wingdings", 15);
|
|
this.AddLoadFonts("Courier New", 15);
|
|
this.AddLoadFonts("Times New Roman", 15);
|
|
}
|
|
this.Api.asyncFontsDocumentStartLoaded();
|
|
this.bIsLoadDocumentFirst = true;
|
|
this.CheckFontsNeedLoadingLoad();
|
|
this._LoadFonts();
|
|
};
|
|
this.CheckFontsNeedLoadingLoad = function () {
|
|
var _fonts = this.fonts_loading;
|
|
var _fonts_len = _fonts.length;
|
|
var _need = false;
|
|
for (var i = 0; i < _fonts_len; i++) {
|
|
if (true == _fonts[i].CheckFontLoadStyles(this)) {
|
|
_need = true;
|
|
}
|
|
}
|
|
return _need;
|
|
};
|
|
this.CheckFontsNeedLoading = function (_fonts) {
|
|
for (var i in _fonts) {
|
|
var info = g_fontApplication.GetFontInfo(_fonts[i].name);
|
|
var _isNeed = info.CheckFontLoadStylesNoLoad(this);
|
|
if (_isNeed === true) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
this.LoadDocumentFonts2 = function (_fonts) {
|
|
for (var i in _fonts) {
|
|
this.AddLoadFonts(_fonts[i].name, 15);
|
|
}
|
|
if (null == this.ThemeLoader) {
|
|
this.Api.asyncFontsDocumentStartLoaded();
|
|
} else {
|
|
this.ThemeLoader.asyncFontsStartLoaded();
|
|
}
|
|
this.CheckFontsNeedLoadingLoad();
|
|
this._LoadFonts();
|
|
};
|
|
var oThis = this;
|
|
this._LoadFonts = function () {
|
|
if (0 == this.fonts_loading.length) {
|
|
if (null == this.ThemeLoader) {
|
|
this.Api.asyncFontsDocumentEndLoaded();
|
|
} else {
|
|
this.ThemeLoader.asyncFontsEndLoaded();
|
|
}
|
|
if (this.bIsLoadDocumentFirst === true) {
|
|
var _count = this.fonts_loading_after_style.length;
|
|
for (var i = 0; i < _count; i++) {
|
|
var _info = this.fonts_loading_after_style[i];
|
|
_info.NeedStyles = 15;
|
|
_info.CheckFontLoadStyles(this);
|
|
}
|
|
this.fonts_loading_after_style.splice(0, this.fonts_loading_after_style.length);
|
|
this.bIsLoadDocumentFirst = false;
|
|
}
|
|
return;
|
|
}
|
|
var fontinfo = this.fonts_loading[0];
|
|
var IsNeed = fontinfo.CheckFontLoadStyles(this);
|
|
if (IsNeed) {
|
|
setTimeout(oThis._check_loaded, 50);
|
|
} else {
|
|
if (this.bIsLoadDocumentFirst === true) {
|
|
this.Api.OpenDocumentProgress.CurrentFont++;
|
|
this.Api.SendOpenProgress();
|
|
}
|
|
this.fonts_loading_after_style[this.fonts_loading_after_style.length] = this.fonts_loading[0];
|
|
this.fonts_loading.shift();
|
|
this._LoadFonts();
|
|
}
|
|
};
|
|
this._check_loaded = function () {
|
|
var IsNeed = false;
|
|
if (0 == oThis.fonts_loading.length) {
|
|
oThis._LoadFonts();
|
|
return;
|
|
}
|
|
var current = oThis.fonts_loading[0];
|
|
var IsNeed = current.CheckFontLoadStyles(oThis);
|
|
if (true === IsNeed) {
|
|
setTimeout(oThis._check_loaded, 50);
|
|
} else {
|
|
if (oThis.bIsLoadDocumentFirst === true) {
|
|
oThis.Api.OpenDocumentProgress.CurrentFont++;
|
|
oThis.Api.SendOpenProgress();
|
|
}
|
|
oThis.fonts_loading_after_style[oThis.fonts_loading_after_style.length] = oThis.fonts_loading[0];
|
|
oThis.fonts_loading.shift();
|
|
oThis._LoadFonts();
|
|
}
|
|
};
|
|
this.LoadFont = function (fontinfo, loadFontCallBack, loadFontCallBackArgs) {
|
|
this.currentInfoLoaded = fontinfo;
|
|
this.currentInfoLoaded = fontinfo;
|
|
this.currentInfoLoaded.NeedStyles = 15;
|
|
var IsNeed = this.currentInfoLoaded.CheckFontLoadStyles(this);
|
|
if (undefined === loadFontCallBack) {
|
|
this.loadFontCallBack = this.Api.asyncFontEndLoaded;
|
|
this.loadFontCallBackArgs = this.currentInfoLoaded;
|
|
} else {
|
|
this.loadFontCallBack = loadFontCallBack;
|
|
this.loadFontCallBackArgs = loadFontCallBackArgs;
|
|
}
|
|
if (IsNeed) {
|
|
this.Api.asyncFontStartLoaded();
|
|
setTimeout(this.check_loaded, 20);
|
|
return true;
|
|
} else {
|
|
this.currentInfoLoaded = null;
|
|
return false;
|
|
}
|
|
};
|
|
this.check_loaded = function () {
|
|
var current = oThis.currentInfoLoaded;
|
|
if (null == current) {
|
|
return;
|
|
}
|
|
var IsNeed = current.CheckFontLoadStyles(oThis);
|
|
if (IsNeed) {
|
|
setTimeout(oThis.check_loaded, 50);
|
|
} else {
|
|
oThis.loadFontCallBack.call(oThis.Api, oThis.loadFontCallBackArgs);
|
|
oThis.currentInfoLoaded = null;
|
|
}
|
|
};
|
|
this.LoadFontsFromServer = function (_fonts) {
|
|
var _count = _fonts.length;
|
|
for (var i = 0; i < _count; i++) {
|
|
var _info = g_fontApplication.GetFontInfo(_fonts[i]);
|
|
if (undefined !== _info) {
|
|
_info.LoadFontsFromServer(this);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
CGlobalFontLoader.prototype.SetStreamIndexEmb = function (font_index, stream_index) {
|
|
this.embeddedFontFiles[font_index].SetStreamIndex(stream_index);
|
|
};
|
|
function CGlobalImageLoader() {
|
|
this.map_image_index = {};
|
|
this.imagesPath = "";
|
|
this.Api = null;
|
|
this.ThemeLoader = null;
|
|
this.images_loading = null;
|
|
this.bIsLoadDocumentFirst = false;
|
|
this.bIsAsyncLoadDocumentImages = false;
|
|
this.put_Api = function (_api) {
|
|
this.Api = _api;
|
|
if (this.Api.IsAsyncOpenDocumentImages !== undefined) {
|
|
this.bIsAsyncLoadDocumentImages = this.Api.IsAsyncOpenDocumentImages();
|
|
if (this.bIsAsyncLoadDocumentImages) {
|
|
if (undefined === this.Api.asyncImageEndLoadedBackground) {
|
|
this.bIsAsyncLoadDocumentImages = false;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
this.LoadDocumentImages = function (_images, isUrl) {
|
|
if (this.ThemeLoader == null) {
|
|
this.Api.asyncImagesDocumentStartLoaded();
|
|
} else {
|
|
this.ThemeLoader.asyncImagesStartLoaded();
|
|
}
|
|
this.images_loading = [];
|
|
for (var id in _images) {
|
|
this.images_loading[this.images_loading.length] = _getFullImageSrc(_images[id]);
|
|
}
|
|
if (!this.bIsAsyncLoadDocumentImages) {
|
|
this._LoadImages();
|
|
} else {
|
|
var _len = this.images_loading.length;
|
|
for (var i = 0; i < _len; i++) {
|
|
this.LoadImageAsync(i);
|
|
}
|
|
this.images_loading.splice(0, _len);
|
|
if (this.ThemeLoader == null) {
|
|
this.Api.asyncImagesDocumentEndLoaded();
|
|
} else {
|
|
this.ThemeLoader.asyncImagesEndLoaded();
|
|
}
|
|
}
|
|
};
|
|
var oThis = this;
|
|
this._LoadImages = function () {
|
|
if (0 == this.images_loading.length) {
|
|
if (this.ThemeLoader == null) {
|
|
this.Api.asyncImagesDocumentEndLoaded();
|
|
} else {
|
|
this.ThemeLoader.asyncImagesEndLoaded();
|
|
}
|
|
return;
|
|
}
|
|
var _id = this.images_loading[0];
|
|
var oImage = new CImage(_id);
|
|
oImage.Status = ImageLoadStatus.Loading;
|
|
oImage.Image = new Image();
|
|
oThis.map_image_index[oImage.src] = oImage;
|
|
oImage.Image.onload = function () {
|
|
oImage.Status = ImageLoadStatus.Complete;
|
|
if (oThis.bIsLoadDocumentFirst === true) {
|
|
oThis.Api.OpenDocumentProgress.CurrentImage++;
|
|
oThis.Api.SendOpenProgress();
|
|
}
|
|
oThis.images_loading.shift();
|
|
oThis._LoadImages();
|
|
};
|
|
oImage.Image.onerror = function () {
|
|
oImage.Status = ImageLoadStatus.Complete;
|
|
oImage.Image = null;
|
|
if (oThis.bIsLoadDocumentFirst === true) {
|
|
oThis.Api.OpenDocumentProgress.CurrentImage++;
|
|
oThis.Api.SendOpenProgress();
|
|
}
|
|
oThis.images_loading.shift();
|
|
oThis._LoadImages();
|
|
};
|
|
oImage.Image.src = oImage.src;
|
|
};
|
|
this.LoadImage = function (src, Type) {
|
|
var _image = this.map_image_index[src];
|
|
if (undefined != _image) {
|
|
return _image;
|
|
}
|
|
this.Api.asyncImageStartLoaded();
|
|
var oImage = new CImage(src);
|
|
oImage.Type = Type;
|
|
oImage.Image = new Image();
|
|
oImage.Status = ImageLoadStatus.Loading;
|
|
oThis.map_image_index[oImage.src] = oImage;
|
|
oImage.Image.onload = function () {
|
|
oImage.Status = ImageLoadStatus.Complete;
|
|
oThis.Api.asyncImageEndLoaded(oImage);
|
|
};
|
|
oImage.Image.onerror = function () {
|
|
oImage.Image = null;
|
|
oImage.Status = ImageLoadStatus.Complete;
|
|
oThis.Api.asyncImageEndLoaded(oImage);
|
|
};
|
|
oImage.Image.src = oImage.src;
|
|
return null;
|
|
};
|
|
this.LoadImageAsync = function (i) {
|
|
var _id = oThis.images_loading[i];
|
|
var oImage = new CImage(_id);
|
|
oImage.Status = ImageLoadStatus.Loading;
|
|
oImage.Image = new Image();
|
|
oThis.map_image_index[oImage.src] = oImage;
|
|
oImage.Image.onload = function () {
|
|
oImage.Status = ImageLoadStatus.Complete;
|
|
oThis.Api.asyncImageEndLoadedBackground(oImage);
|
|
};
|
|
oImage.Image.onerror = function () {
|
|
oImage.Status = ImageLoadStatus.Complete;
|
|
oImage.Image = null;
|
|
oThis.Api.asyncImageEndLoadedBackground(oImage);
|
|
};
|
|
oImage.Image.src = oImage.src;
|
|
};
|
|
}
|
|
window.g_font_loader = new CGlobalFontLoader();
|
|
window.g_image_loader = new CGlobalImageLoader();
|
|
window.g_flow_anchor = new Image();
|
|
window.g_flow_anchor.asc_complete = false;
|
|
window.g_flow_anchor.onload = function () {
|
|
window.g_flow_anchor.asc_complete = true;
|
|
};
|
|
window.g_flow_anchor.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPBAMAAADNDVhEAAAAIVBMVEUAAAANDQ0NDQ0NDQ0NDQ0NDQ0AAAANDQ0NDQ0NDQ0NDQ1jk7YPAAAACnRSTlMAGkD4mb9c5s9TDghpXQAAAFZJREFUCNdjYGBgW8YABlxcIBLBZ1gAEfZa5QWiGRkWMAIpAaA4iHQE0YwODEtANMsChkIwv4BBWQBICyswMC1iWADEDAzKoUuDFUAGNC9uABvIaQkkABpxD6lFb9lRAAAAAElFTkSuQmCC";
|
|
window.g_flow_anchor2 = new Image();
|
|
window.g_flow_anchor2.asc_complete = false;
|
|
window.g_flow_anchor2.onload = function () {
|
|
window.g_flow_anchor2.asc_complete = true;
|
|
};
|
|
window.g_flow_anchor2.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAeCAMAAAAFBf7qAAAAOVBMVEUAAAAAAAAAAAAAAAAJCQkAAAAJCQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQknI0ZQAAAAEnRSTlMAx9ITlAfyPHxn68yecTAl5qt6y0BvAAAAt0lEQVQoz8WS0QrDIAxFk0ajtlXb+/8fuzAprltg7Gnn4aIcvAgJTSSoBiGPoIAGV60qoquvIIL110IJgPONmKIlMI73MiwGRoZvahbKVSizcDKU8QeVPDXEIr6ShVB9VUEn2FOMkwL8VwjUtuypvDWiHeVTFeyWkZHfVQZHGm4XMhKQyJB9GKMxuHQSBlioF7u2q7kzgO2AcWwW3F8mWRmGKgyu91mK1Tzh4ixVVkBzJI/EnGjyACbfCaO3eIWRAAAAAElFTkSuQmCC";
|
|
window["CGlobalFontLoader"] = CGlobalFontLoader;
|
|
CGlobalFontLoader.prototype["SetStreamIndexEmb"] = CGlobalFontLoader.prototype.SetStreamIndexEmb;
|
|
})(window.document); |