Skip to content

Commit

Permalink
harfbuzz 10.2.0
Browse files Browse the repository at this point in the history
git-svn-id: svn://tug.org/texlive/trunk/Build/source@73427 c570f23f-e606-0410-a88d-b1316a301751
  • Loading branch information
Akira Kakuto committed Jan 11, 2025
1 parent dd89d5c commit 9765f0d
Show file tree
Hide file tree
Showing 52 changed files with 2,559 additions and 1,368 deletions.
2 changes: 1 addition & 1 deletion libs/README
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ graphite2 1.3.14 - checked 10apr20
https://sourceforge.net/projects/silgraphite/files/graphite2/
(requires C++11)

harfbuzz 10.1.0 - checked 06nov24
harfbuzz 10.2.0 - checked 12jan25
https://github.com/harfbuzz/harfbuzz/releases/latest

icu 76.1 - checked 27oct24 (requires C++17, e.g., g++13)
Expand Down
5 changes: 5 additions & 0 deletions libs/harfbuzz/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
2025-01-12 Akira Kakuto <[email protected]>

Import harfbuzz-10.2.0.
* version.ac, include/Makefile.am: Adjusted.

2024-11-06 Akira Kakuto <[email protected]>

Import harfbuzz-10.1.0.
Expand Down
5 changes: 5 additions & 0 deletions libs/harfbuzz/TLpatches/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
2025-01-12 Akira Kakuto <[email protected]>

Imported harfbuzz-10.2.0 source tree from:
https://github.com/harfbuzz/harfbuzz/releases/download/10.2.0/

2024-11-06 Akira Kakuto <[email protected]>

Imported harfbuzz-10.1.0 source tree from:
Expand Down
4 changes: 2 additions & 2 deletions libs/harfbuzz/TLpatches/TL-Changes
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Changes applied to the harfbuzz-10.1.0/ tree as obtained from:
https://github.com/harfbuzz/harfbuzz/releases/download/10.1.0/
Changes applied to the harfbuzz-10.2.0/ tree as obtained from:
https://github.com/harfbuzz/harfbuzz/releases/download/10.2.0/

Removed:
.clang-format
Expand Down
24 changes: 12 additions & 12 deletions libs/harfbuzz/configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.72 for harfbuzz (TeX Live) 10.1.0.
# Generated by GNU Autoconf 2.72 for harfbuzz (TeX Live) 10.2.0.
#
# Report bugs to <[email protected]>.
#
Expand Down Expand Up @@ -604,8 +604,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='harfbuzz (TeX Live)'
PACKAGE_TARNAME='harfbuzz--tex-live-'
PACKAGE_VERSION='10.1.0'
PACKAGE_STRING='harfbuzz (TeX Live) 10.1.0'
PACKAGE_VERSION='10.2.0'
PACKAGE_STRING='harfbuzz (TeX Live) 10.2.0'
PACKAGE_BUGREPORT='[email protected]'
PACKAGE_URL=''

Expand Down Expand Up @@ -1341,7 +1341,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
'configure' configures harfbuzz (TeX Live) 10.1.0 to adapt to many kinds of systems.
'configure' configures harfbuzz (TeX Live) 10.2.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
Expand Down Expand Up @@ -1413,7 +1413,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of harfbuzz (TeX Live) 10.1.0:";;
short | recursive ) echo "Configuration of harfbuzz (TeX Live) 10.2.0:";;
esac
cat <<\_ACEOF
Expand Down Expand Up @@ -1518,7 +1518,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
harfbuzz (TeX Live) configure 10.1.0
harfbuzz (TeX Live) configure 10.2.0
generated by GNU Autoconf 2.72
Copyright (C) 2023 Free Software Foundation, Inc.
Expand Down Expand Up @@ -2075,7 +2075,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by harfbuzz (TeX Live) $as_me 10.1.0, which was
It was created by harfbuzz (TeX Live) $as_me 10.2.0, which was
generated by GNU Autoconf 2.72. Invocation command line was
$ $0$ac_configure_args_raw
Expand Down Expand Up @@ -5252,7 +5252,7 @@ fi

# Define the identity of the package.
PACKAGE='harfbuzz--tex-live-'
VERSION='10.1.0'
VERSION='10.2.0'


