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();
});