diff --git a/src/server/response.cpp b/src/server/response.cpp index 2c751e7b0..6020f9f78 100644 --- a/src/server/response.cpp +++ b/src/server/response.cpp @@ -64,7 +64,13 @@ bool is_compressible_mime_type(const std::string& mimeType) || mimeType.find("application/javascript") != std::string::npos || mimeType.find("application/atom") != std::string::npos || mimeType.find("application/opensearchdescription") != std::string::npos - || mimeType.find("application/json") != std::string::npos; + || mimeType.find("application/json") != std::string::npos + + // Web fonts + || mimeType.find("application/font-") != std::string::npos + || mimeType.find("application/x-font-") != std::string::npos + || mimeType.find("application/vnd.ms-fontobject") != std::string::npos + || mimeType.find("font/") != std::string::npos; } bool compress(std::string &content) { diff --git a/static/meson.build b/static/meson.build index 1bed7ebe1..123146cac 100644 --- a/static/meson.build +++ b/static/meson.build @@ -1,6 +1,7 @@ resource_files = run_command(res_manager, '--list-all', - files('resources_list.txt') + files('resources_list.txt'), + check: true ).stdout().strip().split('\n') preprocessed_resources = custom_target('preprocessed_resource_files', @@ -33,7 +34,8 @@ lib_resources = custom_target('resources', i18n_resource_files = run_command(find_program('python3'), '-c', 'import sys; f=open(sys.argv[1]); print(f.read())', - files('i18n_resources_list.txt') + files('i18n_resources_list.txt'), + check: true ).stdout().strip().split('\n') i18n_resources = custom_target('i18n_resources', diff --git a/test/server.cpp b/test/server.cpp index 3d4cf7581..072233d45 100644 --- a/test/server.cpp +++ b/test/server.cpp @@ -70,6 +70,10 @@ const ResourceCollection resources200Compressible{ { STATIC_CONTENT, "/ROOT/skin/taskbar.css?cacheid=216d6b5d" }, { DYNAMIC_CONTENT, "/ROOT/skin/viewer.js" }, { STATIC_CONTENT, "/ROOT/skin/viewer.js?cacheid=51e745c2" }, + { DYNAMIC_CONTENT, "/ROOT/skin/fonts/Poppins.ttf" }, + { STATIC_CONTENT, "/ROOT/skin/fonts/Poppins.ttf?cacheid=af705837" }, + { DYNAMIC_CONTENT, "/ROOT/skin/fonts/Roboto.ttf" }, + { STATIC_CONTENT, "/ROOT/skin/fonts/Roboto.ttf?cacheid=84d10248" }, { DYNAMIC_CONTENT, "/ROOT/catalog/search" }, @@ -124,10 +128,6 @@ const ResourceCollection resources200Uncompressible{ { STATIC_CONTENT, "/ROOT/skin/favicon/safari-pinned-tab.svg?cacheid=8d487e95" }, { DYNAMIC_CONTENT, "/ROOT/skin/favicon/site.webmanifest" }, { STATIC_CONTENT, "/ROOT/skin/favicon/site.webmanifest?cacheid=bc396efb" }, - { DYNAMIC_CONTENT, "/ROOT/skin/fonts/Poppins.ttf" }, - { STATIC_CONTENT, "/ROOT/skin/fonts/Poppins.ttf?cacheid=af705837" }, - { DYNAMIC_CONTENT, "/ROOT/skin/fonts/Roboto.ttf" }, - { STATIC_CONTENT, "/ROOT/skin/fonts/Roboto.ttf?cacheid=84d10248" }, { DYNAMIC_CONTENT, "/ROOT/skin/hash.png" }, { STATIC_CONTENT, "/ROOT/skin/hash.png?cacheid=f836e872" }, { DYNAMIC_CONTENT, "/ROOT/skin/magnet.png" },