[HarfBuzz] harfbuzz: Branch 'master' - 9 commits

Behdad Esfahbod behdad at kemper.freedesktop.org
Wed Oct 26 08:34:00 UTC 2016


 appveyor.yml              |   15 +++++++++++++--
 src/hb-gobject-structs.cc |    3 +++
 test/api/Makefile.am      |    1 -
 win32/README.txt          |   13 +++++++------
 win32/config-msvc.mak     |   25 ++++++++++++++++++++-----
 win32/config.h.win32.in   |    2 +-
 win32/detectenv-msvc.mak  |    3 +++
 win32/info-msvc.mak       |   11 +++++++++--
 8 files changed, 56 insertions(+), 17 deletions(-)

New commits:
commit b6c765871b752c9436ec993e47b48f9d4fecaed5
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Oct 26 10:33:33 2016 +0200

    [ci] Fix appveyor.yml syntax error

diff --git a/appveyor.yml b/appveyor.yml
index 0653000..ddcc9a4 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -36,7 +36,7 @@ install:
   - 'if "%compiler%"=="msvc" cd vcpkg'
   - 'if "%compiler%"=="msvc" powershell -exec bypass scripts\bootstrap.ps1'
   - 'if "%compiler%"=="msvc" vcpkg install freetype:%VCPKG_ARCH%'
-  - 'if "%compiler%"=="msvc" copy installed\%VCPKG_ARCH%\debug\lib\freetyped.lib installed\%VCPKG_ARCH%\lib"
+  - 'if "%compiler%"=="msvc" copy installed\%VCPKG_ARCH%\debug\lib\freetyped.lib installed\%VCPKG_ARCH%\lib'
   - 'if "%compiler%"=="msvc" cd ..'
 
 build_script:
commit 0e79ebb3ca9b7b6d238a0007e5ca022845ee9afc
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Sun Oct 23 14:39:43 2016 +0200

    [gobject] Update for new MATH structs

diff --git a/src/hb-gobject-structs.cc b/src/hb-gobject-structs.cc
index 6bd6336..fef0024 100644
--- a/src/hb-gobject-structs.cc
+++ b/src/hb-gobject-structs.cc
@@ -78,3 +78,6 @@ HB_DEFINE_VALUE_TYPE (glyph_info)
 HB_DEFINE_VALUE_TYPE (glyph_position)
 HB_DEFINE_VALUE_TYPE (segment_properties)
 HB_DEFINE_VALUE_TYPE (user_data_key)
+
+HB_DEFINE_VALUE_TYPE (ot_math_glyph_variant)
+HB_DEFINE_VALUE_TYPE (ot_math_glyph_part)
commit 8c854dc023b1f9e081a3bbd16416b88a4671c267
Merge: bb9805f c3fa5d0
Author: Khaled Hosny <khaledhosny at eglug.org>
Date:   Tue Oct 25 00:31:36 2016 +0300

    Merge pull request #352 from fred-wang/makefile-am
    
    Remove inexistent file ttx file from test/api/Makefile.am

commit c3fa5d0e03b57be131c66ea8720806c946d0e10f
Author: Frédéric Wang <fred.wang at free.fr>
Date:   Mon Oct 24 21:42:04 2016 +0200

    Remove inexistent file ttx file from test/api/Makefile.am

diff --git a/test/api/Makefile.am b/test/api/Makefile.am
index d514a6f..530bf3e 100644
--- a/test/api/Makefile.am
+++ b/test/api/Makefile.am
@@ -57,7 +57,6 @@ test_ot_math_CPPFLAGS = $(AM_CPPFLAGS) $(FREETYPE_CFLAGS)
 EXTRA_DIST += \
 	fonts/MathTestFontEmpty.otf \
 	fonts/MathTestFontFull.otf \
-	fonts/MathTestFontFull.ttx \
 	fonts/MathTestFontNone.otf \
 	fonts/MathTestFontPartial1.otf \
 	fonts/MathTestFontPartial2.otf \
commit bb9805f5419f18c7f5cab32d660fd4109c30f7cc
Merge: 702d9f5 755a0c2
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date:   Sat Oct 22 12:23:05 2016 +0330

    Merge pull request #349 from ebraminio/mergebackvcpkgpatches
    
    [ci] Enable hb-freetype on Windows build tests

commit 755a0c20798e3c3e6bb933a28e38f9667fccdadc
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date:   Fri Oct 21 11:48:58 2016 +0330

    [ci] Enable freetype on msvc using vcpkg

