appveyor.yml            |    2 +-
 src/hb-common.cc        |    2 +-
 src/hb-ot-layout.cc     |    8 ++++++++
 win32/Makefile.vc       |   15 +++++++++++++++
 win32/README.txt        |    6 +++---
 win32/config-msvc.mak   |   28 +++++++++++++++-------------
 win32/config.h.win32.in |    2 +-
 win32/info-msvc.mak     |   43 +++++++++++++++++++++++++------------------
 8 files changed, 69 insertions(+), 37 deletions(-)

New commits:
commit edcf6344bc62af9ea726a633468c9243e127fa13
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Fri Mar 24 10:24:52 2017 -0700

    Blacklist more versions of Padauk
    
    Patch from Phil Race.

diff --git a/src/hb-ot-layout.cc b/src/hb-ot-layout.cc
index e78e1524..f8a04a95 100644
--- a/src/hb-ot-layout.cc
+++ b/src/hb-ot-layout.cc
@@ -125,6 +125,14 @@ _hb_ot_layout_create (hb_face_t *face)
       /* 2c0c90c6f6087ffbfea76589c93113a9cbb0e75f  
cantarell-fonts-0.0.21/otf/Cantarell-Bold.otf */
       /* 55461f5b853c6da88069ffcdf7f4dd3f8d7e3e6b  
cantarell-fonts-0.0.21/otf/Cantarell-Bold-Oblique.otf */
       || (188 == gdef_len && 3426 == gpos_len && 264 == gsub_len)
+      /* d125afa82a77a6475ac0e74e7c207914af84b37a padauk-2.80/Padauk.ttf RHEL 
7.2 */
+      || (1058 == gdef_len && 11818 == gpos_len && 47032 == gsub_len)
+      /* 0f7b80437227b90a577cc078c0216160ae61b031 padauk-2.80/Padauk-Bold.ttf 
RHEL 7.2*/
+      || (1046 == gdef_len && 12600 == gpos_len && 47030 == gsub_len)
+      /* d3dde9aa0a6b7f8f6a89ef1002e9aaa11b882290 padauk-2.80/Padauk.ttf 
Ubuntu 16.04 */
+      || (1058 == gdef_len && 16770 == gpos_len && 71796 == gsub_len)
+      /* 5f3c98ccccae8a953be2d122c1b3a77fd805093f padauk-2.80/Padauk-Bold.ttf 
Ubuntu 16.04 */
+      || (1046 == gdef_len && 17862 == gpos_len && 71790 == gsub_len)
       /* 6c93b63b64e8b2c93f5e824e78caca555dc887c7 padauk-2.80/Padauk-book.ttf 
*/
       || (1046 == gdef_len && 17112 == gpos_len && 71788 == gsub_len)
       /* d89b1664058359b8ec82e35d3531931125991fb9 
padauk-2.80/Padauk-bookbold.ttf */
commit e693ba77980d5ded65bf773d48b6b58274933fb7
Author: Khaled Hosny <khaledho...@eglug.org>
Date:   Thu Mar 23 00:35:36 2017 +0200

    [ci] Fix msys2 build on AppVeyor
    
    For whatever reason the env variables need to be the Windows way or they
    end up being empty.

diff --git a/appveyor.yml b/appveyor.yml
index 67f61149..a2867ca4 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -46,7 +46,7 @@ build_script:
   - 'if "%compiler%"=="msvc" nmake /f Makefile.vc CFG=%CFG% UNISCRIBE=1 
DIRECTWRITE=1 install' # FREETYPE=1 install'
 
   - '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"'
+  - '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"'
 
 # disable automatic tests
 test: off
commit 91570a1eeb1eca425372e203656369f39ede5c61
Author: Khaled Hosny <khaledho...@eglug.org>
Date:   Wed Mar 22 23:07:15 2017 +0200

    Just always use strtod here

diff --git a/src/hb-common.cc b/src/hb-common.cc
index 4c1a9a8d..16657303 100644
--- a/src/hb-common.cc
+++ b/src/hb-common.cc
@@ -667,11 +667,7 @@ parse_float (const char **pp, const char *end, float *pv)
   float v;
 
   errno = 0;
-#if defined (_MSC_VER) && (_MSC_VER < 1800)
   v = strtod (p, &pend);
-#else
-  v = strtof (p, &pend);
-#endif
   if (errno || p == pend)
     return false;
 
commit 539571c1a9cb5d443d029247874af37fed75432f
Author: Chun-wei Fan <fanchun...@src.gnome.org>
Date:   Fri Feb 24 17:58:25 2017 +0800

    src/hb-common.cc: Fix build on older Visual Studio
    
    Visual Studio only supported strtof() from Visual Studio 2013 onwards, so
    use strtod() instead to do the operation, which should do the same thing,
    sans going to a double, not a float.

