Sfoglia il codice sorgente

added method to test if a font is valid

Gildas 7 anni fa
parent
commit
2cbcb8be2f
1 ha cambiato i file con 11 aggiunte e 1 eliminazioni
  1. 11 1
      lib/single-file/single-file-browser.js

+ 11 - 1
lib/single-file/single-file-browser.js

@@ -18,7 +18,7 @@
  *   along with SingleFile.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-/* global SingleFileCore, DOMParser, TextDecoder, Blob, fetch, base64, superFetch, parseSrcset, uglifycss, htmlmini, cssMinifier, fontsMinifier, serializer, docHelper, mediasMinifier, TextEncoder, crypto, RulesMatcher, altImages */
+/* global SingleFileCore, DOMParser, TextDecoder, Blob, fetch, base64, superFetch, parseSrcset, uglifycss, htmlmini, cssMinifier, fontsMinifier, serializer, docHelper, mediasMinifier, TextEncoder, crypto, RulesMatcher, altImages, FontFace */
 
 this.SingleFile = this.SingleFile || (() => {
 
@@ -210,6 +210,16 @@ this.SingleFile = this.SingleFile || (() => {
 			return new Blob([content]).size;
 		}
 
+		static async validFont(url) {
+			try {
+				const font = new FontFace("font-test", "url(\"" + url + "\")");
+				await font.load();
+				return true;
+			} catch (error) {
+				return false;
+			}
+		}
+
 		static minifyHTML(doc, options) {
 			return htmlmini.process(doc, options);
 		}