diff --git a/src/js/LogoManager.js b/src/js/LogoManager.js index e53f4d0699..e9ea80133c 100644 --- a/src/js/LogoManager.js +++ b/src/js/LogoManager.js @@ -290,7 +290,7 @@ LogoManager.replaceLogoInFont = function (img) { LogoManager.drawPreview = function () { const $el = this.elements.$preview.empty(); for (let i = this.logoStartIndex, I = this.font.constants.MAX_CHAR_COUNT; i < I; i++) { - const url = this.font.data.character_image_urls[i]; + const url = this.font.draw(i); $el.append(``); } }; diff --git a/src/js/tabs/osd.js b/src/js/tabs/osd.js index 67449617ff..28afe667e9 100644 --- a/src/js/tabs/osd.js +++ b/src/js/tabs/osd.js @@ -130,7 +130,6 @@ FONT.pushChar = function (fontCharacterBytes, fontCharacterBits) { } FONT.data.characters_bytes.push(fontCharacterBytes.slice(0)); FONT.data.characters.push(fontCharacterBits.slice(0)); - FONT.draw(FONT.data.characters.length - 1); }; /** @@ -262,7 +261,7 @@ FONT.upload = function ($progress) { FONT.preview = function ($el) { $el.empty(); for (let i = 0; i < SYM.LOGO; i++) { - const url = FONT.data.character_image_urls[i]; + const url = FONT.draw(i); $el.append(``); } }; @@ -2769,6 +2768,10 @@ osd.initialize = function (callback) { attach: $("#fontmanager"), title: "OSD Font Manager", content: $("#fontmanagercontent"), + onCreated: () => { + FONT.preview(fontPreviewElement); + LogoManager.drawPreview(); + }, }); $(".elements-container div.cf_tip").attr("title", i18n.getMessage("osdSectionHelpElements")); @@ -3499,6 +3502,7 @@ osd.initialize = function (callback) { // init structs once, also clears current font FONT.initData(); + let fontPreviewNeedsReload = false; fontPresetsElement.change(function () { const $font = $(".fontpresets option:selected"); const fontver = 2; @@ -3506,8 +3510,12 @@ osd.initialize = function (callback) { $(".font-manager-version-info").text(i18n.getMessage(`osdDescribeFontVersion${fontver}`)); $.get(`./resources/osd/${fontver}/${$font.data("font-file")}.mcm`, function (data) { FONT.parseMCMFontFile(data); - FONT.preview(fontPreviewElement); - LogoManager.drawPreview(); + if (fontPreviewNeedsReload) { + FONT.preview(fontPreviewElement); + LogoManager.drawPreview(); + } else { + fontPreviewNeedsReload = true; + } updateOsdView(); $(".fontpresets option[value=-1]").hide(); });