diff --git a/appveyor.yml b/appveyor.yml
index cc16e5e..0653000 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -4,15 +4,19 @@ environment:
   matrix:
     - compiler: msvc
       ARCH: amd64
+      VCPKG_ARCH: x64-windows
       CFG: release
     - compiler: msvc
       ARCH: x86
+      VCPKG_ARCH: x86-windows
       CFG: release
     - compiler: msvc
       ARCH: amd64
+      VCPKG_ARCH: x64-windows
       CFG: debug
     - compiler: msvc
       ARCH: x86
+      VCPKG_ARCH: x86-windows
       CFG: debug
 
     - compiler: msys2
@@ -27,11 +31,18 @@ environment:
 install:
   - C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-x86_64-ragel"
 
-build_script:
   - 'if "%compiler%"=="msvc" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %ARCH%'
+  - 'if "%compiler%"=="msvc" git clone https://github.com/Microsoft/vcpkg'
+  - 'if "%compiler%"=="msvc" cd vcpkg'
+  - 'if "%compiler%"=="msvc" powershell -exec bypass scripts\bootstrap.ps1'
+  - 'if "%compiler%"=="msvc" vcpkg install freetype:%VCPKG_ARCH%'
+  - 'if "%compiler%"=="msvc" copy installed\%VCPKG_ARCH%\debug\lib\freetyped.lib installed\%VCPKG_ARCH%\lib"
+  - 'if "%compiler%"=="msvc" cd ..'
+
+build_script:
   - 'if "%compiler%"=="msvc" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh; make distdir"'
   - 'if "%compiler%"=="msvc" cd harfbuzz-*\win32'
-  - 'if "%compiler%"=="msvc" nmake /f Makefile.vc CFG=%CFG% UNISCRIBE=1 DIRECTWRITE=1'
+  - 'if "%compiler%"=="msvc" nmake /f Makefile.vc CFG=%CFG% UNISCRIBE=1 DIRECTWRITE=1 FREETYPE=1 FREETYPE_DIR=..\..\vcpkg\installed\%VCPKG_ARCH%\include ADDITIONAL_LIB_DIR=..\..\vcpkg\installed\%VCPKG_ARCH%\lib'
 
   - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-$MSYS2_ARCH-{freetype,cairo,icu,gettext,gobject-introspection,gcc,gcc-libs,glib2,graphite2,pkg-config}"'
   - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh --with-uniscribe --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2 --build=$MINGW_CHOST --host=$MINGW_CHOST --prefix=$MINGW_PREFIX; make; make check"'
commit 4631d84c2bb51395efe3156f9c9f1a6b0e277947
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date:   Tue Oct 18 14:30:00 2016 +0330

    Merge back @vlj's local patches of vcpkg

diff --git a/win32/config-msvc.mak b/win32/config-msvc.mak
index 88ae071..d8b851d 100644
--- a/win32/config-msvc.mak
+++ b/win32/config-msvc.mak
@@ -12,7 +12,11 @@ HB_GLIB_LIBS = glib-2.0.lib
 HB_GOBJECT_DEP_LIBS = gobject-2.0.lib $(HB_GLIB_LIBS)
 
 # Freetype is needed for building FreeType support and hb-view
+!if "$(CFG)" == "debug"
+FREETYPE_LIB = freetyped.lib
+!else
 FREETYPE_LIB = freetype.lib
+!endif
 
 # Cairo is needed for building hb-view
 CAIRO_LIB = cairo.lib
@@ -125,6 +129,9 @@ HB_DEFINES = $(HB_DEFINES) /DHAVE_CAIRO=1
 
 # Enable freetype if desired
 !if "$(FREETYPE)" == "1"
+!if "$(FREETYPE_DIR)" != ""
+HB_CFLAGS = $(HB_CFLAGS) /I$(FREETYPE_DIR)
+!endif
 HB_DEFINES = $(HB_DEFINES) /DHAVE_FREETYPE=1
 HB_SOURCES = $(HB_SOURCES) $(HB_FT_sources)
 HB_HEADERS = $(HB_HEADERS) $(HB_FT_headers)
diff --git a/win32/detectenv-msvc.mak b/win32/detectenv-msvc.mak
index 83d8786..41f4bd0 100644
--- a/win32/detectenv-msvc.mak
+++ b/win32/detectenv-msvc.mak
@@ -130,6 +130,9 @@ LDFLAGS_ARCH = /machine:x86
 CFLAGS = $(CFLAGS_ADD) /W3 /Zi /I.. /I..\src /I. /I$(PREFIX)\include
 
 LDFLAGS_BASE = $(LDFLAGS_ARCH) /libpath:$(PREFIX)\lib /DEBUG
