[gs-commits] mupdf 1.16.1.epub-prerelease-38 Update Harfbuzz to latest

[email protected] (Robin Watts) Thu, 2 Jan 2020 15:21:50 +0000 (UTC)
Newsgroups gmane.comp.printing.ghostscript.cvs
Message-ID <[email protected]>
commit 5e5fb5510df4b698456ef6095f7c9b9f22ef59c0
Author: Robin Watts <[email protected]>
Date:   Thu Jan 2 14:24:06 2020 +0000

    Update Harfbuzz to latest (2.6.4)

diff --git a/Makethird b/Makethird
index bdc2ffb..acdae31 100644
--- a/Makethird
+++ b/Makethird
@@ -72,45 +72,58 @@ ifeq ($(USE_SYSTEM_HARFBUZZ),yes)
 else
 
 THIRD_SRC += thirdparty/harfbuzz/src/hb-aat-layout.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-aat-map.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-blob.cc
-THIRD_SRC += thirdparty/harfbuzz/src/hb-buffer-serialize.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-buffer.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-buffer-serialize.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-common.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-face.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-fallback-shape.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-font.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ft.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-map.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-number.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-cff1-table.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-cff2-table.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-color.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-face.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-font.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-layout.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-map.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-math.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-meta.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-metrics.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-name.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-arabic.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-default.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-hangul.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-hebrew.cc
-THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-indic-table.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-indic.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-indic-table.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-khmer.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-myanmar.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-thai.cc
-THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-tibetan.cc
-THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-use-table.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-use.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-use-table.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-complex-vowel-constraints.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-fallback.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape-normalize.cc
-THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-shape.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-tag.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-ot-var.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-set.cc
-THIRD_SRC += thirdparty/harfbuzz/src/hb-shape-plan.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-shape.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-shape-plan.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-shaper.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-static.cc
-THIRD_SRC += thirdparty/harfbuzz/src/hb-ucdn.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-subset.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-subset-cff1.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-subset-cff2.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-subset-cff-common.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-subset-input.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-subset-plan.cc
+THIRD_SRC += thirdparty/harfbuzz/src/hb-ucd.cc
 THIRD_SRC += thirdparty/harfbuzz/src/hb-unicode.cc
-THIRD_SRC += thirdparty/harfbuzz/src/hb-warning.cc
 
 THIRD_CFLAGS += -Ithirdparty/harfbuzz/src
 
@@ -125,9 +138,12 @@ $(OUT)/thirdparty/harfbuzz/%.o: thirdparty/harfbuzz/%.cc
 		-Dhb_calloc_impl=fz_hb_calloc \
 		-Dhb_free_impl=fz_hb_free \
 		-Dhb_realloc_impl=fz_hb_realloc \
+		-DHAVE_FREETYPE \
 		-fno-exceptions \
 		-fno-rtti \
-		-fvisibility-inlines-hidden
+		-fno-threadsafe-statics\
+		-fvisibility-inlines-hidden\
+		-std=gnu++11
 
 endif
 