# Some tools Automake needs.
Expand Down Expand Up @@ -5441,9 +5441,9 @@ echo 'tldbg:KPSE_BASIC done (pkg=harfbuzz, amopt=no-define)' >&5


HB_VERSION_MAJOR=10
HB_VERSION_MINOR=1
HB_VERSION_MINOR=2
HB_VERSION_MICRO=0
HB_VERSION=10.1.0
HB_VERSION=10.2.0

ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
Expand Down Expand Up @@ -9292,7 +9292,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by harfbuzz (TeX Live) $as_me 10.1.0, which was
This file was extended by harfbuzz (TeX Live) $as_me 10.2.0, which was
generated by GNU Autoconf 2.72. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -9360,7 +9360,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
harfbuzz (TeX Live) config.status 10.1.0
harfbuzz (TeX Live) config.status 10.2.0
configured by $0, generated by GNU Autoconf 2.72,
with options \\"\$ac_cs_config\\"
Expand Down
113 changes: 91 additions & 22 deletions libs/harfbuzz/harfbuzz-src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,25 +1,11 @@
cmake_minimum_required(VERSION 3.12)
cmake_minimum_required(VERSION 3.14)
project(harfbuzz)

message(WARN "HarfBuzz has a Meson port and tries to migrate all the other build systems to it, please consider using it as we might remove our cmake port soon.")

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

## Limit framework build to Xcode generator
if (BUILD_FRAMEWORK)
# for a framework build on macOS, use:
# cmake -DBUILD_FRAMEWORK=ON -Bbuild -H. -GXcode && cmake --build build
if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode")
message(FATAL_ERROR
"You should use Xcode generator with BUILD_FRAMEWORK enabled")
endif ()
set (CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_64_BIT)")
set (CMAKE_MACOSX_RPATH ON)
set (BUILD_SHARED_LIBS ON)
endif ()