+!if "$(ADDITIONAL_LIB_DIR)" != ""
+LDFLAGS_BASE = $(LDFLAGS_ARCH) /libpath:$(ADDITIONAL_LIB_DIR)
+!endif
 
 !if "$(CFG)" == "debug"
 LDFLAGS = $(LDFLAGS_BASE)
commit 702d9f522d1ac4797700f0ea056f69169b8d1a78
Merge: 331c46c d8e2eb9
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date:   Fri Oct 14 13:54:55 2016 +0330

    Merge pull request #340 from ebraminio/nouniscribe
    
    Make Uniscribe optional on nmake win32 builds

commit d8e2eb9ee0f47af7e90056d8db5949d10a88786a
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date:   Sun Oct 9 09:06:05 2016 +0330

    Make Uniscribe optional on nmake win32 builds
    
    Most of harfbuzz clients don't need Uniscribe and DirectWrite support at all
    as harfbuzz is a replacement for Uniscribe so Chromium and Firefox are using
    harfbuzz without them on Windows.
    
    This removal also helps win32 nmake clients to have reduced binary size and
    libs count.

diff --git a/appveyor.yml b/appveyor.yml
index 4677a27..cc16e5e 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -31,7 +31,7 @@ build_script:
   - 'if "%compiler%"=="msvc" call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %ARCH%'
   - 'if "%compiler%"=="msvc" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh; make distdir"'
   - 'if "%compiler%"=="msvc" cd harfbuzz-*\win32'
-  - 'if "%compiler%"=="msvc" nmake /f Makefile.vc CFG=%CFG% DIRECTWRITE=1'
+  - 'if "%compiler%"=="msvc" nmake /f Makefile.vc CFG=%CFG% UNISCRIBE=1 DIRECTWRITE=1'
 
   - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S mingw-w64-$MSYS2_ARCH-{freetype,cairo,icu,gettext,gobject-introspection,gcc,gcc-libs,glib2,graphite2,pkg-config}"'
   - 'if "%compiler%"=="msys2" C:\msys64\usr\bin\bash -lc "cd $APPVEYOR_BUILD_FOLDER; PATH=$PATH:/mingw64/bin:/mingw32/bin; ./autogen.sh --with-uniscribe --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2 --build=$MINGW_CHOST --host=$MINGW_CHOST --prefix=$MINGW_PREFIX; make; make check"'
diff --git a/win32/README.txt b/win32/README.txt
index e2ead01..07e211c 100644
--- a/win32/README.txt
+++ b/win32/README.txt
@@ -7,11 +7,10 @@ Makefiles.
 The following are instructions for performing such a build, as there is a
 number of build configurations supported for the build.  Note that for all
 build configurations, the OpenType and Simple TrueType layout (fallback)
-backends are enabled, as well as the Uniscribe platform shaper, and this
-is the base configuration that is built if no options (see below) are
-specified.  A 'clean' target is provided-it is recommended that one cleans
-the build and redo the build if any configuration option changed.  An
-'install' target is also provided to copy the built items in their appropriate
+backends are enabled, and this is the base configuration that is built if no
+options (see below) are specified.  A 'clean' target is provided-it is recommended
+that one cleans the build and redo the build if any configuration option changed.
+An 'install' target is also provided to copy the built items in their appropriate
 locations under $(PREFIX), which is described below.
 
 Invoke the build by issuing the command:
@@ -68,7 +67,9 @@ ICU: Enables the build HarfBuzz-ICU, which is now the recommended layout engine
      for ICU (International Components for Unicode), which deprecated ICU LE.
      Requires the ICU libraries.
 
-DIRECTWRITE: Enable (experimental) DirectWrite platform shaper support,
+UNISCRIBE: Enable Uniscribe platform shaper support.
+
+DIRECTWRITE: Enable DirectWrite platform shaper support,
              requires a rather recent Windows SDK, and at least Windows Vista/
              Server 2008 with SP2 and platform update.
 
diff --git a/win32/config-msvc.mak b/win32/config-msvc.mak
index e0c6468..88ae071 100644
--- a/win32/config-msvc.mak
+++ b/win32/config-msvc.mak
@@ -20,6 +20,9 @@ CAIRO_LIB = cairo.lib
 # Graphite2 is needed for building SIL Graphite2 support
 GRAPHITE2_LIB = graphite2.lib
 