diff --git a/platform/win32/libthirdparty.vcxproj b/platform/win32/libthirdparty.vcxproj
index 26310a0..f0fe997 100644
--- a/platform/win32/libthirdparty.vcxproj
+++ b/platform/win32/libthirdparty.vcxproj
@@ -183,7 +183,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\thirdparty\lcms2\include;..\..\scripts\freetype;..\..\scripts\libjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\libjpeg;..\..\thirdparty\openjpeg\src\lib\openjp2;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;..\..\thirdparty\freetype\include\freetype;..\..\include\;..\..\include\mupdf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;USE_JPIP=1;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";verbose=-1;JBIG_EXTERNAL_MEMENTO_H="memento.h";HAVE_FALLBACK=1;HAVE_OT;HAVE_UCDN;HB_NO_MT;hb_malloc_impl=fz_hb_malloc;hb_calloc_impl=fz_hb_calloc;hb_realloc_impl=fz_hb_realloc;hb_free_impl=fz_hb_free;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;USE_JPIP=1;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";verbose=-1;JBIG_EXTERNAL_MEMENTO_H="memento.h";HAVE_FALLBACK=1;HAVE_OT;HAVE_UCDN;HB_NO_MT;hb_malloc_impl=fz_hb_malloc;hb_calloc_impl=fz_hb_calloc;hb_realloc_impl=fz_hb_realloc;hb_free_impl=fz_hb_free;HAVE_FREETYPE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>
       </MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -212,7 +212,7 @@
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <AdditionalIncludeDirectories>..\..\thirdparty\lcms2\include;..\..\scripts\freetype;..\..\scripts\libjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\libjpeg;..\..\thirdparty\openjpeg\src\lib\openjp2;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;..\..\thirdparty\freetype\include\freetype;..\..\include\;..\..\include\mupdf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;USE_JPIP=1;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";verbose=-1;JBIG_EXTERNAL_MEMENTO_H="memento.h";HAVE_FALLBACK=1;HAVE_OT;HAVE_UCDN;HB_NO_MT;hb_malloc_impl=fz_hb_malloc;hb_calloc_impl=fz_hb_calloc;hb_realloc_impl=fz_hb_realloc;hb_free_impl=fz_hb_free;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;USE_JPIP=1;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";verbose=-1;JBIG_EXTERNAL_MEMENTO_H="memento.h";HAVE_FALLBACK=1;HAVE_OT;HAVE_UCDN;HB_NO_MT;hb_malloc_impl=fz_hb_malloc;hb_calloc_impl=fz_hb_calloc;hb_realloc_impl=fz_hb_realloc;hb_free_impl=fz_hb_free;HAVE_FREETYPE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
@@ -239,7 +239,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\thirdparty\lcms2\include;..\..\scripts\freetype;..\..\scripts\libjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\libjpeg;..\..\thirdparty\openjpeg\src\lib\openjp2;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;..\..\thirdparty\freetype\include\freetype;..\..\include\;..\..\include\mupdf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;USE_JPIP=1;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";MEMENTO=1;verbose=-1;JBIG_EXTERNAL_MEMENTO_H="memento.h";HAVE_FALLBACK=1;HAVE_OT;HAVE_UCDN;HB_NO_MT;hb_malloc_impl=fz_hb_malloc;hb_calloc_impl=fz_hb_calloc;hb_realloc_impl=fz_hb_realloc;hb_free_impl=fz_hb_free;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;USE_JPIP=1;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";MEMENTO=1;verbose=-1;JBIG_EXTERNAL_MEMENTO_H="memento.h";HAVE_FALLBACK=1;HAVE_OT;HAVE_UCDN;HB_NO_MT;hb_malloc_impl=fz_hb_malloc;hb_calloc_impl=fz_hb_calloc;hb_realloc_impl=fz_hb_realloc;hb_free_impl=fz_hb_free;HAVE_FREETYPE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>
       </MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -267,7 +267,7 @@
     <ClCompile>
       <Optimization>Disabled</Optimization>
       <AdditionalIncludeDirectories>..\..\thirdparty\lcms2\include;..\..\scripts\freetype;..\..\scripts\libjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\libjpeg;..\..\thirdparty\openjpeg\src\lib\openjp2;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;..\..\thirdparty\freetype\include\freetype;..\..\include\;..\..\include\mupdf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;USE_JPIP=1;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";verbose=-1;JBIG_EXTERNAL_MEMENTO_H="memento.h";HAVE_FALLBACK=1;HAVE_OT;HAVE_UCDN;HB_NO_MT;hb_malloc_impl=fz_hb_malloc;hb_calloc_impl=fz_hb_calloc;hb_realloc_impl=fz_hb_realloc;hb_free_impl=fz_hb_free;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;USE_JPIP=1;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";verbose=-1;JBIG_EXTERNAL_MEMENTO_H="memento.h";HAVE_FALLBACK=1;HAVE_OT;HAVE_UCDN;HB_NO_MT;hb_malloc_impl=fz_hb_malloc;hb_calloc_impl=fz_hb_calloc;hb_realloc_impl=fz_hb_realloc;hb_free_impl=fz_hb_free;HAVE_FREETYPE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>
       </MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -296,7 +296,7 @@
       <Optimization>MaxSpeed</Optimization>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <AdditionalIncludeDirectories>..\..\thirdparty\lcms2\include;..\..\scripts\freetype;..\..\scripts\libjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\libjpeg;..\..\thirdparty\openjpeg\src\lib\openjp2;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;..\..\thirdparty\freetype\include\freetype;..\..\include\;..\..\include\mupdf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;USE_JPIP=1;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";verbose=-1;JBIG_EXTERNAL_MEMENTO_H="memento.h";HAVE_FALLBACK=1;HAVE_OT;HAVE_UCDN;HB_NO_MT;hb_malloc_impl=fz_hb_malloc;hb_calloc_impl=fz_hb_calloc;hb_realloc_impl=fz_hb_realloc;hb_free_impl=fz_hb_free;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;USE_JPIP=1;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";verbose=-1;JBIG_EXTERNAL_MEMENTO_H="memento.h";HAVE_FALLBACK=1;HAVE_OT;HAVE_UCDN;HB_NO_MT;hb_malloc_impl=fz_hb_malloc;hb_calloc_impl=fz_hb_calloc;hb_realloc_impl=fz_hb_realloc;hb_free_impl=fz_hb_free;HAVE_FREETYPE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