diff --git a/src/hb-common.cc b/src/hb-common.cc
index 64e77d43..4c1a9a8d 100644
--- a/src/hb-common.cc
+++ b/src/hb-common.cc
@@ -667,7 +667,11 @@ parse_float (const char **pp, const char *end, float *pv)
   float v;
 
   errno = 0;
+#if defined (_MSC_VER) && (_MSC_VER < 1800)
+  v = strtod (p, &pend);
+#else
   v = strtof (p, &pend);
+#endif
   if (errno || p == pend)
     return false;
 
commit b90fb83ea6067802e62af9e1ea0c61c7ac79e9a9
Author: Chun-wei Fan <fanchun...@src.gnome.org>
Date:   Fri Feb 24 17:47:44 2017 +0800

    Visual Studio builds: Fix Introspection when UCDN enabled
    
    The sources in src/hb-ucdn and not included correctly into the NMake
    Makefiles, as we need their explicit relative location as we pass all the
    sources we used into the introspection scanner.  This was not an issue
    before as we excluded the UCDN sources in the build when we enabled
    introspection (meaning GLib is enabled), but since we default on using
    UCDN on all builds unless explicitly disabled, we need to deal with this.
    
    This did not affect builds using UCDN without introspection due to the use
    of NMake batch rules.
    
    Fix this by creating a NMake Makefile module on-the-fly with the correct
    subdir info, and using that list in there instead.

diff --git a/win32/Makefile.vc b/win32/Makefile.vc
index fdde7a7d..05778ae5 100644
--- a/win32/Makefile.vc
+++ b/win32/Makefile.vc
@@ -14,6 +14,21 @@
 !include ..\src\hb-ucdn\Makefile.sources
 !include ..\util\Makefile.sources
 
+# We need to include the sources in ..\src\hb-ucdn indirectly
+!if [call create-lists.bat header hb_ucdn_srcs.mak hb_ucdn_SRCS]
+!endif
+
+!if [for %c in ($(LIBHB_UCDN_sources)) do @call create-lists.bat file 
hb_ucdn_srcs.mak hb-ucdn\%c]
+!endif
+
+!if [call create-lists.bat footer hb_ucdn_srcs.mak]
+!endif
+
+!include hb_ucdn_srcs.mak
+
+!if [del /f /q hb_ucdn_srcs.mak]
+!endif
+
 # Include the Makefile portion that enables features based on user input
 !include config-msvc.mak
 
diff --git a/win32/config-msvc.mak b/win32/config-msvc.mak
index 285ad140..dffdcb26 100644
--- a/win32/config-msvc.mak
+++ b/win32/config-msvc.mak
@@ -136,7 +136,7 @@ HB_CFLAGS =         \
        $(HB_CFLAGS)            \
        $(HB_UCDN_CFLAGS)
 
-HB_SOURCES = $(HB_SOURCES) $(LIBHB_UCDN_sources) $(HB_UCDN_sources)
+HB_SOURCES = $(HB_SOURCES) $(hb_ucdn_SRCS) $(HB_UCDN_sources)
 !endif
 
 # Enable GLib if desired
commit f0aa167e447e8aa818a63a4a325be57844bf0353
Author: Chun-wei Fan <fanchun...@src.gnome.org>
Date:   Thu Feb 23 13:02:49 2017 +0800

    Update Visual Studio builds for UCDN usage
    
    We now use UCDN by default, so make it so in the build files; however
    don't hardcode HAVE_UCDN as one may still opt not to use it (but pass
    it in as a CFLAG unless one explicitly disables UCDN by using NO_UCDN=1
    on the NMake command line).
    
    Note that we are not blocking builds where UCDN is disabled along with
    GLib and ICU, as that will trigger a build error anyways which will tell
    the user what needs to be done to remedy this.

diff --git a/win32/README.txt b/win32/README.txt
index af0dc15c..dc31e8b6 100644
--- a/win32/README.txt
+++ b/win32/README.txt
@@ -36,7 +36,7 @@ PREFIX: Optional.  Base directory of where the third-party 
headers, libraries
 Explanation of options, set by <option>=1:
 ------------------------------------------
 GLIB: Enable GLib support in HarfBuzz, which also uses the GLib unicode
-      callback instead of the bundled UCDN unicode callback.  This requires the
+      callback if the bundled UCDN unicode callback is disabled.  This 
requires the
       GLib libraries, and is required for building all tool and test programs.
 
 GOBJECT: Enable building the HarfBuzz-GObject DLL, and thus implies GLib