+# Uniscribe is needed for Uniscribe shaping support
+UNISCRIBE_LIB = usp10.lib gdi32.lib rpcrt4.lib user32.lib
+
 # Directwrite is needed for DirectWrite shaping support
 DIRECTWRITE_LIB = dwrite.lib
 
@@ -31,17 +34,15 @@ HB_UCDN_CFLAGS = /I..\src\hb-ucdn
 HB_SOURCES =	\
 	$(HB_BASE_sources)		\
 	$(HB_FALLBACK_sources)	\
-	$(HB_OT_sources)		\
-	$(HB_UNISCRIBE_sources)	\
+	$(HB_OT_sources)
 
 HB_HEADERS =	\
 	$(HB_BASE_headers)		\
 	$(HB_NODIST_headers)	\
-	$(HB_OT_headers)		\
-	$(HB_UNISCRIBE_headers)
+	$(HB_OT_headers)
 
 # Minimal set of (system) libraries needed for the HarfBuzz DLL
-HB_DEP_LIBS = usp10.lib gdi32.lib rpcrt4.lib user32.lib
+HB_DEP_LIBS =
 
 # We build the HarfBuzz DLL/LIB at least
 HB_LIBS = $(CFG)\$(PLAT)\harfbuzz.lib
@@ -188,6 +189,13 @@ HB_CFLAGS =	\
 HB_SOURCES = $(HB_SOURCES) $(LIBHB_UCDN_sources) $(HB_UCDN_sources)
 !endif
 
+!if "$(UNISCRIBE)" == "1"
+HB_CFLAGS = $(HB_CFLAGS) /DHAVE_UNISCRIBE
+HB_SOURCES = $(HB_SOURCES) $(HB_UNISCRIBE_sources)
+HB_HEADERS = $(HB_HEADERS) $(HB_UNISCRIBE_headers)
+HB_DEP_LIBS = $(HB_DEP_LIBS) $(UNISCRIBE_LIB)
+!endif
+
 !if "$(DIRECTWRITE)" == "1"
 HB_CFLAGS = $(HB_CFLAGS) /DHAVE_DIRECTWRITE
 HB_SOURCES = $(HB_SOURCES) $(HB_DIRECTWRITE_sources)
diff --git a/win32/config.h.win32.in b/win32/config.h.win32.in
index 73ad205..d45cefb 100644
--- a/win32/config.h.win32.in
+++ b/win32/config.h.win32.in
@@ -115,7 +115,7 @@
 #define HAVE_UCDN 1
 
 /* Have Uniscribe library */
-#define HAVE_UNISCRIBE 1
+/* #undef HAVE_UNISCRIBE */
 
 /* Define to 1 if you have the <unistd.h> header file. */
 #ifndef _MSC_VER
diff --git a/win32/info-msvc.mak b/win32/info-msvc.mak
index bc85dc9..bbe631b 100644
--- a/win32/info-msvc.mak
+++ b/win32/info-msvc.mak
@@ -1,6 +1,6 @@
 # NMake Makefile portion for displaying config info
 
-INC_FEATURES = Uniscribe Fallback OT
+INC_FEATURES = Fallback OT
 BUILT_TOOLS =
 BUILT_LIBRARIES = HarfBuzz
 
@@ -23,6 +23,10 @@ INC_FEATURES = $(INC_FEATURES) FreeType
 INC_FEATURES = $(INC_FEATURES) Graphite2
 !endif
 
+!if "$(UNISCRIBE)" == "1"
+INC_FEATURES = $(INC_FEATURES) Uniscribe
+!endif
+
 !if "$(DIRECTWRITE)" == "1"
 INC_FEATURES = $(INC_FEATURES) DirectWrite
 !endif
@@ -77,9 +81,12 @@ help:
 	@echo.
 	@echo OPTION: Optional, may be any of the following, use OPTION=1 to enable;
 	@echo multiple OPTION's may be used.  If no OPTION is specified, a default
-	@echo HarfBuzz DLL is built with OpenType, fallback and Uniscribe support
+	@echo HarfBuzz DLL is built with OpenType and fallback support
 	@echo with a bundled Unicode implementation (UCDN).
 	@echo ======
+	@echo UNISCRIBE:
+	@echo Enable Uniscribe support.
+	@echo.
 	@echo DIRECTWRITE:
 	@echo Enable DirectWrite support, requires a recent enough Windows SDK.
 	@echo.


More information about the HarfBuzz mailing list