@@ -342,6 +342,7 @@
     <ClCompile Include="..\..\thirdparty\freetype\src\truetype\truetype.c" />
     <ClCompile Include="..\..\thirdparty\freetype\src\type1\type1.c" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-aat-layout.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-aat-map.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-blob.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-buffer-serialize.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-buffer.cc" />
@@ -350,12 +351,19 @@
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-fallback-shape.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-font.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ft.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-map.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-number.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-cff1-table.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-cff2-table.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-color.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-face.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-font.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-layout.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-map.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-math.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-meta.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-metrics.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-name.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-arabic.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-default.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-hangul.cc" />
@@ -365,9 +373,9 @@
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-khmer.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-myanmar.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-thai.cc" />
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-tibetan.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-use-table.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-use.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-vowel-constraints.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-fallback.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-normalize.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape.cc" />
@@ -378,9 +386,14 @@
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-shape.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-shaper.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-static.cc" />
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ucdn.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-subset-cff-common.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-subset-cff1.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-subset-cff2.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-subset-input.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-subset-plan.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-subset.cc" />
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ucd.cc" />
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-unicode.cc" />
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-warning.cc" />
     <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2.c" />
     <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_arith.c" />
     <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_arith_iaid.c" />
@@ -567,17 +580,39 @@
     <ClInclude Include="..\..\thirdparty\freetype\include\freetype\tttags.h" />
     <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ttunpat.h" />
     <ClInclude Include="..\..\thirdparty\freetype\include\ft2build.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-aat-layout.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-aat.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-blob.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-buffer.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-common.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-coretext.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-deprecated.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-directwrite.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-face.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-font.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ft.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-gdi.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-glib.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-gobject-structs.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-icu.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-map.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-color.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-deprecated.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-font.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-layout.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-math.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-meta.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-metrics.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-name.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-var.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-set.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-shape-plan.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-shape.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-subset.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-unicode.h" />
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-uniscribe.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-version.h" />
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb.h" />
     <ClInclude Include="..\..\thirdparty\lcms2\include\lcms2mt.h" />
diff --git a/platform/win32/libthirdparty.vcxproj.filters b/platform/win32/libthirdparty.vcxproj.filters
index c0033fd..eb1f5dc 100644
--- a/platform/win32/libthirdparty.vcxproj.filters
+++ b/platform/win32/libthirdparty.vcxproj.filters
@@ -333,18 +333,99 @@
     <ClCompile Include="..\..\thirdparty\mujs\one.c">
       <Filter>libmujs</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsalpha.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmscam02.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmscgats.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmscnvrt.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmserr.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsgamma.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsgmt.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmshalf.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsintrp.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsio0.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsio1.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmslut.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsmd5.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsmtrx.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsnamed.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsopt.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmspack.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmspcs.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsplugin.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsps2.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmssamp.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmssm.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmstypes.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsvirt.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmswtpnt.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsxform.c">
+      <Filter>lcms2</Filter>
+    </ClCompile>
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-aat-layout.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-blob.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-aat-map.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-buffer-serialize.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-blob.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-buffer.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-buffer-serialize.cc">
+      <Filter>harfbuzz</Filter>
+    </ClCompile>
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-common.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
@@ -357,7 +438,16 @@
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-font.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ft.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-map.cc">
+      <Filter>harfbuzz</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-number.cc">
+      <Filter>harfbuzz</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-cff1-table.cc">
+      <Filter>harfbuzz</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-cff2-table.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-color.cc">
@@ -378,6 +468,15 @@
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-math.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-meta.cc">
+      <Filter>harfbuzz</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-metrics.cc">
+      <Filter>harfbuzz</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-name.cc">
+      <Filter>harfbuzz</Filter>
+    </ClCompile>
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-arabic.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
@@ -390,10 +489,10 @@
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-hebrew.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-indic-table.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-indic.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-indic.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-khmer.cc">
@@ -405,13 +504,13 @@
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-thai.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-tibetan.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-use.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-use-table.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-use.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-vowel-constraints.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-fallback.cc">
@@ -420,9 +519,6 @@
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-normalize.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape.cc">
-      <Filter>harfbuzz</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-tag.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
@@ -432,104 +528,47 @@
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-set.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-shape-plan.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-shape.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-shape.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-shape-plan.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
     <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-shaper.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-static.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ft.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ucdn.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-static.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-unicode.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-subset-cff1.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-warning.cc">
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-subset-cff2.cc">
       <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsalpha.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmscam02.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmscgats.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmscnvrt.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmserr.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsgamma.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsgmt.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmshalf.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsintrp.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsio0.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsio1.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmslut.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsmd5.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsmtrx.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsnamed.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsopt.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmspack.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmspcs.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsplugin.c">