@@ -63,7 +63,7 @@ CAIRO_FT: Enable the build of the hb-view tool, which makes 
use of Cairo, and
 
 GRAPHITE2: Enable the Graphite2 shaper, requires the SIL Graphite2 library.
 
-ICU: Enables the build of ICU Unicode functions. Requires the ICU libraries.
+ICU: Enables the build of ICU Unicode functions. Requires the ICU libraries.
 
 UNISCRIBE: Enable Uniscribe platform shaper support.
 
@@ -75,4 +75,4 @@ PYTHON: Full path to the Python interpretor to be used, if it 
is not in %PATH%.
 
 PERL: Full path to the PERL interpretor to be used, if it is not in %PATH%.
 
-LIBTOOL_DLL_NAME: Enable libtool-style DLL names.
\ No newline at end of file
+LIBTOOL_DLL_NAME: Enable libtool-style DLL names.
diff --git a/win32/config-msvc.mak b/win32/config-msvc.mak
index 4cffaeac..285ad140 100644
--- a/win32/config-msvc.mak
+++ b/win32/config-msvc.mak
@@ -129,6 +129,16 @@ HB_HEADERS = $(HB_HEADERS) $(HB_GRAPHITE2_headers)
 HB_DEP_LIBS = $(HB_DEP_LIBS) $(GRAPHITE2_LIB)
 !endif
 
+# Always enable UCDN unless explicitly disabled
+!if "$(NO_UCDN)" != "1"
+HB_DEFINES = $(HB_DEFINES) /DHAVE_UCDN=1
+HB_CFLAGS =            \
+       $(HB_CFLAGS)            \
+       $(HB_UCDN_CFLAGS)
+
+HB_SOURCES = $(HB_SOURCES) $(LIBHB_UCDN_sources) $(HB_UCDN_sources)
+!endif
+
 # Enable GLib if desired
 !if "$(GLIB)" == "1"
 HB_DEFINES = $(HB_DEFINES) /DHAVE_GLIB=1
@@ -164,16 +174,12 @@ HB_TESTS = \
        $(CFG)\$(PLAT)\test-unicode.exe                         \
        $(CFG)\$(PLAT)\test-version.exe
 
-!elseif "$(ICU)" == "1"
+!else
+!if "$(ICU)" == "1"
 # use ICU for Unicode functions
 # and define some of the macros in GLib's msvc_recommended_pragmas.h
 # to reduce some unneeded build-time warnings
 HB_DEFINES = $(HB_DEFINES) /DHAVE_ICU=1 /DHAVE_ICU_BUILTIN=1
-HB_CFLAGS =    \
-       $(HB_CFLAGS)                                    \
-       /wd4244                                                 \
-       /D_CRT_SECURE_NO_WARNINGS               \
-       /D_CRT_NONSTDC_NO_WARNINGS
 
 # We don't want ICU to re-define int8_t in VS 2008, will cause build breakage
 # as we define it in hb-common.h, and we ought to use the definitions there.
@@ -186,18 +192,14 @@ HB_HEADERS = $(HB_HEADERS) $(HB_ICU_headers)
 HB_DEP_LIBS = $(HB_DEP_LIBS) $(HB_ICU_DEP_LIBS)
 !endif
 
-!if "$(UCDN)" != "0"
 # Define some of the macros in GLib's msvc_recommended_pragmas.h
 # to reduce some unneeded build-time warnings
-HB_DEFINES = $(HB_DEFINES) /DHAVE_UCDN=1
 HB_CFLAGS =    \
-       $(HB_CFLAGS)                                    \
-       $(HB_UCDN_CFLAGS)                               \
-       /wd4244                                                 \
-       /D_CRT_SECURE_NO_WARNINGS               \
+       $(HB_CFLAGS)                    \
+       /wd4244                         \
+       /D_CRT_SECURE_NO_WARNINGS       \
        /D_CRT_NONSTDC_NO_WARNINGS
 
-HB_SOURCES = $(HB_SOURCES) $(LIBHB_UCDN_sources) $(HB_UCDN_sources)
 !endif
 
 !if "$(UNISCRIBE)" == "1"
diff --git a/win32/config.h.win32.in b/win32/config.h.win32.in
index d45cefb5..435c1bb2 100644
--- a/win32/config.h.win32.in
+++ b/win32/config.h.win32.in
@@ -112,7 +112,7 @@
 #define HAVE_SYS_TYPES_H 1
 
 /* Have UCDN Unicode functions */
