1. Download the PDFHummus/PDFWriter source code: https://github.com/galkahana/PDF-Writer
   This library only has build instructions for MSVC toolchains within Visual Studio 2017/2019.
   create folders PDFWriter\dependencies\lib\ and PDFWriter\dependencies\include
2. Use VCPKG to install the following libraries necessary for PDFHummus:
   libtiff, libjpeg, libpng, and zlib
3. Download freetype from: git://git.savannah.gnu.org/freetype/freetype2.git
   From the freetype2 source code root directory use Msys and run the following commands:
   mingw32-make setup mingw32 
   mingw32-make
   cp -r  include\* ..\PDFHummus\PDFWriter\dependencies\include\
   cp objs\libfreetype.a ..\PDFHummus\PDFWriter\dependencies\lib\
4. The PDFHummus/PDFWriter source code includes a copy of the source code for LibAesgm in a folder with the same name.
   Go into this folder and run the following commands to generate the library:
   // fpermissive is needed because the author chose to implicitly switch between pointers of uint_8 and char.
   g++ -c -fpermissive *.o
   ar -cvq aesgm.lib *.o
   g++ -I "C:\Users\bad-p\Downloads\PDFHummus-build\PDFHummus\LibAesgm"
5. 
   Download libtiff from: https://gitlab.com/libtiff/libtiff 
   After compiling the libtiff library with the Cmake file, all object files are located in C:\Users\bad-p\Downloads\TRASH\libtiff-master\build\libtiff\CMakeFiles\tiff.dir

   Download libpng from: https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/libpng-1.6.37.tar.xz/download?use_mirror=newcontinuum
   After compiling the libpng library with the Cmake file, all object files are located in C:\Users\bad-p\Downloads\TRASH\libpng-1.6.37\build\CMakeFiles\png_static.dir
  
   Download libjpeg from:https://sourceforge.net/projects/libjpeg/files/
   After compiling the libjpeg library with the Cmake file, all object files are located in C:\Users\bad-p\Downloads\TRASH\jpeg-6b
   
   Download zlib from: https://www.zlib.net/
   After compiling the zlib library with the Cmake file, all object files are located in C:\Users\bad-p\Downloads\TRASH\zlib-1.2.11

   For all CMake instructions create a build directory in the source root. CD in to build, run Cmake .. for windows using msys pass the 'Cmake .. -G "MSYS Makefiles"' 
   build option to generate a makefile appropiate for msys; You can use make afterwards to compile as normal.
   After all of the object files are moved into the same folder, generate a library for PDFWriter.
   ar -cvq PDFWriter.lib *.o 

   14 April 2020
      Talked about cleaning up the README as well as rebuilding PDFHummus as a statically linked library "on my own". We will try and do this in a couple more sessions, so Wesley 
      can rest his small brain. :D
   19 May 2020
   Per Raymond Chen - "UAC Virtualization kicks in for applications which were designed for versions of Windows prior to Windows Vista. 
   These applications often assume that they are running with administrative privileges, and when they try to write to file or registry locations 
   that are normally restricted to administrators, they expect them to succeed. So UAC Virtualization lets those writes succeed by secretly redirecting 
   them to another location inside the user profile. The reverse happens when the application later tries to read the file or registry key: If the file or 
   key exists in the redirected location, it is used instead of the one in the administrative location." - Msft CTO