-      <Filter>lcms2</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsps2.c">
-      <Filter>lcms2</Filter>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-subset-cff-common.cc">
+      <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmssamp.c">
-      <Filter>lcms2</Filter>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ucd.cc">
+      <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmssm.c">
-      <Filter>lcms2</Filter>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-unicode.cc">
+      <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmstypes.c">
-      <Filter>lcms2</Filter>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-subset.cc">
+      <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsvirt.c">
-      <Filter>lcms2</Filter>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-subset-input.cc">
+      <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmswtpnt.c">
-      <Filter>lcms2</Filter>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-subset-plan.cc">
+      <Filter>harfbuzz</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\thirdparty\lcms2\src\cmsxform.c">
-      <Filter>lcms2</Filter>
+    <ClCompile Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape-complex-indic-table.cc">
+      <Filter>harfbuzz</Filter>
     </ClCompile>
   </ItemGroup>
   <ItemGroup>
@@ -881,6 +920,27 @@
     <ClInclude Include="..\..\thirdparty\mujs\mujs.h">
       <Filter>libmujs</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\thirdparty\lcms2\src\extra_xform.h">
+      <Filter>lcms2</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\lcms2\src\lcms2_internal.h">
+      <Filter>lcms2</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\lcms2\include\lcms2mt.h">
+      <Filter>lcms2</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\lcms2\include\lcms2mt_plugin.h">
+      <Filter>lcms2</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-aat.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-aat-layout.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-blob.h">
       <Filter>harfbuzz\include</Filter>
     </ClInclude>
@@ -890,9 +950,15 @@
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-common.h">
       <Filter>harfbuzz\include</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-coretext.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-deprecated.h">
       <Filter>harfbuzz\include</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-directwrite.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-face.h">
       <Filter>harfbuzz\include</Filter>
     </ClInclude>
@@ -902,35 +968,74 @@
     <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ft.h">
       <Filter>harfbuzz\include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-set.h">
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-gdi.h">
       <Filter>harfbuzz\include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-shape-plan.h">
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-glib.h">
       <Filter>harfbuzz\include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-shape.h">
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-gobject-structs.h">
       <Filter>harfbuzz\include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-unicode.h">
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-icu.h">
       <Filter>harfbuzz\include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-version.h">
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-map.h">
       <Filter>harfbuzz\include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb.h">
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot.h">
       <Filter>harfbuzz\include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\thirdparty\lcms2\src\extra_xform.h">
-      <Filter>lcms2</Filter>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-color.h">
+      <Filter>harfbuzz\include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\thirdparty\lcms2\src\lcms2_internal.h">
-      <Filter>lcms2</Filter>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-deprecated.h">
+      <Filter>harfbuzz\include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\thirdparty\lcms2\include\lcms2mt.h">
-      <Filter>lcms2</Filter>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-font.h">
+      <Filter>harfbuzz\include</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\thirdparty\lcms2\include\lcms2mt_plugin.h">
-      <Filter>lcms2</Filter>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-layout.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-math.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-meta.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-metrics.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-name.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-shape.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-ot-var.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-set.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-shape.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-shape-plan.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-subset.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-unicode.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-uniscribe.h">
+      <Filter>harfbuzz\include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\thirdparty\harfbuzz\src\hb-version.h">
+      <Filter>harfbuzz\include</Filter>
     </ClInclude>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/thirdparty/harfbuzz b/thirdparty/harfbuzz
index 54d332d..3a74ee5 160000
--- a/thirdparty/harfbuzz
+++ b/thirdparty/harfbuzz
@@ -1 +1 @@
-Subproject commit 54d332dd9b0263821376161cdffb60ffb3c7847f
+Subproject commit 3a74ee528255cc027d84b204a87b5c25e47bff79

http://git.ghostscript.com/?p=mupdf.git;a=commit;h=5e5fb5510df4b698456ef6095f7c9b9f22ef59c0

--
MuPDF library
Artifex Software, Inc.