## Disallow in-source builds, as CMake generated make files can collide with autotools ones
if (NOT MSVC AND "${PROJECT_BINARY_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}")
message(FATAL_ERROR
Expand Down Expand Up @@ -73,6 +59,14 @@ if (HB_HAVE_INTROSPECTION)
set (HB_HAVE_GLIB ON)
endif ()

if (APPLE)
option(BUILD_FRAMEWORK "Build as Apple Frameworks" OFF)
endif ()
if (BUILD_FRAMEWORK)
set (CMAKE_MACOSX_RPATH ON)
set (BUILD_SHARED_LIBS OFF)
endif ()

include_directories(AFTER
${PROJECT_SOURCE_DIR}/src
${PROJECT_BINARY_DIR}/src
Expand Down Expand Up @@ -168,7 +162,7 @@ set (subset_project_sources
${PROJECT_SOURCE_DIR}/src/hb-subset-plan.cc
${PROJECT_SOURCE_DIR}/src/hb-subset-plan.hh
${PROJECT_SOURCE_DIR}/src/hb-subset-plan-member-list.hh
${PROJECT_SOURCE_DIR}/src/hb-subset-repacker.cc
${PROJECT_SOURCE_DIR}/src/hb-subset-serialize.cc
${PROJECT_SOURCE_DIR}/src/hb-subset.cc
${PROJECT_SOURCE_DIR}/src/hb-subset.hh
${PROJECT_SOURCE_DIR}/src/hb-repacker.hh
Expand Down Expand Up @@ -219,7 +213,7 @@ set (project_headers
)
set (subset_project_headers
${PROJECT_SOURCE_DIR}/src/hb-subset.h
${PROJECT_SOURCE_DIR}/src/hb-subset-repacker.h
${PROJECT_SOURCE_DIR}/src/hb-subset-serialize.h
)

## Find and include needed header folders and libraries
Expand Down Expand Up @@ -506,19 +500,49 @@ if (HB_HAVE_ICU)

if (BUILD_SHARED_LIBS)
set_target_properties(harfbuzz harfbuzz-icu PROPERTIES VISIBILITY_INLINES_HIDDEN TRUE)

if (BUILD_FRAMEWORK)
set_target_properties(harfbuzz harfbuzz-icu PROPERTIES
FRAMEWORK TRUE
FRAMEWORK_VERSION "${HB_VERSION}"
PUBLIC_HEADER "${project_headers}"
PRODUCT_BUNDLE_IDENTIFIER "harfbuzz.harfbuzz-icu"
XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
OUTPUT_NAME "harfbuzz-icu"
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ""
MACOSX_FRAMEWORK_IDENTIFIER "harfbuzz-icu"
MACOSX_FRAMEWORK_SHORT_VERSION_STRING "${HB_VERSION}"
MACOSX_FRAMEWORK_BUNDLE_VERSION "${HB_VERSION}"
)
endif ()
endif ()
endif ()


## Define harfbuzz-subset library
if (HB_BUILD_SUBSET)
add_library(harfbuzz-subset ${subset_project_sources} ${subset_project_headers})
list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-subset.h ${PROJECT_SOURCE_DIR}/src/hb-subset-repacker.h)
list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-subset.h ${PROJECT_SOURCE_DIR}/src/hb-subset-serialize.h)
add_dependencies(harfbuzz-subset harfbuzz)
target_link_libraries(harfbuzz-subset harfbuzz ${THIRD_PARTY_LIBS})

if (BUILD_SHARED_LIBS)
set_target_properties(harfbuzz harfbuzz-subset PROPERTIES VISIBILITY_INLINES_HIDDEN TRUE)

if (BUILD_FRAMEWORK)
set_target_properties(harfbuzz harfbuzz-subset PROPERTIES
FRAMEWORK TRUE
FRAMEWORK_VERSION "${HB_VERSION}"
PUBLIC_HEADER "${project_headers}"
PRODUCT_BUNDLE_IDENTIFIER "harfbuzz.harfbuzz-subset"
XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
OUTPUT_NAME "harfbuzz-subset"
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ""
MACOSX_FRAMEWORK_IDENTIFIER "harfbuzz-subset"
MACOSX_FRAMEWORK_SHORT_VERSION_STRING "${HB_VERSION}"
MACOSX_FRAMEWORK_BUNDLE_VERSION "${HB_VERSION}"
)
endif ()
endif ()
endif ()

Expand Down Expand Up @@ -568,7 +592,22 @@ if (HB_HAVE_GOBJECT)
target_link_libraries(harfbuzz-gobject harfbuzz ${GOBJECT_LIBRARIES} ${THIRD_PARTY_LIBS})

if (BUILD_SHARED_LIBS)
set_target_properties(harfbuzz-gobject PROPERTIES VISIBILITY_INLINES_HIDDEN TRUE)
set_target_properties(harfbuzz harfbuzz-gobject PROPERTIES VISIBILITY_INLINES_HIDDEN TRUE)

if (BUILD_FRAMEWORK)
set_target_properties(harfbuzz-gobject PROPERTIES
FRAMEWORK TRUE
FRAMEWORK_VERSION "${HB_VERSION}"
PUBLIC_HEADER "${project_headers}"
PRODUCT_BUNDLE_IDENTIFIER "harfbuzz.harfbuzz-gobject"
XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
OUTPUT_NAME "harfbuzz-gobject"
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ""
MACOSX_FRAMEWORK_IDENTIFIER "harfbuzz-gobject"
MACOSX_FRAMEWORK_SHORT_VERSION_STRING "${HB_VERSION}"
MACOSX_FRAMEWORK_BUNDLE_VERSION "${HB_VERSION}"
)
endif ()
endif ()
endif ()

Expand All @@ -581,6 +620,21 @@ if (HB_HAVE_CAIRO)

if (BUILD_SHARED_LIBS)
set_target_properties(harfbuzz-cairo PROPERTIES VISIBILITY_INLINES_HIDDEN TRUE)

if (BUILD_FRAMEWORK)
set_target_properties(harfbuzz-cairo PROPERTIES
FRAMEWORK TRUE
FRAMEWORK_VERSION "${HB_VERSION}"
PUBLIC_HEADER "${project_headers}"
PRODUCT_BUNDLE_IDENTIFIER "harfbuzz.harbuzz-cairo"
XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
OUTPUT_NAME "harfbuzz-cairo"
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ""
MACOSX_FRAMEWORK_IDENTIFIER "harfbuzz-cairo"
MACOSX_FRAMEWORK_SHORT_VERSION_STRING "${HB_VERSION}"
MACOSX_FRAMEWORK_BUNDLE_VERSION "${HB_VERSION}"
)
endif ()
endif ()
endif()

Expand Down Expand Up @@ -719,8 +773,12 @@ if (BUILD_FRAMEWORK)
set (CMAKE_MACOSX_RPATH ON)
set_target_properties(harfbuzz PROPERTIES
FRAMEWORK TRUE
FRAMEWORK_VERSION "${HB_VERSION}"
PUBLIC_HEADER "${project_headers}"
PRODUCT_BUNDLE_IDENTIFIER "harfbuzz"
XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
OUTPUT_NAME "harfbuzz"
XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ""
)
set (MACOSX_FRAMEWORK_IDENTIFIER "harfbuzz")
set (MACOSX_FRAMEWORK_SHORT_VERSION_STRING "${HB_VERSION}")
Expand Down Expand Up @@ -881,7 +939,8 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
FRAMEWORK DESTINATION Library/Frameworks
FRAMEWORK DESTINATION Library/Frameworks
COMPONENT runtime OPTIONAL
)
make_pkgconfig_pc_file("harfbuzz")
install(EXPORT harfbuzzConfig
Expand All @@ -893,7 +952,8 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
FRAMEWORK DESTINATION Library/Frameworks
FRAMEWORK DESTINATION Library/Frameworks
COMPONENT runtime OPTIONAL
)
make_pkgconfig_pc_file("harfbuzz-icu")
endif ()
Expand All @@ -902,13 +962,19 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
FRAMEWORK DESTINATION Library/Frameworks
FRAMEWORK DESTINATION Library/Frameworks
COMPONENT runtime OPTIONAL
)
make_pkgconfig_pc_file("harfbuzz-cairo")
endif ()
if (HB_BUILD_SUBSET)
install(TARGETS harfbuzz-subset
EXPORT harfbuzz-subset
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
FRAMEWORK DESTINATION Library/Frameworks
COMPONENT runtime OPTIONAL
)
make_pkgconfig_pc_file("harfbuzz-subset")
endif ()
Expand Down Expand Up @@ -943,9 +1009,12 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
endif ()
if (HB_HAVE_GOBJECT)
install(TARGETS harfbuzz-gobject
EXPORT harfbuzz-gobject
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT runtime OPTIONAL
)
make_pkgconfig_pc_file("harfbuzz-gobject")
if (HB_HAVE_INTROSPECTION)
Expand Down
29 changes: 29 additions & 0 deletions libs/harfbuzz/harfbuzz-src/NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,32 @@
Overview of changes leading to 10.2.0
Saturday, January 11, 2025
====================================
- Consider Unicode Variation Selectors when subsetting “cmap” table.
- Guard hb_cairo_glyphs_from_buffer() against malformed UTF-8 strings.
- Fix incorrect “COLR” v1 glyph scaling in hb-cairo.
- Use locale-independent parsing of double numbers is “hb-subset” command line
tool.
- Fix incorrect zeroing of advance width of base glyphs in various “Courier New”
font versions due to incorrect “GDEF” glyph classes.
- Fix handling of long language codes with “HB_LEAN” configuration.
- Update OpenType language system registry.
- Allow all Myanmar tone marks (including visarga) in any order
- Don’t insert U+25CC DOTTED CIRCLE before superscript/subscript digits
- Handle Garay script as right to left script.
- New API for serializing font tables and potentially repacking them in optimal
way. This was a previously experimental-only API.
- New API for converting font variation setting from and to strings.
- Various build fixes
- Various subsetter and instancer fixes.

- New API:
+hb_subset_serialize_link_t
+hb_subset_serialize_object_t
+hb_subset_serialize_or_fail()
+hb_subset_axis_range_from_string()
+hb_subset_axis_range_to_string()


Overview of changes leading to 10.1.0
Tuesday, November 5, 2024
====================================
Expand Down
2 changes: 1 addition & 1 deletion libs/harfbuzz/harfbuzz-src/meson.build
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
project('harfbuzz', 'c', 'cpp',
meson_version: '>= 0.55.0',
version: '10.1.0',
version: '10.2.0',
default_options: [
'cpp_eh=none', # Just to support msvc, we are passing -fno-exceptions also anyway
# 'cpp_rtti=false', # Do NOT enable, wraps inherit it and ICU needs RTTI
Expand Down
Loading

0 comments on commit 9765f0d

Please sign in to comment.