diff --git a/setup/installer/osx/app/main.py b/setup/installer/osx/app/main.py index a101c574b7..cf1918abaf 100644 --- a/setup/installer/osx/app/main.py +++ b/setup/installer/osx/app/main.py @@ -15,6 +15,8 @@ from setup import __version__ as VERSION, __appname__ as APPNAME, basenames, \ LICENSE = open('LICENSE', 'rb').read() MAGICK_HOME='@executable_path/../Frameworks/ImageMagick' ENV = dict( + FONTCONFIG_PATH='@executable_path/../Resources/fonts', + FONTCONFIG_FILE='@executable_path/../Resources/fonts/fonts.conf', MAGICK_CONFIGURE_PATH=MAGICK_HOME+'/config', MAGICK_CODER_MODULE_PATH=MAGICK_HOME+'/modules-Q16/coders', MAGICK_CODER_FILTER_PATH=MAGICK_HOME+'/modules-Q16/filter', @@ -178,7 +180,7 @@ class Py2App(object): self.add_poppler() self.add_libjpeg() self.add_libpng() - self.add_freetype() + self.add_fontconfig() self.add_imagemagick() self.add_misc_libraries() @@ -377,7 +379,7 @@ class Py2App(object): @flush def add_poppler(self): info('\nAdding poppler') - for x in ('libpoppler.27.dylib',): + for x in ('libpoppler.28.dylib',): self.install_dylib(os.path.join(SW, 'lib', x)) for x in ('pdftohtml', 'pdftoppm', 'pdfinfo'): self.install_dylib(os.path.join(SW, 'bin', x), False) @@ -395,11 +397,27 @@ class Py2App(object): @flush - def add_freetype(self): - info('\nAdding freetype') - for x in ('freetype.6', 'expat.1'): + def add_fontconfig(self): + info('\nAdding fontconfig') + for x in ('fontconfig.1', 'freetype.6', 'expat.1'): src = os.path.join(SW, 'lib', 'lib'+x+'.dylib') self.install_dylib(src) + dst = os.path.join(self.resources_dir, 'fonts') + if os.path.exists(dst): + shutil.rmtree(dst) + src = os.path.join(SW, 'etc', 'fonts') + shutil.copytree(src, dst, symlinks=False) + fc = os.path.join(dst, 'fonts.conf') + raw = open(fc, 'rb').read() + raw = raw.replace('