-#define HAVE_UCDN 1
+/* #undef HAVE_UCDN */
 
 /* Have Uniscribe library */
 /* #undef HAVE_UNISCRIBE */
diff --git a/win32/info-msvc.mak b/win32/info-msvc.mak
index 3ec11d4d..9b92e031 100644
--- a/win32/info-msvc.mak
+++ b/win32/info-msvc.mak
@@ -4,6 +4,9 @@ INC_FEATURES = Fallback OT
 BUILT_TOOLS =
 BUILT_LIBRARIES = HarfBuzz
 
+!if "$(NO_UCDN)" != "1"
+UNICODE_IMPL = ucdn
+!else
 !if "$(GLIB)" == "1"
 UNICODE_IMPL = GLib
 INC_FEATURES = $(INC_FEATURES) GLib
@@ -13,8 +16,7 @@ BUILT_TOOLS = hb-view.exe $(BUILT_TOOLS)
 !endif
 !elseif "$(ICU)" == "1"
 UNICODE_IMPL = ICU
-!else
-UNICODE_IMPL = ucdn
+!endif
 !endif
 
 !if "$(FREETYPE)" == "1"
@@ -79,18 +81,18 @@ 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 and fallback support
-       @echo with a bundled Unicode implementation (UCDN).
+       @echo HarfBuzz DLL is built with OpenType and support with a bundled
+       @echo Unicode implementation (UCDN).
        @echo ======
-       @echo UNISCRIBE:
-       @echo Enable Uniscribe support.
+       @echo.
+       @echo CAIRO_FT:
+       @echo Enables Cairo-Freetype support, needed for the build of the 
hb-view utility.
+       @echo Implies FreeType2 support and also requires Cairo built with 
FreeType2
+       @echo support; GLib2 support must also be enabled.
        @echo.
        @echo DIRECTWRITE:
        @echo Enable DirectWrite support, requires a recent enough Windows SDK.
        @echo.
-       @echo GRAPHITE2:
-       @echo Enable graphite2 support, requires the SIL Graphite2 library
-       @echo.
        @echo FREETYPE:
        @echo Enable FreeType2 support, requires the FreeType2 library
        @echo.
@@ -98,16 +100,19 @@ help:
        @echo Enable GLib2 support, with GLib Unicode support, requires the 
GNOME GLib2
        @echo library.  Enables the build of utility programs.
        @echo.
-       @echo ICU:
-       @echo Enable build with ICU Unicode functions, requires the 
International
-       @echo Components for Unicode (ICU) libraries.
-       @echo.
        @echo GOBJECT:
        @echo Enable the HarfBuzz-GObject library, also implies GLib2 support,
        @echo requires the GNOME GLib2 libraries and tools, notably the 
glib-mkenums
        @echo tool script, which will require a PERL interpreter (use
        @echo PERL=^$(PATH_TO_PERL_INTERPRETOR)) if it is not already in your 
PATH).
        @echo.
+       @echo GRAPHITE2:
+       @echo Enable graphite2 support, requires the SIL Graphite2 library
+       @echo.
+       @echo ICU:
+       @echo Enable build with ICU Unicode functions, requires the 
International
+       @echo Components for Unicode (ICU) libraries.
+       @echo.
        @echo INTROSPECTION:
        @echo Enable the build of introspection files, also implies 
GObject/GLib2 support,
        @echo requires the GNOME gobject-introspection libraries and tools.  
You will need
@@ -117,15 +122,17 @@ help:
        @echo ^$(PATH_TO_PYTHON_INTERPRETOR) respectively, if python.exe is not 
already
        @echo in your PATH.
        @echo.
-       @echo CAIRO_FT:
-       @echo Enables Cairo-Freetype support, needed for the build of the 
hb-view utility.
-       @echo Implies FreeType2 support and also requires Cairo built with 
FreeType2
-       @echo support; GLib2 support must also be enabled.
-       @echo.
        @echo LIBTOOL_DLL_NAME:
        @echo Use a libtool-style DLL name to mimic the DLL file naming 
generated by
        @echo MinGW builds.
        @echo.
+       @echo NO_UCDN:
+       @echo Do not use the bundled Unicode callback, which is the default.  
GLib or
+       @echo ICU-based unicode callback is therefore required.
+       @echo
+       @echo UNISCRIBE:
+       @echo Enable Uniscribe support.
+       @echo.
        @echo Note that GLib2 support is required for all utility and test 
programs.
        @echo ======
        @echo A 'clean' target is supported to remove all generated files, 
intermediate
_______________________________________________
HarfBuzz mailing list
HarfBuzz@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to