// ttf.js 210行开始 _updateFontFamly 方法中
cc.loader.load(item, function (err) {
var localDownloadPath = "url('" + loadRuntime().env.USER_DATA_PATH + "/" + url + "')";
_fontFamily = jsb.loadFont(loaderFontFamily, localDownloadPath);
if (!_fontFamily) {
_fontFamily = 'Arial';
}
CustomFontLoader._fontCache[url] = _fontFamily;
comp._updateRenderData();
});
CustomFontLoader._fontCache[url] 保存的是字符串 ‘Arial’
// text-util.js 84行 _checkFontLoaded方法中
var fontDescriptor = this._fontCache[k];
if(fontDescriptor.isLoaded() || !fontDescriptor._isLoadWithCSS) {
continue;
}
取出来的 fontDescriptor 实际上是 ‘Arial’,没有 isLoaded 方法,这里就会报错
TypeError: fontDescriptor.isLoaded is not a function