diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8e9b097d9..5342e44a9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -20,6 +20,9 @@ jobs: - uses: actions/setup-node@v2-beta with: node-version: 12 + - name: Install dependencies (Ubuntu) + run: sudo apt install libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libegl1-mesa-dev mesa-utils mesa-utils-extra ragel + if: matrix.os == 'ubuntu-latest' # Install esy@0.6.6 - name: Install esy run: npm i -g esy diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..61f4abdd8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +_build +_esy + +*.DS_Store diff --git a/esy.lock/.gitattributes b/esy.lock/.gitattributes new file mode 100644 index 000000000..e0b4e26c5 --- /dev/null +++ b/esy.lock/.gitattributes @@ -0,0 +1,3 @@ + +# Set eol to LF so files aren't converted to CRLF-eol on Windows. +* text eol=lf linguist-generated diff --git a/esy.lock/.gitignore b/esy.lock/.gitignore new file mode 100644 index 000000000..a221be227 --- /dev/null +++ b/esy.lock/.gitignore @@ -0,0 +1,3 @@ + +# Reset any possible .gitignore, we want all esy.lock to be un-ignored. +!* diff --git a/esy.lock/index.json b/esy.lock/index.json new file mode 100644 index 000000000..d7694f691 --- /dev/null +++ b/esy.lock/index.json @@ -0,0 +1,33 @@ +{ + "checksum": "f7474cb550668dad4f70479f2aa85bd5", + "root": "esy-harfbuzz@link-dev:./package.json", + "node": { + "esy-harfbuzz@link-dev:./package.json": { + "id": "esy-harfbuzz@link-dev:./package.json", + "name": "esy-harfbuzz", + "version": "link-dev:./package.json", + "source": { + "type": "link-dev", + "path": ".", + "manifest": "package.json" + }, + "overrides": [], + "dependencies": [ "esy-cmake@0.3.5@d41d8cd9" ], + "devDependencies": [ "esy-cmake@0.3.5@d41d8cd9" ] + }, + "esy-cmake@0.3.5@d41d8cd9": { + "id": "esy-cmake@0.3.5@d41d8cd9", + "name": "esy-cmake", + "version": "0.3.5", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/esy-cmake/-/esy-cmake-0.3.5.tgz#sha1:2df0bdfe9317fbcded5f463fca1f346464494c7a" + ] + }, + "overrides": [], + "dependencies": [], + "devDependencies": [] + } + } +} \ No newline at end of file diff --git a/esy/configure-osx.sh b/esy/configure-osx.sh index d9b393cb3..916b7db7b 100755 --- a/esy/configure-osx.sh +++ b/esy/configure-osx.sh @@ -1,2 +1,2 @@ cd _build -./configure --enable-shared=no --enable-static=yes --with-pic=yes --prefix=$cur__install +./configure --enable-shared=no --enable-static=yes --with-pic=yes --prefix=$cur__install --disable-dependency-tracking diff --git a/esy/configure-windows.sh b/esy/configure-windows.sh index 50c4efb1d..db4b2a641 100755 --- a/esy/configure-windows.sh +++ b/esy/configure-windows.sh @@ -4,4 +4,4 @@ INSTALL_PATH="$(cygpath -u $cur__install)" echo "Install: $INSTALL_PATH" -cmake -G "Unix Makefiles" ../harfbuzz-1.9.0 -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -DCMAKE_LINKER=/usr/bin/x86_64-w64-mingw32-ld -DCMAKE_AR=/usr/bin/x86_64-w64-mingw32-ar -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH +cmake -G "Unix Makefiles" ../harfbuzz-2.6.8 -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -DCMAKE_LINKER=/usr/bin/x86_64-w64-mingw32-ld -DCMAKE_AR=/usr/bin/x86_64-w64-mingw32-ar -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH diff --git a/esy/prep.sh b/esy/prep.sh index e94adc4bb..df2c3a98f 100755 --- a/esy/prep.sh +++ b/esy/prep.sh @@ -1,4 +1,4 @@ -cp -rp harfbuzz-1.9.0 _build +cp -rp harfbuzz-2.6.8 _build cd _build diff --git a/harfbuzz-1.9.0/AUTHORS b/harfbuzz-1.9.0/AUTHORS deleted file mode 100644 index 81cdc4cf3..000000000 --- a/harfbuzz-1.9.0/AUTHORS +++ /dev/null @@ -1,9 +0,0 @@ -Behdad Esfahbod -Simon Hausmann -Martin Hosken -Jonathan Kew -Lars Knoll -Werner Lemberg -Roozbeh Pournader -Owen Taylor -David Turner diff --git a/harfbuzz-1.9.0/CMakeLists.txt b/harfbuzz-1.9.0/CMakeLists.txt deleted file mode 100644 index e881dbd1a..000000000 --- a/harfbuzz-1.9.0/CMakeLists.txt +++ /dev/null @@ -1,868 +0,0 @@ -cmake_minimum_required(VERSION 2.8.0) -project(harfbuzz) - -enable_testing() - -## 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 - " -In-source builds are not permitted! Make a separate folder for" - " building, e.g.," - " - mkdir build; cd build; cmake .." - " -Before that, remove the files created by this failed run with" - " - rm -rf CMakeCache.txt CMakeFiles") -endif () - - -## HarfBuzz build configurations -option(HB_HAVE_FREETYPE "Enable freetype interop helpers" OFF) -option(HB_HAVE_GRAPHITE2 "Enable Graphite2 complementary shaper" OFF) -option(HB_BUILTIN_UCDN "Use HarfBuzz provided UCDN" ON) -option(HB_HAVE_GLIB "Enable glib unicode functions" OFF) -option(HB_HAVE_ICU "Enable icu unicode functions" OFF) -if (APPLE) - option(HB_HAVE_CORETEXT "Enable CoreText shaper backend on macOS" ON) - set (CMAKE_MACOSX_RPATH ON) -endif () -if (WIN32) - option(HB_HAVE_UNISCRIBE "Enable Uniscribe shaper backend on Windows" OFF) - option(HB_HAVE_DIRECTWRITE "Enable DirectWrite shaper backend on Windows" OFF) -endif () -option(HB_BUILD_UTILS "Build harfbuzz utils, needs cairo, freetype, and glib properly be installed" OFF) -if (HB_BUILD_UTILS) - set (HB_HAVE_GLIB ON) - set (HB_HAVE_FREETYPE ON) -endif () - -option(HB_HAVE_GOBJECT "Enable GObject Bindings" OFF) -if (HB_HAVE_GOBJECT) - set (HB_HAVE_GLIB ON) -endif () - -option(HB_HAVE_INTROSPECTION "Enable building introspection (.gir/.typelib) files" OFF) -if (HB_HAVE_INTROSPECTION) - set (HB_HAVE_GOBJECT ON) - set (HB_HAVE_GLIB ON) -endif () - -option(HB_CHECK OFF "Do a configuration suitable for testing (shared library and enable all options)") -if (HB_CHECK) - set (BUILD_SHARED_LIBS ON) - set (HB_BUILD_UTILS ON) - set (HB_BUILTIN_UCDN ON) - set (HB_HAVE_ICU) - set (HB_HAVE_GLIB ON) - #set (HB_HAVE_GOBJECT ON) - #set (HB_HAVE_INTROSPECTION ON) - set (HB_HAVE_FREETYPE ON) - set (HB_HAVE_GRAPHITE2 ON) - if (WIN32) - set (HB_HAVE_UNISCRIBE ON) - set (HB_HAVE_DIRECTWRITE ON) - elseif (APPLE) - set (HB_HAVE_CORETEXT ON) - endif () -endif () - -include_directories(AFTER - ${PROJECT_SOURCE_DIR}/src - ${PROJECT_BINARY_DIR}/src -) - -add_definitions(-DHAVE_OT) -add_definitions(-DHAVE_FALLBACK) - -# We need PYTHON_EXECUTABLE to be set for running the tests... -include (FindPythonInterp) - -## Functions and headers -include (CheckFunctionExists) -include (CheckIncludeFile) -macro (check_funcs) # Similar to AC_CHECK_FUNCS of autotools - foreach (func_name ${ARGN}) - string(TOUPPER ${func_name} definiton_to_add) - check_function_exists(${func_name} HAVE_${definiton_to_add}) - if (${HAVE_${definiton_to_add}}) - add_definitions(-DHAVE_${definiton_to_add}) - endif () - endforeach () -endmacro () -if (UNIX) - list(APPEND CMAKE_REQUIRED_LIBRARIES m) -endif () -check_funcs(atexit mprotect sysconf getpagesize mmap isatty newlocale strtod_l round) -check_include_file(unistd.h HAVE_UNISTD_H) -if (${HAVE_UNISTD_H}) - add_definitions(-DHAVE_UNISTD_H) -endif () -check_include_file(sys/mman.h HAVE_SYS_MMAN_H) -if (${HAVE_SYS_MMAN_H}) - add_definitions(-DHAVE_SYS_MMAN_H) -endif () -check_include_file(xlocale.h HAVE_XLOCALE_H) -if (${HAVE_XLOCALE_H}) - add_definitions(-DHAVE_XLOCALE_H) -endif () -check_include_file(stdbool.h HAVE_STDBOOL_H) -if (${HAVE_STDBOOL_H}) - add_definitions(-DHAVE_STDBOOL_H) -endif () - - -if (MSVC) - add_definitions(-wd4244 -wd4267 -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS) -endif () - - -## Detect if we are running inside a distribution or regular repository folder -# if (EXISTS "${PROJECT_SOURCE_DIR}/ChangeLog") -# # perhaps we are on dist directory -# set (IN_HB_DIST TRUE) -# #set (HB_VERSION_H "${PROJECT_SOURCE_DIR}/src/hb-version.h") -# endif () - - -## Extract variables from Makefile files -function (extract_make_variable variable makefile_source) - string(REGEX MATCH "${variable} = ([^$]+)\\$" temp ${makefile_source}) - string(REGEX MATCHALL "[^ \n\t\\]+" listVar ${CMAKE_MATCH_1}) - set (${variable} ${listVar} PARENT_SCOPE) -endfunction () - -# http://stackoverflow.com/a/27630120 -function (add_prefix_to_list var prefix) - set (listVar "") - foreach (f ${${var}}) - list(APPEND listVar "${prefix}${f}") - endforeach () - set (${var} "${listVar}" PARENT_SCOPE) -endfunction () - -file(READ ${PROJECT_SOURCE_DIR}/src/Makefile.sources SRCSOURCES) -file(READ ${PROJECT_SOURCE_DIR}/util/Makefile.sources UTILSOURCES) -file(READ ${PROJECT_SOURCE_DIR}/src/hb-ucdn/Makefile.sources UCDNSOURCES) - -extract_make_variable(HB_BASE_sources ${SRCSOURCES}) -add_prefix_to_list(HB_BASE_sources "${PROJECT_SOURCE_DIR}/src/") -extract_make_variable(HB_BASE_headers ${SRCSOURCES}) -add_prefix_to_list(HB_BASE_headers "${PROJECT_SOURCE_DIR}/src/") -extract_make_variable(HB_FALLBACK_sources ${SRCSOURCES}) -add_prefix_to_list(HB_FALLBACK_sources "${PROJECT_SOURCE_DIR}/src/") -extract_make_variable(HB_OT_sources ${SRCSOURCES}) -add_prefix_to_list(HB_OT_sources "${PROJECT_SOURCE_DIR}/src/") -extract_make_variable(HB_OT_headers ${SRCSOURCES}) -add_prefix_to_list(HB_OT_headers "${PROJECT_SOURCE_DIR}/src/") - -extract_make_variable(HB_SUBSET_sources ${SRCSOURCES}) -add_prefix_to_list(HB_SUBSET_sources "${PROJECT_SOURCE_DIR}/src/") - -extract_make_variable(HB_SUBSET_headers ${SRCSOURCES}) -add_prefix_to_list(HB_SUBSET_headers "${PROJECT_SOURCE_DIR}/src/") - -extract_make_variable(HB_BASE_RAGEL_GENERATED_sources ${SRCSOURCES}) -extract_make_variable(HB_OT_RAGEL_GENERATED_sources ${SRCSOURCES}) -#if (IN_HB_DIST) - add_prefix_to_list(HB_BASE_RAGEL_GENERATED_sources "${PROJECT_SOURCE_DIR}/src/") - add_prefix_to_list(HB_OT_RAGEL_GENERATED_sources "${PROJECT_SOURCE_DIR}/src/") -#else () -# add_prefix_to_list(HB_BASE_RAGEL_GENERATED_sources "${PROJECT_BINARY_DIR}/src/") -# add_prefix_to_list(HB_OT_RAGEL_GENERATED_sources "${PROJECT_BINARY_DIR}/src/") -#endif () - -extract_make_variable(HB_VIEW_sources ${UTILSOURCES}) -add_prefix_to_list(HB_VIEW_sources "${PROJECT_SOURCE_DIR}/util/") -extract_make_variable(HB_SHAPE_sources ${UTILSOURCES}) -add_prefix_to_list(HB_SHAPE_sources "${PROJECT_SOURCE_DIR}/util/") -extract_make_variable(HB_SUBSET_CLI_sources ${UTILSOURCES}) -add_prefix_to_list(HB_SUBSET_CLI_sources "${PROJECT_SOURCE_DIR}/util/") -extract_make_variable(HB_OT_SHAPE_CLOSURE_sources ${UTILSOURCES}) -add_prefix_to_list(HB_OT_SHAPE_CLOSURE_sources "${PROJECT_SOURCE_DIR}/util/") - -extract_make_variable(LIBHB_UCDN_sources ${UCDNSOURCES}) -add_prefix_to_list(LIBHB_UCDN_sources "${PROJECT_SOURCE_DIR}/src/hb-ucdn/") - - -file(READ configure.ac CONFIGUREAC) -string(REGEX MATCH "\\[(([0-9]+)\\.([0-9]+)\\.([0-9]+))\\]" HB_VERSION_MATCH ${CONFIGUREAC}) -set (HB_VERSION ${CMAKE_MATCH_1}) -set (HB_VERSION_MAJOR ${CMAKE_MATCH_2}) -set (HB_VERSION_MINOR ${CMAKE_MATCH_3}) -set (HB_VERSION_MICRO ${CMAKE_MATCH_4}) - - -## Define ragel tasks -# if (NOT IN_HB_DIST) -# foreach (ragel_output IN ITEMS ${HB_BASE_RAGEL_GENERATED_sources} ${HB_OT_RAGEL_GENERATED_sources}) -# string(REGEX MATCH "([^/]+)\\.hh" temp ${ragel_output}) -# set (target_name ${CMAKE_MATCH_1}) -# add_custom_command(OUTPUT ${ragel_output} -# COMMAND ${RAGEL} -G2 -o ${ragel_output} ${PROJECT_SOURCE_DIR}/src/${target_name}.rl -I ${PROJECT_SOURCE_DIR} ${ARGN} -# DEPENDS ${PROJECT_SOURCE_DIR}/src/${target_name}.rl -# ) -# add_custom_target(harfbuzz_${target_name} DEPENDS ${PROJECT_BINARY_DIR}/src/${target_name}) -# endforeach () - -# mark_as_advanced(RAGEL) -# endif () - - -## Generate hb-version.h -# if (NOT IN_HB_DIST) -# set (HB_VERSION_H_IN "${PROJECT_SOURCE_DIR}/src/hb-version.h.in") -# set (HB_VERSION_H "${PROJECT_BINARY_DIR}/src/hb-version.h") -# set_source_files_properties("${HB_VERSION_H}" PROPERTIES GENERATED true) -# configure_file("${HB_VERSION_H_IN}" "${HB_VERSION_H}.tmp" @ONLY) -# execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_if_different -# "${HB_VERSION_H}.tmp" -# "${HB_VERSION_H}" -# ) -# file(REMOVE "${HB_VERSION_H}.tmp") -# endif () - - -## Define sources and headers of the project -set (project_sources - ${HB_BASE_sources} - ${HB_BASE_RAGEL_GENERATED_sources} - - ${HB_FALLBACK_sources} - ${HB_OT_sources} - ${HB_OT_RAGEL_GENERATED_sources} -) - -set (subset_project_sources - ${HB_SUBSET_sources} -) - -set (project_extra_sources) - -set (project_headers - #${HB_VERSION_H} - - ${HB_BASE_headers} - ${HB_OT_headers} -) - -set (subset_project_headers - ${HB_SUBSET_headers} -) - - -## Find and include needed header folders and libraries -if (HB_HAVE_FREETYPE) - include (FindFreetype) - if (NOT FREETYPE_FOUND) - message(FATAL_ERROR "HB_HAVE_FREETYPE was set, but we failed to find it. Maybe add a CMAKE_PREFIX_PATH= to your Freetype2 install prefix") - endif () - - list(APPEND THIRD_PARTY_LIBS ${FREETYPE_LIBRARIES}) - include_directories(AFTER ${FREETYPE_INCLUDE_DIRS}) - add_definitions(-DHAVE_FREETYPE=1) - - list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-ft.cc) - list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-ft.h) - - # So check_funcs can find its headers - set (CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${FREETYPE_INCLUDE_DIRS}) - set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${FREETYPE_LIBRARIES}) - - check_funcs(FT_Get_Var_Blend_Coordinates FT_Set_Var_Blend_Coordinates FT_Done_MM_Var) -endif () - -if (HB_HAVE_GRAPHITE2) - add_definitions(-DHAVE_GRAPHITE2) - - find_path(GRAPHITE2_INCLUDE_DIR graphite2/Font.h) - find_library(GRAPHITE2_LIBRARY graphite2) - - include_directories(${GRAPHITE2_INCLUDE_DIR}) - - list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-graphite2.cc) - list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-graphite2.h) - - list(APPEND THIRD_PARTY_LIBS ${GRAPHITE2_LIBRARY}) - - mark_as_advanced(GRAPHITE2_INCLUDE_DIR GRAPHITE2_LIBRARY) -endif () - -if (HB_BUILTIN_UCDN) - include_directories(src/hb-ucdn) - add_definitions(-DHAVE_UCDN) - - list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-ucdn.cc) - list(APPEND project_extra_sources ${LIBHB_UCDN_sources}) -endif () - -if (HB_HAVE_GLIB) - add_definitions(-DHAVE_GLIB) - - # https://github.com/WebKit/webkit/blob/master/Source/cmake/FindGLIB.cmake - find_package(PkgConfig) - pkg_check_modules(PC_GLIB QUIET glib-2.0) - - find_library(GLIB_LIBRARIES NAMES glib-2.0 HINTS ${PC_GLIB_LIBDIR} ${PC_GLIB_LIBRARY_DIRS}) - find_path(GLIBCONFIG_INCLUDE_DIR NAMES glibconfig.h HINTS ${PC_LIBDIR} ${PC_LIBRARY_DIRS} ${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS} PATH_SUFFIXES glib-2.0/include) - find_path(GLIB_INCLUDE_DIR NAMES glib.h HINTS ${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS} PATH_SUFFIXES glib-2.0) - - include_directories(${GLIBCONFIG_INCLUDE_DIR} ${GLIB_INCLUDE_DIR}) - - list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-glib.cc) - list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-glib.h) - - list(APPEND THIRD_PARTY_LIBS ${GLIB_LIBRARIES}) - - mark_as_advanced(GLIB_LIBRARIES GLIBCONFIG_INCLUDE_DIR GLIB_INCLUDE_DIR) -endif () - -if (HB_HAVE_ICU) - add_definitions(-DHAVE_ICU) - - # https://github.com/WebKit/webkit/blob/master/Source/cmake/FindICU.cmake - find_package(PkgConfig) - pkg_check_modules(PC_ICU QUIET icu-uc) - - find_path(ICU_INCLUDE_DIR NAMES unicode/utypes.h HINTS ${PC_ICU_INCLUDE_DIRS} ${PC_ICU_INCLUDEDIR}) - find_library(ICU_LIBRARY NAMES libicuuc cygicuuc cygicuuc32 icuuc HINTS ${PC_ICU_LIBRARY_DIRS} ${PC_ICU_LIBDIR}) - - include_directories(${ICU_INCLUDE_DIR}) - - list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-icu.cc) - list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-icu.h) - - list(APPEND THIRD_PARTY_LIBS ${ICU_LIBRARY}) - - mark_as_advanced(ICU_INCLUDE_DIR ICU_LIBRARY) -endif () - -if (APPLE AND HB_HAVE_CORETEXT) - # Apple Advanced Typography - add_definitions(-DHAVE_CORETEXT) - - list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-coretext.cc) - list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-coretext.h) - - find_library(APPLICATION_SERVICES_FRAMEWORK ApplicationServices) - if (APPLICATION_SERVICES_FRAMEWORK) - list(APPEND THIRD_PARTY_LIBS ${APPLICATION_SERVICES_FRAMEWORK}) - endif (APPLICATION_SERVICES_FRAMEWORK) - - mark_as_advanced(APPLICATION_SERVICES_FRAMEWORK) -endif () - -if (WIN32 AND HB_HAVE_UNISCRIBE) - add_definitions(-DHAVE_UNISCRIBE) - - list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-uniscribe.cc) - list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-uniscribe.h) - - list(APPEND THIRD_PARTY_LIBS usp10 gdi32 rpcrt4) -endif () - -if (WIN32 AND HB_HAVE_DIRECTWRITE) - add_definitions(-DHAVE_DIRECTWRITE) - - list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-directwrite.cc) - list(APPEND project_headers ${PROJECT_SOURCE_DIR}/src/hb-directwrite.h) - - list(APPEND THIRD_PARTY_LIBS dwrite rpcrt4) -endif () - -if (HB_HAVE_GOBJECT) - include (FindPerl) - - # Use the hints from glib-2.0.pc to find glib-mkenums - find_package(PkgConfig) - pkg_check_modules(PC_GLIB QUIET glib-2.0) - find_program(GLIB_MKENUMS glib-mkenums - HINTS ${PC_glib_mkenums} - ) - set (GLIB_MKENUMS_CMD) - - if (WIN32 AND NOT MINGW) - # In Visual Studio builds, shebang lines are not supported - # in the standard cmd.exe shell that we use, so we need to - # first determine whether glib-mkenums is a Python or PERL - # script - execute_process(COMMAND "${PYTHON_EXECUTABLE}" "${GLIB_MKENUMS}" --version - RESULT_VARIABLE GLIB_MKENUMS_PYTHON - OUTPUT_QUIET ERROR_QUIET - ) - if (GLIB_MKENUMS_PYTHON EQUAL 0) - message("${GLIB_MKENUMS} is a Python script.") - set (GLIB_MKENUMS_CMD "${PYTHON_EXECUTABLE}" "${GLIB_MKENUMS}") - else () - execute_process(COMMAND "${PERL_EXECUTABLE}" "${GLIB_MKENUMS}" --version - RESULT_VARIABLE GLIB_MKENUMS_PERL - OUTPUT_QUIET ERROR_QUIET - ) - if (GLIB_MKENUMS_PERL EQUAL 0) - message("${GLIB_MKENUMS} is a PERL script.") - set (GLIB_MKENUMS_CMD "${PERL_EXECUTABLE}" "${GLIB_MKENUMS}") - endif () - if (NOT GLIB_MKENUMS_PERL EQUAL 0 AND NOT GLIB_MKENUMS_PYTHON EQUAL 0) - message(FATAL_ERROR "Unable to determine type of glib-mkenums script") - endif () - endif () - else () - set (GLIB_MKENUMS_CMD "${GLIB_MKENUMS}") - endif () - if (NOT GLIB_MKENUMS_CMD) - message(FATAL_ERROR "HB_HAVE_GOBJECT was set, but we failed to find glib-mkenums, which is required") - endif () - - pkg_check_modules(PC_GOBJECT QUIET gobject-2.0) - - find_library(GOBJECT_LIBRARIES NAMES gobject-2.0 HINTS ${PC_GLIB_LIBDIR} ${PC_GLIB_LIBRARY_DIRS}) - find_path(GOBJECT_INCLUDE_DIR NAMES glib-object.h HINTS ${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS} PATH_SUFFIXES glib-2.0) - - include_directories(${GOBJECTCONFIG_INCLUDE_DIR} ${GOBJECT_INCLUDE_DIR}) - mark_as_advanced(GOBJECT_LIBRARIES GOBJECT_INCLUDE_DIR) - - list(APPEND hb_gobject_sources ${PROJECT_SOURCE_DIR}/src/hb-gobject-structs.cc) - list(APPEND hb_gobject_gen_sources - ${CMAKE_CURRENT_BINARY_DIR}/src/hb-gobject-enums.cc - ) - list(APPEND hb_gobject_structs_headers - ${PROJECT_SOURCE_DIR}/src/hb-gobject-structs.h - ) - list(APPEND hb_gobject_headers - ${PROJECT_SOURCE_DIR}/src/hb-gobject.h - ${hb_gobject_structs_headers} - ) - list(APPEND hb_gobject_gen_headers - ${CMAKE_CURRENT_BINARY_DIR}/src/hb-gobject-enums.h - ) - - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/src/hb-gobject-enums.h - COMMAND ${GLIB_MKENUMS_CMD} - --template=${PROJECT_SOURCE_DIR}/src/hb-gobject-enums.h.tmpl - --identifier-prefix hb_ - --symbol-prefix hb_gobject - ${hb_gobject_structs_headers} - ${project_headers} - > ${CMAKE_CURRENT_BINARY_DIR}/src/hb-gobject-enums.h.tmp - COMMAND "${CMAKE_COMMAND}" - "-DENUM_INPUT_SRC=${CMAKE_CURRENT_BINARY_DIR}/src/hb-gobject-enums.h.tmp" - "-DENUM_OUTPUT_SRC=${CMAKE_CURRENT_BINARY_DIR}/src/hb-gobject-enums.h" - -P ${PROJECT_SOURCE_DIR}/replace-enum-strings.cmake - DEPENDS ${PROJECT_SOURCE_DIR}/src/hb-gobject-enums.h.tmpl - ${hb_gobject_header} - ${project_headers} - ) - - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/src/hb-gobject-enums.cc - COMMAND ${GLIB_MKENUMS_CMD} - --template=${PROJECT_SOURCE_DIR}/src/hb-gobject-enums.cc.tmpl - --identifier-prefix hb_ - --symbol-prefix hb_gobject - ${hb_gobject_header} - ${project_headers} - > ${CMAKE_CURRENT_BINARY_DIR}/src/hb-gobject-enums.cc.tmp - COMMAND "${CMAKE_COMMAND}" - "-DENUM_INPUT_SRC=${CMAKE_CURRENT_BINARY_DIR}/src/hb-gobject-enums.cc.tmp" - "-DENUM_OUTPUT_SRC=${CMAKE_CURRENT_BINARY_DIR}/src/hb-gobject-enums.cc" - -P ${PROJECT_SOURCE_DIR}/replace-enum-strings.cmake - DEPENDS ${PROJECT_SOURCE_DIR}/src/hb-gobject-enums.cc.tmpl - ${CMAKE_CURRENT_BINARY_DIR}/src/hb-gobject-enums.h - ${hb_gobject_header} - ${project_headers} - ) -endif () - - -## Atomic ops availability detection -file(WRITE "${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives.c" -" void memory_barrier (void) { __sync_synchronize (); } - int atomic_add (int *i) { return __sync_fetch_and_add (i, 1); } - int mutex_trylock (int *m) { return __sync_lock_test_and_set (m, 1); } - void mutex_unlock (int *m) { __sync_lock_release (m); } - int main () { return 0; } -") -try_compile(HB_HAVE_INTEL_ATOMIC_PRIMITIVES - ${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives - ${PROJECT_BINARY_DIR}/try_compile_intel_atomic_primitives.c) -if (HB_HAVE_INTEL_ATOMIC_PRIMITIVES) - add_definitions(-DHAVE_INTEL_ATOMIC_PRIMITIVES) -endif () - -file(WRITE "${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops.c" -" #include - /* This requires Solaris Studio 12.2 or newer: */ - #include - void memory_barrier (void) { __machine_rw_barrier (); } - int atomic_add (volatile unsigned *i) { return atomic_add_int_nv (i, 1); } - void *atomic_ptr_cmpxchg (volatile void **target, void *cmp, void *newval) { return atomic_cas_ptr (target, cmp, newval); } - int main () { return 0; } -") -try_compile(HB_HAVE_SOLARIS_ATOMIC_OPS - ${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops - ${PROJECT_BINARY_DIR}/try_compile_solaris_atomic_ops.c) -if (HB_HAVE_SOLARIS_ATOMIC_OPS) - add_definitions(-DHAVE_SOLARIS_ATOMIC_OPS) -endif () - - -## Define harfbuzz library -add_library(harfbuzz ${project_sources} ${project_extra_sources} ${project_headers}) -target_link_libraries(harfbuzz ${THIRD_PARTY_LIBS}) - -## Define harfbuzz-subset library -add_library(harfbuzz-subset ${subset_project_sources} ${subset_project_headers}) -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) -endif () - -if (UNIX OR MINGW) - # Make symbols link locally - include (CheckCXXCompilerFlag) - check_cxx_compiler_flag(-Bsymbolic-functions CXX_SUPPORTS_FLAG_BSYMB_FUNCS) - if (CXX_SUPPORTS_FLAG_BSYMB_FUNCS) - link_libraries(-Bsymbolic-functions) - endif () - - if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - # Make sure we don't link to libstdc++ - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fno-exceptions") - set (CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "m") # libm - set (CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "") - set_target_properties(harfbuzz PROPERTIES LINKER_LANGUAGE C) - set_target_properties(harfbuzz-subset PROPERTIES LINKER_LANGUAGE C) - - # No threadsafe statics as we do it ourselves - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-threadsafe-statics") - endif () -endif () - -## Define harfbuzz-gobject library -if (HB_HAVE_GOBJECT) - add_library(harfbuzz-gobject - ${hb_gobject_sources} - ${hb_gobject_gen_sources} - ${hb_gobject_headers} - ${hb_gobject_gen_headers} - ) - include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}/src) - add_dependencies(harfbuzz-gobject harfbuzz) - 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) - endif () -endif () - -if (BUILD_SHARED_LIBS AND WIN32 AND NOT MINGW) - add_definitions("-DHB_EXTERN=__declspec(dllexport) extern") -endif () - -# On Windows, g-ir-scanner requires a DLL build in order for it to work -if (WIN32) - if (NOT BUILD_SHARED_LIBS) - message("Building introspection files on Windows requires BUILD_SHARED_LIBS to be enabled.") - set (HB_HAVE_INTROSPECTION OFF) - endif () -endif () - -if (HB_HAVE_INTROSPECTION) - - find_package(PkgConfig) - pkg_check_modules(PC_GI QUIET gobject-introspection-1.0) - - find_program(G_IR_SCANNER g-ir-scanner - HINTS ${PC_g_ir_scanner} - ) - - find_program(G_IR_COMPILER g-ir-compiler - HINTS ${PC_g_ir_compiler} - ) - - if (WIN32 AND NOT MINGW) - # Note that since we already enable HB_HAVE_GOBJECT - # we would already have PYTHON_EXECUTABLE handy - set (G_IR_SCANNER_CMD "${PYTHON_EXECUTABLE}" "${G_IR_SCANNER}") - else () - set (G_IR_SCANNER_CMD "${G_IR_SCANNER}") - endif () - - # We need to account for the varying output directories - # when we build using Visual Studio projects - if ("${CMAKE_GENERATOR}" MATCHES "Visual Studio*") - set (hb_libpath "${CMAKE_CURRENT_BINARY_DIR}/$") - else () - set (hb_libpath "$") - endif () - - # Get the CFlags that we used to build HarfBuzz/HarfBuzz-GObject - set (hb_defines_cflags "") - foreach (hb_cflag ${hb_cflags}) - list(APPEND hb_defines_cflags "-D${hb_cflag}") - endforeach (hb_cflag) - - # Get the other dependent libraries we used to build HarfBuzz/HarfBuzz-GObject - set (extra_libs "") - foreach (extra_lib ${THIRD_PARTY_LIBS}) - # We don't want the .lib extension here... - string(REPLACE ".lib" "" extra_lib_stripped "${extra_lib}") - list(APPEND extra_libs "--extra-library=${extra_lib_stripped}") - endforeach () - - set (introspected_sources) - foreach (f - ${project_headers} - ${project_sources} - ${hb_gobject_gen_sources} - ${hb_gobject_gen_headers} - ${hb_gobject_sources} - ${hb_gobject_headers} - ) - if (WIN32) - # Nasty issue: We need to make drive letters lower case, - # otherwise g-ir-scanner won't like it and give us a bunch - # of invalid items and unresolved types... - STRING(SUBSTRING "${f}" 0 1 drive) - STRING(SUBSTRING "${f}" 1 -1 path) - if (drive MATCHES "[A-Z]") - STRING(TOLOWER ${drive} drive_lower) - list(APPEND introspected_sources "${drive_lower}${path}") - else () - list(APPEND introspected_sources "${f}") - endif () - else () - list(APPEND introspected_sources "${f}") - endif () - endforeach () - - file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/src/hb_gir_list) - foreach (s ${introspected_sources}) - file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/src/hb_gir_list "${s}\n") - endforeach () - - # Finally, build the introspection files... - add_custom_command( - TARGET harfbuzz-gobject - POST_BUILD - COMMAND ${G_IR_SCANNER_CMD} - --warn-all --no-libtool --verbose - -n hb - --namespace=HarfBuzz - --nsversion=0.0 - --identifier-prefix=hb_ - --include GObject-2.0 - --pkg-export=harfbuzz - --cflags-begin - -I${PROJECT_SOURCE_DIR}/src - -I${PROJECT_BINARY_DIR}/src - ${hb_includedir_cflags} - ${hb_defines_cflags} - -DHB_H - -DHB_H_IN - -DHB_OT_H - -DHB_OT_H_IN - -DHB_GOBJECT_H - -DHB_GOBJECT_H_IN - -DHB_EXTERN= - --cflags-end - --library=harfbuzz-gobject - --library=harfbuzz - -L${hb_libpath} - ${extra_libs} - --filelist ${CMAKE_CURRENT_BINARY_DIR}/src/hb_gir_list - -o ${hb_libpath}/HarfBuzz-0.0.gir - DEPENDS harfbuzz-gobject harfbuzz ${CMAKE_CURRENT_BINARY_DIR}/src/hb_gir_list - ) - - add_custom_command( - TARGET harfbuzz-gobject - POST_BUILD - COMMAND "${G_IR_COMPILER}" - --verbose --debug - --includedir ${CMAKE_CURRENT_BINARY_DIR} - ${hb_libpath}/HarfBuzz-0.0.gir - -o ${hb_libpath}/HarfBuzz-0.0.typelib - DEPENDS ${hb_libpath}/HarfBuzz-0.0.gir harfbuzz-gobject - ) -endif () - - -## Additional framework build configs -if (BUILD_FRAMEWORK) - set (CMAKE_MACOSX_RPATH ON) - set_target_properties(harfbuzz PROPERTIES - FRAMEWORK TRUE - PUBLIC_HEADER "${project_headers}" - XCODE_ATTRIBUTE_INSTALL_PATH "@rpath" - ) - set (MACOSX_FRAMEWORK_IDENTIFIER "harfbuzz") - set (MACOSX_FRAMEWORK_SHORT_VERSION_STRING "${HB_VERSION}") - set (MACOSX_FRAMEWORK_BUNDLE_VERSION "${HB_VERSION}") -endif () - - -## Additional harfbuzz build artifacts -if (HB_BUILD_UTILS) - # https://github.com/WebKit/webkit/blob/master/Source/cmake/FindCairo.cmake - find_package(PkgConfig) - pkg_check_modules(PC_CAIRO QUIET cairo) - - find_path(CAIRO_INCLUDE_DIRS NAMES cairo.h HINTS ${PC_CAIRO_INCLUDEDIR} ${PC_CAIRO_INCLUDE_DIRS} PATH_SUFFIXES cairo) - find_library(CAIRO_LIBRARIESNAMES cairo HINTS ${PC_CAIRO_LIBDIR} ${PC_CAIRO_LIBRARY_DIRS}) - - add_definitions("-DPACKAGE_NAME=\"HarfBuzz\"") - add_definitions("-DPACKAGE_VERSION=\"${HB_VERSION}\"") - include_directories(${CAIRO_INCLUDE_DIRS}) - - add_executable(hb-view ${HB_VIEW_sources}) - target_link_libraries(hb-view harfbuzz ${CAIRO_LIBRARIESNAMES}) - - add_executable(hb-shape ${HB_SHAPE_sources}) - target_link_libraries(hb-shape harfbuzz) - - add_executable(hb-subset ${HB_SUBSET_CLI_sources}) - target_link_libraries(hb-subset harfbuzz harfbuzz-subset) - - add_executable(hb-ot-shape-closure ${HB_OT_SHAPE_CLOSURE_sources}) - target_link_libraries(hb-ot-shape-closure harfbuzz) - - mark_as_advanced(CAIRO_INCLUDE_DIRS CAIRO_LIBRARIESNAMES) -endif () - - -## Install -include (GNUInstallDirs) - -if (NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL) - install(FILES ${project_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/harfbuzz) - if (HB_HAVE_GOBJECT) - install(FILES ${hb_gobject_headers} ${hb_gobject_gen_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/harfbuzz) - endif () -endif () - -if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) - install(TARGETS harfbuzz - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - FRAMEWORK DESTINATION Library/Frameworks - ) - if (HB_BUILD_UTILS) - install(TARGETS hb-view - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ) - install(TARGETS hb-subset - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ) - - install(TARGETS hb-shape - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ) - - install(TARGETS hb-ot-shape-closure - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ) - endif () - if (HB_HAVE_GOBJECT) - install(TARGETS harfbuzz-gobject - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ) - if (HB_HAVE_INTROSPECTION) - if ("${CMAKE_GENERATOR}" MATCHES "Visual Studio*") - set (hb_libpath "${CMAKE_CURRENT_BINARY_DIR}/$") - else () - set (hb_libpath "$") - endif () - - install(FILES "${hb_libpath}/HarfBuzz-0.0.gir" - DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gir-1.0 - ) - - install(FILES "${hb_libpath}/HarfBuzz-0.0.typelib" - DESTINATION ${CMAKE_INSTALL_LIBDIR}/girepository-1.0 - ) - endif () - endif () -endif () - -if (UNIX AND CMAKE_GENERATOR STREQUAL "Ninja") - if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcolor-diagnostics") - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fcolor-diagnostics") - endif () - if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color") - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-color") - endif () -endif () - - -## src/ executables -foreach (prog main test test-would-substitute test-size-params test-buffer-serialize hb-ot-tag test-unicode-ranges) - set (prog_name ${prog}) - if (${prog_name} STREQUAL "test") - # test can not be used as a valid executable name on cmake, lets special case it - set (prog_name test-test) - endif () - add_executable(${prog_name} ${PROJECT_SOURCE_DIR}/src/${prog}.cc) - target_link_libraries(${prog_name} harfbuzz ${THIRD_PARTY_LIBS}) -endforeach () -set_target_properties(hb-ot-tag PROPERTIES COMPILE_FLAGS "-DMAIN") - -## Tests -if (UNIX OR MINGW) - if (BUILD_SHARED_LIBS) - # generate harfbuzz.def after build completion - add_custom_command(TARGET harfbuzz POST_BUILD - COMMAND "${PYTHON_EXECUTABLE}" ${PROJECT_SOURCE_DIR}/src/gen-def.py ${PROJECT_BINARY_DIR}/harfbuzz.def ${project_headers} - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src) - - add_test(NAME check-static-inits.sh - COMMAND ${PROJECT_SOURCE_DIR}/src/check-static-inits.sh - WORKING_DIRECTORY ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/harfbuzz.dir/src # ugly hack - ) - add_test(NAME check-libstdc++.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-libstdc++.sh) - add_test(NAME check-symbols.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-symbols.sh) - - set_tests_properties( - check-static-inits.sh check-libstdc++.sh check-symbols.sh - PROPERTIES - ENVIRONMENT "libs=.;srcdir=${PROJECT_SOURCE_DIR}/src" - SKIP_RETURN_CODE 77) - endif () - - add_test(NAME check-c-linkage-decls.sh COMMAND ./check-c-linkage-decls.sh) - add_test(NAME check-header-guards.sh COMMAND ./check-header-guards.sh) - add_test(NAME check-externs.sh COMMAND ./check-externs.sh) - add_test(NAME check-includes.sh COMMAND ./check-includes.sh) - set_tests_properties( - check-c-linkage-decls.sh check-header-guards.sh check-externs.sh check-includes.sh - PROPERTIES - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src - SKIP_RETURN_CODE 77) -endif () - -# Needs to come last so that variables defined above are passed to -# subdirectories. -add_subdirectory(test) diff --git a/harfbuzz-1.9.0/COPYING b/harfbuzz-1.9.0/COPYING deleted file mode 100644 index 9d1056f40..000000000 --- a/harfbuzz-1.9.0/COPYING +++ /dev/null @@ -1,36 +0,0 @@ -HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. -For parts of HarfBuzz that are licensed under different licenses see individual -files names COPYING in subdirectories where applicable. - -Copyright © 2010,2011,2012 Google, Inc. -Copyright © 2012 Mozilla Foundation -Copyright © 2011 Codethink Limited -Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) -Copyright © 2009 Keith Stribley -Copyright © 2009 Martin Hosken and SIL International -Copyright © 2007 Chris Wilson -Copyright © 2006 Behdad Esfahbod -Copyright © 2005 David Turner -Copyright © 2004,2007,2008,2009,2010 Red Hat, Inc. -Copyright © 1998-2004 David Turner and Werner Lemberg - -For full copyright notices consult the individual files in the package. - - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. diff --git a/harfbuzz-1.9.0/ChangeLog b/harfbuzz-1.9.0/ChangeLog deleted file mode 100644 index e0f47e8af..000000000 --- a/harfbuzz-1.9.0/ChangeLog +++ /dev/null @@ -1,80465 +0,0 @@ -commit 616fd34a69bb69bc35c7e4ea939e71c3ea2e92cb -Author: Behdad Esfahbod -Date: Mon Sep 10 11:19:49 2018 +0200 - - [subset] Disable GSUB/GPOS subsetting for now - - So I can get a release out. I haven't debugged those yet, and they - are producing bad tables. - - src/hb-subset.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit d42f0e5809964136911cbbd845bc423a8dfd5e31 -Author: Behdad Esfahbod -Date: Mon Sep 10 11:05:33 2018 +0200 - - [atomic] Fix pointer type passed to InterlockedExchangeAdd() - - John Emmas reported on mailing list that build with MSVC is failing. - Not sure why bots don't catch it, but this should fix. - - src/hb-atomic.hh | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit fda994e1d45c4d34601af7272f37ea257f92a3d8 -Author: Behdad Esfahbod -Date: Fri Sep 7 15:02:57 2018 -0400 - - Use enum instead of "static const" in class scope - - Technically, static const needs an out-of-class definition. Eg: - - CXXLD libharfbuzz-subset.la - Undefined symbols for architecture x86_64: - "OT::FeatureVariationRecord::min_size", referenced from: - bool OT::GSUBGPOS::subset(hb_subset_context_t*) - constin libharfbuzz_subset_la-hb-subset.o - bool OT::GSUBGPOS::subset(hb_subset_context_t*) - constin libharfbuzz_subset_la-hb-subset.o - "OT::Record::min_size", referenced from: - OT::Script::subset(hb_subset_context_t*) constin - libharfbuzz_subset_la-hb-subset.o - "OT::IntType::min_size", referenced from: - OT::Script::subset(hb_subset_context_t*) constin - libharfbuzz_subset_la-hb-subset.o - OT::RecordListOf::subset(hb_subset_context_t*) - const in libharfbuzz_subset_la-hb-subset.o - ld: symbol(s) not found for architecture x86_64 - collect2: ld returned 1 exit status - make[4]: *** [libharfbuzz-subset.la] Error 1 - make[3]: *** [all-recursive] Error 1 - make[2]: *** [all] Error 2 - make[1]: *** [all-recursive] Error 1 - make: *** [all] Error 2 - Exited with code 2 - - src/hb-buffer.hh | 2 +- - src/hb-machinery.hh | 8 ++++---- - src/hb-open-file.hh | 2 +- - src/hb-open-type.hh | 2 +- - src/hb-ot-layout-common.hh | 2 +- - src/hb-ot-layout.cc | 4 ++-- - src/hb-set-digest.hh | 4 ++-- - src/hb-set.hh | 12 ++++++------ - 8 files changed, 18 insertions(+), 18 deletions(-) - -commit ebe67137ab3559c2c6aaf53442ca223cb34df5af -Author: Behdad Esfahbod -Date: Fri Sep 7 10:46:13 2018 -0400 - - Try fixing bots - - src/hb-ot-layout-common.hh | 32 ++++++++++++++++++-------------- - 1 file changed, 18 insertions(+), 14 deletions(-) - -commit 5f17dbc3025093308d2191a4abd2eec24db35c0e -Author: Behdad Esfahbod -Date: Fri Sep 7 10:24:22 2018 -0400 - - [subset] Fix div-by-zero - - src/hb-subset.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 21bf147054f6b5bd1c430c0e02a8c4058ed229a1 -Author: Garret Rieger -Date: Wed Sep 5 18:04:52 2018 -0700 - - [subset] Fix hdmx subsetted size calculation. - - src/hb-ot-hdmx-table.hh | 14 ++++++++++---- - test/api/fonts/Roboto-Regular.multihdmx.a.ttf | Bin 0 -> 2052 bytes - test/api/fonts/Roboto-Regular.multihdmx.abc.ttf | Bin 0 -> 2468 bytes - test/api/test-subset-hdmx.c | 20 - ++++++++++++++++++++ - 4 files changed, 30 insertions(+), 4 deletions(-) - -commit 1e6599f59680c81356b2e9ddddb61252490337a0 -Author: Behdad Esfahbod -Date: Wed Sep 5 19:29:42 2018 -0700 - - Fix older compilers re '>>' at nested template declarations - - src/hb-ot-layout-gsub-table.hh | 8 ++++---- - src/hb-subset.cc | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit a1e5e07c735091e82d66ac56a4e27341f589369d -Author: Behdad Esfahbod -Date: Wed Sep 5 16:24:28 2018 -0700 - - [subset] Hook up GSUB/GPOS, but still disabled - - They are still in the drop list. - - src/hb-ot-hdmx-table.hh | 3 +- - src/hb-subset.cc | 75 - +++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 77 insertions(+), 1 deletion(-) - -commit 0d160d5ff5158fd4190201becd652c8f28ef4430 -Author: Behdad Esfahbod -Date: Mon Sep 3 20:50:11 2018 -0700 - - [subset] Implement subsetting of SingleSubst - - src/hb-machinery.hh | 2 ++ - src/hb-null.hh | 43 +++++++++++++++++++----------- - src/hb-ot-layout-gsub-table.hh | 59 - +++++++++++++++++++++++++++++++++++------- - src/hb-vector.hh | 2 ++ - 4 files changed, 81 insertions(+), 25 deletions(-) - -commit 3f00d0b0df14d69859b15568ff28a810d08f59ea -Author: Behdad Esfahbod -Date: Mon Sep 3 18:54:32 2018 -0700 - - [subset] Keep glyph set in plan - - Should remove the vector version at some point... - - src/hb-subset-plan.cc | 19 ++++++++++--------- - src/hb-subset-plan.hh | 3 +-- - 2 files changed, 11 insertions(+), 11 deletions(-) - -commit dc50493a8da05d6561242136d63cae836486c150 -Author: Behdad Esfahbod -Date: Mon Sep 3 18:23:23 2018 -0700 - - [subset] Towards subsetting SingleSubstFormat1 - - Why does subset plan not have a hb_set_t of glyphs? - - src/hb-machinery.hh | 10 +++++++++- - src/hb-ot-layout-gsub-table.hh | 12 +++++++++++- - 2 files changed, 20 insertions(+), 2 deletions(-) - -commit 339d3603b916cebf24ff86d9842b766261e1b262 -Author: Behdad Esfahbod -Date: Mon Sep 3 17:33:34 2018 -0700 - - [subset] Wire up subset() call down to subtables - - src/hb-ot-layout-common.hh | 36 +++++++++++++++++++++++ - src/hb-ot-layout-gpos-table.hh | 67 - +++++++++++++++++++++++++++++++++++++++--- - src/hb-ot-layout-gsub-table.hh | 54 ++++++++++++++++++++++++++++------ - src/hb-ot-layout-gsubgpos.hh | 42 ++++++++++++++++++++++++++ - 4 files changed, 186 insertions(+), 13 deletions(-) - -commit 7b2ef551da0d53cd94106035b1f065a759cf3cd5 -Author: Behdad Esfahbod -Date: Mon Sep 3 17:16:09 2018 -0700 - - Templatize Lookup::sanitize() - - src/hb-ot-layout-common.hh | 40 - ++++++++++++++++++++++++++++------------ - src/hb-ot-layout-gpos-table.hh | 7 ++----- - src/hb-ot-layout-gsub-table.hh | 25 +++---------------------- - 3 files changed, 33 insertions(+), 39 deletions(-) - -commit 9c3747c5e50423e0a7202f249728d5c5b2b09073 -Author: Behdad Esfahbod -Date: Mon Sep 3 16:53:03 2018 -0700 - - [subset] More - - src/hb-ot-layout-gpos-table.hh | 10 +++++---- - src/hb-ot-layout-gsub-table.hh | 48 - +++++++++++++++++++++--------------------- - src/hb-ot-layout-gsubgpos.hh | 22 +++++++++++++------ - 3 files changed, 45 insertions(+), 35 deletions(-) - -commit 6d618522d63a94230ad708fc49c1c73927da0137 -Author: Behdad Esfahbod -Date: Mon Sep 3 16:41:28 2018 -0700 - - Templatize GSUBGPOS::sanitize() - - src/hb-ot-layout-gpos-table.hh | 6 +----- - src/hb-ot-layout-gsub-table.hh | 14 +++++--------- - src/hb-ot-layout-gsubgpos.hh | 4 +++- - 3 files changed, 9 insertions(+), 15 deletions(-) - -commit 49c44b58f6c2536ea5f403c54a40cab41b905150 -Author: Behdad Esfahbod -Date: Mon Sep 3 16:37:17 2018 -0700 - - [subset] Fix serialize_subset() calls - - Ouch. - - src/hb-open-type.hh | 2 +- - src/hb-ot-layout-common.hh | 6 +++--- - src/hb-ot-layout-gsub-table.hh | 13 ++++++------- - src/hb-ot-layout-gsubgpos.hh | 6 +++--- - 4 files changed, 13 insertions(+), 14 deletions(-) - -commit 7c9cfa2b4002c18585a26134ab987ceb7ebc97a2 -Author: Behdad Esfahbod -Date: Sun Sep 2 19:47:50 2018 -0700 - - Add intersects() method to GSUB/GPOS lookups - - src/hb-ot-layout-common.hh | 77 +++++++++-- - src/hb-ot-layout-gpos-table.hh | 103 ++++++++++---- - src/hb-ot-layout-gsub-table.hh | 205 +++++++++++++++++++-------- - src/hb-ot-layout-gsubgpos.hh | 306 - ++++++++++++++++++++++++++++++++--------- - 4 files changed, 528 insertions(+), 163 deletions(-) - -commit 61ce62e55455bb0d6c9db3b076676ab18e51d449 -Author: Behdad Esfahbod -Date: Sun Sep 2 17:00:27 2018 -0700 - - [subset] Minor - - Remove Lookup::subset(). - - src/hb-ot-layout-common.hh | 11 ----------- - src/hb-ot-layout-gsubgpos.hh | 2 +- - 2 files changed, 1 insertion(+), 12 deletions(-) - -commit bfa72a9a72a15d977f503f12eef376a355679d76 -Author: Behdad Esfahbod -Date: Sat Sep 1 18:34:50 2018 -0700 - - [subset] Towards GSUB/GPOS subsetting - - Add subset() call for GSUBGPOS struct and its dependencies. - Not hooked up anywhere. - - src/hb-machinery.hh | 10 ++++-- - src/hb-open-type.hh | 25 ++++++++++++- - src/hb-ot-layout-common.hh | 80 - +++++++++++++++++++++++++++++++++++------- - src/hb-ot-layout-gdef-table.hh | 33 ++++++++++------- - src/hb-ot-layout-gsub-table.hh | 11 ++++-- - src/hb-ot-layout-gsubgpos.hh | 19 ++++++++++ - 6 files changed, 145 insertions(+), 33 deletions(-) - -commit 6803ed8674028a656957910381150ab28d75a5f8 -Author: Behdad Esfahbod -Date: Fri Aug 31 17:11:08 2018 -0700 - - [serialize] Add reset() - - src/hb-machinery.hh | 4 ++++ - 1 file changed, 4 insertions(+) - -commit e58b190292f85c9676fe14cf63d2831d4d6e6bab -Author: Behdad Esfahbod -Date: Fri Aug 31 16:46:35 2018 -0700 - - [subset] De-templatize hb_subset_context_t - - We're going to (finally) use virtual methods for - hb_serialize_context_t - customization, so don't need to carry a Serializer template variable - around... Simplifies code. - - src/hb-machinery.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 5 ++--- - src/hb-subset.hh | 7 +++---- - 3 files changed, 6 insertions(+), 8 deletions(-) - -commit 22acd424ca77c16d28405021f06c5562497920ab -Author: Behdad Esfahbod -Date: Fri Aug 31 16:38:04 2018 -0700 - - [serialize] Add a couple small methods - - src/hb-machinery.hh | 25 +++++++++++++++++-------- - src/hb-open-file.hh | 3 +-- - src/hb-ot-layout-gsub-table.hh | 1 + - 3 files changed, 19 insertions(+), 10 deletions(-) - -commit d1f29908c281b1685eea00b71bae934d9f1f20eb -Author: Behdad Esfahbod -Date: Fri Aug 31 16:31:00 2018 -0700 - - [subset] Add hb_subset_context_t<> - - src/hb-open-type.hh | 1 + - src/hb-ot-cmap-table.hh | 1 - - src/hb-ot-hdmx-table.hh | 1 - - src/hb-ot-hmtx-table.hh | 1 - - src/hb-ot-layout-gsub-table.hh | 9 +++++++++ - src/hb-ot-maxp-table.hh | 1 - - src/hb-ot-os2-table.hh | 1 - - src/hb-ot-post-table.hh | 1 - - src/hb-subset.hh | 21 +++++++++++++++++++++ - 9 files changed, 31 insertions(+), 6 deletions(-) - -commit aba0a945c5f8724cc7bd1a9b7f7b5df1c64b03f4 -Author: Behdad Esfahbod -Date: Fri Aug 31 13:25:19 2018 -0700 - - [subset] Add hb-subset-input.hh and make hb-subset.hh toplevel include - - src/Makefile.sources | 1 + - src/hb-ot-cmap-table.hh | 2 +- - src/hb-ot-glyf-table.hh | 2 -- - src/hb-ot-hdmx-table.hh | 2 +- - src/hb-ot-hmtx-table.hh | 2 +- - src/hb-ot-maxp-table.hh | 2 +- - src/hb-ot-os2-table.hh | 2 +- - src/hb-ot-post-table.hh | 2 +- - src/hb-subset-glyf.cc | 1 - - src/hb-subset-glyf.hh | 2 +- - src/hb-subset-input.hh | 57 - +++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-subset-plan.cc | 3 +-- - src/hb-subset-plan.hh | 2 +- - src/hb-subset.cc | 3 +-- - src/hb-subset.hh | 23 +++----------------- - 15 files changed, 71 insertions(+), 35 deletions(-) - -commit 18d01eac7f2870e2804ceed2c70a604a5dc6a320 -Author: Behdad Esfahbod -Date: Fri Aug 31 13:00:57 2018 -0700 - - Minor - - src/hb-ot-shape-complex-arabic-fallback.hh | 1 - - 1 file changed, 1 deletion(-) - -commit a23b892fe6cc4859a30edc7ffc003ab7624aa5f0 -Author: Behdad Esfahbod -Date: Wed Aug 29 18:28:39 2018 -0700 - - Shuffle - - src/hb-machinery.hh | 62 - +++++++++++++++++++++++++++-------------------------- - 1 file changed, 32 insertions(+), 30 deletions(-) - -commit 93fe0faaee45b8fb646f7aa33620105c62193885 -Author: Behdad Esfahbod -Date: Wed Aug 29 18:24:03 2018 -0700 - - [subset] Clean up hb_subset_input_t API - - src/hb-subset-input.cc | 44 - +++++++++++++++++++--------------------- - src/hb-subset-plan.cc | 4 ++-- - src/hb-subset-plan.hh | 10 ++++----- - src/hb-subset.cc | 2 +- - src/hb-subset.h | 14 +++++++++---- - src/hb-subset.hh | 4 ++-- - test/api/test-subset-glyf.c | 10 ++++----- - test/fuzzing/hb-subset-fuzzer.cc | 10 ++++----- - util/hb-subset.cc | 3 +-- - 9 files changed, 52 insertions(+), 49 deletions(-) - -commit d237ce71810045ee400c52740cd8ab6e1113aada -Author: Behdad Esfahbod -Date: Wed Aug 29 18:13:07 2018 -0700 - - [subset] Bail if subsetting a table failed - - src/hb-subset.cc | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -commit f39166f0c0c09fac7874fda6b0b0825f20768e3e -Author: Behdad Esfahbod -Date: Wed Aug 29 18:09:55 2018 -0700 - - [subset] Remove unused hb_subset_profile_t - - We might reintroduce it later, but for now remove, as it was unused. - Some things that should have been in this object (drop_hints, etc) - are already in hb_subset_input_t. So, for now, keep everything there. - - src/hb-subset-plan.cc | 3 +-- - src/hb-subset-plan.hh | 1 - - src/hb-subset.cc | 39 - +++------------------------------------ - src/hb-subset.h | 16 +--------------- - test/api/hb-subset-test.h | 4 +--- - test/api/test-subset-hdmx.c | 8 ++------ - test/api/test-subset-hmtx.c | 4 +--- - test/api/test-subset.c | 12 +++--------- - test/fuzzing/hb-subset-fuzzer.cc | 5 +---- - util/hb-subset.cc | 4 +--- - 10 files changed, 14 insertions(+), 82 deletions(-) - -commit 2ccc322cf88a01248aa5df88a5073db3dfb40eea -Author: Behdad Esfahbod -Date: Wed Aug 29 16:38:04 2018 -0700 - - [ot-font] Clean up cmap with gid=0 - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1145 - - src/hb-ot-cmap-table.hh | 25 +++++++++++++++---------- - 1 file changed, 15 insertions(+), 10 deletions(-) - -commit 0c7b633f528bae4a0cf5ca816f75a0d84206b3fb -Author: Ross Burton -Date: Wed Aug 29 22:37:39 2018 +0100 - - Delete pkg.m4 - - pkg.m4 is provided by pkg-config, which is a requirement to build, - and this copy is ancient. Delete it to avoid it being used instead - of the host copy. - - m4/pkg.m4 | 157 - -------------------------------------------------------------- - 1 file changed, 157 deletions(-) - -commit fee0f41c6c1e50621d10b07802ca36a9b295b53d -Author: Behdad Esfahbod -Date: Tue Aug 28 18:27:41 2018 -0700 - - Don't declare extern symbols as inline - - clang -O3 was completely removing _get_gdef(), causing link - failure when needed from another compilation unit. Surprisingly, - "extern inline" didn't fix it. - - src/hb-ot-layout.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 967741e4c468ebf0a40f91934ed1923506099806 -Author: Behdad Esfahbod -Date: Tue Aug 28 18:18:02 2018 -0700 - - Add explicit to hb_auto_t 1param constructors - - src/hb-dsalgs.hh | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit c0a3f38f78362a183b30afd109dcebfca563d144 -Author: Behdad Esfahbod -Date: Tue Aug 28 17:22:38 2018 -0700 - - Fix distcheck - - src/Makefile.sources | 3 +++ - 1 file changed, 3 insertions(+) - -commit 2dde6c803a9e50c5bff74095187b0cb2e12eebdd -Author: Behdad Esfahbod -Date: Tue Aug 28 11:02:00 2018 -0700 - - Explicitly pass reference in hb_auto_t constructor - - Fixes clang bots as well as fuzzer issue. - - src/hb-dsalgs.hh | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit a26806801005c28115ae9e48bdcf3bbbc1bcd767 -Author: Behdad Esfahbod -Date: Sun Aug 26 15:18:46 2018 -0700 - - [ot-face] Remove tables_t. The face_data_t is what tables_t was - - src/hb-aat-layout.cc | 4 ++-- - src/hb-face.cc | 6 +++--- - src/hb-ot-face.cc | 8 ++++---- - src/hb-ot-face.hh | 28 ++++++++++++---------------- - src/hb-ot-font.cc | 25 +++++++++++-------------- - src/hb-ot-layout.cc | 36 ++++++++++++++++++------------------ - src/hb-ot-math.cc | 4 ++-- - src/hb-ot-var.cc | 4 ++-- - 8 files changed, 54 insertions(+), 61 deletions(-) - -commit 3a0b3a29cc246d0b1e5989c9e8c1e6d544046dcc -Author: Behdad Esfahbod -Date: Sun Aug 26 15:11:24 2018 -0700 - - Free up hb-ot-face.hh from includes - - There might be a better way to do this, but I couldn't find... - - src/hb-face.cc | 1 + - src/hb-ot-cmap-table.hh | 1 + - src/hb-ot-color-cbdt-table.hh | 2 ++ - src/hb-ot-face.cc | 10 ++++++++++ - src/hb-ot-face.hh | 15 ++------------- - src/hb-ot-font.cc | 7 +++++++ - src/hb-ot-glyf-table.hh | 2 ++ - src/hb-ot-hmtx-table.hh | 3 +++ - src/hb-ot-kern-table.hh | 2 ++ - src/hb-ot-layout-gdef-table.hh | 1 + - src/hb-ot-layout-gpos-table.hh | 2 ++ - src/hb-ot-layout-gsub-table.hh | 1 + - src/hb-ot-post-table.hh | 2 ++ - 13 files changed, 36 insertions(+), 13 deletions(-) - -commit a84309afc8817cd386e555af21dfcdc03388b329 -Author: Behdad Esfahbod -Date: Sun Aug 26 09:33:01 2018 -0700 - - [face] Use saved cmap in collect_unicodes() APIs - - src/hb-face.cc | 18 ++++++++---------- - 1 file changed, 8 insertions(+), 10 deletions(-) - -commit c624e18a24311c66737dde4ce515aa1eca892b94 -Author: Behdad Esfahbod -Date: Sun Aug 26 09:19:20 2018 -0700 - - [OT] Move code around - - src/hb-ot-layout-gsub-table.hh | 18 ------------------ - src/hb-ot-layout.cc | 23 +++++++++++++++++++++-- - 2 files changed, 21 insertions(+), 20 deletions(-) - -commit 399909468204b76769857508e74f802d648ca0a5 -Author: Behdad Esfahbod -Date: Sun Aug 26 09:12:25 2018 -0700 - - [OT] Use relaxed ops for recursing into GSUB/GPOS lookups again - - src/hb-ot-layout-gpos-table.hh | 4 ++-- - src/hb-ot-layout-gsub-table.hh | 4 ++-- - src/hb-ot-layout.cc | 12 ++++++++++-- - src/hb-ot-layout.hh | 4 ++-- - 4 files changed, 16 insertions(+), 8 deletions(-) - -commit d8c57e85d9981b4c7a11fae4f31100359574cf13 -Author: Behdad Esfahbod -Date: Sun Aug 26 09:03:31 2018 -0700 - - [GDEF] Move code around - - src/hb-ot-layout-gdef-table.hh | 118 +----------------------------------- - src/hb-ot-layout.cc | 134 - ++++++++++++++++++++++++++++++++++++++--- - src/hb-ot-layout.hh | 14 +---- - 3 files changed, 128 insertions(+), 138 deletions(-) - -commit 453e0c60b1c87d2cd2527d6d2de673f65458a9fd -Author: Behdad Esfahbod -Date: Sun Aug 26 01:30:52 2018 -0700 - - Add template keyword - - I swear I have no idea why this is needed, but it is... - - src/hb-ot-layout-gsubgpos.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c44b0caf0d0cddb7228dcec0b9d25bb62f641abc -Author: Behdad Esfahbod -Date: Sun Aug 26 01:29:30 2018 -0700 - - Fixup - - src/hb-ot-layout-gpos-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4096fbe487d90de04020e32e8487295ecd4d8836 -Author: Behdad Esfahbod -Date: Sun Aug 26 01:25:54 2018 -0700 - - [ot-face] Port GDEF to unified table accelerator model as well - - src/hb-ot-face.cc | 108 ---------------------------------- - src/hb-ot-face.hh | 2 +- - src/hb-ot-layout-gdef-table.hh | 129 - +++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout.cc | 14 ++++- - src/hb-ot-layout.hh | 5 +- - 5 files changed, 147 insertions(+), 111 deletions(-) - -commit b929100f8782816c2621715f6c007ecefc419d83 -Author: Behdad Esfahbod -Date: Sun Aug 26 01:15:47 2018 -0700 - - [ot-face] Unify GSUB/GPOS accelerators in the table accelerator - framework - - src/hb-aat-layout.cc | 4 +--- - src/hb-ot-face.cc | 40 - ++-------------------------------------- - src/hb-ot-face.hh | 25 +++++++++++-------------- - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 6 +++--- - src/hb-ot-layout-gsubgpos.hh | 24 +++++++++++++----------- - src/hb-ot-layout.cc | 33 +++++++++++++++++---------------- - src/hb-ot-layout.hh | 17 +++++++++++++++++ - src/hb-ot-shape.cc | 1 + - 9 files changed, 66 insertions(+), 86 deletions(-) - -commit 963413fc5454d92621ae83a8d9c9324e404b8166 -Author: Behdad Esfahbod -Date: Sun Aug 26 00:47:55 2018 -0700 - - WIP - - src/hb-ot-cmap-table.hh | 1 - - src/hb-ot-face.hh | 22 ---------------------- - src/hb-ot-layout-gpos-table.hh | 2 ++ - src/hb-ot-layout-gsub-table.hh | 2 ++ - src/hb-ot-layout-gsubgpos.hh | 31 ++++++++++++++++++++++++++++++- - src/hb-ot-layout.hh | 18 +++++++++++++++++- - 6 files changed, 51 insertions(+), 25 deletions(-) - -commit e6cb9380651c753485f721bd3df523d03be41d91 -Author: Behdad Esfahbod -Date: Sun Aug 26 00:21:29 2018 -0700 - - [ot-face] Unify accelerators and tables - - src/hb-machinery.hh | 4 ++-- - src/hb-ot-cmap-table.hh | 3 ++- - src/hb-ot-face.cc | 6 +++-- - src/hb-ot-face.hh | 58 - +++++++++++++------------------------------------ - src/hb-ot-font.cc | 6 ++--- - 5 files changed, 26 insertions(+), 51 deletions(-) - -commit 7f8b6fe67d64b41786edbf8650efb1c0deba573f -Author: Behdad Esfahbod -Date: Sun Aug 26 00:07:12 2018 -0700 - - Minor - - src/hb-ot-face.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 59bca0d2cb6010bc237afb2255ccda3b8dd0585d -Author: Behdad Esfahbod -Date: Sun Aug 26 00:06:12 2018 -0700 - - [ot-font] Rename - - src/hb-ot-face.hh | 12 ++++++------ - src/hb-ot-font.cc | 24 ++++++++++++------------ - 2 files changed, 18 insertions(+), 18 deletions(-) - -commit 1c48a7ef06b82ef9ca013066d1fb3c6fda82aa0c -Author: Behdad Esfahbod -Date: Sat Aug 25 23:54:06 2018 -0700 - - [ot-font] Cache tables on face, not font - - src/hb-ot-cmap-table.hh | 1 + - src/hb-ot-face.cc | 2 ++ - src/hb-ot-face.hh | 55 +++++++++++++++++++++++++++----- - src/hb-ot-font.cc | 75 - ++++---------------------------------------- - src/hb-ot-layout-gsubgpos.hh | 1 + - src/hb-ot-layout.hh | 1 - - 6 files changed, 58 insertions(+), 77 deletions(-) - -commit 71f8893eff56bff651e3df6288becc68ecea6cd1 -Author: Behdad Esfahbod -Date: Sat Aug 25 23:27:45 2018 -0700 - - [ot-font] Use init0 - - src/hb-ot-font.cc | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit f36ae6f8a82485bbf727f24dfd7da8f32002cad6 -Author: Behdad Esfahbod -Date: Sat Aug 25 23:19:34 2018 -0700 - - [ot-font] Make everything (cmap/metrics) lazy - - src/hb-machinery.hh | 5 +++++ - src/hb-ot-font.cc | 51 - ++++++++++++++++++++++++++------------------------- - 2 files changed, 31 insertions(+), 25 deletions(-) - -commit 62fc54725a3863473829f3a3748c9336e4dc0787 -Author: Behdad Esfahbod -Date: Sat Aug 25 23:15:52 2018 -0700 - - [ot-font] Fallback vertical advance to UPEM - - Used to be ascent+descent. Whatever. This is more convenient for - upcoming changes. - - src/hb-ot-font.cc | 2 +- - test/shaping/data/in-house/tests/vertical.tests | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit d950022c8ae3f85546272b38b187d6ed9f5ff16f -Author: Behdad Esfahbod -Date: Sat Aug 25 23:06:37 2018 -0700 - - Add hb-ot-face.cc/hh - - src/Makefile.sources | 2 + - src/hb-ot-face.cc | 206 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-face.hh | 144 +++++++++++++++++++++++++++++++++++ - src/hb-ot-layout.cc | 172 ------------------------------------------ - src/hb-ot-layout.hh | 108 +-------------------------- - src/hb-ot-math.cc | 2 +- - src/hb-ot-var.cc | 2 +- - 7 files changed, 355 insertions(+), 281 deletions(-) - -commit dae39c58fb63c2211e2842121bbe6d5b8b18651b -Author: Behdad Esfahbod -Date: Sat Aug 25 22:44:39 2018 -0700 - - [face] Introduce character-map API - - New API: - +hb_face_collect_unicodes - +hb_face_collect_variation_selectors - +hb_face_collect_variation_unicodes - - docs/harfbuzz-sections.txt | 3 ++ - src/hb-face.cc | 61 - ++++++++++++++++++++++++- - src/hb-face.h | 19 ++++++++ - src/hb-subset.cc | 53 - --------------------- - src/hb-subset.h | 15 ------ - test/api/test-subset-codepoints.c | 6 +-- - test/fuzzing/hb-subset-get-codepoints-fuzzer.cc | 2 +- - 7 files changed, 86 insertions(+), 73 deletions(-) - -commit 66384db97c439a64d729f9206657d0b37ec0cb32 -Author: Behdad Esfahbod -Date: Sat Aug 25 22:39:17 2018 -0700 - - Minor - - src/hb-subset.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit c77ae40852aabb1698da9e8d488f75bae2f4e734 -Author: Behdad Esfahbod -Date: Sat Aug 25 22:36:36 2018 -0700 - - Rename hb-*private.hh to hb-*.hh - - Sorry for the noise, downstream custom builders. Please adjust. - - src/Makefile.sources | 75 - +++++++++++----------- - src/check-includes.sh | 8 +-- - src/dump-indic-data.cc | 2 +- - src/dump-khmer-data.cc | 2 +- - src/dump-myanmar-data.cc | 2 +- - src/dump-use-data.cc | 2 +- - src/gen-indic-table.py | 2 +- - src/gen-use-table.py | 2 +- - src/hb-aat-layout-ankr-table.hh | 2 +- - src/hb-aat-layout-bsln-table.hh | 2 +- - ...t-common-private.hh => hb-aat-layout-common.hh} | 8 +-- - src/hb-aat-layout-feat-table.hh | 2 +- - src/hb-aat-layout-kerx-table.hh | 4 +- - src/hb-aat-layout-morx-table.hh | 6 +- - src/hb-aat-layout-trak-table.hh | 6 +- - src/hb-aat-layout.cc | 8 +-- - src/{hb-aat-layout-private.hh => hb-aat-layout.hh} | 14 ++-- - src/hb-aat-ltag-table.hh | 2 +- - src/{hb-atomic-private.hh => hb-atomic.hh} | 8 +-- - src/hb-blob.cc | 4 +- - src/{hb-blob-private.hh => hb-blob.hh} | 8 +-- - src/hb-buffer-deserialize-json.hh | 2 +- - src/hb-buffer-deserialize-json.rl | 2 +- - src/hb-buffer-deserialize-text.hh | 2 +- - src/hb-buffer-deserialize-text.rl | 2 +- - src/hb-buffer-serialize.cc | 2 +- - src/hb-buffer.cc | 4 +- - src/{hb-buffer-private.hh => hb-buffer.hh} | 10 +-- - src/hb-common.cc | 4 +- - src/hb-coretext.cc | 4 +- - src/hb-debug.hh | 4 +- - src/hb-directwrite.cc | 4 +- - src/hb-dsalgs.hh | 2 +- - src/hb-face.cc | 8 +-- - src/{hb-face-private.hh => hb-face.hh} | 12 ++-- - src/hb-fallback-shape.cc | 2 +- - src/hb-font.cc | 6 +- - src/{hb-font-private.hh => hb-font.hh} | 12 ++-- - src/hb-ft.cc | 6 +- - src/hb-glib.cc | 6 +- - src/hb-gobject-enums.cc.tmpl | 2 +- - src/hb-gobject-structs.cc | 2 +- - src/hb-graphite2.cc | 2 +- - src/hb-icu.cc | 6 +- - src/{hb-iter-private.hh => hb-iter.hh} | 8 +-- - src/{hb-machinery-private.hh => hb-machinery.hh} | 12 ++-- - src/hb-map.cc | 2 +- - src/{hb-map-private.hh => hb-map.hh} | 8 +-- - src/{hb-mutex-private.hh => hb-mutex.hh} | 8 +-- - src/hb-null.hh | 2 +- - src/{hb-object-private.hh => hb-object.hh} | 14 ++-- - src/{hb-open-file-private.hh => hb-open-file.hh} | 8 +-- - src/{hb-open-type-private.hh => hb-open-type.hh} | 14 ++-- - src/hb-ot-cmap-table.hh | 4 +- - src/hb-ot-color-cbdt-table.hh | 2 +- - src/hb-ot-color-colr-table.hh | 2 +- - src/hb-ot-color-cpal-table.hh | 2 +- - src/hb-ot-color-sbix-table.hh | 2 +- - src/hb-ot-color-svg-table.hh | 2 +- - src/hb-ot-color.cc | 6 +- - src/hb-ot-font.cc | 6 +- - src/hb-ot-glyf-table.hh | 4 +- - src/hb-ot-hdmx-table.hh | 2 +- - src/hb-ot-head-table.hh | 2 +- - src/hb-ot-hhea-table.hh | 2 +- - src/hb-ot-hmtx-table.hh | 2 +- - src/hb-ot-kern-table.hh | 2 +- - src/hb-ot-layout-base-table.hh | 4 +- - ...ut-common-private.hh => hb-ot-layout-common.hh} | 14 ++-- - src/hb-ot-layout-gdef-table.hh | 4 +- - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - ...subgpos-private.hh => hb-ot-layout-gsubgpos.hh} | 14 ++-- - src/hb-ot-layout-jstf-table.hh | 2 +- - src/hb-ot-layout.cc | 8 +-- - src/{hb-ot-layout-private.hh => hb-ot-layout.hh} | 16 ++--- - src/hb-ot-map.cc | 4 +- - src/{hb-ot-map-private.hh => hb-ot-map.hh} | 8 +-- - src/hb-ot-math-table.hh | 4 +- - src/hb-ot-math.cc | 4 +- - src/hb-ot-maxp-table.hh | 2 +- - src/hb-ot-name-table.hh | 2 +- - src/hb-ot-os2-table.hh | 2 +- - src/hb-ot-os2-unicode-ranges.hh | 2 +- - src/hb-ot-post-macroman.hh | 2 +- - src/hb-ot-post-table.hh | 2 +- - src/hb-ot-shape-complex-arabic-fallback.hh | 4 +- - src/hb-ot-shape-complex-arabic-win1256.hh | 2 +- - src/hb-ot-shape-complex-arabic.cc | 6 +- - ...ic-private.hh => hb-ot-shape-complex-arabic.hh} | 10 +-- - src/hb-ot-shape-complex-default.cc | 2 +- - src/hb-ot-shape-complex-hangul.cc | 2 +- - src/hb-ot-shape-complex-hebrew.cc | 2 +- - src/hb-ot-shape-complex-indic-machine.hh | 2 +- - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - src/hb-ot-shape-complex-indic-table.cc | 2 +- - src/hb-ot-shape-complex-indic.cc | 4 +- - ...dic-private.hh => hb-ot-shape-complex-indic.hh} | 12 ++-- - src/hb-ot-shape-complex-khmer-machine.hh | 2 +- - src/hb-ot-shape-complex-khmer-machine.rl | 2 +- - src/hb-ot-shape-complex-khmer.cc | 4 +- - ...mer-private.hh => hb-ot-shape-complex-khmer.hh} | 10 +-- - src/hb-ot-shape-complex-myanmar-machine.hh | 2 +- - src/hb-ot-shape-complex-myanmar-machine.rl | 2 +- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - ...r-private.hh => hb-ot-shape-complex-myanmar.hh} | 10 +-- - src/hb-ot-shape-complex-thai.cc | 2 +- - src/hb-ot-shape-complex-tibetan.cc | 2 +- - src/hb-ot-shape-complex-use-machine.hh | 2 +- - src/hb-ot-shape-complex-use-machine.rl | 2 +- - src/hb-ot-shape-complex-use-table.cc | 2 +- - src/hb-ot-shape-complex-use.cc | 4 +- - ...x-use-private.hh => hb-ot-shape-complex-use.hh} | 10 +-- - ...e-complex-private.hh => hb-ot-shape-complex.hh} | 12 ++-- - src/hb-ot-shape-fallback.cc | 4 +- - ...fallback-private.hh => hb-ot-shape-fallback.hh} | 10 +-- - src/hb-ot-shape-normalize.cc | 6 +- - ...rmalize-private.hh => hb-ot-shape-normalize.hh} | 8 +-- - src/hb-ot-shape.cc | 20 +++--- - src/{hb-ot-shape-private.hh => hb-ot-shape.hh} | 12 ++-- - src/hb-ot-tag.cc | 2 +- - src/hb-ot-var-avar-table.hh | 2 +- - src/hb-ot-var-fvar-table.hh | 2 +- - src/hb-ot-var-hvar-table.hh | 2 +- - src/hb-ot-var-mvar-table.hh | 2 +- - src/hb-ot-var.cc | 4 +- - src/{hb-set-digest-private.hh => hb-set-digest.hh} | 8 +-- - src/hb-set.cc | 2 +- - src/{hb-set-private.hh => hb-set.hh} | 8 +-- - src/hb-shape-plan.cc | 10 +-- - src/{hb-shape-plan-private.hh => hb-shape-plan.hh} | 10 +-- - src/hb-shape.cc | 12 ++-- - ...hb-shaper-impl-private.hh => hb-shaper-impl.hh} | 16 ++--- - src/hb-shaper.cc | 6 +- - src/{hb-shaper-private.hh => hb-shaper.hh} | 8 +-- - src/hb-static.cc | 8 +-- - src/hb-string-array.hh | 2 +- - src/hb-subset-glyf.cc | 2 +- - src/hb-subset-glyf.hh | 2 +- - src/hb-subset-input.cc | 4 +- - src/hb-subset-plan.cc | 6 +- - src/hb-subset-plan.hh | 6 +- - src/hb-subset.cc | 8 +-- - src/{hb-subset-private.hh => hb-subset.hh} | 10 +-- - src/hb-ucdn.cc | 6 +- - src/hb-unicode.cc | 6 +- - src/{hb-unicode-private.hh => hb-unicode.hh} | 8 +-- - src/hb-uniscribe.cc | 6 +- - src/{hb-utf-private.hh => hb-utf.hh} | 8 +-- - src/{hb-vector-private.hh => hb-vector.hh} | 8 +-- - src/hb-warning.cc | 6 +- - src/{hb-private.hh => hb.hh} | 12 ++-- - src/main.cc | 4 +- - src/test-buffer-serialize.cc | 2 +- - src/test-size-params.cc | 2 +- - src/test-unicode-ranges.cc | 2 +- - src/test-would-substitute.cc | 2 +- - src/test.cc | 2 +- - test/api/test-common.c | 1 - - util/Makefile.am | 4 +- - util/ansi-print.hh | 3 +- - util/hb-subset.cc | 2 +- - util/helper-cairo-ansi.hh | 2 +- - util/helper-cairo.hh | 2 +- - util/main-font-text.hh | 2 +- - util/options.hh | 2 +- - util/shape-consumer.hh | 2 +- - util/view-cairo.hh | 2 +- - 168 files changed, 452 insertions(+), 455 deletions(-) - -commit 82b12bcadd50c9e86bbe82623a1cbc0b4afdd237 -Author: Behdad Esfahbod -Date: Sat Aug 25 22:07:17 2018 -0700 - - [unicode] Add HB_UNICODE_MAX - - New API: - HB_UNICODE_MAX - - docs/harfbuzz-sections.txt | 1 + - src/hb-ot-cmap-table.hh | 8 ++------ - src/hb-unicode.h | 3 +++ - 3 files changed, 6 insertions(+), 6 deletions(-) - -commit b09a0336ca856a2b1040e7fabd5819b64749e308 -Author: Behdad Esfahbod -Date: Sat Aug 25 22:04:39 2018 -0700 - - [cmap] More hb_auto_t<>(...) - - src/hb-subset.cc | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -commit 28634db07e6ecbdb7e59ed8f989212272a97de86 -Author: Behdad Esfahbod -Date: Sat Aug 25 21:23:43 2018 -0700 - - [cmap] Fix skipping gid0 in Format4 collect_unicodes() - - src/hb-ot-cmap-table.hh | 20 ++++++++++++++++++-- - 1 file changed, 18 insertions(+), 2 deletions(-) - -commit acce1fa3ea9707d0883cd66397fd187d3268905c -Author: Behdad Esfahbod -Date: Sat Aug 25 21:15:39 2018 -0700 - - Use new hb_auto_t<> constructor with Coverage::Iter - - src/hb-ot-layout-common-private.hh | 65 - ++++++++++++++++++++++++-------------- - src/hb-ot-layout-gsub-table.hh | 30 ++++++------------ - 2 files changed, 52 insertions(+), 43 deletions(-) - -commit ddea4d19cf6d64270e14418f02e7ff1f1b9458db -Author: Behdad Esfahbod -Date: Sat Aug 25 21:08:15 2018 -0700 - - Add 1-param passthrough constructor to hb_auto_t<> - - And use. - - src/hb-dsalgs.hh | 1 + - src/hb-ot-cmap-table.hh | 7 +++---- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit c8cfb702e96bf4e89495fcc56f965c88bfa77dca -Author: Behdad Esfahbod -Date: Sat Aug 25 16:14:32 2018 -0700 - - [cmap] Minor - - src/hb-ot-cmap-table.hh | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 1dcf5fb038e7c2d3d03a50c4cd9869a922f9adf7 -Author: Behdad Esfahbod -Date: Sat Aug 25 16:11:26 2018 -0700 - - [cmap Add hb_subset_collect_variation_unicodes() - - To be moved to hb-face.h later. - - src/hb-ot-cmap-table.hh | 59 - +++++++++++++++++++++++++++++++++++++++++-------- - src/hb-subset.cc | 25 ++++++++++++++++++++- - src/hb-subset.h | 10 +++++++-- - 3 files changed, 82 insertions(+), 12 deletions(-) - -commit 4806b3800d77603c203e8bb2e88baeb2b3a14f05 -Author: Behdad Esfahbod -Date: Sat Aug 25 15:56:07 2018 -0700 - - [cmap] Add hb_subset_collect_variation_selectors() - - To be moved to hb-face later. - - src/hb-ot-cmap-table.hh | 20 ++++++++++++++++---- - src/hb-subset.cc | 30 ++++++++++++++++++++++++++---- - src/hb-subset.h | 8 +++++++- - 3 files changed, 49 insertions(+), 9 deletions(-) - -commit 3336de24790ac1a12852ac2a3e2fff4d6bb19bc7 -Author: Behdad Esfahbod -Date: Sat Aug 25 15:41:25 2018 -0700 - - [cmap] Remove unused code - - src/hb-ot-cmap-table.hh | 10 ---------- - 1 file changed, 10 deletions(-) - -commit 1becabe06c0c58aaf69a9ba641508e77a60f3451 -Author: Behdad Esfahbod -Date: Sat Aug 25 15:37:56 2018 -0700 - - [cmap] Use bsearch to find subtables - - src/hb-ot-cmap-table.hh | 5 +---- - test/shaping/data/in-house/tests/fuzzed.tests | 2 +- - 2 files changed, 2 insertions(+), 5 deletions(-) - -commit 02fe03e09a3258e07d2d6749990f6d31dd2a8525 -Author: Behdad Esfahbod -Date: Sat Aug 25 15:33:05 2018 -0700 - - [cmap] Factor out find_best_subtable - - src/hb-ot-cmap-table.hh | 52 - +++++++++++++++++++++++++++++-------------------- - 1 file changed, 31 insertions(+), 21 deletions(-) - -commit b41c43b4e112bfa38fef35694842f242c28a7da2 -Author: Behdad Esfahbod -Date: Sat Aug 25 15:25:03 2018 -0700 - - Minor - - src/hb-ot-cmap-table.hh | 48 - ++++++++++++++++++++++++++---------------------- - 1 file changed, 26 insertions(+), 22 deletions(-) - -commit 7d382fa276f44b7b163e98d434cc79f958bf87fb -Author: Behdad Esfahbod -Date: Sat Aug 25 09:35:45 2018 -0700 - - [cmap] Implement collect_unicodes() for Format0/6/10 - - src/hb-ot-cmap-table.hh | 23 +++++++++++++++++++---- - 1 file changed, 19 insertions(+), 4 deletions(-) - -commit bd0e542525d41d9ebe51cbcab8151d65eb984b2e -Author: Behdad Esfahbod -Date: Sat Aug 25 09:33:30 2018 -0700 - - [cmap] Simplify collect_unicodes() - - Don't use accelerator (almost). Hooks up Format13 as well. - - src/hb-ot-cmap-table.hh | 52 - +++++++++++++++++++++++++++---------------------- - 1 file changed, 29 insertions(+), 23 deletions(-) - -commit d60c465627d76fcfbeb37d6b8f9382f3b84ace6e -Author: Behdad Esfahbod -Date: Sat Aug 25 08:47:06 2018 -0700 - - Rename get_all_codepoints() to collect_unicodes() - - src/hb-ot-cmap-table.hh | 26 - ++++++++++++------------- - src/hb-subset.cc | 6 +++--- - src/hb-subset.h | 4 ++-- - test/api/test-subset-codepoints.c | 18 ++++++++--------- - test/fuzzing/hb-subset-get-codepoints-fuzzer.cc | 2 +- - 5 files changed, 28 insertions(+), 28 deletions(-) - -commit 531051b8b904cf4eb6a50bacebc11c2d85e40140 -Author: Behdad Esfahbod -Date: Sat Aug 25 08:44:18 2018 -0700 - - [ot-font] Return char-not-found if mapped to gid 0 - - OpenType cmap table can use gid=0 to mean "not covered" to produce - more optimized cmap subtables. Return false from get_nominal_glyph() - for those. hb-ft already does this. - - src/hb-ot-cmap-table.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit aadb2a9188f143126392c0b0f139326dcf7f9c8d -Author: Behdad Esfahbod -Date: Sat Aug 25 08:18:53 2018 -0700 - - Add face-builder - - New API: - +hb_face_builder_create - +hb_face_builder_add_table - - docs/harfbuzz-sections.txt | 5 +- - src/hb-face.cc | 149 - +++++++++++++++++++++++++++++++++++++++++++++ - src/hb-face.h | 14 +++++ - src/hb-subset-plan.cc | 2 +- - src/hb-subset-plan.hh | 2 +- - src/hb-subset-private.hh | 7 --- - src/hb-subset.cc | 129 --------------------------------------- - 7 files changed, 169 insertions(+), 139 deletions(-) - -commit 6cac9dc9ccb76945e9dfacafc169afad4a6e1e88 -Author: Behdad Esfahbod -Date: Fri Aug 24 10:29:45 2018 -0700 - - [blob] Add as_bytes() - - src/hb-blob-private.hh | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 29a9a0883877c598413de78cd0c61f07bc393b2c -Author: Behdad Esfahbod -Date: Fri Aug 24 10:24:45 2018 -0700 - - [sanitize] Document how sanitize machinery works - - src/hb-machinery-private.hh | 62 - +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 62 insertions(+) - -commit 142ac5a6be6088771e0ee4b135ba753c80036a9a -Author: Behdad Esfahbod -Date: Fri Aug 24 10:07:49 2018 -0700 - - [serialize] Add copy_bytes() and copy_blob() - - src/hb-dsalgs.hh | 3 +++ - src/hb-machinery-private.hh | 21 ++++++++++++++++++++- - 2 files changed, 23 insertions(+), 1 deletion(-) - -commit 1c6b3693245d38103cab224d75262d45dc88c71c -Author: Behdad Esfahbod -Date: Wed Aug 15 20:12:25 2018 -0700 - - [ot] Rename hb_ot_layout_t to hb_ot_face_data_t - - src/hb-aat-layout.cc | 17 +----- - src/hb-ot-color.cc | 6 +-- - src/hb-ot-layout-gpos-table.hh | 6 +-- - src/hb-ot-layout-gsub-table.hh | 8 ++- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-layout-private.hh | 12 ++--- - src/hb-ot-layout.cc | 100 - +++++++++++++++++------------------ - src/hb-ot-math.cc | 2 +- - src/hb-ot-shape.cc | 5 +- - src/hb-ot-var.cc | 4 +- - 10 files changed, 71 insertions(+), 91 deletions(-) - -commit 22defe0965adddaa09eebc13df7fa6c64e2abba3 -Author: Emil A Eklund -Date: Tue Aug 14 14:47:20 2018 -0700 - - Add guard around free_static_C_locale - - Add HB_USE_ATEXIT guard around free_static_C_locale missed by previous - commit. - - src/hb-common.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 7112c6413ca7a1773847fe258145cc5162420953 -Author: Emil A Eklund -Date: Tue Aug 14 13:50:24 2018 -0700 - - Guard free_static function definitions with macro - - Add HB_USE_ATEXIT macros around free_static function definitions to - avoid unused function compiler warnings/errors. - - src/hb-ft.cc | 5 ++++- - src/hb-glib.cc | 3 ++- - src/hb-icu.cc | 3 ++- - src/hb-ot-font.cc | 3 ++- - src/hb-shape.cc | 4 +++- - src/hb-shaper.cc | 3 ++- - 6 files changed, 15 insertions(+), 6 deletions(-) - -commit 63be5dcdde61275822d931b2924425478bc1dac1 -Author: Behdad Esfahbod -Date: Tue Aug 14 10:59:34 2018 -0700 - - 1.8.8 - - NEWS | 18 ++++++++++++++++++ - configure.ac | 2 +- - src/hb-version.h | 4 ++-- - 3 files changed, 21 insertions(+), 3 deletions(-) - -commit c9a22fa124310c98c73b8d7b495ed354542a75de -Author: Behdad Esfahbod -Date: Mon Aug 13 17:02:21 2018 -0700 - - [icu] Pass normalizer instance down as user_data - - src/hb-icu.cc | 23 +++++++++-------------- - 1 file changed, 9 insertions(+), 14 deletions(-) - -commit f0ef096b8cab33aa9e26edba9b15696bf907e268 -Author: Behdad Esfahbod -Date: Mon Aug 13 10:30:41 2018 -0700 - - Don't add reference in get_unicode_funcs() functions - - Users don't expect a new reference returned from a get() function. - Indeed, all users of that API I foud where NOT destroying the - reference. - Just change the implementations to NOT return a reference. - - This applies to the following APIs: - hb_unicode_funcs_get_default() - hb_glib_get_unicode_funcs() - hb_icu_get_unicode_funcs() - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1134 - - src/hb-buffer.cc | 3 +-- - src/hb-glib.cc | 2 +- - src/hb-icu.cc | 2 +- - src/hb-ucdn.cc | 2 +- - 4 files changed, 4 insertions(+), 5 deletions(-) - -commit 9bbd1cdf068635f4a737f1fc9ab54ba075601a5d -Author: Behdad Esfahbod -Date: Sun Aug 12 18:20:53 2018 -0700 - - [uniscribe] Use lazy loader - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1129 - - src/hb-uniscribe.cc | 56 - +++++++++++++++++++++++++++-------------------------- - 1 file changed, 29 insertions(+), 27 deletions(-) - -commit 266368993625e0cfb6eef9188f8b9aa29fb97391 -Author: Behdad Esfahbod -Date: Sun Aug 12 18:10:59 2018 -0700 - - Another clang bot fix - - src/hb-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 989e71a982658145f28f83f2111bdab9561f3db0 -Author: Behdad Esfahbod -Date: Sun Aug 12 17:47:59 2018 -0700 - - Silence clang - - src/hb-machinery-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6750ec692cdd682bd33cb1c37b137cf3bb641d43 -Author: Behdad Esfahbod -Date: Sun Aug 12 17:42:16 2018 -0700 - - [lazy] Use for C_locale - - src/hb-common.cc | 60 - ++++++++++++++++++++++++++++---------------------------- - 1 file changed, 30 insertions(+), 30 deletions(-) - -commit 747d2564e6bdcc15cf6a197e543fb732924159c5 -Author: Behdad Esfahbod -Date: Sun Aug 12 17:32:10 2018 -0700 - - [lazy] Port more - - src/hb-machinery-private.hh | 1 - - src/hb-shaper.cc | 78 - ++++++++++++++++++++------------------------- - src/hb-uniscribe.cc | 3 +- - 3 files changed, 37 insertions(+), 45 deletions(-) - -commit 7bd508a0c4ce426f474bfcc729cb39207dd1f7b4 -Author: Behdad Esfahbod -Date: Sun Aug 12 17:19:55 2018 -0700 - - [lazy] Rename free() - - src/hb-ft.cc | 4 ++-- - src/hb-glib.cc | 2 +- - src/hb-icu.cc | 2 +- - src/hb-machinery-private.hh | 4 ++-- - src/hb-ot-font.cc | 2 +- - src/hb-shape.cc | 6 +++--- - src/hb-ucdn.cc | 2 +- - 7 files changed, 11 insertions(+), 11 deletions(-) - -commit a3b97db910662e26bafe6e6bc1c36b437f4ed931 -Author: Behdad Esfahbod -Date: Sun Aug 12 17:14:32 2018 -0700 - - [lazy] Port more to it - - src/hb-shape.cc | 75 - +++++++++++++++++++++++++++++---------------------------- - 1 file changed, 38 insertions(+), 37 deletions(-) - -commit 6901090945d7e16102f3a2b168465434032b9a09 -Author: Behdad Esfahbod -Date: Sun Aug 12 16:57:06 2018 -0700 - - [lazy] Make hb_lazy_loader_t<> more usable - - src/hb-ft.cc | 7 +++--- - src/hb-machinery-private.hh | 57 - +++++++++++++++++++++++++++------------------ - 2 files changed, 37 insertions(+), 27 deletions(-) - -commit bb905e9afcc3eb28a22ba78c09e661a814d04c1f -Author: Behdad Esfahbod -Date: Sun Aug 12 16:40:08 2018 -0700 - - [lazy] Minor - - src/hb-machinery-private.hh | 36 ++++++++++++++++++------------------ - src/hb-ot-font.cc | 8 ++++---- - 2 files changed, 22 insertions(+), 22 deletions(-) - -commit 3945cd78a96bdd287e203a0261bac490df1314b0 -Author: Behdad Esfahbod -Date: Sun Aug 12 16:33:48 2018 -0700 - - Minor - - src/hb-machinery-private.hh | 4 ---- - 1 file changed, 4 deletions(-) - -commit c21a1b95dffedb6ed66b384f4adf07e6d05d4b9f -Author: Behdad Esfahbod -Date: Sun Aug 12 16:30:39 2018 -0700 - - [icu] Use get_relaxed for normalizer access - - We've had the proper barriers already. No need for more with - every access. - - src/hb-icu.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 125fefa2a6b23cf7eb4559904b23aff3731d5dba -Author: Behdad Esfahbod -Date: Sun Aug 12 16:29:41 2018 -0700 - - [icu] Fix for breakage after recent change - - src/hb-icu.cc | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 53442be1edc73993bdcaffc4b895c07f1ea03ba0 -Author: Behdad Esfahbod -Date: Sun Aug 12 16:20:11 2018 -0700 - - [lazy] Use for ft_library - - src/hb-ft.cc | 61 - ++++++++++++++++++++++----------------------- - src/hb-glib.cc | 2 +- - src/hb-icu.cc | 2 +- - src/hb-machinery-private.hh | 2 +- - src/hb-ot-font.cc | 2 +- - src/hb-ucdn.cc | 2 +- - 6 files changed, 35 insertions(+), 36 deletions(-) - -commit 7a8d480378af4094645dfb1527a61a94b4786b54 -Author: Behdad Esfahbod -Date: Sun Aug 12 16:00:13 2018 -0700 - - [lazy] Add .free() - - src/hb-ft.cc | 2 +- - src/hb-glib.cc | 2 +- - src/hb-icu.cc | 2 +- - src/hb-machinery-private.hh | 4 ++++ - src/hb-ot-font.cc | 2 +- - src/hb-ucdn.cc | 2 +- - 6 files changed, 9 insertions(+), 5 deletions(-) - -commit c7ca30a5337cb660e650d51ddd17d389909357c2 -Author: Behdad Esfahbod -Date: Sun Aug 12 13:46:53 2018 -0700 - - [ot/ft] Port font_funcs statis to lazy-loader - - src/hb-ft.cc | 56 - ++++++++++++++++++++++----------------------- - src/hb-machinery-private.hh | 14 ++++++++++++ - src/hb-ot-font.cc | 49 +++++++++++++++++---------------------- - 3 files changed, 62 insertions(+), 57 deletions(-) - -commit cb3fc3685c03c8ed07bcf05188f5d6c582fd5aaa -Author: Behdad Esfahbod -Date: Sun Aug 12 13:39:01 2018 -0700 - - [ucdn/glib/icu] Port unicode_funcs statics to lazy-loader - - src/hb-glib.cc | 50 ++++++++++++++++++-------------------- - src/hb-icu.cc | 59 - ++++++++++++++++----------------------------- - src/hb-machinery-private.hh | 28 ++++++++++++++++----- - src/hb-ucdn.cc | 51 +++++++++++++++++---------------------- - 4 files changed, 88 insertions(+), 100 deletions(-) - -commit 1b6b481262465ae1865c66c4d499b4b2c8d297fb -Author: Behdad Esfahbod -Date: Sun Aug 12 13:16:40 2018 -0700 - - [lazy] Allow calling fini() multiple times - - src/hb-machinery-private.hh | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 918ad9f5d9b85384f24157523272a4ffc1927d16 -Author: Behdad Esfahbod -Date: Sun Aug 12 13:12:29 2018 -0700 - - [lazy] More - - src/hb-machinery-private.hh | 45 - +++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 37 insertions(+), 8 deletions(-) - -commit 5abdf5eebadf9a4fbd50c1a893c9654de74d22ac -Author: Behdad Esfahbod -Date: Sun Aug 12 12:40:24 2018 -0700 - - [lazy] More shuffle - - src/hb-machinery-private.hh | 80 - +++++++++++++++++++-------------------------- - 1 file changed, 34 insertions(+), 46 deletions(-) - -commit 5d9863be6ecf873033cbab732207dd420f3866e7 -Author: Behdad Esfahbod -Date: Sun Aug 12 12:27:47 2018 -0700 - - Minor - - src/hb-machinery-private.hh | 6 ++++-- - src/hb-ot-layout-private.hh | 2 +- - 2 files changed, 5 insertions(+), 3 deletions(-) - -commit f9a3eab81008c01a458d16f274b1a0eaaae00e7c -Author: Behdad Esfahbod -Date: Sun Aug 12 12:21:56 2018 -0700 - - Add explicit_operator - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1127 - - src/hb-iter-private.hh | 2 +- - src/hb-private.hh | 15 ++++++++++++++- - 2 files changed, 15 insertions(+), 2 deletions(-) - -commit 470acb6c322fc64556d59847d829d95caa2d51e6 -Author: Behdad Esfahbod -Date: Sun Aug 12 12:09:20 2018 -0700 - - Rename - - src/hb-machinery-private.hh | 19 ++++++++++++------- - 1 file changed, 12 insertions(+), 7 deletions(-) - -commit 39607dc98e433ef577c1de0f309ce40fc40529be -Author: Martin Hosken -Date: Thu Aug 9 15:16:32 2018 +0700 - - Support _ in feature ids - - src/hb-common.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 652cd45c650b1cdce2585dcee614e5a9cdda530c -Author: Behdad Esfahbod -Date: Thu Aug 9 01:02:02 2018 -0700 - - [coretext] Another try - - src/hb-coretext.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3f3585ca1406edd74138f78739612c167ab57913 -Author: Behdad Esfahbod -Date: Thu Aug 9 00:58:17 2018 -0700 - - Fix coretext build (hopefully) - - src/hb-coretext.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit aa3b6017ed71fc251522ff1bedcdae965b4c1c1c -Author: Behdad Esfahbod -Date: Thu Aug 9 00:56:28 2018 -0700 - - Revert "[iter] Make operator bool explicit" - - This reverts commit 66920a6bace7c54c8166c4ed938b6ffc5fabcf2b. - - Some of our bots (Oracle Studio and Apple gcc 4.2) do not allow - explicit except for constructors. - - https://github.com/harfbuzz/harfbuzz/issues/1127 - - src/hb-iter-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e1a2354220c369bd5a62d255acc42c60cd14c473 -Author: Behdad Esfahbod -Date: Thu Aug 9 00:53:25 2018 -0700 - - [atomic] More - - src/hb-atomic-private.hh | 2 -- - src/hb-object-private.hh | 7 +++++-- - 2 files changed, 5 insertions(+), 4 deletions(-) - -commit f1f4b45ac3d228a6b11e33357725de065e2ba2be -Author: Behdad Esfahbod -Date: Thu Aug 9 00:28:40 2018 -0700 - - Fix lazy_loader fini() - - Was creating object even if wasn't there. - - src/hb-machinery-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1f7380944df9aa81cd48a4764c763d692533c4a6 -Author: Behdad Esfahbod -Date: Thu Aug 9 00:22:37 2018 -0700 - - [atomic] Add hb_atomic_ptr_t<> and port all uses - - Found and fixed a couple bugs. - - Found a couple multithreading issues. Marked them with "XXX-MT-bug". - - src/hb-atomic-private.hh | 34 +++++++++++++++++++++++++++++++--- - src/hb-common.cc | 34 ++++++++++++++++++---------------- - src/hb-face-private.hh | 3 ++- - src/hb-face.cc | 6 +++--- - src/hb-font.cc | 2 +- - src/hb-ft.cc | 22 ++++++++++++---------- - src/hb-glib.cc | 11 ++++++----- - src/hb-graphite2.cc | 16 +++++++++------- - src/hb-icu.cc | 22 ++++++++++++---------- - src/hb-machinery-private.hh | 17 +++++++++-------- - src/hb-object-private.hh | 29 +++++++++++++++-------------- - src/hb-ot-font.cc | 11 ++++++----- - src/hb-ot-layout-private.hh | 2 +- - src/hb-ot-post-table.hh | 9 +++++---- - src/hb-ot-shape-complex-arabic.cc | 9 +++++---- - src/hb-shape-plan.cc | 19 +++++++++++-------- - src/hb-shape.cc | 11 ++++++----- - src/hb-shaper-impl-private.hh | 2 +- - src/hb-shaper-private.hh | 16 +++++++++------- - src/hb-shaper.cc | 18 ++++++++++-------- - src/hb-ucdn.cc | 11 ++++++----- - src/hb-uniscribe.cc | 14 +++++++------- - 22 files changed, 185 insertions(+), 133 deletions(-) - -commit 6e42f4c53ff52cc242051e80600e19513136f6d1 -Author: Behdad Esfahbod -Date: Wed Aug 8 22:51:35 2018 -0700 - - [atomic] Remove hb_atomic_int_impl_t now that it's always int - - src/hb-atomic-private.hh | 14 +++++--------- - 1 file changed, 5 insertions(+), 9 deletions(-) - -commit 1227a9e5a5befffa688c1cce141533fd80144d14 -Author: Behdad Esfahbod -Date: Wed Aug 8 22:45:49 2018 -0700 - - [atomic] Unify typedef - - Removes volatile from fallback implementation. That was handwavy - anyway. - - src/hb-atomic-private.hh | 22 ++++++++-------------- - 1 file changed, 8 insertions(+), 14 deletions(-) - -commit 5cd1888c9dcb8b32bcfe08be38bdd13fd8a09b5e -Author: Behdad Esfahbod -Date: Wed Aug 8 22:43:53 2018 -0700 - - [atomic] Change Mac atomic int type to int - - If ever int is not 32bit, we'll fix this... - - src/hb-atomic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e1de86eac188e804c6737fcad66ae09cf25ef221 -Author: Behdad Esfahbod -Date: Wed Aug 8 22:42:33 2018 -0700 - - [atomic] Change Windows atomic int type to int - - src/hb-atomic-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit aee2d10b2bf09814b32bccdecd4c3fbebafc542e -Author: Behdad Esfahbod -Date: Wed Aug 8 22:40:10 2018 -0700 - - [atomic] Change Solaris atomic int to signed - - src/hb-atomic-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b6fdcf4f8bd09e065c767939125861c9dc8ff18f -Author: Behdad Esfahbod -Date: Wed Aug 8 21:54:08 2018 -0700 - - 1.8.7 - - NEWS | 6 ++++++ - RELEASING.md | 3 +++ - configure.ac | 2 +- - src/hb-version.h | 4 ++-- - 4 files changed, 12 insertions(+), 3 deletions(-) - -commit 51ffc3e65aacbece63995be99e2bc20538e3eb75 -Author: Behdad Esfahbod -Date: Wed Aug 8 22:01:04 2018 -0700 - - Fix previous commit to use atomic operations - - src/hb-machinery-private.hh | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -commit 883957688cc4aa4335e5131a60b3ac3b53290726 -Author: Behdad Esfahbod -Date: Wed Aug 8 21:42:18 2018 -0700 - - Fix assertion failure - - https://bugzilla.mozilla.org/show_bug.cgi?id=1476334 - - src/hb-machinery-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit e49a38b20e82e50bca96751470e945cbe0524880 -Author: Behdad Esfahbod -Date: Tue Aug 7 09:55:42 2018 -0700 - - 1.8.6 - - NEWS | 15 +++++++++++++++ - configure.ac | 2 +- - src/hb-font.cc | 6 +++--- - src/hb-font.h | 4 ++-- - src/hb-version.h | 4 ++-- - 5 files changed, 23 insertions(+), 8 deletions(-) - -commit b0ff79acd804e47a2a3db73746cf9c6dc986950a -Author: Behdad Esfahbod -Date: Tue Aug 7 09:52:06 2018 -0700 - - Add +hb_font_get_glyph_advances_for_direction - - New API: - +hb_font_get_glyph_advances_for_direction - - docs/harfbuzz-sections.txt | 1 + - src/hb-font-private.hh | 12 ++++++++++++ - src/hb-font.cc | 20 ++++++++++++++++++++ - src/hb-font.h | 8 ++++++++ - 4 files changed, 41 insertions(+) - -commit 28e2f467e1c7dd5e82d105efa8c4580dbfc93960 -Author: Behdad Esfahbod -Date: Tue Aug 7 09:47:00 2018 -0700 - - Actually add hb_font_get_glyph_[hv]_advances - - New API: - +hb_font_get_glyph_h_advances - +hb_font_get_glyph_v_advances - - src/hb-font.cc | 37 +++++++++++++++++++++++++++++++++++++ - src/hb-font.h | 15 +++++++++++++++ - 2 files changed, 52 insertions(+) - -commit 996775191a3fdeeeaee80e3123ef2240e6390b3d -Author: Behdad Esfahbod -Date: Tue Aug 7 09:44:01 2018 -0700 - - Minor - - src/hb-font-private.hh | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -commit 3d7c555a19ca0725c386aa6da648ecf2ae50fc19 -Author: Behdad Esfahbod -Date: Tue Aug 7 09:37:52 2018 -0700 - - Remove get_advances_nil and alias it to get_advances_default - - src/hb-font.cc | 36 ++---------------------------------- - 1 file changed, 2 insertions(+), 34 deletions(-) - -commit 66920a6bace7c54c8166c4ed938b6ffc5fabcf2b -Author: Behdad Esfahbod -Date: Mon Aug 6 15:32:13 2018 -0700 - - [iter] Make operator bool explicit - - We would need to write: - - for (Iter it (...); bool (t); t++) - - instead of: - - for (Iter it (...); t; t++) - - But I think it's an improvement in code readability in the long term. - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1127 - - src/hb-iter-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 79e21984b13bdb879f3007ba9a97fde47df340d3 -Author: Behdad Esfahbod -Date: Mon Aug 6 09:45:17 2018 -0700 - - Add batch advance width callback function - - New API: - +hb_font_funcs_set_glyph_h_advances_func - +hb_font_funcs_set_glyph_v_advances_func - +hb_font_get_glyph_h_advances - +hb_font_get_glyph_h_advances_func_t - +hb_font_get_glyph_v_advances - +hb_font_get_glyph_v_advances_func_t - - docs/harfbuzz-sections.txt | 6 + - src/hb-font-private.hh | 41 +++++-- - src/hb-font.cc | 299 - +++++++++++++++++++++++++++------------------ - src/hb-font.h | 53 ++++++-- - src/hb-ot-shape.cc | 3 +- - 5 files changed, 255 insertions(+), 147 deletions(-) - -commit 9533364cc3a8cccbae793de1873a727de73f64d5 -Author: Koji Ishii -Date: Wed Aug 1 13:01:08 2018 +0900 - - batchwidth - - src/hb-font-private.hh | 13 +++++++++++++ - src/hb-font.cc | 37 +++++++++++++++++++++++++++++++++++++ - src/hb-font.h | 15 +++++++++++++++ - src/hb-ot-shape.cc | 4 ++-- - 4 files changed, 67 insertions(+), 2 deletions(-) - -commit b912fbea17c50e229977345012227810ed7641e9 -Author: Behdad Esfahbod -Date: Mon Aug 6 06:30:12 2018 -0700 - - Remove most uses of direct comparison to Null objects - - src/hb-ot-glyf-table.hh | 6 +++--- - src/hb-ot-head-table.hh | 4 ++-- - src/hb-ot-layout-gdef-table.hh | 1 + - src/hb-ot-layout-gsubgpos-private.hh | 1 + - src/hb-ot-layout.cc | 6 +++--- - src/hb-ot-math-table.hh | 2 ++ - src/hb-ot-math.cc | 2 +- - src/hb-ot-shape-complex-arabic-fallback.hh | 3 ++- - src/hb-ot-var-fvar-table.hh | 2 ++ - src/hb-ot-var.cc | 2 +- - src/hb-subset.cc | 2 +- - src/main.cc | 2 +- - 12 files changed, 20 insertions(+), 13 deletions(-) - -commit 3506672ce9d8685ce4e113716b0d06adbc7981b7 -Author: Behdad Esfahbod -Date: Mon Aug 6 06:17:48 2018 -0700 - - Port _nil objects to Null() machinery - - Finally, unified! - - src/hb-blob-private.hh | 1 + - src/hb-blob.cc | 29 ++++++------- - src/hb-buffer-private.hh | 4 +- - src/hb-buffer.cc | 44 ++++++++++---------- - src/hb-face-private.hh | 6 +-- - src/hb-face.cc | 5 ++- - src/hb-font-private.hh | 10 +++-- - src/hb-font.cc | 66 - ++++++++++++++++-------------- - src/hb-null.hh | 11 ++++- - src/hb-ot-shape-complex-arabic-fallback.hh | 11 +++-- - src/hb-shape-plan-private.hh | 1 + - src/hb-shape-plan.cc | 50 +++++++++++----------- - src/hb-unicode-private.hh | 7 ++-- - src/hb-unicode.cc | 5 ++- - 14 files changed, 137 insertions(+), 113 deletions(-) - -commit 1abd427acfb7229b8607646bdde59f29306b86e1 -Author: Behdad Esfahbod -Date: Mon Aug 6 05:53:35 2018 -0700 - - [BASE] Rename horzi/vert to h/v - - src/hb-ot-layout-base-table.hh | 68 - +++++++++++++++++++++--------------------- - 1 file changed, 34 insertions(+), 34 deletions(-) - -commit da48aca1be89efbb8b3ca4471f542aa54aff17c4 -Author: Behdad Esfahbod -Date: Mon Aug 6 05:52:12 2018 -0700 - - [BASE] Misc fixes - - The code was badly broken. In better shape now, but still, needs - a full review before ever working. - - src/hb-ot-layout-base-table.hh | 163 - +++++++++++++++++------------------------ - 1 file changed, 68 insertions(+), 95 deletions(-) - -commit f9cfa5cb0e70203279e74fb6adb0cd4570238ff8 -Author: Behdad Esfahbod -Date: Mon Aug 6 05:29:15 2018 -0700 - - Change null-pool specialization to min_size again - - src/hb-null.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 25147ff8086ab65995fe046cfdf8007604de6962 -Author: Behdad Esfahbod -Date: Mon Aug 6 05:01:52 2018 -0700 - - Move Null system to hb-null.hh - - src/Makefile.sources | 1 + - src/hb-null.hh | 97 - ++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-private.hh | 65 +---------------------------------- - 3 files changed, 99 insertions(+), 64 deletions(-) - -commit f800368df33e7ec15c3e77bdb9f4b464899322d3 -Author: Behdad Esfahbod -Date: Mon Aug 6 04:58:34 2018 -0700 - - Remove unused macros - - src/hb-object-private.hh | 1 - - src/hb-vector-private.hh | 1 - - 2 files changed, 2 deletions(-) - -commit 19e0091299f06856002c702792b448b06da637a8 -Author: Behdad Esfahbod -Date: Mon Aug 6 04:54:31 2018 -0700 - - Minor - - src/hb-private.hh | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 37be774af921812018f723521b90f2ab54f661c5 -Author: Behdad Esfahbod -Date: Mon Aug 6 04:51:38 2018 -0700 - - Minor - - src/hb-private.hh | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit e1acff806b469e58f568bf5ad6ba578207821e87 -Author: Behdad Esfahbod -Date: Mon Aug 6 04:42:46 2018 -0700 - - Move hb_vector_t to hb-vector-private.hh - - src/Makefile.sources | 1 + - src/hb-dsalgs.hh | 297 - ----------------------------------------------- - src/hb-object-private.hh | 109 ++++++++++++++++- - src/hb-vector-private.hh | 239 ++++++++++++++++++++++++++++++++++++++ - 4 files changed, 346 insertions(+), 300 deletions(-) - -commit be336dadc07460a53de51be32dd5d1f218b398b6 -Author: Behdad Esfahbod -Date: Mon Aug 6 04:32:51 2018 -0700 - - Move some more code around - - src/hb-dsalgs.hh | 43 +++++++++++++++++++++++++++++++++++++++++++ - src/hb-private.hh | 51 - +-------------------------------------------------- - 2 files changed, 44 insertions(+), 50 deletions(-) - -commit 92806ee055c8efb68fcbe9e1750ce2532a1f8ab3 -Author: Behdad Esfahbod -Date: Sun Aug 5 21:41:52 2018 -0700 - - Move null data definitions to hb-static.cc - - Also remove " " null data for Tag. Just use zeroes. - - src/hb-open-type-private.hh | 3 +-- - src/hb-ot-layout-common-private.hh | 5 ++--- - src/hb-private.hh | 12 +++++++----- - src/hb-static.cc | 10 +++++++++- - 4 files changed, 19 insertions(+), 11 deletions(-) - -commit 1b4d5a2402302e90867c178b6b2ad07541091a74 -Author: Behdad Esfahbod -Date: Fri Aug 3 19:55:09 2018 -0700 - - Minor - - src/hb-ot-layout-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 7df7963b46223f47e89a5a38c597c874aaa93141 -Author: Behdad Esfahbod -Date: Fri Aug 3 19:54:33 2018 -0700 - - Make lazy loader deal with OOM - - src/hb-machinery-private.hh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 30ff8ac865a266c8dca11eeac155c2cd3d1aa159 -Author: Behdad Esfahbod -Date: Fri Aug 3 17:32:00 2018 -0700 - - Rename - - src/hb-machinery-private.hh | 6 +++--- - src/hb-ot-font.cc | 8 ++++---- - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit 85ba4a190f30da5147d3b2ddac4d58dda31181f1 -Author: Behdad Esfahbod -Date: Fri Aug 3 17:06:42 2018 -0700 - - [ot] Comment - - src/hb-ot-layout-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 07afc1a213bde91fdfc44dd613f2e82ac1617c9f -Author: Behdad Esfahbod -Date: Fri Aug 3 17:03:32 2018 -0700 - - [ot] Add misc tables to tables_t - - Most unused. - - src/hb-ot-layout-private.hh | 36 ++++++++++++++++++++++-------------- - 1 file changed, 22 insertions(+), 14 deletions(-) - -commit 74b4df2cdef68b74536d9c29426b242199a63a6f -Author: Behdad Esfahbod -Date: Fri Aug 3 16:57:40 2018 -0700 - - [ot] Move GDEF into tables_t - - src/hb-machinery-private.hh | 6 ++++++ - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-layout-private.hh | 7 +------ - src/hb-ot-layout.cc | 15 +++++---------- - 5 files changed, 14 insertions(+), 18 deletions(-) - -commit 0271c7ab3b76dbf8a4e3e92eaf67d9d61b7a63dc -Author: Behdad Esfahbod -Date: Fri Aug 3 16:45:57 2018 -0700 - - [ot] Move GSUB/GPOS into tables_t - - src/hb-machinery-private.hh | 6 ++---- - src/hb-ot-layout-gpos-table.hh | 4 ++-- - src/hb-ot-layout-gsub-table.hh | 4 ++-- - src/hb-ot-layout-private.hh | 7 ++---- - src/hb-ot-layout.cc | 49 - +++++++++++++++++++----------------------- - 5 files changed, 30 insertions(+), 40 deletions(-) - -commit f73d2775cf649d148ace7c2593da9666d60fc1be -Author: Behdad Esfahbod -Date: Fri Aug 3 16:34:25 2018 -0700 - - [ot] More shuffling - - Misc. table loading now properly automated. - - src/hb-ot-layout-private.hh | 67 - +++++++++++++++++++++++++++++---------------- - src/hb-ot-layout.cc | 25 +++++++++++------ - src/hb-ot-math.cc | 2 +- - 3 files changed, 61 insertions(+), 33 deletions(-) - -commit 52fbd23d868a989d51b7df5be40be582890d13e5 -Author: Behdad Esfahbod -Date: Fri Aug 3 16:22:16 2018 -0700 - - [ot] Minor - - src/hb-aat-layout.cc | 4 ++-- - src/hb-face-private.hh | 7 ++----- - src/hb-machinery-private.hh | 1 + - src/hb-ot-layout-private.hh | 15 +++++++++------ - src/hb-ot-layout.cc | 20 ++++++++++---------- - src/hb-ot-math.cc | 2 +- - src/hb-ot-var.cc | 4 ++-- - 7 files changed, 27 insertions(+), 26 deletions(-) - -commit 6a0a298aabe777e2c1ed443f100fe6142c83e3b3 -Author: Behdad Esfahbod -Date: Thu Aug 2 23:13:19 2018 -0700 - - [ot] Move code around - - src/hb-ot-layout.cc | 211 - ++++++++++++++++++++++++++-------------------------- - 1 file changed, 106 insertions(+), 105 deletions(-) - -commit 5e718a751efdda89511c9f30238b500125193499 -Author: Behdad Esfahbod -Date: Thu Aug 2 23:04:42 2018 -0700 - - [ot] Use switch for checking for blacklisted GDEF tables - - Faster / more compact code. - - src/hb-ot-layout.cc | 107 - +++++++++++++++++++++++++++++----------------------- - 1 file changed, 59 insertions(+), 48 deletions(-) - -commit b5cdf5280d5b00df5356cc5c3236844ca0576bd0 -Author: Behdad Esfahbod -Date: Thu Aug 2 22:56:42 2018 -0700 - - [ot] In GDEF blacklisting logic, remove the glyph index check - for Times - - Just blacklist based on table sizes like we do for other fonts. - - src/hb-ot-layout.cc | 12 ------------ - 1 file changed, 12 deletions(-) - -commit c988b119994ef78d400bc7d3139785312da0be75 -Author: Behdad Esfahbod -Date: Thu Aug 2 20:04:37 2018 -0700 - - Move code around - - src/hb-ot-font.cc | 41 ++++++++++++++++++++++++++--------------- - 1 file changed, 26 insertions(+), 15 deletions(-) - -commit 574b37e933f98e35c2bdae04458a95522bbfbb82 -Author: Behdad Esfahbod -Date: Thu Aug 2 02:22:38 2018 -0700 - - Minor - - src/hb-ot-font.cc | 2 +- - src/hb-ot-layout-private.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit d4d1bf8177b127caa57b146c932f553dca1ad933 -Author: Behdad Esfahbod -Date: Thu Aug 2 02:04:02 2018 -0700 - - Fix for recent rename - - src/hb-graphite2.cc | 2 +- - src/hb-uniscribe.cc | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 91126aa11a5fa2bff72137df4768ad13fc9b7803 -Author: Behdad Esfahbod -Date: Thu Aug 2 02:03:13 2018 -0700 - - [uniscribe] Update for recent changes - - src/hb-uniscribe.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 66952ec47b5f09d88b83fb6a71b1cdb26c53668d -Author: Behdad Esfahbod -Date: Thu Aug 2 01:44:20 2018 -0700 - - Remove unused table reference - - src/hb-ot-layout-private.hh | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit 443de26fa56dd1ef149d3ce4206f4495eceec2eb -Author: Behdad Esfahbod -Date: Thu Aug 2 01:41:19 2018 -0700 - - Minor - - src/hb-face.cc | 1 - - src/hb-ot-layout-private.hh | 12 ++++++------ - 2 files changed, 6 insertions(+), 7 deletions(-) - -commit ee35af738b5c802ca62eb1c39b77f0bd992329df -Author: Behdad Esfahbod -Date: Thu Aug 2 01:37:57 2018 -0700 - - Make lazy-loader safe for nil objectification - - src/hb-machinery-private.hh | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 6404c49d0735d92779089ddef5c1d34aad1542d7 -Author: Behdad Esfahbod -Date: Thu Aug 2 01:36:08 2018 -0700 - - Minor - - src/hb-machinery-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit ff7826e90bce46985651015059872d1d8559b6ce -Author: Behdad Esfahbod -Date: Thu Aug 2 01:27:40 2018 -0700 - - Reduce storage by sharing face amongst lazy_loaders - - src/hb-machinery-private.hh | 113 - ++++++++++++++++++++++++-------------------- - src/hb-ot-font.cc | 19 ++++---- - src/hb-ot-layout-private.hh | 11 +++-- - src/hb-ot-layout.cc | 9 ++-- - 4 files changed, 85 insertions(+), 67 deletions(-) - -commit bdd3c11a19d87999eeaff2c82f21c6938d1d9342 -Author: Behdad Esfahbod -Date: Thu Aug 2 00:38:46 2018 -0700 - - Internal templatization of lazy-loaders - - src/hb-machinery-private.hh | 74 - ++++++++++++++++++++------------------------- - 1 file changed, 32 insertions(+), 42 deletions(-) - -commit ed7b2e58fc9afb547656cf28eb4a253d989de43c -Author: Behdad Esfahbod -Date: Wed Aug 1 23:59:09 2018 -0700 - - Remove OT namespace from hb-machinery-private.hh - - src/dump-emoji.cc | 4 ++-- - src/hb-aat-layout.cc | 2 +- - src/hb-face.cc | 4 ++-- - src/hb-machinery-private.hh | 14 +++++--------- - src/hb-ot-font.cc | 8 ++++---- - src/hb-ot-layout-private.hh | 10 +++++----- - src/hb-ot-layout.cc | 8 ++++---- - src/hb-ot-shape-complex-arabic-fallback.hh | 18 +++++++++--------- - src/hb-static.cc | 4 ++-- - src/hb-subset-glyf.cc | 2 +- - src/hb-subset.cc | 8 ++++---- - src/hb-uniscribe.cc | 2 +- - 12 files changed, 40 insertions(+), 44 deletions(-) - -commit cb1491f92e24649433988ff81a89347dccf07c8b -Author: Behdad Esfahbod -Date: Wed Aug 1 22:50:45 2018 -0700 - - Minor - - src/hb-blob-private.hh | 5 ----- - src/hb-machinery-private.hh | 10 ++++++---- - 2 files changed, 6 insertions(+), 9 deletions(-) - -commit 16ccfafbbd48c7a9737ce1d12e75406a050b71a9 -Author: Behdad Esfahbod -Date: Wed Aug 1 22:50:06 2018 -0700 - - [face] Sprinkle const in the API - - src/hb-face.cc | 17 +++++++++-------- - src/hb-face.h | 16 ++++++++-------- - 2 files changed, 17 insertions(+), 16 deletions(-) - -commit 3d22aefedebb5277c5d79011e48e7be1a26a53c1 -Author: Behdad Esfahbod -Date: Wed Aug 1 18:03:32 2018 -0700 - - Rename - - src/hb-coretext.cc | 46 - +++++++++++++++++++++++----------------------- - src/hb-directwrite.cc | 28 ++++++++++++++-------------- - src/hb-fallback-shape.cc | 24 ++++++++++++------------ - src/hb-graphite2.cc | 26 +++++++++++++------------- - src/hb-ot-shape.cc | 20 ++++++++++---------- - src/hb-shaper-private.hh | 2 +- - src/hb-uniscribe.cc | 34 +++++++++++++++++----------------- - 7 files changed, 90 insertions(+), 90 deletions(-) - -commit 1a624c6e06763a8a61bc686d2d44272d4ef50d4a -Author: Behdad Esfahbod -Date: Wed Aug 1 17:53:30 2018 -0700 - - Add comment re (our only) race condition - - src/hb-shaper-private.hh | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit 44d1fb37efa20852cc466c0f0bba95dbd24ce288 -Author: Behdad Esfahbod -Date: Wed Aug 1 14:51:51 2018 -0700 - - 1.8.5 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - src/hb-ot-layout.cc | 2 +- - src/hb-version.h | 4 ++-- - 4 files changed, 12 insertions(+), 4 deletions(-) - -commit 13f4c137c686aed5c2888b5c47d9f16892be0d5e -Author: Behdad Esfahbod -Date: Wed Aug 1 14:13:59 2018 -0700 - - [atomic] Fix Solaris ones to add proper barriers - - src/hb-atomic-private.hh | 52 - +++++++++++++++++++++++++++++++++--------------- - 1 file changed, 36 insertions(+), 16 deletions(-) - -commit 19dfaa351568887a74cee2c46d6acfcc3fa718ff -Author: Behdad Esfahbod -Date: Wed Aug 1 14:02:39 2018 -0700 - - [atomic] Remove volatile from IBM impl signature - - src/hb-atomic-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2093a3e0cbb98c2daa39f308d50a12f0a719bc81 -Author: Behdad Esfahbod -Date: Wed Aug 1 14:00:46 2018 -0700 - - [atomic] Oops - - src/hb-atomic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 19b98348ffc660501e518bf48cd63d232f7585e7 -Author: Behdad Esfahbod -Date: Wed Aug 1 13:59:59 2018 -0700 - - [atomic] Use read-barrier for get() - - src/hb-atomic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 006d4f031a30dd04f5bb9c3d1daca187ef6b7f1e -Author: Behdad Esfahbod -Date: Wed Aug 1 13:59:31 2018 -0700 - - [atomic] Some more minor tweaks - - src/hb-atomic-private.hh | 31 ++++++++++++++++++++----------- - 1 file changed, 20 insertions(+), 11 deletions(-) - -commit 28d03a8afcc1f0ba6d9d0d88f669cc53bb030dd8 -Author: Ebrahim Byagowi -Date: Thu Aug 2 00:11:43 2018 +0430 - - [ci] Fix Appveyor bot (#1123) - - appveyor.yml | 1 + - 1 file changed, 1 insertion(+) - -commit 1a7fed631880fff8a947ebec9c7427efff581916 -Author: Ebrahim Byagowi -Date: Wed Aug 1 12:15:44 2018 +0430 - - Revert "Add a new API, hb_ot_layout_get_feature_name_ids (#976)" - (#1121) - - This reverts commit 0c1b287b72e91e0898d75acb5d5acf1c6b9a7498. - - docs/harfbuzz-sections.txt | 1 - - src/hb-ot-layout-common-private.hh | 14 ------- - src/hb-ot-layout.cc | 86 - -------------------------------------- - src/hb-ot-layout.h | 8 ---- - 4 files changed, 109 deletions(-) - -commit dfc86e4b35ffdeb8f73e83511712e75413bbb7d9 -Author: Behdad Esfahbod -Date: Wed Aug 1 00:22:18 2018 -0700 - - [atomic] Fix cast to fallback ptr_get() - - src/hb-atomic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7a4d576e81c4de68ea66b2d5fe7712e29d715272 -Author: Behdad Esfahbod -Date: Wed Aug 1 00:19:25 2018 -0700 - - [gobject] Fix copy/paste error - - src/hb-gobject-structs.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ad275627425c9b3c4fb1e69aa408067bd0bb77da -Author: Behdad Esfahbod -Date: Tue Jul 31 23:01:05 2018 -0700 - - [atomic] On IBM, use light-weight sync for everything - - lwsync() is a full read/write-barrier. That's all we need, never - need sync(). I'm not sure why an isync() was used in fetch_and_add, - but since that's a read-modify-write, I just changed it to have - lwsync() on both sides. - - src/hb-atomic-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit fd638d215feb058c2294e447cc68f6f50e2b481d -Author: Behdad Esfahbod -Date: Tue Jul 31 23:00:15 2018 -0700 - - [atomic] Add XXX items around Solaris ops - - Since add_int and cas are both read-modify-write, I wonder if we - also need a barrier after them. - - src/hb-atomic-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 896ff15ae60a4a4b94c62946e69196b877839bb5 -Author: Behdad Esfahbod -Date: Tue Jul 31 22:51:38 2018 -0700 - - [atomic] Fix get() impl - - Originally, glib's atomic_get was implemented as "memory_barrier; - load". - I copied this into cairo, fontconfig, and harfbuzz. However, that's - wrong. Correct way is "load; memory_barrier". The details are long - and hard to fully grasp. Best to read: - - https://www.kernel.org/doc/Documentation/memory-barriers.txt - - Also see my report against GNOME: - - https://gitlab.gnome.org/GNOME/glib/issues/1449 - - Note that this is irrelevant if C++11-like atomic ops are available. - - src/hb-atomic-private.hh | 28 +++++++++++++++++----------- - 1 file changed, 17 insertions(+), 11 deletions(-) - -commit d7a15799d40dac1f9521674a82c3293a7cb42ee4 -Author: Behdad Esfahbod -Date: Tue Jul 31 22:28:28 2018 -0700 - - [gobject] Hook up hb_map_t - - docs/harfbuzz-sections.txt | 2 ++ - src/hb-gobject-structs.cc | 1 + - src/hb-gobject-structs.h | 4 ++++ - src/hb-map.cc | 6 ++---- - 4 files changed, 9 insertions(+), 4 deletions(-) - -commit 63c74e8d1d85067cbeffe635eb5ed4e8aa130776 -Author: Behdad Esfahbod -Date: Tue Jul 31 22:21:21 2018 -0700 - - [atomic] Fix fallback impl - - src/hb-atomic-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4bc16aca4760ac9ffd8c63bbaea24fc7d234f715 -Author: Behdad Esfahbod -Date: Tue Jul 31 21:05:51 2018 -0700 - - [atomic] Add get_relaxed / set_relaxed - - To help TSan and be more "correct". - - src/hb-atomic-private.hh | 37 ++++++++++++++++++++++------------- - src/hb-common.cc | 4 ++-- - src/hb-debug.hh | 42 - ++++++++++++++++++++++++++++++++++++++++ - src/hb-object-private.hh | 12 ++++++------ - src/hb-ot-shape-complex-indic.cc | 22 +++++++++++---------- - src/hb-private.hh | 28 --------------------------- - 6 files changed, 86 insertions(+), 59 deletions(-) - -commit 3dd1b88765f6ce91bd0558a16cdd8cf0c1e15d1b -Author: Behdad Esfahbod -Date: Tue Jul 31 19:33:37 2018 -0700 - - [atomic] Use CONSUME, not ACQUIRE, memory-order for get() - - Although, all implementations just elevate that to ACQUIRE. - But requirement for us is just CONSUME. - - src/hb-atomic-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 06b91d935da1a40ef9de6697717eb0af1015989e -Author: Behdad Esfahbod -Date: Tue Jul 31 19:29:49 2018 -0700 - - Revert "[atomic] Make pointer get op relaxed instead of acquire" - - This reverts commit b1e5650c67266dc158f22355fed206cd1c413f70. - - After lots of head-scratching and finally finding the only truly - readable source to be the good old: - - https://www.kernel.org/doc/Documentation/memory-barriers.txt - - I've convinced myself that we need consume memory-ordering on get(). - The location of memory-barrier in a load should be after, not before - the load. That needs fixing. I'll do that separately. - - src/hb-atomic-private.hh | 34 +++++++++++++++++++++++++--------- - 1 file changed, 25 insertions(+), 9 deletions(-) - -commit 2bdd903c69eb3a34f3d3bf5e4f4c94cd66337117 -Author: Garret Rieger -Date: Tue Jul 31 17:44:02 2018 -0700 - - [subset] limit the max codepoint value to the unicode limit. - When collecting all codepoints in the cmap avoid using large amount - of memory for fonts that declare coverage over all 32 bit integers. - - src/hb-ot-cmap-table.hh | 9 +++++++-- - ...mized-hb-subset-get-codepoints-fuzzer-5973295416475648 | Bin 0 -> - 109 bytes - 2 files changed, 7 insertions(+), 2 deletions(-) - -commit 7278d9df3093a87f99cec9b4cea38bd688c5d020 -Author: Garret Rieger -Date: Tue Jul 31 17:59:19 2018 -0700 - - [subset] Add hb_ot_layout_collect_features to harfbuzz-sections.txt. - Add the fuzzer test case for feature collection timeout. - - docs/harfbuzz-sections.txt | 1 + - ...estcase-minimized-hb-subset-fuzzer-5542653037903872 | Bin 0 -> - 160249 bytes - 2 files changed, 1 insertion(+) - -commit 89733755a48feef0a663e1ea7b8294949581ce7e -Author: Garret Rieger -Date: Mon Jul 30 18:10:43 2018 -0700 - - [subset] use add_array to populate feature_indexes. - This is much faster then calling a bunch of individual add()'s. - - src/hb-ot-layout-common-private.hh | 7 +++++++ - src/hb-ot-layout.cc | 40 - +++++++++++++++++++------------------- - 2 files changed, 27 insertions(+), 20 deletions(-) - -commit 7d92bef9c5afb319d125f60b0fce4763afeaa686 -Author: Garret Rieger -Date: Mon Jul 30 17:17:43 2018 -0700 - - [subset] collect features first, then use those to collect lookups. - - src/hb-ot-layout.cc | 148 - +++++++++++++++++++++++++--------------------------- - src/hb-ot-layout.h | 7 +++ - 2 files changed, 78 insertions(+), 77 deletions(-) - -commit af876cce3066833c7c34d213a578eec6b09dd5c9 -Author: Behdad Esfahbod -Date: Tue Jul 31 15:27:29 2018 -0700 - - [indic] Flip default logic for double-halants in old-school - - Oriya went down from 9 to 2. - - BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%) - DEVANAGARI: 707311 out of 707394 tests passed. 83 failed (0.0117332%) - GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%) - GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%) - KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%) - MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed - (0.0188871%) - MYANMAR: 1115830 out of 1123883 tests passed. 8053 failed (0.716534%) - ORIYA: 42327 out of 42329 tests passed. 2 failed (0.00472489%) - SINHALA: 271596 out of 271847 tests passed. 251 failed (0.0923313%) - TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - - src/hb-ot-shape-complex-indic.cc | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit 92ba9905caa060466230f63b428ccee767696464 -Author: Behdad Esfahbod -Date: Tue Jul 31 15:19:32 2018 -0700 - - [indic] Allow double-halant in old-spec Devanagari - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1071 - - src/hb-ot-shape-complex-indic.cc | 18 - ++++++++++++------ - .../b722a7d09e60421f3efbc706ad348ab47b88567b.ttf | Bin 0 -> - 4672 bytes - test/shaping/data/in-house/tests/indic-old-spec.tests | 2 ++ - 3 files changed, 14 insertions(+), 6 deletions(-) - -commit fe099a844b9b8fe05dd4eb187b5ca3769441f012 -Author: Behdad Esfahbod -Date: Tue Jul 31 14:20:31 2018 -0700 - - [test] Add Khmer tests, with NotoSansKhmer-Regular.ttf - - Note that there's minor positioning differences, and ONE reordering - difference between what we get for these and what Uniscribe gets. - Probably same as what's described in commit message for - 1a96cc825dc9c8e3b6eef1403fe0864a1cfc0245 - - .../3998336402905b8be8301ef7f47cf7e050cbb1bd.ttf | Bin 0 -> 24392 bytes - test/shaping/data/in-house/tests/khmer-misc.tests | 89 - +++++++++++++++++++++ - 2 files changed, 89 insertions(+) - -commit 5772edc0ea8f697c6123e439c5d0c3e813ebeb45 -Author: Behdad Esfahbod -Date: Tue Jul 31 14:10:31 2018 -0700 - - [khmer] Typo - - src/hb-ot-shape-complex-khmer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2d6edc9008182c1446951f2c5c04df20094597f8 -Author: Behdad Esfahbod -Date: Tue Jul 31 13:56:55 2018 -0700 - - [test] Add Khmer test texts from recent bugs - - test/shaping/texts/in-house/shaper-khmer/misc.txt | 66 - +++++++++++++++++++++++ - 1 file changed, 66 insertions(+) - -commit df26a32c8fd22cbd486e2a1014d30b9f38f51cd1 -Author: Behdad Esfahbod -Date: Tue Jul 31 13:55:53 2018 -0700 - - [test] Move things around for shaper updates - - .../texts/in-house/shaper-indic/{indic => }/script-assamese/utrrs/LICENSE - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-assamese/utrrs/README - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-assamese/utrrs/SOURCES - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt - | 0 - .../script-assamese/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt - | 0 - .../script-assamese/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt - | 0 - .../script-assamese/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt - | 0 - .../{indic => }/script-assamese/utrrs/gsub/IndicFontFeatureGSUB.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-bengali/misc/misc.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-bengali/misc/reph.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-bengali/utrrs/LICENSE - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-bengali/utrrs/README - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-bengali/utrrs/SOURCES - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt - | 0 - .../script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt - | 0 - .../script-bengali/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt - | 0 - .../script-bengali/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt - | 0 - .../script-bengali/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt - | 0 - .../{indic => }/script-bengali/utrrs/gsub/IndicFontFeatureGSUB.txt - | 0 - .../shaper-indic/{indic => }/script-devanagari/misc/dottedcircle.txt - | 0 - .../in-house/shaper-indic/{indic => }/script-devanagari/misc/eyelash.txt - | 0 - .../in-house/shaper-indic/{indic => }/script-devanagari/misc/joiners.txt - | 0 - .../in-house/shaper-indic/{indic => }/script-devanagari/misc/misc.txt - | 0 - .../shaper-indic/{indic => }/script-devanagari/misc/spec-deviations.txt - | 0 - .../shaper-indic/{indic => }/script-devanagari/misc/tricky-reordering.txt - | 0 - .../in-house/shaper-indic/{indic => }/script-devanagari/utrrs/LICENSE - | 0 - .../in-house/shaper-indic/{indic => }/script-devanagari/utrrs/README - | 0 - .../in-house/shaper-indic/{indic => }/script-devanagari/utrrs/SOURCES - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt - | 0 - .../codepoint/IndicFontFeatureCodepoint-DevnagariSpecificAddition.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-GenericPunctuation.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt - | 0 - .../script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt - | 0 - .../script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt - | 0 - .../{indic => }/script-devanagari/utrrs/gsub/IndicFontFeatureGSUB.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-gujarati/utrrs/LICENSE - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-gujarati/utrrs/README - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-gujarati/utrrs/SOURCES - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt - | 0 - .../script-gujarati/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt - | 0 - .../script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt - | 0 - .../script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt - | 0 - .../{indic => }/script-gujarati/utrrs/gsub/IndicFontFeatureGSUB.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-gurmukhi/misc/misc.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-gurmukhi/utrrs/LICENSE - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-gurmukhi/utrrs/README - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-gurmukhi/utrrs/SOURCES - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt - | 0 - .../script-gurmukhi/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-GurmukhiSpecific.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt - | 0 - .../script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt - | 0 - .../script-gurmukhi/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt - | 0 - .../{indic => }/script-gurmukhi/utrrs/gsub/IndicFontFeatureGSUB.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-kannada/misc/misc.txt - | 0 - .../shaper-indic/{indic => }/script-kannada/misc/right-matras.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-kannada/utrrs/LICENSE - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-kannada/utrrs/README - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-kannada/utrrs/SOURCES - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt - | 0 - .../script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt - | 0 - .../script-kannada/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt - | 0 - .../script-kannada/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt - | 0 - .../{indic => }/script-kannada/utrrs/gsub/IndicFontFeatureGSUB.txt - | 0 - .../in-house/shaper-indic/{indic => }/script-malayalam/misc/cibu.txt - | 0 - .../in-house/shaper-indic/{indic => }/script-malayalam/misc/dot-reph.txt - | 0 - .../in-house/shaper-indic/{indic => }/script-malayalam/misc/misc.txt - | 0 - .../in-house/shaper-indic/{indic => }/script-malayalam/utrrs/LICENSE - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-malayalam/utrrs/README - | 0 - .../in-house/shaper-indic/{indic => }/script-malayalam/utrrs/SOURCES - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt - | 0 - .../script-malayalam/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt - | 0 - .../{indic => }/script-malayalam/utrrs/gsub/IndicFontFeatureGSUB.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-oriya/misc/bindu.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-oriya/misc/misc.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-oriya/utrrs/LICENSE - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-oriya/utrrs/README - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-oriya/utrrs/SOURCES - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt - | 0 - .../script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt - | 0 - .../script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-OriyaSpecific.txt - | 0 - .../script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt - | 0 - .../{indic => }/script-oriya/utrrs/gsub/IndicFontFeatureGSUB.txt - | 0 - .../in-house/shaper-indic/{indic => }/script-sinhala/misc/extensive.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-sinhala/misc/misc.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-sinhala/misc/reph.txt - | 0 - .../shaper-indic/{indic => }/script-sinhala/misc/split-matras.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-sinhala/utrrs/LICENSE - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-sinhala/utrrs/README - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-sinhala/utrrs/SOURCES - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Punctuation.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt - | 0 - .../{indic => }/script-sinhala/utrrs/gpos/IndicFontFeatureGPOS.txt - | 0 - .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Conjunct.txt - | 0 - .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Rakaaraansaya.txt - | 0 - .../{indic => }/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Repaya.txt - | 0 - .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Special-Cases.txt - | 0 - .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-TouchingLetters.txt - | 0 - .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Yansaya.txt - | 0 - .../{indic => }/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-tamil/misc/misc.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-tamil/utrrs/LICENSE - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-tamil/utrrs/README - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-tamil/utrrs/SOURCES - | 0 - .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-CurrencySymbols.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt - | 0 - .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt - | 0 - .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Numerics.txt - | 0 - .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt - | 0 - .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Symbols.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-TamilSymbol.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt - | 0 - .../script-tamil/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt - | 0 - .../script-tamil/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt - | 0 - .../{indic => }/script-tamil/utrrs/gsub/IndicFontFeatureGSUB.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-telugu/misc/misc.txt - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-telugu/utrrs/LICENSE - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-telugu/utrrs/README - | 0 - .../texts/in-house/shaper-indic/{indic => }/script-telugu/utrrs/SOURCES - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt - | 0 - .../script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt - | 0 - .../script-telugu/utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt - | 0 - .../script-telugu/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt - | 0 - .../{indic => }/script-telugu/utrrs/gsub/IndicFontFeatureGSUB.txt - | 0 - .../south-east-asian/script-khmer/misc => shaper-khmer}/misc.txt - | 0 - .../script-khmer/misc => shaper-khmer}/other-marks-invalid.txt - | 0 - .../south-east-asian/script-khmer/misc => shaper-khmer}/other-marks.txt - | 0 - .../south-east-asian => shaper-use}/script-javanese/misc.txt - | 0 - 174 files changed, 0 insertions(+), 0 deletions(-) - -commit 6ddd669e205cf2c1c3b0a362330b686386f68519 -Author: Behdad Esfahbod -Date: Tue Jul 31 13:38:07 2018 -0700 - - [khmer] Clear syllables before presentation features - - Probably not what Uniscribe does, but good idea? - - src/hb-ot-shape-complex-khmer.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 8eef1964a708c3db52e5e7312689c4664afa9839 -Author: Behdad Esfahbod -Date: Tue Jul 31 13:35:10 2018 -0700 - - [khmer] Revert previous change, and remove pauses - - This makes test suite happy again (at 44) while fixing the sequences - we were fixing, which were the following with KhmerUI.ttf: - - U+1789,U+17BC - U+1789,U+17D2,U+1789 - U+1789,U+17D2,U+1789,U+17BC - - Fixes rest of https://github.com/harfbuzz/harfbuzz/issues/974 - - src/hb-ot-shape-complex-khmer.cc | 23 ++++++++++------------- - 1 file changed, 10 insertions(+), 13 deletions(-) - -commit 7c658ea2f20a77cac35e8988e54316425396198a -Author: Behdad Esfahbod -Date: Tue Jul 31 12:49:02 2018 -0700 - - [khmer] Apply ccmp after basic features - - Part of https://github.com/harfbuzz/harfbuzz/issues/974 - - src/hb-ot-shape-complex-khmer.cc | 22 +++++++++++++++++----- - 1 file changed, 17 insertions(+), 5 deletions(-) - -commit 1a96cc825dc9c8e3b6eef1403fe0864a1cfc0245 -Author: Behdad Esfahbod -Date: Tue Jul 31 11:45:32 2018 -0700 - - [khmer] Rewrite most of shaper to better follow spec - - Khmer spec has only one reordering phase, and only simple prebase - matra and Coeng-Ro reordering. Implement that. Specifically, - this was done to address recognizing different orders of the matra - and Coeng-Ro sequence. That said, some combinations are now - reordered differently from Uniscribe. Not clear if that's intended - or a bug in Uniscribe. The following two sequences render the same - in Uniscribe whereas we reorder them differently: - - U+17A0,U+17D2,U+179A,U+17C2 - U+17A0,U+17C2,U+17D2,U+179A - - For that reason, our test suite numbers regressed slightly. Used - to be at 34 for fails, now at: - - KHMER: 299080 out of 299124 tests passed. 44 failed (0.0147096%) - - But generally a good change, and removed lots of code. - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1026 - - src/hb-ot-shape-complex-indic-private.hh | 4 +- - src/hb-ot-shape-complex-khmer.cc | 460 - ++++--------------------------- - src/hb-ot-shape-complex-private.hh | 13 - - 3 files changed, 64 insertions(+), 413 deletions(-) - -commit f5152cea423947cd8a85332566443b4e2e091672 -Author: Behdad Esfahbod -Date: Tue Jul 31 01:27:04 2018 -0700 - - [shaper] Move code around - - src/hb-shaper-private.hh | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit 36d0fbbc52bdf2c71da022fb1fdc31eca17078ce -Author: Behdad Esfahbod -Date: Tue Jul 31 01:15:04 2018 -0700 - - [shaper] Remove a macro - - src/hb-shaper-private.hh | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit b1e5650c67266dc158f22355fed206cd1c413f70 -Author: Behdad Esfahbod -Date: Tue Jul 31 01:02:31 2018 -0700 - - [atomic] Make pointer get op relaxed instead of acquire - - We only use it before cmpexch, so relaxed is fine and faster for - common case. - - src/hb-atomic-private.hh | 34 +++++++++------------------------- - 1 file changed, 9 insertions(+), 25 deletions(-) - -commit 66ccd8ac405c9c25b37de9eb467a7382880dda35 -Author: Behdad Esfahbod -Date: Mon Jul 30 17:03:06 2018 -0700 - - [serialize] Increase stage count from 8 to 32 - - Indic shaper uses many stages. Now we are provably not limiting - functionality whereas the previous limit of 8 was assuming real-world - practices. - - src/hb-ot-layout-common-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit ee8cf919654cb191e955fe1f89b1ebfb2b8b32ee -Author: Behdad Esfahbod -Date: Mon Jul 30 16:59:41 2018 -0700 - - [serialize] Remove unused truncate() method - - src/hb-machinery-private.hh | 6 ------ - 1 file changed, 6 deletions(-) - -commit 5edf454aa64aad461c90bd991e7eaf27668b7e6b -Author: Garret Rieger -Date: Thu Jul 26 17:42:02 2018 -0700 - - [subset] During lookup collection remember the features we've - already processed. - - src/hb-ot-layout.cc | 26 - +++++++++++++++++---- - ...ase-minimized-hb-subset-fuzzer-5670861909524480 | Bin 0 -> 1298 bytes - ...b-subset-get-codepoints-fuzzer-6136125075750912 | Bin 0 -> 65816 bytes - 3 files changed, 21 insertions(+), 5 deletions(-) - -commit 42c183f80355fe7cadac2931a23d389285c8b98c -Author: Behdad Esfahbod -Date: Fri Jul 27 14:55:29 2018 -0700 - - Minor - - src/hb-ft.cc | 5 +++-- - src/hb-ot-shape.cc | 5 +++-- - 2 files changed, 6 insertions(+), 4 deletions(-) - -commit ecab6604e57ea2bb4e78250a7a400e15b3e86f7a -Author: Behdad Esfahbod -Date: Wed Jul 25 17:37:38 2018 -0700 - - [serialize] Allocate for markFilteringSet - - src/hb-ot-layout-common-private.hh | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 7f08818c441517f73c5bea0a2a88f494dfc8fa58 -Author: Behdad Esfahbod -Date: Wed Jul 25 17:22:05 2018 -0700 - - Minor - - src/hb-iter-private.hh | 8 +++++--- - src/hb-machinery-private.hh | 1 - - 2 files changed, 5 insertions(+), 4 deletions(-) - -commit 2e25d8f49181ab1d7fda520ae6587d293a982acf -Author: prrace -Date: Fri Jul 27 13:58:27 2018 -0700 - - Fix unlikely leaks - - src/hb-ft.cc | 4 +++- - src/hb-ot-shape.cc | 4 +++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -commit 3c2842cbcf8cded73d1e310379e1a4ca124a6fc2 -Author: Behdad Esfahbod -Date: Wed Jul 25 17:07:17 2018 -0700 - - Add hb-iter-private.hh - - Unused so far. - - src/Makefile.sources | 1 + - src/hb-iter-private.hh | 147 - ++++++++++++++++++++++++++++++++++++++++++++ - src/hb-machinery-private.hh | 1 + - 3 files changed, 149 insertions(+) - -commit 92b1e025c639d006f55400bf68fc23bdeaa1c716 -Author: Behdad Esfahbod -Date: Wed Jul 25 16:58:47 2018 -0700 - - Move some code from hb-open-type-private.hh to hb-machinery-private.hh - - src/Makefile.sources | 1 + - src/hb-machinery-private.hh | 702 - ++++++++++++++++++++++++++++++++++++++++++++ - src/hb-open-type-private.hh | 669 - +---------------------------------------- - 3 files changed, 706 insertions(+), 666 deletions(-) - -commit 6b11fea99716e22522b563d919ef7c72fe9a3c45 -Author: Behdad Esfahbod -Date: Wed Jul 25 16:01:37 2018 -0700 - - [closure] Allocate out set on the stack - - src/hb-ot-layout-gsubgpos-private.hh | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 74467b790154838e86c3ca8df0eaafe82e87f976 -Author: Behdad Esfahbod -Date: Wed Jul 25 14:30:07 2018 -0700 - - Fix compile - - src/hb-shaper-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit bf90f35302c319ec4699ccbcd1e28b15ef2ec423 -Author: Behdad Esfahbod -Date: Tue Jul 24 18:00:14 2018 -0700 - - [coretext] Add note - - src/hb-shaper-private.hh | 4 ++++ - 1 file changed, 4 insertions(+) - -commit fb58cb4b5ca7043fa746b1a01790abf53bedfa86 -Author: Garret Rieger -Date: Wed Jul 25 13:39:17 2018 -0700 - - [subset] Only used reachable lookups for gsub closure. - - src/hb-subset-plan.cc | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit c38bd4025f3f6ff4c1a39cc106b8618361a0c62b -Author: Behdad Esfahbod -Date: Tue Jul 24 09:43:27 2018 -0700 - - [closure] Separate in and out glyphs - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1107 - - src/hb-ot-layout-gsub-table.hh | 26 ++++++++++++++++++-------- - src/hb-ot-layout-gsubgpos-private.hh | 16 +++++++++++++++- - 2 files changed, 33 insertions(+), 9 deletions(-) - -commit 85646fdadb2f102333485e07425361795b4e0412 -Author: Garret Rieger -Date: Mon Jul 23 15:37:18 2018 -0700 - - [subset] Limit the iterations of the closure algorithm. - Prevents O(n^2) run times. - - src/hb-ot-layout-common-private.hh | 7 +++++++ - src/hb-ot-layout.cc | 5 ++++- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit 94759d4cf8986388399026ef5204ac55ee187180 -Author: Behdad Esfahbod -Date: Mon Jul 23 15:01:39 2018 -0700 - - Fix visibility on mingw32 - - Should fix bots again. - - src/hb-private.hh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 61eddbd8ef64dc66e3c42723533d53967e61c9af -Author: Behdad Esfahbod -Date: Mon Jul 23 14:44:10 2018 -0700 - - Fix infinite loop in loading num_glyphs within sanitizer - - src/hb-open-type-private.hh | 13 ++++++++++--- - src/hb-static.cc | 4 +++- - 2 files changed, 13 insertions(+), 4 deletions(-) - -commit e22a48ac95a60fac5e1bca26eed7f5623d73a7be -Author: Behdad Esfahbod -Date: Mon Jul 23 13:24:26 2018 -0700 - - One more visibility trick - - Should fix Windows build again. - - src/hb-common.cc | 9 +++++++++ - src/hb-private.hh | 20 ++------------------ - src/hb-static.cc | 4 +++- - 3 files changed, 14 insertions(+), 19 deletions(-) - -commit e57a638bdec378eed8e83513818c8add3ffae896 -Author: Behdad Esfahbod -Date: Mon Jul 23 12:00:02 2018 -0700 - - One more - - src/hb-ot-cmap-table.hh | 40 ++++++++++++++++++++-------------------- - 1 file changed, 20 insertions(+), 20 deletions(-) - -commit 36ed163fdd50419e4619c665a4a9dbf97f66c349 -Author: Behdad Esfahbod -Date: Mon Jul 23 11:57:45 2018 -0700 - - Remove unnecessary OT:: namespace specifiers - - src/hb-ot-cmap-table.hh | 30 +++++++++++++++--------------- - src/hb-ot-color-sbix-table.hh | 4 ++-- - src/hb-ot-color-svg-table.hh | 4 ++-- - src/hb-ot-glyf-table.hh | 4 ++-- - src/hb-ot-hmtx-table.hh | 2 +- - src/hb-ot-maxp-table.hh | 6 +++--- - src/hb-ot-os2-table.hh | 4 ++-- - src/hb-ot-post-table.hh | 2 +- - 8 files changed, 28 insertions(+), 28 deletions(-) - -commit c6bc7c38314ea831418fdd1434bbe5afc0875f33 -Author: Behdad Esfahbod -Date: Mon Jul 23 11:46:46 2018 -0700 - - Set num glyphs on sanitizer reference_table() - - Move out-of-class definitions of two methods to hb-static so they - are accessible in libharfbuzz-subset. - - src/hb-face.cc | 20 -------------------- - src/hb-open-type-private.hh | 1 + - src/hb-static.cc | 22 ++++++++++++++++++++++ - 3 files changed, 23 insertions(+), 20 deletions(-) - -commit 9401829d4e93f6f433957fa2d053f3b9d42da557 -Author: Behdad Esfahbod -Date: Sun Jul 22 22:50:58 2018 -0700 - - Remove Sanitizer<> - - src/hb-open-type-private.hh | 16 +--------------- - 1 file changed, 1 insertion(+), 15 deletions(-) - -commit 8e3e41272b3896274459c5961aac813ef2666321 -Author: Behdad Esfahbod -Date: Sun Jul 22 22:49:26 2018 -0700 - - Port rest of code away from Sanitizer<> - - src/hb-face.cc | 4 ++-- - src/main.cc | 3 +-- - 2 files changed, 3 insertions(+), 4 deletions(-) - -commit d6a8f64045ca3bf4c7d01520909fa0c7dfca4d64 -Author: Behdad Esfahbod -Date: Sun Jul 22 22:47:19 2018 -0700 - - Port dump-emoji away from Sanitizer<> - - src/dump-emoji.cc | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit 14f78d2b3bb1e1292efbd6a3e3f0d618179c171a -Author: Behdad Esfahbod -Date: Sun Jul 22 22:45:26 2018 -0700 - - . - - src/hb-aat-layout.cc | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 4547051f48ca6aa53309b81a768b5b44c4ab6e3b -Author: Behdad Esfahbod -Date: Sun Jul 22 22:44:22 2018 -0700 - - Minor - - src/hb-open-file-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit 740ae27d5c0f5ff87e2ff489fb49d5db1a0c95be -Author: Behdad Esfahbod -Date: Sun Jul 22 22:40:56 2018 -0700 - - Port sbix off of Sanitizer<> - - src/hb-ot-color-sbix-table.hh | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 9583e0077d0a3a043f8b5bd23925014e04da8d32 -Author: Behdad Esfahbod -Date: Sun Jul 22 22:40:32 2018 -0700 - - Port more off of Sanitizer<> - - src/hb-face.cc | 4 ++-- - src/hb-open-type-private.hh | 2 +- - src/hb-ot-cmap-table.hh | 2 +- - src/hb-ot-color-cbdt-table.hh | 4 ++-- - src/hb-ot-color-svg-table.hh | 4 +--- - src/hb-ot-glyf-table.hh | 8 ++++---- - src/hb-ot-hmtx-table.hh | 10 +++++----- - src/hb-ot-kern-table.hh | 2 +- - src/hb-ot-layout.cc | 6 +++--- - src/hb-ot-maxp-table.hh | 2 +- - src/hb-ot-os2-table.hh | 2 +- - src/hb-ot-post-table.hh | 2 +- - src/hb-subset.cc | 4 +--- - 13 files changed, 24 insertions(+), 28 deletions(-) - -commit e7737b41d793bfce9455d1797eb5e0af60794f23 -Author: Behdad Esfahbod -Date: Sun Jul 22 22:24:31 2018 -0700 - - Add sanitizer reference_table, also fix clang build - - Clang is being really peculiar. Fix with: - - - inline hb_blob_t *sanitize (hb_blob_t *blob) { return - c->sanitize (blob); } - + inline hb_blob_t *sanitize (hb_blob_t *blob) { return - c[0].template/*clang idiosyncrasy*/sanitize_blob (blob); } - - src/hb-open-type-private.hh | 10 ++++++++-- - src/hb-ot-post-table.hh | 2 +- - src/hb-subset-glyf.cc | 2 +- - src/hb-uniscribe.cc | 2 +- - 4 files changed, 11 insertions(+), 5 deletions(-) - -commit 62fa7cd1ccff4d4448ef84f9cc146464672636aa -Author: David Corbett -Date: Fri Apr 13 18:45:37 2018 -0400 - - Order Chakma split vowels in accordance with NFC - - Fixes #1105. - - src/gen-use-table.py | 10 ++++++++++ - src/hb-ot-shape-complex-use-table.cc | 4 ++-- - src/hb-ot-shape-complex-use.cc | 21 - +-------------------- - .../2a670df15b73a5dc75a5cc491bde5ac93c5077dc.ttf | Bin 0 -> 1344 bytes - test/shaping/data/in-house/tests/use.tests | 5 +++++ - 5 files changed, 18 insertions(+), 22 deletions(-) - -commit 0c1b287b72e91e0898d75acb5d5acf1c6b9a7498 -Author: Ebrahim Byagowi -Date: Sat Jul 21 21:14:48 2018 +0430 - - Add a new API, hb_ot_layout_get_feature_name_ids (#976) - - This new API returns cvXX and ssXX related NameId, things like - featUiLabelNameId, featUiTooltipTextNameId, sampleTextNameId, - ... of cvXX - and UINameId of ssXX, in a unified way. - - However HarfBuzz currently doesn't expose an API for retrieving - the actual - information associated with NameId from the `name` table and that - should be - done separately. - - docs/harfbuzz-sections.txt | 1 + - src/hb-ot-layout-common-private.hh | 14 +++++++ - src/hb-ot-layout.cc | 86 - ++++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout.h | 8 ++++ - 4 files changed, 109 insertions(+) - -commit 93b65d9fe331a217640069fad4159cb7c3ec35e6 -Author: Ebrahim Byagowi -Date: Tue Jul 17 23:29:16 2018 +0430 - - Remove dump-fon (#1100) - - It had interesting stuffs like EXE parsing and - big-endian parsers but added in an attempt to find - a solution for #681 which later found not related. - - src/Makefile.am | 4 - - src/dump-fon.cc | 555 - -------------------------------------------------------- - 2 files changed, 559 deletions(-) - -commit d5cd47a69c40966b4d5b5aed87dd7ac6f070c37a -Author: Ebrahim Byagowi -Date: Tue Jul 17 22:32:37 2018 +0430 - - Remove AAT's gcid/fmtx (#1099) - - We are not going to use them, at least in the foreseeable future - - src/Makefile.sources | 2 -- - src/hb-aat-fmtx-table.hh | 67 - -------------------------------------------- - src/hb-aat-gcid-table.hh | 73 - ------------------------------------------------ - src/hb-aat-layout.cc | 2 -- - 4 files changed, 144 deletions(-) - -commit 1e9e344b2ba076a5fd6d57d1705e17a59c3875ce -Author: Behdad Esfahbod -Date: Tue Jul 17 19:17:59 2018 +0200 - - Fix hb_face_count() sanitize referencing - - src/hb-face.cc | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit a8cc0b5907e61199334a3a886fe22efe9cc17149 -Author: Behdad Esfahbod -Date: Tue Jul 17 19:09:03 2018 +0200 - - Remove TODO that is not gonna be done - - Previously the idea was to cache sanitize results externally (think, - in Fontconfig) and avoid resanitizing every time. That's, not a good - idea. - - src/hb-open-type-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit be7073840097c873ce4954c6cffadab175a007d3 -Author: Behdad Esfahbod -Date: Tue Jul 17 18:45:25 2018 +0200 - - Move sanitizer code around a bit - - src/hb-aat-layout-common-private.hh | 4 +- - src/hb-open-type-private.hh | 95 - ++++++++++++++++++++----------------- - src/hb-ot-color-sbix-table.hh | 12 ++--- - src/hb-ot-layout-common-private.hh | 3 -- - 4 files changed, 58 insertions(+), 56 deletions(-) - -commit db5d430effce67db57ddea2545694b7275ee8b35 -Author: Behdad Esfahbod -Date: Tue Jul 17 18:14:45 2018 +0200 - - [aat] Update for blob changes - - Also, uncomment code again, just "if (0)" it out, so it doesn't get - stale again. - - src/hb-aat-layout.cc | 58 - ++------------------------------------------- - src/hb-open-type-private.hh | 27 +++++++++++++-------- - src/hb-ot-layout-private.hh | 1 + - src/hb-ot-layout.cc | 2 ++ - src/hb-ot-shape.cc | 6 ++--- - 5 files changed, 25 insertions(+), 69 deletions(-) - -commit 68310a65cba7eed20f8696f4c670bb195677f467 -Author: Behdad Esfahbod -Date: Tue Jul 17 13:20:40 2018 +0200 - - 1.8.4 - - NEWS | 7 +++++++ - configure.ac | 2 +- - src/hb-version.h | 4 ++-- - 3 files changed, 10 insertions(+), 3 deletions(-) - -commit 04b7b81bcbf19cb85d06d930192d6591ba45ef72 -Author: Behdad Esfahbod -Date: Tue Jul 17 10:57:01 2018 +0200 - - Reland "Implement C++11-style GCC builtin atomic ops" - - Fixed the crasher in it. - - src/hb-atomic-private.hh | 22 +++++++++++++++++++--- - src/hb-object-private.hh | 2 +- - 2 files changed, 20 insertions(+), 4 deletions(-) - -commit 019d18e9ae643134bfc3861be65ac618a5892c92 -Author: Behdad Esfahbod -Date: Tue Jul 17 10:59:19 2018 +0200 - - Minor - - src/Makefile.am | 1 + - test/api/Makefile.am | 2 ++ - 2 files changed, 3 insertions(+) - -commit 3edef5a19b5c0f30381ae6fe01c3370ded37f6ca -Author: Behdad Esfahbod -Date: Tue Jul 17 10:50:01 2018 +0200 - - Revert "Implement C++11-style GCC builtin atomic ops" - - This reverts commit 21fa170f0bfb0109c506ed17f5aff8b062564ffa. - - Is crashing. Oops. - - src/hb-atomic-private.hh | 22 +++------------------- - src/hb-object-private.hh | 2 +- - 2 files changed, 4 insertions(+), 20 deletions(-) - -commit 21fa170f0bfb0109c506ed17f5aff8b062564ffa -Author: Behdad Esfahbod -Date: Mon Jul 16 17:58:02 2018 +0200 - - Implement C++11-style GCC builtin atomic ops - - Hopefully fixes bots. - - src/hb-atomic-private.hh | 22 +++++++++++++++++++--- - src/hb-object-private.hh | 2 +- - 2 files changed, 20 insertions(+), 4 deletions(-) - -commit 804b59cf4901d471253016e0cbf82cc1bbbc1d15 -Author: Behdad Esfahbod -Date: Mon Jul 16 15:44:58 2018 +0200 - - Relax C++11 atomic ops memory order to acquire-release - - src/hb-atomic-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit bda242409fc0cbb79a0ff00eba9856c4b0a9c7a1 -Author: Behdad Esfahbod -Date: Mon Jul 16 15:41:09 2018 +0200 - - Implement C++11 operations - - Fixes https://github.com/harfbuzz/harfbuzz/issues/345 - - src/hb-atomic-private.hh | 27 ++++++++++++++++++++++++--- - src/hb-open-type-private.hh | 2 +- - src/hb-ot-shape-complex-arabic.cc | 2 +- - 3 files changed, 26 insertions(+), 5 deletions(-) - -commit 524411224054b23bab4adad7343314df45c9c183 -Merge: 2aae617a 269eb456 -Author: Cosimo Lupo -Date: Mon Jul 16 14:42:43 2018 +0200 - - Merge pull request #1094 from anthrotype/fix-appveyor-msys2 - - appveyor.yml: try updating msys2 to fix failing mingw-w64-x86_64 build - -commit 269eb45650be66901627da7f1014339065a948a5 -Author: Cosimo Lupo -Date: Mon Jul 16 14:14:42 2018 +0200 - - appveyor.yml: try only updating msys2 core, not the rest of the - packages - - maybe it'll get a bit faster - - appveyor.yml | 1 - - 1 file changed, 1 deletion(-) - -commit 3ab52c6cb5c405366af804d278216e2d02a39ecb -Author: Cosimo Lupo -Date: Mon Jul 16 12:57:27 2018 +0200 - - appveyor.yml: pass --needed option to pacman - - so it won't attempt reinstalling packages which are already installed - - appveyor.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5631d70d36aa7952d343ea794bd5169a730706ae -Author: Cosimo Lupo -Date: Mon Jul 16 12:41:59 2018 +0200 - - appveyor.yml: try updating msys2 to fix failing mingw-w64-x86_64 build - - https://github.com/harfbuzz/harfbuzz/pull/1093#issuecomment-405201903 - https://ci.appveyor.com/project/harfbuzz/harfbuzz/build/job/ky7lao1ii1bi7ew4#L71 - - appveyor.yml | 2 ++ - 1 file changed, 2 insertions(+) - -commit 2aae617a84f47836f10efd30df43e13e3a9447e1 -Author: Behdad Esfahbod -Date: Wed Jul 11 17:27:23 2018 +0200 - - Move _hb_alignof later again - - It uses constexpr... - - src/hb-private.hh | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -commit f3a74c16ecafdca135a647ebe85117c35c1ef585 -Author: Behdad Esfahbod -Date: Wed Jul 11 17:23:53 2018 +0200 - - Make hb_vector_t 8 bytes smaller - - src/hb-dsalgs.hh | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -commit 44999f8b758374015f5d48c83f9adcb464607c2f -Author: Behdad Esfahbod -Date: Wed Jul 11 17:00:59 2018 +0200 - - Align NullPool and CrapPool to HB_VECTOR_SIZE - - src/hb-dsalgs.hh | 3 +-- - src/hb-private.hh | 64 - ++++++++++++++++++++++++++++++++----------------------- - src/hb-static.cc | 4 ++-- - 3 files changed, 40 insertions(+), 31 deletions(-) - -commit 20a318d06acaabdee0090339dfa621aab46f1441 -Author: Behdad Esfahbod -Date: Wed Jul 11 17:00:13 2018 +0200 - - Fix return type of alignof() fallback - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 58cb4d9f73f1292454e3673d5e7ae5a58a566522 -Author: Behdad Esfahbod -Date: Wed Jul 11 16:44:21 2018 +0200 - - Minor - - test/api/test-ot-math.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 7796857c93b779e3c93eedd1cceb217d691dfd81 -Author: Behdad Esfahbod -Date: Wed Jul 11 15:27:37 2018 +0200 - - Minor - - RELEASING.md | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2b76767bf572364d3d647cdd139f2044a7ad06b2 -Author: Behdad Esfahbod -Date: Wed Jul 11 15:27:13 2018 +0200 - - 1.8.3 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - src/hb-version.h | 4 ++-- - 3 files changed, 11 insertions(+), 3 deletions(-) - -commit 718dfd4189275b1e4233dc7c12ab457352fccfcb -Author: Behdad Esfahbod -Date: Tue Jul 10 16:34:31 2018 +0200 - - Fix shift - - src/hb-dsalgs.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 25aa411ac524ed08624033da473a5e050ff41633 -Author: Behdad Esfahbod -Date: Tue Jul 10 16:05:03 2018 +0200 - - Put back include dependencies - - src/hb-object-private.hh | 2 ++ - src/hb-private.hh | 7 ++++--- - 2 files changed, 6 insertions(+), 3 deletions(-) - -commit 491d93bf74dd0483715ecca430715b69664e1211 -Author: Behdad Esfahbod -Date: Tue Jul 10 16:03:31 2018 +0200 - - Move more stuff from hb-private.hh to hb-dsalgs.hh - - src/hb-debug.hh | 1 + - src/hb-dsalgs.hh | 237 - ++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-private.hh | 246 - +----------------------------------------------------- - 3 files changed, 240 insertions(+), 244 deletions(-) - -commit f477765661c196ac17b2c86731881a3da36a5ae6 -Author: Behdad Esfahbod -Date: Tue Jul 10 15:49:05 2018 +0200 - - Move more stuff to hb-dsalgs.hh - - src/hb-dsalgs.hh | 83 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-private.hh | 81 - ----------------------------------------------------- - 2 files changed, 83 insertions(+), 81 deletions(-) - -commit be7f664f723fb4e7bcf15c1c2b7c6bec46f90393 -Author: Behdad Esfahbod -Date: Tue Jul 10 15:23:08 2018 +0200 - - Move hb_bytes_t to hb-dsalgs.hh - - src/hb-dsalgs.hh | 45 ++++++++++++++++++++++++++++++++++----------- - src/hb-private.hh | 26 -------------------------- - 2 files changed, 34 insertions(+), 37 deletions(-) - -commit 7a00f7eb2e3859db4563071934e76142bfd13916 -Author: Behdad Esfahbod -Date: Tue Jul 10 14:42:10 2018 +0200 - - Remove hb_auto_array_t - - src/hb-dsalgs.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit be458eb05962dd5f5c60a25f54cf0b20e7d8b055 -Author: Behdad Esfahbod -Date: Tue Jul 10 14:41:04 2018 +0200 - - Include more basic internal headers from hb-private.hh - - src/hb-blob-private.hh | 2 -- - src/hb-blob.cc | 1 - - src/hb-buffer-private.hh | 1 - - src/hb-common.cc | 2 -- - src/hb-coretext.cc | 1 - - src/hb-directwrite.cc | 1 - - src/hb-face-private.hh | 1 - - src/hb-font-private.hh | 1 - - src/hb-ft.cc | 1 - - src/hb-map-private.hh | 1 - - src/hb-object-private.hh | 4 ---- - src/hb-open-type-private.hh | 1 - - src/hb-ot-layout-common-private.hh | 1 - - src/hb-ot-layout-gsubgpos-private.hh | 1 - - src/hb-ot-shape-complex-arabic.cc | 1 - - src/hb-private.hh | 6 +++++- - src/hb-set-private.hh | 1 - - src/hb-shape-plan-private.hh | 1 - - src/hb-shape-plan.cc | 1 - - src/hb-subset-input.cc | 1 - - src/hb-subset-plan.hh | 1 - - src/hb-subset.cc | 1 - - src/hb-unicode-private.hh | 1 - - src/hb-uniscribe.cc | 1 - - src/hb-warning.cc | 4 +--- - 25 files changed, 6 insertions(+), 32 deletions(-) - -commit bddeb2b10ca2f4b4bee6f7eaaf5615875a67111d -Author: Behdad Esfahbod -Date: Tue Jul 10 14:12:37 2018 +0200 - - Minor renamings of internal inline functions - - src/hb-buffer.cc | 4 ++-- - src/hb-dsalgs.hh | 2 +- - src/hb-map-private.hh | 2 +- - src/hb-open-type-private.hh | 4 ++-- - src/hb-ot-cmap-table.hh | 2 +- - src/hb-ot-hdmx-table.hh | 2 +- - src/hb-ot-layout-gpos-table.hh | 4 ++-- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-map.cc | 4 ++-- - src/hb-ot-shape.cc | 4 ++-- - src/hb-private.hh | 27 ++++++++++++++------------- - src/hb-set-private.hh | 6 +++--- - src/hb-subset.cc | 2 +- - 13 files changed, 33 insertions(+), 32 deletions(-) - -commit d652ef299d123f28409e755ed2d2411295293f19 -Author: Behdad Esfahbod -Date: Tue Jul 10 14:05:00 2018 +0200 - - Move hb_vector_t and hb_lockable_set_t to hb-dsalgs.hh - - src/hb-dsalgs.hh | 311 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-private.hh | 315 - ------------------------------------------------------ - 2 files changed, 311 insertions(+), 315 deletions(-) - -commit 9e53b083295ad910a87e778ebd16cbe69ebe2130 -Author: Behdad Esfahbod -Date: Tue Jul 10 14:03:58 2018 +0200 - - Move hb_stable_sort to hb-dsalgs.hh - - Also, include hb-dsalgs.hh from end of hb-pricate.hh - - src/hb-dsalgs.hh | 51 - +++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-os2-unicode-ranges.hh | 1 - - src/hb-ot-post-table.hh | 1 - - src/hb-private.hh | 51 - ++--------------------------------------- - 4 files changed, 53 insertions(+), 51 deletions(-) - -commit 39f11d8e72c6b2568f3b70847c6c9d1f374cd49c -Author: Behdad Esfahbod -Date: Tue Jul 10 14:01:39 2018 +0200 - - Minor - - src/hb-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 763f878cc0595162255c58ffe7a82ac1ca51cb0b -Author: Behdad Esfahbod -Date: Tue Jul 10 13:47:41 2018 +0200 - - Fix syntax - - Oops. - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 83ea277178544cd7e417bdfb7b600ede94910e13 -Author: Behdad Esfahbod -Date: Tue Jul 10 13:17:27 2018 +0200 - - Add posix_memalign() fallback - - configure.ac | 2 +- - src/hb-private.hh | 40 ++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 41 insertions(+), 1 deletion(-) - -commit 292c100d6141eb2e981fa632602d73768f748727 -Author: Behdad Esfahbod -Date: Tue Jul 10 13:16:52 2018 +0200 - - Always compile (but not use) alignof() and round() fallback codes - - Catches compile-errors in them better. - - src/hb-private.hh | 23 ++++++++++++----------- - 1 file changed, 12 insertions(+), 11 deletions(-) - -commit 27c5317d918971c2fb67c213621a19ac790440e4 -Author: Behdad Esfahbod -Date: Tue Jul 10 13:03:42 2018 +0200 - - Fix alignof impl - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bca83618cda7ee4f683b4685d10db9e1bef4983c -Author: Behdad Esfahbod -Date: Tue Jul 10 12:58:13 2018 +0200 - - Add fallback implementation for constexpr and alignof - - src/hb-private.hh | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -commit 7cb47d0f3f202843ebc7fb8801bf388bb90ba3aa -Author: Behdad Esfahbod -Date: Tue Jul 10 12:51:29 2018 +0200 - - Minor - - src/hb-set-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit bf9e9676dda686f5b76826b4e3148f4a0b512e3c -Merge: 46d8f0d5 53f73409 -Author: Cosimo Lupo -Date: Mon Jul 9 20:24:22 2018 +0200 - - Merge pull request #1091 from anthrotype/fix-gen-def-py - - gen-def.py: pass headers as arguments so that msys2 can convert - posix paths - -commit 53f73409a91241765ae6a0cadf7600676988b6af -Author: Cosimo Lupo -Date: Mon Jul 9 18:54:23 2018 +0100 - - CMakeLists.txt: don't pass header args as single space-separated - string - - let python's parse command-line args as usual - - CMakeLists.txt | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 83d2233a5c47cf1feadcdece5bd4a6b498c6ee7a -Author: Cosimo Lupo -Date: Mon Jul 9 18:48:20 2018 +0100 - - CMakeLists.txt: pass headers as arguments to gen-def.py; call using - PYTHON_EXECUTABLE - - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ccdd15655480fe35226c0b757e28d3527fe2e6af -Author: Cosimo Lupo -Date: Mon Jul 9 18:26:44 2018 +0100 - - src/Makefile.am: pass headers to gen-def.py as arguments, not env vars - - src/Makefile.am | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit e3a931ef0b86419b5e4ba17de51535393471ed9d -Author: Cosimo Lupo -Date: Mon Jul 9 18:11:29 2018 +0100 - - gen-def.py: pass headers as arguments so that msys2 can convert - posix paths - - When one is not using the msys2 python, the header files that are - passed in as environment - variable cannot be found. - - https://ci.appveyor.com/project/fonttools/ttfautohint-py/build/1.0.65/job/rkremny4jjid9nl2#L803 - - This is because msys2 shell and make use POSIX paths - (e.g. /c/Users/clupo/...) - whereas non-msys2 python.exe uses native Windows paths - (e.g. C:\Users\clupo\...). - - Msys2 will automatically convert command line arguments (but not - environment variables) from - POSIX to Windows paths when calling a native win32 executable, - so we pass the header paths - as arguments instead of environment variables. - - This way the gen-def.py script can support both mingw python running - in an MSYS2 shell, and - native win32 python. - - src/gen-def.py | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -commit 46d8f0d5521c3dd0b10c78e66153faefdb9046db -Author: David Corbett -Date: Fri Jul 6 15:47:03 2018 -0400 - - Do not enforce a native direction of LTR for Runic - - Fixes #481 - - src/hb-common.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 936dadc6610666aa5781e8662b859f18f9baa636 -Author: David Corbett -Date: Sat Jul 7 11:08:17 2018 -0400 - - Regenerate the USE table for Grantha and Bhaiksuki (#1090) - - Completes #1037 and fixes #1035. - - src/hb-ot-shape-complex-use-table.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 1ebaa090d80bf0b59308d2c70f5e58dd8da47450 -Author: Behdad Esfahbod -Date: Thu Jul 5 14:04:13 2018 +0430 - - Disable vectorization - - Disable vectorization for now. To correctly use them, we should - use posix_memalign() to allocate them. Otherwise, can cause - misaligned access. - - https://bugs.chromium.org/p/chromium/issues/detail?id=860184 - - src/hb-private.hh | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 18a06f8a662ca7a9e63f74c6443e24a035c40655 -Author: Behdad Esfahbod -Date: Thu Jul 5 14:03:48 2018 +0430 - - Fix warning - - ../../src/hb-ot-layout-gsubgpos-private.hh:391:18: warning: - missed loop optimization, the loop counter may overflow - [-Wunsafe-loop-optimizations] - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 058708a665cdd9e796581dbcf60a5778d3f5e240 -Author: Behdad Esfahbod -Date: Thu Jul 5 13:16:00 2018 +0430 - - Allow disabling vector_size use - - src/hb-private.hh | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit d8a7dedc83042c5a643195172830acf78f2e59ff -Author: Ebrahim Byagowi -Date: Wed Jul 4 15:33:39 2018 +0430 - - Use CreateFileW explicitly and pass wchar_t to it (#1087) - - src/hb-blob.cc | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -commit 9940504e933d6766f87dca7fccc3c2f889976a22 -Author: Behdad Esfahbod -Date: Tue Jul 3 14:29:25 2018 +0430 - - [indic] Adjust left-matra repositioning and Halant,ZWJ sequence - - From the new code (first paragraph is from the OT Devanagari spec.): - - /* o Reorder matras: - * - * If a pre-base matra character had been reordered before - applying basic - * features, the glyph can be moved closer to the main consonant - based on - * whether half-forms had been formed. Actual position for - the matra is - * defined as “after last standalone halant glyph, after - initial matra - * position and before the main consonant”. If ZWJ or ZWNJ - follow this - * halant, position is moved after it. - * - * IMPLEMENTATION NOTES: - * - * It looks like the last sentence is wrong. Testing, with Windows - 7 Uniscribe - * and Devanagari shows that the behavior is best described as: - * - * "If ZWJ follows this halant, matra is NOT repositioned after - this halant. - * If ZWNJ follows this halant, position is moved after it." - * - * Test case, with Adobe Devanagari or Nirmala UI: - * - * U+091F,U+094D,U+200C,U+092F,U+093F - * (Matra moves to the middle, after ZWNJ.) - * - * U+091F,U+094D,U+200D,U+092F,U+093F - * (Matra does NOT move, stays to the left.) - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1070 - - Test case added with Adobe Devanagari. - - src/hb-ot-shape-complex-indic.cc | 37 - +++++++++++++++++++++ - .../8116e5d8fedfbec74e45dc350d2416d810bed8c4.ttf | Bin 0 -> 4364 bytes - .../data/in-house/tests/indic-joiners.tests | 4 +++ - 3 files changed, 41 insertions(+) - -commit 2cb075fe26201f3e370fccfff6c1bc242b5acc79 -Author: Behdad Esfahbod -Date: Tue Jul 3 13:04:05 2018 +0430 - - Fix unused function '_hb_mapped_file_destroy' if no mmap - - src/hb-blob.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 343e8c694b03eea625523229a9468fbb456e3aea -Author: Behdad Esfahbod -Date: Tue Jul 3 12:43:59 2018 +0430 - - 1.8.2 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - src/hb-version.h | 4 ++-- - 3 files changed, 11 insertions(+), 3 deletions(-) - -commit 29e7879bcf3fe955a0be3bb41e929e68f39ad01e -Author: Behdad Esfahbod -Date: Tue Jul 3 12:38:21 2018 +0430 - - Disable .dfont code for now - - The get_table imple was wrong, as table offsets in a dfont are - relative to the resource. We were treating them as relative to - the big blob itself. To be fixed. - - Part of https://github.com/harfbuzz/harfbuzz/pull/1085 - - src/hb-open-file-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 32348a43c154eac6bfb21b9e8044b38ed763601e -Author: Ebrahim Byagowi -Date: Sun Jul 1 15:32:43 2018 +0430 - - Fix trak table apply logic - - In collaboration with Behdad - - src/hb-aat-layout-trak-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 225b92b7d4437360f8779850ee0aae85966679b5 -Author: Ebrahim Byagowi -Date: Sun Jul 1 14:32:00 2018 +0430 - - Support dfont font files (#949) - - src/hb-open-file-private.hh | 196 - ++++++++++++++++++++++++++++++++++++++++++++ - src/hb-open-type-private.hh | 1 + - src/main.cc | 3 + - 3 files changed, 200 insertions(+) - -commit 5d8cafcf6a47ce73afff06499f6be23c72ab6797 -Author: Ebrahim Byagowi -Date: Sun Jul 1 01:54:14 2018 +0430 - - Improve nommap naming and use C style comments on create_from_file - (#1084) - - .circleci/config.yml | 2 +- - src/hb-blob.cc | 16 ++++++++-------- - 2 files changed, 9 insertions(+), 9 deletions(-) - -commit d3c0980ac234698627cb281e5526cc99139eed30 -Author: Behdad Esfahbod -Date: Sat Jun 30 15:59:25 2018 +0430 - - Adjust MarkBasePos heuristic in presence of MultipleSubst - - From the issue: - "In this font, the virama,ya first forms a ligature, then decomposes - back to - virama,ya. This causes those two to be marked parts of a MultipleSubst - sequence. When attaching the matra, we look for the first of the - MultipleSubst - sequence because that's where we attach to (because of eg #740). In - this case, - the first glyph in the MultipleSubst sequence is a mark, so we skip - it and - attach to the base char before it." - - Font in question is Nirmala UI from Windows 10. Test sequence: - - U+0926,U+094D,U+092F,U+0941 - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1020 - - src/hb-ot-layout-gpos-table.hh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 8b9cbe3b24be2ae0166e682103e22ec916316ecf -Author: Behdad Esfahbod -Date: Sat Jun 30 12:28:03 2018 +0430 - - [indic] Tweak for old-spec Bengali and halant-ya-halant - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1073 - - src/hb-ot-shape-complex-indic.cc | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -commit 9541c9dae10156fb61e4786545d1976cdcfb6bda -Author: punchcutter -Date: Sun Jun 24 22:54:57 2018 -0700 - - Rebase and update USE overrides for Bhaiksuki Gap Fillers and - Grantha Anusvara - - src/gen-use-table.py | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit 7b8dfac560abe89d48cfc2f6efb4a61820bd28bf -Author: Behdad Esfahbod -Date: Sat Jun 30 09:16:54 2018 +0430 - - [khmer] Fix infinite-loop in cluster merging - - Indic shaper already had this check. We removed it when forking - Khmer shaper by mistake. - - Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1464623 - - src/hb-ot-shape-complex-khmer.cc | 31 +++++++++++++++++-------------- - 1 file changed, 17 insertions(+), 14 deletions(-) - -commit 25970a93aa6596d50ae538c6274625f95153572c -Author: Ebrahim Byagowi -Date: Thu Jun 28 14:32:36 2018 +0430 - - armcc compatibility, don't use EINTR if doesn't exist - - Fixes #1081 - - src/hb-blob.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 8a51f91b7035bbfaf39af1b962faf1613d2ea3b7 -Author: Ebrahim Byagowi -Date: Thu Jun 28 13:22:21 2018 +0430 - - Minor on hb_blob_create_from_file, reuse ferror result - - Oops - - src/hb-blob.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 71971800ed1c0501a58e6ff7730e3cebec2ef2f8 -Author: Ebrahim Byagowi -Date: Wed Jun 27 18:14:52 2018 +0430 - - [ci] Don't fail on apt update and revive clang-O3-O0 - - .circleci/config.yml | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 7b4099f35f766d33d483a4b9d0805ef16020ea23 -Author: Ebrahim Byagowi -Date: Wed Jun 27 16:54:44 2018 +0430 - - Minor, rename blob to data on blob_from_file - - src/hb-blob.cc | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit fa090ed4d47df12b2e611c9a667c398742f7e4ba -Author: Ebrahim Byagowi -Date: Wed Jun 27 14:13:26 2018 +0430 - - Minor touches on hb_blob_create_from_file (#1079) - - * Handle EINTR on fallback reader - * Increase fallback reader limitation size limitation to 2 << 28 - * Ensure _O_BINARY does exist if MMAP is used on Windows - (maybe superfluous but makes me more confident) - - src/hb-blob.cc | 22 +++++++++++++--------- - 1 file changed, 13 insertions(+), 9 deletions(-) - -commit 01dff1ea1aa871fa19a92c2afd63c8cb5dd6e455 -Author: Behdad Esfahbod -Date: Tue Jun 26 18:00:58 2018 -0400 - - Make round() fallback portable to systems that do have round() - - Makes compiling without HAVE_ROUND on systems that do have it work. - - src/hb-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 7db2e9ea38329b9393c9e8cc905b180735c9b0f4 -Author: Ebrahim Byagowi -Date: Tue Jun 26 10:46:10 2018 +0430 - - Minor on hb_blob_create_from_file - - Add one more "unlikely" annotation and use explicit nullptr check - for more consistency. - - src/hb-blob.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4f8753464ae44dfb60bee81ede10448175db7b90 -Author: Garret Rieger -Date: Fri Jun 22 15:29:34 2018 -0700 - - [subset] Add fuzzer test case that caused a timeout to the corpus. - - ...testcase-minimized-hb-subset-fuzzer-5750092395970560 | Bin 0 -> - 72435 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit 35ce8f31d37cf7c2a1f8265d36ba4c2c9a3efb2c -Author: Ebrahim Byagowi -Date: Mon Jun 25 22:23:43 2018 +0430 - - Unify our pipe reader with the fallback reader (#1068) - - And assign one bot to use the path always using NOMMAPFILEREADER - token. - - It's limited to 200mb so no more fun with using /dev/zero on hb-view! - - .circleci/config.yml | 6 +- - src/hb-blob.cc | 152 - ++++++++++++++++++++++----------------------------- - 2 files changed, 68 insertions(+), 90 deletions(-) - -commit f57804a8a596e88843ddc8b88afac7526349b89b -Author: Ebrahim Byagowi -Date: Mon Jun 25 18:45:49 2018 +0430 - - Resolve ttx absolute path before use (#1075) - - test/subset/run-tests.py | 101 - ++++++++++++++++++++++++++--------------------- - 1 file changed, 57 insertions(+), 44 deletions(-) - -commit 159ddb872986f121818e816d2ea75d271075ba1f -Author: Ebrahim Byagowi -Date: Sun Jun 24 23:09:16 2018 +0430 - - Treat - just as /dev/stdin and remove one extra file reader (#1065) - - util/options.cc | 27 +++++++++------------------ - 1 file changed, 9 insertions(+), 18 deletions(-) - -commit b2a187918757a0faaf0f564ec2b0766c09fa364c -Author: Behdad Esfahbod -Date: Sat Jun 23 10:32:28 2018 -0400 - - In Coverage iterator, bail out if table smells - - In particular, if CoverageFormat2 has unsorted ranges, bail out. - Otherwise, 64k ranges of each 64k glyphs can DoS closure() method. - - We can do the same for CoverageFormat1, but that one does not expose - the quadratic behavior, so, fine. - - src/hb-ot-layout-common-private.hh | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -commit 941f2b85489b344698bf036922c589483034a7f2 -Author: Ebrahim Byagowi -Date: Mon Jun 18 20:35:40 2018 +0430 - - Support pipe and friends on hb_blob_create_from_file (#1061) - - With this hb-view/hb-shape support pipes and possibly socket and - named pipe - also, anything fails just on mmap. - - We can later do the same for Windows also. - - This however reveals two issues, the fact most of our bots don't - have HAVE_MMAP and using - this instead the other fread/fopen reader can make failure on CI. I - should look at them separately - this change however is very low risk I believe. - - src/hb-blob.cc | 44 +++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 43 insertions(+), 1 deletion(-) - -commit d0c2889dfc43da92c76d6eab5482b1298744dc9c -Author: Ebrahim Byagowi -Date: Mon Jun 18 19:59:33 2018 +0430 - - Revert file blob sanitization and index checking (#1062) - - As - https://github.com/harfbuzz/harfbuzz/pull/1059#issuecomment-397912812 - we - like to still work with blobs that harfbuzz itself can't handle - directly that are failing sanitization - currently apparently. - - util/options.cc | 12 ++---------- - util/options.hh | 2 +- - 2 files changed, 3 insertions(+), 11 deletions(-) - -commit c53697d3f2a3fae8b68ec4c5146c7000a07e0963 -Author: Ebrahim Byagowi -Date: Sun Jun 17 17:04:55 2018 +0430 - - Verbose fail when something is wrong with hb-shape/hb-view input - font file (#1059) - - This checks if the blob isn't empty and uses `hb_face_count` - to see if the font file passes the simple font file sanitization - so can detect if the input is actually a font and checks also - whether input font-index is out of range. - - util/options.cc | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -commit aa0c5df4199ef4e96df2b856c8f629e49fdd5120 -Author: Ebrahim Byagowi -Date: Sun Jun 17 16:49:34 2018 +0430 - - Fix reading fonts from stdin (#1060) - - We were passing the font path directly to freetype so rendering - was broken when we are getting the font from stdin. - - This fixes it by using FT_New_Memory_Face instead. - - This fixes: - * build/util/hb-view /dev/stdin text < font.ttf - * build/util/hb-view - text < font.ttf - * cat font.ttf | build/util/hb-view - text - - but doesn't work on - * cat font.ttf | build/util/hb-view /dev/stdin text - - which I will try to fix separately. - - util/helper-cairo.cc | 14 ++++++++++---- - util/options.cc | 5 ++--- - util/options.hh | 4 +++- - 3 files changed, 15 insertions(+), 8 deletions(-) - -commit 3654d9be6b017e66307fe0ffe635266938b14702 -Author: Behdad Esfahbod -Date: Tue Jun 12 19:38:04 2018 -0400 - - 1.8.1 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - src/hb-version.h | 4 ++-- - 3 files changed, 11 insertions(+), 3 deletions(-) - -commit f3e58ab8a957cdf36bddef793c473664744885a7 -Author: Behdad Esfahbod -Date: Tue Jun 12 19:32:04 2018 -0400 - - [docs] Enlist misc new symbols - - RELEASING.md | 3 ++- - docs/harfbuzz-sections.txt | 24 +++++++++++++++++++++++- - 2 files changed, 25 insertions(+), 2 deletions(-) - -commit f6893ef82c51a35dd075973b2041b1b19f81faff -Author: Behdad Esfahbod -Date: Tue Jun 12 19:20:20 2018 -0400 - - Move hb-version.h generation to Makefile - - Fixes https://github.com/harfbuzz/harfbuzz/issues/864 - - Unfortunately 1.7.7 and 1.8.0 went out with the wrong hb-version.h - contents. - - configure.ac | 1 - - src/Makefile.am | 21 ++++++++++++++++----- - src/hb-version.h | 6 +++--- - 3 files changed, 19 insertions(+), 9 deletions(-) - -commit cc0b04f48f261c1deb8f4142e7ae0222fbec67fb -Author: Behdad Esfahbod -Date: Tue Jun 12 18:24:54 2018 -0400 - - [subset] Remove HB_SUBSET_BUILTIN - - Just include hb-static.cc in libharfbuzz-subset.so source list as - well. Those building it built-in will include hb-static.cc once - already. No need for any gymnastics. - - src/Makefile.sources | 1 + - src/hb-subset.cc | 5 ----- - 2 files changed, 1 insertion(+), 5 deletions(-) - -commit ba0ea56efab9caa942d59bf51c78e490969cab87 -Author: Behdad Esfahbod -Date: Mon Jun 11 23:24:41 2018 -0400 - - [substitute-closure] Rename function for clarity - - src/hb-ot-layout-gsub-table.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 7b5ce416383101cb9d72a775a32d0088984e6817 -Author: Behdad Esfahbod -Date: Mon Jun 11 23:23:40 2018 -0400 - - Whitespace - - src/hb-ot-layout-gsub-table.hh | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit c4d0d11c55f018026fc9c1db75fe7a4f8a38f81f -Author: Behdad Esfahbod -Date: Mon Jun 11 22:11:45 2018 -0400 - - [vector] Always 0-fill new items - - src/hb-private.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit a7e1b4a3b2d7b853ca244156571dd83321739bb1 -Author: Behdad Esfahbod -Date: Mon Jun 11 22:05:08 2018 -0400 - - Fix compiler warning re reordering of initializations - - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f56cd9df10824fbbef52172470d07ff673d460cc -Author: Behdad Esfahbod -Date: Mon Jun 11 22:02:38 2018 -0400 - - Style - - src/hb-ot-layout.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit a95cde15af4aa34e76c4394dfdf17e7d25164d5b -Author: Jonathan Kew -Date: Mon Jun 11 18:09:35 2018 -0700 - - [hb-set] Additional testcase for hb-set-intersect. - - test/api/test-set.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 82484b05ca7a51dec6f3f9e9b0d7967823d7657f -Author: Jonathan Kew -Date: Mon Jun 11 20:55:14 2018 -0700 - - [hb-set] Don't shrink vectors until after processing their contents. - - Fixes #1054. - - src/hb-set-private.hh | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -commit eb585033cae33ca069bbcdaa21e4074678b6a6e9 -Author: Ebrahim Byagowi -Date: Mon Jun 11 03:47:43 2018 +0430 - - Fetch the updated dwrite_1.h header from a better place - - Following to - https://ci.appveyor.com/project/harfbuzz/harfbuzz/build/1.0.1693/job/mfkjdhcdykjuqdfc - - appveyor.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b8e406f0c7c381d46e2d2bbe35a6107d560f2122 -Author: Behdad Esfahbod -Date: Sun Jun 10 17:22:38 2018 -0400 - - More fixes for SunStudio 12.6 build - - Followup to https://github.com/harfbuzz/harfbuzz/pull/1053 - - src/hb-ft.cc | 8 ++++---- - src/hb-subset.cc | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 498e4373dc2eb98fa9b18a0824c7912ed84a4c80 -Author: prrace -Date: Sat Jun 9 16:04:28 2018 -0700 - - Fix SunStudio 12.6 build (#1053) - - src/hb-face.cc | 2 +- - src/hb-private.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 46f7e7760f4c9b1b2886a27eff3c0fabdab45dbe -Author: Garret Rieger -Date: Thu Jun 7 15:55:45 2018 -0700 - - [subset] Use REPLACEME instead of version. - - src/hb-subset-input.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fc246ec985890f8256f6e03cdf74c86b9b51ff2a -Author: Garret Rieger -Date: Thu Jun 7 15:54:19 2018 -0700 - - [subset] Move variable declaration out of loop. - - test/api/test-subset-glyf.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 197cb18b22ce11f32f5f2c68c13f7068fb5cc338 -Author: Garret Rieger -Date: Thu Jun 7 15:32:52 2018 -0700 - - [subset] Add test cases for gsub closure in subsetting. - - test/api/fonts/Roboto-Regular.gsub.fi.ttf | Bin 0 -> 2652 bytes - test/api/fonts/Roboto-Regular.gsub.fil.ttf | Bin 0 -> 3228 bytes - test/api/fonts/Roboto-Regular.nogsub.fi.ttf | Bin 0 -> 1856 bytes - test/api/test-subset-glyf.c | 52 - ++++++++++++++++++++++++++++ - 4 files changed, 52 insertions(+) - -commit 37eab27be3b88079614f66e484c700bb2d40af10 -Author: Garret Rieger -Date: Thu Jun 7 14:39:03 2018 -0700 - - [subset] Add fuzzing of gsub closure to hb-subset-fuzzer. - - test/fuzzing/hb-subset-fuzzer.cc | 27 ++++++++++++++++++++------- - 1 file changed, 20 insertions(+), 7 deletions(-) - -commit feb23892a36a7c855306db6d21521d5e8362bdf7 -Author: Garret Rieger -Date: Thu Jun 7 14:32:34 2018 -0700 - - [subset] Use gsub closure if ot layout is not being dropped. - - src/hb-ot-layout.cc | 10 ++++++++-- - src/hb-subset-plan.cc | 20 ++++++++++++++++++-- - 2 files changed, 26 insertions(+), 4 deletions(-) - -commit a5673da9be70f2ba0ff79aab4bd9a4480cb0223e -Author: Garret Rieger -Date: Thu Jun 7 14:23:03 2018 -0700 - - [subset] Add drop_ot_layout setting to subset input. - - src/hb-subset-input.cc | 17 +++++++++++++++++ - src/hb-subset-plan.cc | 1 + - src/hb-subset-plan.hh | 1 + - src/hb-subset-private.hh | 1 + - src/hb-subset.cc | 3 ++- - src/hb-subset.h | 3 +++ - 6 files changed, 25 insertions(+), 1 deletion(-) - -commit 57badadb769d0bcdbee00afce3af4972bc5c6bf1 -Author: Garret Rieger -Date: Wed Jun 6 16:02:51 2018 -0700 - - [subset] add a new closure call to hb-ot-layout that can compute - the closure over multiple lookups. - - src/hb-ot-layout.cc | 26 ++++++++++++++++++++++++++ - src/hb-ot-layout.h | 6 ++++++ - src/hb-ot-shape.cc | 10 +--------- - 3 files changed, 33 insertions(+), 9 deletions(-) - -commit 11f1f4131b722f0e0338bee222a78110806f5a3d -Author: Behdad Esfahbod -Date: Wed Jun 6 16:46:50 2018 -0700 - - [set] Add is_subset - - New API: - +hb_set_is_subset() - - src/hb-set-private.hh | 13 +++++++++++++ - src/hb-set.cc | 22 ++++++++++++++++++++-- - src/hb-set.h | 4 ++++ - test/api/test-set.c | 4 ++++ - test/api/test-subset-glyf.c | 11 +++++------ - 5 files changed, 46 insertions(+), 8 deletions(-) - -commit 45186b9b8cbffa7b5c8509624fb431a0f79f5130 -Author: Garret Rieger -Date: Tue Jun 5 17:14:42 2018 -0700 - - [subset] Add memoization of GSUB lookup closures. - - src/hb-ot-layout-gsub-table.hh | 15 +++++++++++++-- - src/hb-ot-layout-gsubgpos-private.hh | 20 ++++++++++++++++++++ - src/hb-ot-layout.cc | 6 ++++-- - 3 files changed, 37 insertions(+), 4 deletions(-) - -commit 78d92e0f27e8b688efac014526ef5c4f1f53a58f -Author: Behdad Esfahbod -Date: Wed Jun 6 15:24:43 2018 -0700 - - Minorish - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 676b19f0d1d21629b654e69f220bf53965735940 -Author: Behdad Esfahbod -Date: Wed Jun 6 15:23:35 2018 -0700 - - Compiler gymnastics - - Part of https://github.com/harfbuzz/harfbuzz/issues/630 - - src/hb-private.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit 0a5952e8ddb3ec955496d582ef5a559a27684a0c -Author: Behdad Esfahbod -Date: Wed Jun 6 14:55:30 2018 -0700 - - Move prime_for back into map - - This was causing problem on systems without visibility when map - was used - from both libharfbuzz and libharfbuzz-subset. Sigh. - - https://ci.appveyor.com/project/harfbuzz/harfbuzz/build/1.0.1669/job/dey47nmff0770vp3 - - src/hb-map-private.hh | 53 - ++++++++++++++++++++++++++++++++++++++++++++++++++- - src/hb-private.hh | 3 --- - src/hb-static.cc | 51 - ------------------------------------------------- - 3 files changed, 52 insertions(+), 55 deletions(-) - -commit a2a1484ef93d5b5c3748b15219eca669d866b0a9 -Author: David Corbett -Date: Wed Jun 6 12:57:28 2018 -0400 - - Convert Consonant_Initial_Postfixed to CONS_FINAL - - Consonant_Initial_Postfixed was split off of - Consonant_Succeeding_Repha, - so it should correspond to the same USE class, CONS_FINAL. - - src/gen-use-table.py | 5 +++-- - src/hb-ot-shape-complex-use-table.cc | 2 +- - 2 files changed, 4 insertions(+), 3 deletions(-) - -commit 37986aa9b7ac44b1c4c50ebba9902d06cc8a45e0 -Author: Behdad Esfahbod -Date: Tue Jun 5 18:04:40 2018 -0700 - - 1.8.0 - - NEWS | 5 +++++ - configure.ac | 2 +- - 2 files changed, 6 insertions(+), 1 deletion(-) - -commit 9d3cd13c30d8df41a2f7ff6c4208a1b2d75ddd64 -Author: Behdad Esfahbod -Date: Tue Jun 5 17:59:31 2018 -0700 - - [ucdn] Update to Unicode 11 - - https://github.com/grigorig/ucdn/issues/19 - - src/hb-ucdn.cc | 7 + - src/hb-ucdn/ucdn_db.h | 2754 - ++++++++++++++++++++++++++----------------------- - 2 files changed, 1479 insertions(+), 1282 deletions(-) - -commit 060e6b4a13a4224de885214d374b079610224123 -Author: Behdad Esfahbod -Date: Tue Jun 5 17:31:46 2018 -0700 - - Update to Unicode 11.0.0 - - UCDN is not updated yet. - - src/gen-use-table.py | 13 +++-- - src/hb-common.cc | 5 ++ - src/hb-common.h | 11 ++++ - src/hb-ot-shape-complex-arabic-table.hh | 43 ++++++++++++--- - src/hb-ot-shape-complex-indic-table.cc | 77 ++++++++++++++------------- - src/hb-ot-shape-complex-private.hh | 9 ++++ - src/hb-ot-shape-complex-use-machine.rl | 2 +- - src/hb-ot-shape-complex-use-table.cc | 94 - +++++++++++++++++++++------------ - 8 files changed, 170 insertions(+), 84 deletions(-) - -commit 105a3b5e2d2ff228cdc1fbe8618f6c8fdfdabe9e -Author: Behdad Esfahbod -Date: Tue Jun 5 15:31:04 2018 -0700 - - Minor - - src/Makefile.am | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 60c516789bab499c5a423f80071638955b7b13fd -Author: Behdad Esfahbod -Date: Tue Jun 5 15:20:23 2018 -0700 - - [RELEASING] Update - - RELEASING.md | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit df01f3e560d21900e234c4a6616bcf9c98f5f567 -Author: Behdad Esfahbod -Date: Tue Jun 5 15:17:39 2018 -0700 - - 1.7.7 - - NEWS | 37 +++++++++++++++++++++++++++++++++++++ - RELEASING.md | 5 +++-- - configure.ac | 2 +- - src/hb-blob.cc | 2 +- - src/hb-face.cc | 2 +- - src/hb-map.cc | 28 ++++++++++++++-------------- - src/hb-map.h | 2 +- - 7 files changed, 58 insertions(+), 20 deletions(-) - -commit ba3b6d6c6512b58a3d0e5277fbbe4e69b085467d -Author: Behdad Esfahbod -Date: Mon Jun 4 16:47:45 2018 -0700 - - [khmer] Fix Coeng vs Halant confusion - - Test suite results are unchanged (34). - - src/hb-ot-shape-complex-khmer.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 8220ef8a54bcc94f122d50804c0a5e829de81be1 -Author: Ebrahim Byagowi -Date: Tue Jun 5 22:50:53 2018 +0430 - - Fix hb_face_count build issue - - I should've rebased #1002 before the merge, my bad - - src/hb-face.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 32da0c6bc4770568346f6c05fd6b374be2bbd2b2 -Author: Ebrahim Byagowi -Date: Tue Jun 5 18:56:26 2018 +0430 - - Add hb_face_count, a new API (#1002) - - Simply, it returns the number of faces on a font blob. - - To be used on hb-sanitizer tool but other clients also - can benefit from it. - - TODO | 2 - - docs/harfbuzz-sections.txt | 1 + - src/hb-face.cc | 95 - ++++++++++++++++++++++++++++------------------ - src/hb-face.h | 4 ++ - 4 files changed, 64 insertions(+), 38 deletions(-) - -commit 4a115fe7fe71e381decb7c894208540663419f75 -Author: Behdad Esfahbod -Date: Mon Jun 4 15:40:43 2018 -0700 - - [sinhala] Move reph to after post-consonants - - Apparently this changed between Win 7 and Win 10. - - Fixes https://github.com/harfbuzz/harfbuzz/issues/967 - - To be continued in https://github.com/harfbuzz/harfbuzz/issues/1044 - - src/hb-ot-shape-complex-indic.cc | 2 +- - test/shaping/data/in-house/Makefile.sources | 1 + - .../fonts/5af5361ed4d1e8305780b100e1730cb09132f8d1.ttf | Bin 0 -> - 3152 bytes - test/shaping/data/in-house/tests/sinhala.tests | 1 + - 4 files changed, 3 insertions(+), 1 deletion(-) - -commit 3e494caae3dc096339a46d5a3fdeb5a718de6911 -Author: Behdad Esfahbod -Date: Mon Jun 4 15:38:05 2018 -0700 - - [test] Fix record-test to use gids not glyph-names - - as those might not match what FontTools think of the glyphs if font - does NOT have glyph names. - - test/shaping/record-test.sh | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 58400a2ad8b18aeb1da40d6c327135cd62312316 -Author: Behdad Esfahbod -Date: Sat Jun 2 20:30:09 2018 -0700 - - Remove DISALLOW_* from vector, set, and map - - Some of the build bots, still fail on this. I suppose mine pass - because - I enable C++11... - - Anyway, remove these again. - - src/hb-map-private.hh | 3 --- - src/hb-private.hh | 6 ------ - src/hb-set-private.hh | 3 --- - src/hb-subset-plan.hh | 3 ++- - 4 files changed, 2 insertions(+), 13 deletions(-) - -commit f9abbf83b6404bc9eb0c0983f562c9dbba1ef57c -Author: Behdad Esfahbod -Date: Sat Jun 2 15:30:59 2018 -0700 - - Fix fallout from 975bdd5ef562e37655067b703b2b9ca7481f4985 - - Ouch! - - src/hb-ot-map-private.hh | 40 ++++++++++++++++++++++------------------ - src/hb-ot-map.cc | 11 +++++++++++ - src/hb-ot-post-table.hh | 3 ++- - src/hb-ot-shape-private.hh | 10 ++++++++-- - src/hb-ot-shape.cc | 2 ++ - src/hb-subset.cc | 2 ++ - 6 files changed, 47 insertions(+), 21 deletions(-) - -commit f7515769fd024faca888a47c58f87fb868b0e760 -Author: Behdad Esfahbod -Date: Fri Jun 1 17:48:37 2018 -0700 - - [vector] Use Crap pool in push() as well - - src/hb-coretext.cc | 20 +++----------------- - src/hb-ot-cmap-table.hh | 3 ++- - src/hb-ot-layout.cc | 3 +-- - src/hb-ot-map.cc | 17 ++++------------- - src/hb-ot-post-table.hh | 6 +----- - src/hb-private.hh | 11 ++++------- - src/hb-subset-plan.cc | 2 -- - src/hb-subset.cc | 2 -- - src/hb-uniscribe.cc | 28 ++++++++-------------------- - 9 files changed, 23 insertions(+), 69 deletions(-) - -commit 975bdd5ef562e37655067b703b2b9ca7481f4985 -Author: Behdad Esfahbod -Date: Fri Jun 1 17:37:13 2018 -0700 - - [vector] Keep success status - - src/hb-private.hh | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit 1ab3c3ed1bbc404086aefffaef4b8261bb77caa7 -Author: Behdad Esfahbod -Date: Fri Jun 1 17:34:24 2018 -0700 - - [vector] Whitespace - - src/hb-private.hh | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit fb07d1a3ce896f8ebf8b5d5fef51dee91b6ead11 -Author: Behdad Esfahbod -Date: Fri Jun 1 17:32:07 2018 -0700 - - Another attempt at making every compiler happy... - - Sigh. - - src/hb-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 4f76f956bb3a95b307322cdad4f8d3b97851678e -Author: Behdad Esfahbod -Date: Fri Jun 1 17:28:47 2018 -0700 - - [map] Move prime_for to hb-static - - src/hb-map-private.hh | 53 - +-------------------------------------------------- - src/hb-private.hh | 2 ++ - src/hb-static.cc | 51 - +++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 54 insertions(+), 52 deletions(-) - -commit 33d6f46bbbb4fdee110f1cb024a37ed2e46e5e22 -Author: Behdad Esfahbod -Date: Fri Jun 1 17:25:35 2018 -0700 - - [set] Shrink page-map size again - - src/hb-set-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4ca211bce192b01644c82f721251604df935b603 -Author: Behdad Esfahbod -Date: Fri Jun 1 17:18:57 2018 -0700 - - Fix hb_vector_size_t - - src/hb-private.hh | 4 ++-- - src/hb-set-private.hh | 3 ++- - 2 files changed, 4 insertions(+), 3 deletions(-) - -commit a070dfd333f411bf720120eb332f7da93077054f -Author: Garret Rieger -Date: Thu May 31 16:47:39 2018 -0700 - - [subset] Have the subset fuzzer pull the text string to subset to - from the end of the fuzzer provided data. - - test/fuzzing/hb-subset-fuzzer.cc | 54 - +++++++++++++++++++++++++--------------- - 1 file changed, 34 insertions(+), 20 deletions(-) - -commit bb6f4adac70a161505953414aa85ba78cd993c65 -Author: Behdad Esfahbod -Date: Fri Jun 1 16:30:38 2018 -0700 - - Add Codacy badge - - README | 1 + - 1 file changed, 1 insertion(+) - -commit a7dd90f519fb7ab046e92ea3b7101c21d5040bbc -Author: Behdad Esfahbod -Date: Fri Jun 1 16:07:55 2018 -0700 - - Revert "Remove HB_DISALLOW_COPY_AND_ASSIGN" - - This reverts commit ff92de766bf775bfdd3a01bda94de699180ff86a. - - Revert that and remove ASSERT_POD. Let's see which bots are - unhappy with this configuration... - - src/hb-map-private.hh | 3 +-- - src/hb-ot-shape-private.hh | 2 +- - src/hb-private.hh | 6 +++++- - src/hb-set-private.hh | 3 +-- - 4 files changed, 8 insertions(+), 6 deletions(-) - -commit 7b50bf52f274f75f0b41008e0eab150124ae928a -Author: Behdad Esfahbod -Date: Thu May 31 20:20:17 2018 -0700 - - Use NullPool for _hb_set_nil and _hb_map_nil - - src/hb-map.cc | 12 +----------- - src/hb-private.hh | 2 +- - src/hb-set.cc | 8 +------- - 3 files changed, 3 insertions(+), 19 deletions(-) - -commit f040ca40ab3ebd4fdb85747477e0e656ab8b073e -Author: Behdad Esfahbod -Date: Thu May 31 20:15:21 2018 -0700 - - [set] Minor - - src/hb-set.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 7185b273b3d92ee0ba0a589eb94387f25ea40b82 -Author: Behdad Esfahbod -Date: Thu May 31 20:03:00 2018 -0700 - - Rename in_error to !successful - - Towards possibly using Null pool for some nil objects. - - src/hb-buffer-deserialize-json.hh | 758 - +++++++++++++++++------------------ - src/hb-buffer-deserialize-json.rl | 2 +- - src/hb-buffer-deserialize-text.hh | 510 +++++++++++------------ - src/hb-buffer-deserialize-text.rl | 2 +- - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 24 +- - src/hb-map-private.hh | 10 +- - src/hb-map.cc | 4 +- - src/hb-ot-layout-gsubgpos-private.hh | 4 +- - src/hb-ot-layout.cc | 2 +- - src/hb-ot-shape-complex-hangul.cc | 8 +- - src/hb-ot-shape-complex-indic.cc | 4 +- - src/hb-ot-shape-complex-khmer.cc | 4 +- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - src/hb-ot-shape-complex-thai.cc | 4 +- - src/hb-ot-shape-complex-use.cc | 4 +- - src/hb-ot-shape-normalize.cc | 12 +- - src/hb-ot-shape.cc | 2 +- - src/hb-set-private.hh | 28 +- - src/hb-set.cc | 4 +- - 20 files changed, 696 insertions(+), 694 deletions(-) - -commit 353f4d2efc6c0ce32f5bee08bbdf5a268d720a6a -Author: Behdad Esfahbod -Date: Thu May 31 19:52:16 2018 -0700 - - Fix a whitespace inconsistency - - Null() and Crap() are only places that there's no space before '('... - - src/dump-fon.cc | 12 ++++++------ - src/hb-private.hh | 2 +- - src/main.cc | 2 +- - 3 files changed, 8 insertions(+), 8 deletions(-) - -commit e36cd1dfd36ed336f63883098dc870c56a5fc10d -Author: Behdad Esfahbod -Date: Thu May 31 19:31:39 2018 -0700 - - Remove trivial HB_ATOMIC_INT_INIT() - - src/hb-atomic-private.hh | 9 +-------- - src/hb-object-private.hh | 2 +- - 2 files changed, 2 insertions(+), 9 deletions(-) - -commit 550a70f8011c4c1cfd27d739469e79cb98bcdd6e -Author: Behdad Esfahbod -Date: Thu May 31 19:28:04 2018 -0700 - - Use 0 as inert object reference value instead of -1 - - Towards using Null object for nil objects. - - src/hb-object-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dcd1b07eeaf2c28f0d20b9812749810d069041e3 -Author: Behdad Esfahbod -Date: Thu May 31 17:58:40 2018 -0700 - - Add const OffsetTo<> dereference - - Unused, but now that we have CrapPool, implement it. - - src/hb-open-type-private.hh | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 2baa357ac7fe2ae91029dff26a01b8ba1cc0b365 -Author: Ebrahim Byagowi -Date: Thu May 31 12:27:31 2018 +0430 - - Fix symbol export issue of prime_mod on Alpine bot - - Apparently our gcc-6.4.0 on Alpine Linux distribution doesn't like - defining static const - inside a method, lets put that on outside the classes. - - src/hb-map-private.hh | 89 - ++++++++++++++++++++++++++------------------------- - 1 file changed, 45 insertions(+), 44 deletions(-) - -commit 54800f8322e8ab106d801fc332b7e813c58138ac -Author: Behdad Esfahbod -Date: Wed May 30 16:26:50 2018 -0700 - - [map] Mark prime_for HB_INTERNAL - - Trying to see if it fixes gcc-4.2 bots. - - src/hb-map-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d600e844aa4736b52fe71c1b2a9fa785be5cfecc -Author: Behdad Esfahbod -Date: Wed May 30 16:25:46 2018 -0700 - - Add CrapOrNull - - src/hb-private.hh | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -commit 251cc977e93a75cfdc34671760ef4241daebf60f -Author: Garret Rieger -Date: Wed May 30 12:23:51 2018 -0700 - - [subset] Switch to using hb_map_t inside of hb_subset_plan_t. - - src/hb-ot-cmap-table.hh | 20 +++--- - src/hb-ot-glyf-table.hh | 12 ++-- - src/hb-ot-hdmx-table.hh | 10 +-- - src/hb-ot-hmtx-table.hh | 6 +- - src/hb-ot-maxp-table.hh | 4 +- - src/hb-ot-os2-table.hh | 35 +++-------- - src/hb-ot-post-table.hh | 2 +- - src/hb-subset-glyf.cc | 9 ++- - src/hb-subset-plan.cc | 159 - ++++++++++++++++-------------------------------- - src/hb-subset-plan.hh | 68 +++++++++++++-------- - src/hb-subset.cc | 2 +- - 11 files changed, 139 insertions(+), 188 deletions(-) - -commit b3d45de6cff4501e6171ec9d9069af7de29584d4 -Author: Behdad Esfahbod -Date: Wed May 30 14:02:49 2018 -0700 - - [map] Fix size calculation - - Don't know why I thought I should subtract one there... - - src/hb-map-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ff92de766bf775bfdd3a01bda94de699180ff86a -Author: Behdad Esfahbod -Date: Tue May 29 18:48:45 2018 -0700 - - Remove HB_DISALLOW_COPY_AND_ASSIGN - - llvm-gcc-4.2 bot had this problem: - hb-private.hh:812: error: initializer specified for non-virtual method - 'void hb_vector_t::operator=(const hb_vector_t&) [with Type = hb_user_data_array_t::hb_user_data_item_t, - unsigned int StaticSize = 1u]' - - Removing the delete didn't work with a constructor. So, remove - constructor. - Just disallow assignment. Still better than nothing. - - src/hb-map-private.hh | 2 +- - src/hb-ot-shape-private.hh | 2 +- - src/hb-private.hh | 6 +----- - src/hb-set-private.hh | 2 +- - 4 files changed, 4 insertions(+), 8 deletions(-) - -commit a2444346220757e7743c972cbd24f925e72b419d -Author: Behdad Esfahbod -Date: Tue May 29 18:32:57 2018 -0700 - - [map] Fix resize - - src/hb-map-private.hh | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit efbab6ba3f7434fca41be1b38e4a5281695f231c -Author: Behdad Esfahbod -Date: Tue May 29 18:21:55 2018 -0700 - - Disable use of thread_local - - Clang build was failing with: - - /usr/bin/ld: .libs/libharfbuzz_la-hb-blob.o: relocation R_X86_64_PC32 - against undefined hidden symbol `_ZTH12_hb_CrapPool' can not be used - when making a shared object - - Instead of fighting it, just disable use of it. - - src/hb-private.hh | 4 ++-- - src/hb-static.cc | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 8c2c5d450817d4cb6f782d286da6ac6d9e5a5e95 -Author: Behdad Esfahbod -Date: Tue May 29 18:15:52 2018 -0700 - - [map] Not going to implement is_equal which is complicated - - src/hb-map.h | 7 ------- - 1 file changed, 7 deletions(-) - -commit ccd01c65559122499b38a44e4449cd5a828d0b05 -Author: Behdad Esfahbod -Date: Tue May 29 18:13:13 2018 -0700 - - [map] Move prime_mod to header to avoid linkage issues in subset.so - - src/hb-map-private.hh | 53 - +++++++++++++++++++++++++++++++++++++++++++++++++-- - src/hb-map.cc | 52 - -------------------------------------------------- - 2 files changed, 51 insertions(+), 54 deletions(-) - -commit 6baebc5d559e15c7903a81f21be08b45537e7903 -Author: Behdad Esfahbod -Date: Tue May 29 17:58:46 2018 -0700 - - [map] Fix copyright year - - src/hb-map-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b0158129d2b161665f8872deeb540ac73349c2de -Author: Behdad Esfahbod -Date: Tue May 29 17:52:37 2018 -0700 - - [map] Minor - - src/hb-map-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 4099c66f70e1acf89013215ab3add42b11e31fea -Author: Behdad Esfahbod -Date: Tue May 29 17:52:07 2018 -0700 - - [map] Don't return INVALID from get() just because in_error - - src/hb-map-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 25783907737b561f7b8648b8e92dba601a439828 -Author: Behdad Esfahbod -Date: Tue May 29 17:34:35 2018 -0700 - - [map] Fix bool use in C API - - src/hb-map.cc | 2 +- - src/hb-map.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit a9fa39dca56d3a96dddcdbeb1c55a3d55a6537da -Author: Behdad Esfahbod -Date: Tue May 29 17:31:01 2018 -0700 - - [map] More minor - - src/hb-map-private.hh | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit f76c4a7708773eca7a2b8c7ff47f8b5ade5ca0d9 -Author: Behdad Esfahbod -Date: Tue May 29 17:27:25 2018 -0700 - - [map] Make initial resize actually work - - src/hb-map-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 661e9ae4a55c198eb9fdb2c104979dd55a0fa1f1 -Author: Behdad Esfahbod -Date: Tue May 29 17:09:17 2018 -0700 - - [map] Add clear(), is_empty(), and get_population() - - src/hb-map-private.hh | 22 ++++++++++++++++++---- - src/hb-map.cc | 43 +++++++++++++++++++++++++++++++++++++++++++ - src/hb-map.h | 17 +++++++++-------- - 3 files changed, 70 insertions(+), 12 deletions(-) - -commit b6959c33e23b464ddbe5fe98fafc80bbb669189c -Author: Behdad Esfahbod -Date: Tue May 29 17:02:22 2018 -0700 - - [map] Minor - - src/hb-map-private.hh | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit 686476a8ae0039f277eb55ab7bd69386d43a8dc7 -Author: Behdad Esfahbod -Date: Tue May 29 17:00:02 2018 -0700 - - [map] Track population and occupancy separately - - src/hb-map-private.hh | 30 +++++++++++++++++++++--------- - src/hb-map.cc | 1 + - 2 files changed, 22 insertions(+), 9 deletions(-) - -commit 8a978790cb4dc66816c2cd7b617829f3e9d6e88e -Author: Behdad Esfahbod -Date: Tue May 29 16:45:20 2018 -0700 - - [map] Minor - - src/hb-map.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6f12ce47c0ed8c2c4bb251cd6e685459af104db8 -Author: Behdad Esfahbod -Date: Tue May 29 16:45:06 2018 -0700 - - Revert "[map] Return bool from set()" - - This reverts commit face7cf55d4895ffca314c8448c0a749a26cc182. - - src/hb-map-private.hh | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit fc51c45079feb7d77d25204c4c17a0733f1eca56 -Author: Behdad Esfahbod -Date: Tue May 29 16:44:55 2018 -0700 - - Revert "[map] Make hb_map_set() return bool" - - This reverts commit 7bf1980146cfc081b06264ac367b23ae9397adf1. - - src/hb-map.cc | 4 ++-- - src/hb-map.h | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 7bf1980146cfc081b06264ac367b23ae9397adf1 -Author: Behdad Esfahbod -Date: Tue May 29 16:42:44 2018 -0700 - - [map] Make hb_map_set() return bool - - src/hb-map.cc | 4 ++-- - src/hb-map.h | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit face7cf55d4895ffca314c8448c0a749a26cc182 -Author: Behdad Esfahbod -Date: Tue May 29 16:39:03 2018 -0700 - - [map] Return bool from set() - - src/hb-map-private.hh | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit e94be200bd7976a26ea2d6df5050d9dab4de0f08 -Author: Behdad Esfahbod -Date: Tue May 29 16:37:44 2018 -0700 - - [map] Implement operator[] for get()ting - - src/hb-map-private.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit 743fdd9c618c949d7f45324386bd0bb37435db46 -Author: Behdad Esfahbod -Date: Tue May 29 16:28:48 2018 -0700 - - [map] First try at implementing an integer-to-integer hashmap - - Fully untested. - - src/Makefile.sources | 3 + - src/hb-map-private.hh | 180 ++++++++++++++++++++++++++++++++ - src/hb-map.cc | 279 - ++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-map.h | 110 ++++++++++++++++++++ - src/hb.h | 1 + - 5 files changed, 573 insertions(+) - -commit 65c82179c9b3aafd90987485a49c09dbbb473c90 -Author: Ebrahim Byagowi -Date: Sat May 26 23:50:10 2018 +0430 - - [blob] Use MAP_NORESERVE if available (#1039) - - MAP_NORESERVE is not available on macOS for example so set the flag - to zero if not defined on the headers. - - src/hb-blob.cc | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 1ce40d900a9c451d8d5814a9b30759d1e66f99c8 -Author: Behdad Esfahbod -Date: Fri May 25 16:34:08 2018 -0700 - - [set] Remove stale comment - - src/hb-set.h | 2 -- - 1 file changed, 2 deletions(-) - -commit 6c2227640bc14754c9472fead5cd04ff25f91b52 -Author: Behdad Esfahbod -Date: Fri May 25 16:21:27 2018 -0700 - - Add HB_DISALLOW_COPY_AND_ASSIGN - - src/hb-ot-map-private.hh | 1 - - src/hb-ot-shape-private.hh | 4 +--- - src/hb-ot-shape.cc | 2 -- - src/hb-private.hh | 10 ++++++++++ - src/hb-set-private.hh | 3 +++ - 5 files changed, 14 insertions(+), 6 deletions(-) - -commit fd3d0042319c33c923a60d435779bf7ed5a9a6f5 -Author: Behdad Esfahbod -Date: Thu May 24 15:58:26 2018 -0700 - - Move pool definitions to hb-static.cc - - src/Makefile.sources | 1 + - src/dump-emoji.cc | 8 +------- - src/dump-fon.cc | 6 +----- - src/hb-ot-layout.cc | 6 ------ - src/hb-static.cc | 32 ++++++++++++++++++++++++++++++++ - src/hb-subset.cc | 5 ++--- - src/main.cc | 6 +----- - 7 files changed, 38 insertions(+), 26 deletions(-) - -commit 7f7b1370d37b9187f688dea5e6fee5ea7c2b7290 -Author: Behdad Esfahbod -Date: Thu May 24 14:09:04 2018 -0700 - - Fix Uniscribe build - - If a pointer type was passed to Null(), reinterpret_cast<> was - complaining about qualifiers being removed. Turns out I need the - const on - the other side of "Type" to fix that. Also remove unused const from - NullPool type. - - src/dump-emoji.cc | 2 +- - src/dump-fon.cc | 2 +- - src/hb-ot-layout.cc | 2 +- - src/hb-private.hh | 6 +++--- - src/hb-subset.cc | 2 +- - src/main.cc | 2 +- - 6 files changed, 8 insertions(+), 8 deletions(-) - -commit 31c4236d9643063e518289b28c3e17cedd8401e0 -Author: Behdad Esfahbod -Date: Thu May 24 13:38:46 2018 -0700 - - Underflow protection in hb_vector_t - - src/hb-private.hh | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -commit f83e992c8b27111ab802fd7e5678592a0c717518 -Author: Behdad Esfahbod -Date: Thu May 24 11:46:57 2018 -0700 - - Mark CrapPool thread_local - - Not sure if I like to keep it. For now, aim for correctness. - - src/dump-emoji.cc | 2 +- - src/dump-fon.cc | 2 +- - src/hb-ot-layout.cc | 2 +- - src/hb-private.hh | 14 +++++++++++++- - src/hb-subset.cc | 2 +- - src/main.cc | 2 +- - 6 files changed, 18 insertions(+), 6 deletions(-) - -commit 5d80129891107c7f629c6950b5d257f2a867eee0 -Author: Behdad Esfahbod -Date: Thu May 24 11:33:15 2018 -0700 - - Add CrapPool - - Common Regoin for Access Protection. Like the NullPool, but writable. - - src/dump-emoji.cc | 1 + - src/dump-fon.cc | 1 + - src/hb-open-type-private.hh | 11 +++++++++++ - src/hb-ot-layout.cc | 1 + - src/hb-private.hh | 39 +++++++++++++++++++++++++++++++++++---- - src/hb-subset.cc | 1 + - src/main.cc | 1 + - 7 files changed, 51 insertions(+), 4 deletions(-) - -commit 673b764de050957b2d3b9972d9e55b3a2e5615f4 -Author: Behdad Esfahbod -Date: Wed May 23 20:12:23 2018 -0700 - - Move code around - - src/hb-private.hh | 91 - ++++++++++++++++++++++++++++++------------------------- - 1 file changed, 49 insertions(+), 42 deletions(-) - -commit 65aeabd62275b37c6bb6715f3341e45625f4ba6e -Author: Behdad Esfahbod -Date: Wed May 23 16:15:28 2018 -0700 - - Add hb_vector_t::push(const Type &v) - - Makes for cleaner code. - - src/hb-coretext.cc | 3 +-- - src/hb-ot-post-table.hh | 3 +-- - src/hb-private.hh | 18 +++++++++++------- - src/hb-subset-plan.cc | 12 +++++------- - src/hb-uniscribe.cc | 8 ++------ - 5 files changed, 20 insertions(+), 24 deletions(-) - -commit 38ae0add7001c4db506d3a2c18b9960a2cae7b5d -Author: Ebrahim Byagowi -Date: Wed May 23 13:37:57 2018 +0430 - - [ci] Revive the SunCC bot - - * Adds libnsl to the bot as it is now needed apparently - * Disables hb-icu, apparently the newer ICU itself is not compatible - with SunCC - - .circleci/config.yml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 6c818c5516913f2c8192d58bd2724b1d3bb60d24 -Author: Behdad Esfahbod -Date: Tue May 22 22:00:05 2018 -0700 - - Actually enable vectorized operations - - Fixup for previous commit. Was accidentally turned off. - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f56a250b04f50f12c78d81d1a068187be3d95a8c -Author: Behdad Esfahbod -Date: Tue May 22 21:36:07 2018 -0700 - - Another try at smart vectorization - - Make clang happy. Also, don't use anonymous union. - - src/hb-private.hh | 36 +++++++++++++++++++++++++----------- - 1 file changed, 25 insertions(+), 11 deletions(-) - -commit b995b501ef5cf113534c5aead6c85baea6cc423c -Author: Behdad Esfahbod -Date: Tue May 22 21:06:22 2018 -0700 - - Try enabling vectorization smartly - - We'll see if this sticks to the bots. - - src/hb-private.hh | 25 +++++++++++++++++-------- - src/hb-set-private.hh | 7 ------- - 2 files changed, 17 insertions(+), 15 deletions(-) - -commit dd22c29f951ceec98516d7cb378bf2aa7e21d89a -Author: Behdad Esfahbod -Date: Tue May 22 20:57:19 2018 -0700 - - [set] Always check population before checking for equality - - src/hb-set-private.hh | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 2eb9bbd986f6930f1b2594b8971ac677e9647c93 -Author: Behdad Esfahbod -Date: Tue May 22 18:28:13 2018 -0700 - - [test/text-rendering-tests] Update from upstream - - test/shaping/data/text-rendering-tests/DISABLED | 2 ++ - test/shaping/data/text-rendering-tests/Makefile.sources | 2 ++ - .../text-rendering-tests/fonts/TestMORXTwentyeight.ttf | Bin 0 -> - 2660 bytes - .../text-rendering-tests/fonts/TestMORXTwentyseven.ttf | Bin 0 -> - 2432 bytes - .../data/text-rendering-tests/fonts/TestShapeKndaV3.ttf | Bin 0 -> - 89400 bytes - .../data/text-rendering-tests/tests/MORX-27.tests | 3 +++ - .../data/text-rendering-tests/tests/MORX-28.tests | 5 +++++ - 7 files changed, 12 insertions(+) - -commit 8eb53b853dcc4b0cc8e240cff6bfc5acb92182b0 -Author: Ebrahim Byagowi -Date: Fri May 11 22:44:44 2018 +0430 - - Minor, make CreateFile compatible with the disabled writable flag - - "writable" is not in use and probably we can go in the reverse - direction - and remove the flags that are useful for enabled writable, this - is just - for the sake of completeness however. - - src/hb-blob.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 33eb1bd23b100a8e65a0e66621760368b5aecdaf -Author: Ebrahim Byagowi -Date: Fri May 11 14:36:41 2018 +0430 - - Remove unnecessary headers and definitions of hb-blob (#1028) - - It removes io.h and other polyfills which we no longer need as 7e76d74 - - src/hb-blob.cc | 22 ++++------------------ - 1 file changed, 4 insertions(+), 18 deletions(-) - -commit 7e76d746e2555d5bba7f65d3958aa97a7f179d7b -Author: Ebrahim Byagowi -Date: Fri May 11 13:40:33 2018 +0430 - - Make hb_blob_create_from_file more portable (#1027) - - This makes it compatible with ARMCC which I had access in - a collaboration with @imgtec, thanks! - - Basically hb_blob_create_from_file features three code paths, - mmap, Win32 and fallback. - - We had fallback implementation even before this but it was relied - to "open" which is not available on some environments. This change - improved the situtation by using only fopen and friends for - fallback path. - - Interestingly we could use "open" on Windows but in fact it was - emulated by MSVCRT so I've completely split that from Unix path - now that we have a distinct path for fallback path also. - - src/hb-blob.cc | 64 - +++++++++++++++++++++++++++++++++++++++------------------- - 1 file changed, 43 insertions(+), 21 deletions(-) - -commit e99d75ea9c4fe1f64d7f8408093741a682ed5243 -Author: Behdad Esfahbod -Date: Wed May 9 15:28:30 2018 -0700 - - Fix warning - - src/hb-ot-cmap-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 191c4edc5423017d9123d291462fbfa87a805218 -Author: Behdad Esfahbod -Date: Wed May 9 15:27:17 2018 -0700 - - Reinstante DEFINE_NULL_DATA - - Seems like I messed up; buffer overrun got reported. - - src/hb-open-type-private.hh | 2 ++ - src/hb-ot-layout-common-private.hh | 13 +++---------- - src/hb-private.hh | 13 +++++++++++++ - 3 files changed, 18 insertions(+), 10 deletions(-) - -commit 93bdf9b2dfe18af0f1aa93b890f0be260f31d90e -Author: Ebrahim Byagowi -Date: Wed May 9 23:24:17 2018 +0430 - - Use arrayZ on hb-coretext and hb-uniscribe and fix macOS/Win bots - (#1024) - - Following to 63f57f4 - - src/hb-coretext.cc | 2 +- - src/hb-uniscribe.cc | 12 ++++++------ - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit 63f57f4dab3d3179838d5d1cd03d116837a7e5c2 -Author: Behdad Esfahbod -Date: Tue May 8 16:56:11 2018 -0700 - - Mark more unsized array's as arrayZ - - src/hb-aat-layout-common-private.hh | 14 ++++---- - src/hb-aat-layout-kerx-table.hh | 2 +- - src/hb-aat-layout-morx-table.hh | 6 ++-- - src/hb-open-file-private.hh | 6 ++-- - src/hb-open-type-private.hh | 40 +++++++++++----------- - src/hb-ot-cmap-table.hh | 2 +- - src/hb-ot-color-cbdt-table.hh | 10 +++--- - src/hb-ot-layout-common-private.hh | 12 +++---- - src/hb-ot-layout-gsub-table.hh | 16 ++++----- - src/hb-ot-layout-gsubgpos-private.hh | 64 - ++++++++++++++++++------------------ - src/hb-ot-post-table.hh | 4 +-- - src/hb-ot-var-avar-table.hh | 26 +++++++-------- - src/hb-private.hh | 54 +++++++++++++++--------------- - src/hb-set-private.hh | 4 +-- - src/hb-subset.cc | 2 +- - 15 files changed, 131 insertions(+), 131 deletions(-) - -commit 091c17df5ac5f7ddc9b776481da845f4eda67570 -Author: Behdad Esfahbod -Date: Tue May 8 16:42:45 2018 -0700 - - Use UnsizedArrayOf<> in one place where [VAR] was used - - Trying to see how many can converted meaningfully. - - src/hb-ot-layout-common-private.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 0644d92ef32b09e32d473c758d2a968f2d125628 -Merge: 2a2e28e7 3be050f0 -Author: Behdad Esfahbod -Date: Tue May 8 15:21:09 2018 -0700 - - Merge pull request #1018 from googlefonts/cmap4 - - [subset] Add cmap format 4 subsetting. - -commit 2a2e28e701319b4053a5c95f06c68f859e4ce99b -Author: Behdad Esfahbod -Date: Tue May 8 03:00:21 2018 -0700 - - Don't keep instance in hb_table_lazy_loader_t - - src/hb-open-type-private.hh | 15 ++++++--------- - 1 file changed, 6 insertions(+), 9 deletions(-) - -commit 57bac8f6995fabbb98eb9824d822f370f9449488 -Author: Behdad Esfahbod -Date: Tue May 8 02:55:20 2018 -0700 - - Rename - - src/hb-open-type-private.hh | 6 +++--- - src/hb-ot-layout-private.hh | 8 ++++---- - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit 2a46a020fd2fa2fe99886ab06188db5f0fa37ad1 -Author: Behdad Esfahbod -Date: Tue May 8 02:53:03 2018 -0700 - - Minor - - src/hb-open-type-private.hh | 4 ++-- - src/hb-ot-kern-table.hh | 2 +- - src/hb-ot-layout.cc | 6 +++--- - src/hb-ot-post-table.hh | 2 +- - 4 files changed, 7 insertions(+), 7 deletions(-) - -commit eba1c16a604d1be774f22541bf3e417f27a27c68 -Author: Behdad Esfahbod -Date: Tue May 8 02:47:42 2018 -0700 - - Always lock blob in sanitize. Remove blob->lock_as() in favor of - blob->lock() - - src/dump-emoji.cc | 4 ++-- - src/dump-fon.cc | 2 +- - src/hb-aat-layout.cc | 4 ++-- - src/hb-blob-private.hh | 6 ------ - src/hb-face.cc | 8 ++++---- - src/hb-open-type-private.hh | 8 ++++++-- - src/hb-ot-cmap-table.hh | 2 +- - src/hb-ot-color-cbdt-table.hh | 4 ++-- - src/hb-ot-color-sbix-table.hh | 2 +- - src/hb-ot-color-svg-table.hh | 2 +- - src/hb-ot-glyf-table.hh | 6 +++--- - src/hb-ot-hmtx-table.hh | 8 ++++---- - src/hb-ot-kern-table.hh | 2 +- - src/hb-ot-layout.cc | 6 +++--- - src/hb-ot-post-table.hh | 2 +- - src/hb-subset.cc | 2 +- - src/main.cc | 2 +- - 17 files changed, 34 insertions(+), 36 deletions(-) - -commit b4fa50501414b7471e840f2ee6b9dfe87080b078 -Author: Behdad Esfahbod -Date: Tue May 8 02:45:08 2018 -0700 - - Move Sanitizer::lock_instance<>() to blob->lock_as<>(). - - src/dump-emoji.cc | 4 ++-- - src/dump-fon.cc | 3 +-- - src/hb-aat-layout.cc | 4 ++-- - src/hb-blob-private.hh | 17 +++++++++++++++++ - src/hb-face.cc | 9 +++++---- - src/hb-open-type-private.hh | 9 ++------- - src/hb-ot-cmap-table.hh | 2 +- - src/hb-ot-color-cbdt-table.hh | 4 ++-- - src/hb-ot-color-sbix-table.hh | 2 +- - src/hb-ot-color-svg-table.hh | 2 +- - src/hb-ot-glyf-table.hh | 6 +++--- - src/hb-ot-hmtx-table.hh | 8 ++++---- - src/hb-ot-kern-table.hh | 2 +- - src/hb-ot-layout.cc | 6 +++--- - src/hb-ot-post-table.hh | 2 +- - src/hb-subset.cc | 2 +- - src/main.cc | 2 +- - 17 files changed, 48 insertions(+), 36 deletions(-) - -commit abc12f7b8157c3981216d82ead60627db31a6c14 -Author: Behdad Esfahbod -Date: Tue May 8 02:23:36 2018 -0700 - - Move null pool to hb-private - - src/dump-emoji.cc | 6 ++--- - src/dump-fon.cc | 14 +++++------ - src/hb-aat-layout.cc | 8 +++---- - src/hb-open-type-private.hh | 48 - +++----------------------------------- - src/hb-ot-cmap-table.hh | 4 ++-- - src/hb-ot-color.cc | 4 ++-- - src/hb-ot-layout-common-private.hh | 13 ++++++++--- - src/hb-ot-layout.cc | 22 ++++++++--------- - src/hb-ot-math.cc | 4 ++-- - src/hb-ot-var.cc | 6 ++--- - src/hb-private.hh | 29 +++++++++++++++++++++++ - src/hb-subset.cc | 4 ++-- - src/main.cc | 2 +- - 13 files changed, 79 insertions(+), 85 deletions(-) - -commit 08e280fd84384f73d395918646ee044a5bbfee45 -Author: Behdad Esfahbod -Date: Tue May 8 01:57:27 2018 -0700 - - Rename hb_string_t to hb_bytes_t - - src/hb-ot-post-table.hh | 16 ++++++++-------- - src/hb-private.hh | 12 ++++++------ - src/hb-string-array.hh | 6 +++--- - 3 files changed, 17 insertions(+), 17 deletions(-) - -commit bd021a67203aa5b07c31c02d63e6154da0c05d31 -Author: Behdad Esfahbod -Date: Tue May 8 01:50:30 2018 -0700 - - Minor - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 16e4ccf7b417f021948643012cbe7641ba02c039 -Author: Behdad Esfahbod -Date: Tue May 8 01:47:05 2018 -0700 - - Allocate user-data-array on the heap - - This saves each object allocation 72 bytes. Now object overhead - is just - 16 bytes (on x86) instead of 88 bytes. Neat. - - src/hb-object-private.hh | 36 ++++++++++++++++++++++++++++-------- - 1 file changed, 28 insertions(+), 8 deletions(-) - -commit 61920b21ca0c632ba58aef95c7f65f409cc0fbd2 -Author: Behdad Esfahbod -Date: Tue May 8 01:28:19 2018 -0700 - - Oops - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1023 - - src/hb-blob-private.hh | 77 - ++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 77 insertions(+) - -commit f673cfbd64d0c9d97123500a7b851b9cfc09deb3 -Author: Behdad Esfahbod -Date: Mon May 7 13:58:32 2018 -0700 - - Support scripts that are written both LTR and RTL - - Right now only Old Italic is marked as such. - - Fixes https://github.com/harfbuzz/harfbuzz/issues/1000 - - src/hb-buffer.cc | 4 ++++ - src/hb-common.cc | 6 ++++++ - src/hb-ot-shape.cc | 7 +++++-- - test/api/test-common.c | 1 + - test/shaping/data/in-house/Makefile.sources | 1 + - .../fonts/73e84dac2fc6a2d1bc9250d1414353661088937d.ttf | Bin 0 -> - 1136 bytes - test/shaping/data/in-house/tests/none-directional.tests | 3 +++ - 7 files changed, 20 insertions(+), 2 deletions(-) - -commit 90869e6962caf0e55a480b5d7e777cc521596e8b -Author: Behdad Esfahbod -Date: Mon May 7 14:04:01 2018 -0700 - - [ot] Apply langsys's required feature even if no other feature exists - - src/hb-ot-map.cc | 3 --- - 1 file changed, 3 deletions(-) - -commit 90baf721978236f2e06dff89ad1cb0cace0753ea -Author: Behdad Esfahbod -Date: Thu May 3 22:14:54 2018 -0400 - - Move some blob functions to methods - - src/hb-blob.cc | 80 - +++++++++++++++++++++++++--------------------------------- - 1 file changed, 34 insertions(+), 46 deletions(-) - -commit 5c64d61475f15d7f8de8993a52639735b2bcf750 -Author: Behdad Esfahbod -Date: Thu May 3 21:10:57 2018 -0400 - - Add hb-blob-private.hh - - Towards making blob more memory-allocation-friendly - - src/Makefile.sources | 1 + - src/hb-blob.cc | 21 +++++---------------- - 2 files changed, 6 insertions(+), 16 deletions(-) - -commit 203dc44ebc141af0ba8c54edec2dc0405664997a -Author: Behdad Esfahbod -Date: Thu May 3 21:03:27 2018 -0400 - - [ot-layout] Remove unused members - - We should hang those off somewhere else. For now, the unused ones - can go. - - src/hb-aat-layout-common-private.hh | 2 +- - src/hb-aat-layout.cc | 6 ++++++ - src/hb-ot-layout-private.hh | 6 ------ - src/hb-ot-layout.cc | 29 ++++++++--------------------- - 4 files changed, 15 insertions(+), 28 deletions(-) - -commit ac92ed7d6875374451246a2391859fb763329adb -Author: Ebrahim Byagowi -Date: Tue May 8 01:05:15 2018 +0430 - - Set inline hidden flag only on shared library building - - To avoid need of CMP0063 which is not available on older CMake - versions - - CMakeLists.txt | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit 3be050f07572d8556726b188668d727e3e7ba643 -Author: Garret Rieger -Date: Fri May 4 11:23:32 2018 -0700 - - [subset] entrySelectorZ -> entrySelector. - - src/hb-ot-cmap-table.hh | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit 7c22f98da789f831e1afb9078085b2e33d864d25 -Author: Garret Rieger -Date: Thu May 3 13:14:28 2018 -0700 - - [subset] add missing template parameter. - - src/hb-ot-cmap-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 95eb0f3bafb7ab0e2451e3e2f8afc5008e18e88e -Author: Garret Rieger -Date: Thu May 3 13:00:19 2018 -0700 - - [subset] Switch to a non-log using implementation of caculating - searchRangeZ, entrySelectorZ, and rangeShiftZ in cmap4. - - src/hb-ot-cmap-table.hh | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -commit b0d7971be0fa3c9393b04038b8d0a76398b0d8d7 -Author: Garret Rieger -Date: Thu May 3 11:22:51 2018 -0700 - - [subset] Updated expected files for japanese subset integration - tests to include cmap4. - - ...gular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 3032 -> - 3112 bytes - ...gular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 3268 -> - 3356 bytes - .../Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 2584 -> - 2656 bytes - ...gular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3564 -> - 3652 bytes - .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 2348 -> - 2396 bytes - ...ar.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 2304 -> - 2384 bytes - ...ar.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2540 -> - 2628 bytes - .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 1856 -> - 1928 bytes - ...ar.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 2836 -> - 2924 bytes - .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 1620 -> - 1668 bytes - test/subset/data/fonts/Mplus1p-Regular.ttf | Bin 1758820 -> - 1757292 bytes - 11 files changed, 0 insertions(+), 0 deletions(-) - -commit 79479273170275447042aa50912acee74bbacdf6 -Author: Garret Rieger -Date: Thu May 3 11:18:02 2018 -0700 - - [subset] Update expected files for subset integration tests to - include cmap4. - - .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 2120 -> - 2168 bytes - .../basics/Roboto-Regular.abc.default.61,63.ttf | Bin 1932 -> - 1988 bytes - .../expected/basics/Roboto-Regular.abc.default.61.ttf | Bin 1744 -> - 1792 bytes - .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1692 -> - 1740 bytes - .../expected/basics/Roboto-Regular.abc.default.63.ttf | Bin 1668 -> - 1716 bytes - .../basics/Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 876 -> - 924 bytes - .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 792 -> - 848 bytes - .../basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 684 -> - 732 bytes - .../basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 652 -> - 700 bytes - .../basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 656 -> - 704 bytes - .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 3700 -> - 3772 bytes - .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 3320 -> - 3368 bytes - .../Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 3668 -> - 3732 bytes - .../Roboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 2152 -> - 2224 bytes - .../full-font/Roboto-Regular.drop-hints.61,62,63.ttf | Bin 1968 -> - 2016 bytes - .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 2188 -> - 2252 bytes - 16 files changed, 0 insertions(+), 0 deletions(-) - -commit a8e7f9b958dcb4e00226f78d0ff83f031bc1323d -Author: Garret Rieger -Date: Thu May 3 10:59:00 2018 -0700 - - [subset] Get cmap tests passing again. - - test/api/fonts/Roboto-Regular.D7,D8,D9,DA,DE.ttf | Bin 2972 -> 2816 bytes - test/api/test-subset-cmap.c | 2 +- - 2 files changed, 1 insertion(+), 1 deletion(-) - -commit c817992f495cba21bf468014f22afe349fbc799f -Author: Garret Rieger -Date: Thu May 3 10:53:20 2018 -0700 - - [subset] Write out a format 4, plat 0 encoding record to match - fontTools. - - src/hb-ot-cmap-table.hh | 24 +++++++++++++++--------- - test/api/test-subset-cmap.c | 2 +- - 2 files changed, 16 insertions(+), 10 deletions(-) - -commit 9ef55a4c1354028f4d5e81300cdaf8ce5e03b8e9 -Author: Garret Rieger -Date: Wed May 2 18:50:56 2018 -0700 - - [subset] A few bug fixes for cmap format 4 subsetting. - - src/hb-ot-cmap-table.hh | 57 - ++++++++++++++++++++++++++++--------------------- - 1 file changed, 33 insertions(+), 24 deletions(-) - -commit 81ea75f5c860ef682184bd2c9d0ff8b48251e3ce -Author: Garret Rieger -Date: Wed May 2 17:46:30 2018 -0700 - - [subset] Complete implementation of cmap4 subsetting. - - src/hb-ot-cmap-table.hh | 31 ++++++++++++++++++++++++++++--- - 1 file changed, 28 insertions(+), 3 deletions(-) - -commit 4195a52b041af749046b716dcac7d6560ae37611 -Author: Garret Rieger -Date: Wed May 2 17:11:18 2018 -0700 - - [subset] WIP implementation of serialize for cmap format 4. - - src/hb-ot-cmap-table.hh | 39 ++++++++++++++++++++++++++++++++++++++- - 1 file changed, 38 insertions(+), 1 deletion(-) - -commit cfa592d31ce2fd1ec2765a69ab31bf80161479dd -Author: Garret Rieger -Date: Wed May 2 16:37:38 2018 -0700 - - [subset] Add an implement for cmap format 4 create_sub_table_plan. - - src/hb-ot-cmap-table.hh | 43 ++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 42 insertions(+), 1 deletion(-) - -commit 295d67ea7d0ddac5666bd6aa4b647dd9cbf8e8f7 -Author: Garret Rieger -Date: Wed May 2 16:12:04 2018 -0700 - - [subset] WIP cmap format 4 subsetting. - - src/hb-ot-cmap-table.hh | 104 - ++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 88 insertions(+), 16 deletions(-) - -commit 0053d13283458996372f04bd501001d450523605 -Author: Garret Rieger -Date: Wed May 2 15:42:43 2018 -0700 - - [subset] Refactor cmap subsetting to make it possible to add support - for more sub tables. - - src/hb-ot-cmap-table.hh | 161 - ++++++++++++++++++++++++++++++------------------ - 1 file changed, 102 insertions(+), 59 deletions(-) - -commit 03b27548123756dfd9988a8fc74bc78733fb2c44 -Author: Garret Rieger -Date: Wed May 2 15:42:08 2018 -0700 - - [subset] Add const to the hb_subset_plan_t input to a couple functions - in hb-subset-plan. - - src/hb-subset-plan.cc | 4 ++-- - src/hb-subset-plan.hh | 18 +++++++++--------- - 2 files changed, 11 insertions(+), 11 deletions(-) - -commit 5b93f6916958e6096044372c1195501ea9f37436 -Author: Behdad Esfahbod -Date: Wed May 2 14:59:14 2018 -0400 - - Rename some X-terminated members to Z-terminated - - X-terminated means don't access this, it's not located correctly. - Z-terminated means this is a C array with no bound checking. - - src/hb-aat-layout-morx-table.hh | 4 ++-- - src/hb-open-type-private.hh | 16 ++++++++-------- - src/hb-ot-cmap-table.hh | 28 ++++++++++++++-------------- - src/hb-ot-glyf-table.hh | 14 +++++++------- - src/hb-ot-var-avar-table.hh | 6 +++--- - 5 files changed, 34 insertions(+), 34 deletions(-) - -commit f1f6bc0a6f28a6611a247f37b8a83e6f782d7227 -Author: Behdad Esfahbod -Date: Wed May 2 12:56:21 2018 -0400 - - [set] Fix init/fini of set on the stack to call object init/fini - - Part of https://github.com/harfbuzz/harfbuzz/issues/1017 - - src/hb-set-private.hh | 14 ++++++++++++-- - src/hb-set.cc | 4 ++-- - 2 files changed, 14 insertions(+), 4 deletions(-) - -commit 37b95612d4ae8a9d75a1a5a5165bc073c709cf30 -Author: Behdad Esfahbod -Date: Tue May 1 19:09:00 2018 -0400 - - Remove hb_auto_array_t - - Part of https://github.com/harfbuzz/harfbuzz/issues/1017 - - src/hb-coretext.cc | 8 ++++---- - src/hb-ot-cmap-table.hh | 2 +- - src/hb-ot-layout.cc | 2 +- - src/hb-subset-plan.cc | 2 +- - src/hb-uniscribe.cc | 12 ++++++------ - 5 files changed, 13 insertions(+), 13 deletions(-) - -commit 5c3112aec8b77d0fe39164f0f700e2a1aa810022 -Author: Behdad Esfahbod -Date: Tue May 1 19:07:04 2018 -0400 - - s/hb_prealloced_array_t/hb_vector_t/g - - Part of https://github.com/harfbuzz/harfbuzz/issues/1017 - - src/hb-ot-cmap-table.hh | 6 +++--- - src/hb-ot-hmtx-table.hh | 2 +- - src/hb-ot-map-private.hh | 10 +++++----- - src/hb-ot-os2-table.hh | 4 ++-- - src/hb-ot-post-table.hh | 2 +- - src/hb-private.hh | 6 +++--- - src/hb-set-private.hh | 4 ++-- - src/hb-subset-glyf.cc | 12 ++++++------ - src/hb-subset-plan.cc | 8 ++++---- - src/hb-subset-plan.hh | 6 +++--- - src/hb-subset.cc | 2 +- - 11 files changed, 31 insertions(+), 31 deletions(-) - -commit 4a01eb1234a72e6a91ed66d3ed60b5db378fe340 -Author: Behdad Esfahbod -Date: Tue May 1 19:05:58 2018 -0400 - - Add hb_auto_t - - Part of https://github.com/harfbuzz/harfbuzz/issues/1017 - - src/hb-private.hh | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -commit a60ba7964ea196a3a02c48e813f2d9505d0cded2 -Author: Behdad Esfahbod -Date: Tue May 1 19:01:25 2018 -0400 - - s/finish/fini - - For consistency. - - src/hb-common.cc | 8 ++++---- - src/hb-mutex-private.hh | 2 +- - src/hb-object-private.hh | 10 +++++----- - src/hb-ot-layout-private.hh | 4 ++-- - src/hb-ot-map-private.hh | 14 +++++++------- - src/hb-ot-post-table.hh | 2 +- - src/hb-ot-shape-private.hh | 4 ++-- - src/hb-ot-shape.cc | 2 +- - src/hb-private.hh | 16 ++++++++-------- - src/hb-set-private.hh | 6 +++--- - src/hb-set.cc | 2 +- - src/hb-subset-glyf.cc | 6 +++--- - src/hb-subset-plan.cc | 6 +++--- - src/hb-subset.cc | 2 +- - 14 files changed, 42 insertions(+), 42 deletions(-) - -commit 17618ee2ecd02cb100ca911bd1907d108e9df475 -Author: Behdad Esfahbod -Date: Tue May 1 18:39:25 2018 -0400 - - Add hb_object_fini() - - src/hb-object-private.hh | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit bd5f918e2f86241d3e2cb706bf558de21c198860 -Author: Behdad Esfahbod -Date: Tue May 1 18:27:41 2018 -0400 - - [set] Cache population - - Part of https://github.com/harfbuzz/harfbuzz/issues/1017 - - src/hb-set-private.hh | 24 +++++++++++++++++++++++- - src/hb-set.cc | 1 + - 2 files changed, 24 insertions(+), 1 deletion(-) - -commit 93b03119da8674a3eddb7879857e9f17fa16fd2a -Author: violet-sippial <38817272+violet-sippial@users.noreply.github.com> -Date: Sat Apr 28 20:29:13 2018 +0200 - - [subset] Do not compare ttx progress output in the tests - - Suppress progress messages of ttx. This avoids comparing this output - to the reference file which lets the test fail. - - test/subset/run-tests.py | 1 + - 1 file changed, 1 insertion(+) - -commit a57f5a1a185c333ae21a4ac1577387312895e107 -Author: Ebrahim Byagowi -Date: Sat Apr 28 13:58:55 2018 +0430 - - [dwrite] Minor, enable the original code assertions - - src/hb-directwrite.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 9925030f19851957381b78c197e6f50c77fde756 -Author: Ebrahim Byagowi -Date: Fri Apr 13 12:43:29 2018 +0430 - - Don't decompose Bengali Rra and Rha - - Fixes #779 and follow up to b01d9b3d90e892341ee4463f2eda4600850b97d8 - - src/hb-ot-shape-complex-indic.cc | 3 +++ - test/shaping/data/in-house/Makefile.sources | 1 + - .../fonts/932ad5132c2761297c74e9976fe25b08e5ffa10b.ttf | Bin 0 -> - 22980 bytes - test/shaping/data/in-house/tests/indic-decompose.tests | 1 + - 4 files changed, 5 insertions(+) - -commit 5ad87a93fefcb94ee5f28de8d75903b2550c8d94 -Author: Ebrahim Byagowi -Date: Wed Apr 25 16:44:04 2018 +0430 - - Minor, improve file reading failing condition comment - - https://bugzilla.gnome.org/show_bug.cgi?id=659212 for more context - - src/hb-blob.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 2eaba80cbd3afb32363da93ebf6e60b11509d3f8 -Author: Ebrahim Byagowi -Date: Tue Apr 24 09:04:15 2018 +0430 - - Minor, re-add unused mark to some of ragel defined state machines - (#1005) - - src/hb-ot-shape-complex-indic-machine.hh | 2 +- - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - src/hb-ot-shape-complex-khmer-machine.hh | 2 +- - src/hb-ot-shape-complex-khmer-machine.rl | 2 +- - src/hb-ot-shape-complex-myanmar-machine.hh | 2 +- - src/hb-ot-shape-complex-myanmar-machine.rl | 2 +- - src/hb-ot-shape-complex-use-machine.hh | 2 +- - src/hb-ot-shape-complex-use-machine.rl | 2 +- - 8 files changed, 8 insertions(+), 8 deletions(-) - -commit 48f0204cfea616a788d75c5065ad4999c7685513 -Author: Ebrahim Byagowi -Date: Tue Apr 24 08:11:13 2018 +0430 - - Minor, re-add unused mark for two TRACE_ macros - - To revive Travis CI bot - - src/hb-debug.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 816b8169a90e0454b82a83719fc9ec1c83934d6f -Author: Ebrahim Byagowi -Date: Mon Apr 23 19:36:53 2018 +0430 - - Resolve some of clang's double-promotion warnings - - src/hb-aat-layout-trak-table.hh | 6 +++--- - src/hb-open-type-private.hh | 8 ++++---- - src/hb-ot-layout-common-private.hh | 2 +- - 3 files changed, 8 insertions(+), 8 deletions(-) - -commit 24b8b9b227f53b4f67a713c994cec04a5f774634 -Author: Ebrahim Byagowi -Date: Mon Apr 23 19:03:57 2018 +0430 - - Resolve clang's used-but-marked-unused warnings - - src/hb-debug.hh | 4 ++-- - src/hb-font.cc | 4 ++-- - src/hb-ft.cc | 8 ++++---- - src/hb-open-type-private.hh | 2 +- - src/hb-ot-font.cc | 6 +++--- - src/hb-ot-shape-complex-indic-machine.hh | 2 +- - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - src/hb-ot-shape-complex-khmer-machine.hh | 2 +- - src/hb-ot-shape-complex-khmer-machine.rl | 2 +- - src/hb-ot-shape-complex-myanmar-machine.hh | 2 +- - src/hb-ot-shape-complex-myanmar-machine.rl | 2 +- - src/hb-ot-shape-complex-use-machine.hh | 2 +- - src/hb-ot-shape-complex-use-machine.rl | 2 +- - src/hb-set.cc | 2 +- - src/hb-unicode.cc | 2 +- - 15 files changed, 22 insertions(+), 22 deletions(-) - -commit eaf649450a29115ca0b2aac2921cc40c17aa55ac -Author: Ebrahim Byagowi -Date: Mon Apr 23 18:39:40 2018 +0430 - - Resolve clang's conditional-uninitialize warnings - - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-shape-normalize.cc | 4 ++-- - util/view-cairo.cc | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit 8b0d642e6610dd44f98a986580451eb562276897 -Author: Ebrahim Byagowi -Date: Mon Apr 23 18:37:35 2018 +0430 - - Resolve some of clang's zero-as-null-pointer-constant warnings - - src/hb-coretext.cc | 4 ++-- - src/hb-dsalgs.hh | 2 +- - src/hb-ot-os2-unicode-ranges.hh | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit 8100380d9e6fdd52eb7054f3300046028dcde8f9 -Author: Ebrahim Byagowi -Date: Sun Apr 22 10:58:37 2018 +0430 - - Minor, fix calloc call order - - src/hb-blob.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2a4cdfad20fa8f0d2894383c2f10a6983f88b34b -Author: Ebrahim Byagowi -Date: Fri Apr 20 21:12:58 2018 +0430 - - [aat/kerx] Minor (#1003) - - src/hb-aat-layout-kerx-table.hh | 46 - +++++++++++++++++++++-------------------- - 1 file changed, 24 insertions(+), 22 deletions(-) - -commit ce17340b23d96f543cd88e400e631bdb5656331c -Author: Ebrahim Byagowi -Date: Fri Apr 20 10:29:06 2018 +0430 - - Add hb_blob_create_from_file, a new API (#926) - - TODO | 2 - - docs/harfbuzz-sections.txt | 1 + - src/dump-emoji.cc | 33 +---------- - src/dump-fon.cc | 11 +--- - src/hb-blob.cc | 131 - ++++++++++++++++++++++++++++++++++++++++--- - src/hb-blob.h | 2 + - src/main.cc | 26 +-------- - src/test-buffer-serialize.cc | 42 +------------- - src/test-size-params.cc | 42 +------------- - src/test-would-substitute.cc | 42 +------------- - src/test.cc | 42 +------------- - test/api/hb-subset-test.h | 54 +----------------- - test/api/hb-test.h | 33 ----------- - util/options.cc | 88 +++++++---------------------- - util/options.hh | 6 -- - util/view-cairo.hh | 3 +- - 16 files changed, 159 insertions(+), 399 deletions(-) - -commit 4fa1c6705a1bc5299adb5a848ceaf6ac8f33c0ba -Author: Garret Rieger -Date: Thu Apr 19 15:30:35 2018 -0700 - - [subset] Check instruction offsets in glyph to ensure they are - in bounds. - - src/hb-ot-glyf-table.hh | 18 ++++++++++-- - .../oom-ccc61c92d589f895174cdef6ff2e3b20e9999a1a | Bin 0 -> 63302 bytes - test/api/test-subset-glyf.c | 31 - +++++++++++++++++++++ - 3 files changed, 47 insertions(+), 2 deletions(-) - -commit 3c97614598ecd0bbccb2c90a8e0e99f010952b76 -Author: Garret Rieger -Date: Thu Apr 19 13:39:57 2018 -0700 - - [subset] In subset fuzzer run through drop hints and keep hints - pathways. - - test/fuzzing/hb-subset-fuzzer.cc | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -commit 6fdeeb2ae3059ac1bc5ff99fd1655b4e94576151 -Author: Khaled Hosny -Date: Thu Apr 19 23:41:37 2018 +0300 - - [util] Check all specified shapers are known (#993) - - A bit brute force and requires all shapers to be known, not just one. - - Fixes https://github.com/harfbuzz/harfbuzz/issues/956 - - util/options.cc | 22 ++++++++++++++++++++-- - 1 file changed, 20 insertions(+), 2 deletions(-) - -commit 535fb23c0211c733d59f72c3431643d89dc16d16 -Author: Garret Rieger -Date: Wed Apr 18 17:37:39 2018 -0700 - - [subset] Add integration tests for cmap breakge. - - .../full-font/Roboto-Regular.default.D7,D8,D9,DA,DE.ttf | Bin 0 -> - 3668 bytes - .../Roboto-Regular.drop-hints.D7,D8,D9,DA,DE.ttf | Bin 0 -> - 2188 bytes - test/subset/data/tests/full-font.tests | 1 + - 3 files changed, 1 insertion(+) - -commit e29c8e33f3debf721e18306b896df7a3233386ac -Author: Garret Rieger -Date: Wed Apr 18 17:32:43 2018 -0700 - - [subset] Add a test for previous cmap breakage. - - test/api/fonts/Roboto-Regular.D7,D8,D9,DA,DE.ttf | Bin 0 -> 2972 bytes - test/api/test-subset-cmap.c | 23 - +++++++++++++++++++++++ - 2 files changed, 23 insertions(+) - -commit 5e318e09ba590eef7b7ec047d7857f7f1eb7d787 -Author: Garret Rieger -Date: Wed Apr 18 17:13:37 2018 -0700 - - [subset] Fix broken cmap creation. - It was ignoring the restriction that gids must be consecutive to be - placed into a single group. - - src/hb-ot-cmap-table.hh | 23 ++++++++++++++++------- - 1 file changed, 16 insertions(+), 7 deletions(-) - -commit a47070cd40cee51fe792cb838ff9f21e0ea482c6 -Author: Ebrahim Byagowi -Date: Wed Apr 18 12:09:37 2018 +0430 - - Minor, annotate the added tables with likely/unlikely (#997) - - src/hb-aat-fmtx-table.hh | 2 +- - src/hb-aat-gcid-table.hh | 2 +- - src/hb-aat-layout-ankr-table.hh | 7 ++++--- - src/hb-aat-layout-bsln-table.hh | 9 +++++---- - src/hb-aat-layout-feat-table.hh | 10 +++++----- - src/hb-aat-layout-kerx-table.hh | 12 ++++++------ - src/hb-aat-layout-trak-table.hh | 21 +++++++++++++-------- - src/hb-aat-ltag-table.hh | 2 +- - src/hb-ot-color-colr-table.hh | 10 +++++----- - src/hb-ot-color-cpal-table.hh | 18 ++++++++++-------- - src/hb-ot-color-sbix-table.hh | 2 +- - src/hb-ot-color-svg-table.hh | 6 +++--- - 12 files changed, 55 insertions(+), 46 deletions(-) - -commit 1a309dcd72f9f54672a7341788a9b2241c922793 -Author: Garret Rieger -Date: Tue Apr 17 18:11:32 2018 -0700 - - [subset] Remove printf's from fuzzing targets. - - test/fuzzing/hb-subset-fuzzer.cc | 1 - - test/fuzzing/hb-subset-get-codepoints-fuzzer.cc | 1 - - 2 files changed, 2 deletions(-) - -commit c55aa147c33eb733ab552d404a88749cb6ff6d73 -Author: Ebrahim Byagowi -Date: Wed Apr 18 00:01:20 2018 +0430 - - Do sanitization before the use on 'main' mini-program (#994) - - src/main.cc | 22 ++++++++++++++++++---- - 1 file changed, 18 insertions(+), 4 deletions(-) - -commit c02b40e58f35ecd10c4945d2fa2b7074137c2c04 -Author: Garret Rieger -Date: Tue Apr 17 08:21:22 2018 -0600 - - [subset] add a fuzzer target for subset_get_all_codepoints - method. (#987) - - test/fuzzing/CMakeLists.txt | 7 ++++++- - test/fuzzing/Makefile.am | 16 ++++++++++++++++ - test/fuzzing/hb-subset-get-codepoints-fuzzer.cc | 24 - ++++++++++++++++++++++++ - test/fuzzing/run-subset-fuzzer-tests.py | 19 ++++++++++++++++++- - 4 files changed, 64 insertions(+), 2 deletions(-) - -commit 924803166e074c569ecfa7e598686f334777770f -Author: Behdad Esfahbod -Date: Tue Apr 17 15:32:02 2018 +0200 - - [colr] Check layer record access - - src/hb-ot-color-colr-table.hh | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 5dadbb0fa096574b6bccd75cced203baf615fedf -Author: Garret Rieger -Date: Tue Apr 17 07:00:23 2018 -0600 - - [subset] Add implementation of cmap format 12 codepoint - listing. (#988) - - src/hb-ot-cmap-table.hh | 21 +++++++++++- - test/api/fonts/Roboto-Regular.abc.format12.ttf | Bin 0 -> 2412 bytes - test/api/test-subset-codepoints.c | 44 - +++++++++++++++++++++++++ - 3 files changed, 64 insertions(+), 1 deletion(-) - -commit 6771e79bcc2166b5c03ca615d271c8508d692416 -Author: Ebrahim Byagowi -Date: Tue Apr 17 09:36:52 2018 +0430 - - Add pre-opentype font pages detection code (#986) - - As Khaled's finding on #981 this is the way Uniscribe detects those - fonts. This is its detection part. - - src/hb-ot-os2-table.hh | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -commit 277e328986d5887fa93c72dc8b12d842d41db87f -Author: Ebrahim Byagowi -Date: Tue Apr 17 09:13:35 2018 +0430 - - Make some of implicit header uses explicit (#989) - - Splitted from #950 and #986 IIRC Chromium had a policy about this - encouraging it, - not sure about automated way to detect and add them but for now lets - have the needed - ones of them. - - src/hb-aat-layout-morx-table.hh | 1 + - src/hb-aat-layout-trak-table.hh | 1 + - src/hb-ot-hdmx-table.hh | 1 + - src/hb-ot-hmtx-table.hh | 1 + - src/hb-ot-os2-table.hh | 1 + - src/hb-ot-post-table.hh | 1 + - 6 files changed, 6 insertions(+) - -commit f5811bad04be9dac8a4fca8e16904d6270e47777 -Author: Ebrahim Byagowi -Date: Tue Apr 17 09:13:03 2018 +0430 - - Add round to F2DOT14 inner store setter (#990) - - It uses floor implicitly without it but explicit use of round will - be more correct. - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 39754fb65981fa8d11615e1dced852285ad09e4e -Author: Garret Rieger -Date: Mon Apr 16 15:09:27 2018 -0700 - - [subset] Don't assume the last segment in cmap 4 can be skipped, - actually check it. - - src/hb-ot-cmap-table.hh | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 21a181af2bf1582991c55de5f9281494733c5d12 -Author: Garret Rieger -Date: Tue Apr 10 15:40:24 2018 -0700 - - [subset] sketch out support for a call that lists all codepoints - present in a font. Implement support for it in format 4 cmap sub - table. - - src/hb-ot-cmap-table.hh | 37 ++++++++++++++-- - src/hb-subset.cc | 14 ++++++ - src/hb-subset.h | 5 ++- - test/api/Makefile.am | 2 + - test/api/fonts/Roboto-Regular.abc.format4.ttf | Bin 0 -> 2424 bytes - test/api/test-subset-codepoints.c | 59 - ++++++++++++++++++++++++++ - 6 files changed, 113 insertions(+), 4 deletions(-) - -commit aef96e246cb695c4c83b8b6daed06a0d14fe1d32 -Author: Ebrahim Byagowi -Date: Mon Apr 16 18:30:25 2018 +0430 - - Further improvements on dump-fon (#985) - - src/dump-fon.cc | 153 - +++++++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 123 insertions(+), 30 deletions(-) - -commit 67dfb1937b703b3f1dc45251f4f884abf35c8576 -Author: Ebrahim Byagowi -Date: Mon Apr 16 14:25:45 2018 +0430 - - Add dump-fon, a prototype on how to work with .fon/.fnt files (#981) - - src/Makefile.am | 4 + - src/dump-fon.cc | 475 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 479 insertions(+) - -commit ce99dd04de830c8426af14c11dbee45f8bcc9e60 -Author: Ebrahim Byagowi -Date: Sun Apr 15 22:08:50 2018 +0430 - - Implement to_float and set_float of F2DOT14 (#984) - - src/hb-open-type-private.hh | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 435b1878e710b67e21872572ad9fd5ed1369e97f -Author: Ebrahim Byagowi -Date: Sun Apr 15 21:18:48 2018 +0430 - - Rename UINT24 to HBUINT24 for consistency (#983) - - src/hb-open-type-private.hh | 2 +- - src/hb-ot-cmap-table.hh | 6 +++--- - src/hb-ot-layout-common-private.hh | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit 3737c652a5e0b6d73b6090dc6c3863008c9dc8fd -Merge: 632713ba 8f4c1230 -Author: Ebrahim Byagowi -Date: Fri Apr 13 23:19:19 2018 +0430 - - Merge pull request #979 from ebraminio/msvc05 - - Reinstate support for Visual Studio 2005 - -commit 8f4c12308a8d9e61922fb352e913acae46b28a88 -Author: Tor Andersson -Date: Fri Apr 13 23:01:54 2018 +0430 - - Reinstate support for Visual Studio 2005 - - src/hb-common.h | 10 ++++++++++ - src/hb-private.hh | 6 +++--- - src/hb-ucdn/ucdn.h | 10 ++++++++++ - 3 files changed, 23 insertions(+), 3 deletions(-) - -commit 632713babbc349920f71f73cc304c9a18078fd6b -Author: Ebrahim Byagowi -Date: Thu Apr 12 14:17:03 2018 +0430 - - Always enable atexit on Android (#971) - - Obviously one can use a newer NDK for building an updated HarfBuzz - instead that now pretty old version however I am concerned if that - version checking is working with clang that is used with the newer - NDK versions. - - src/hb-private.hh | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -commit f24b0b9728f87d7599867a4ba6ec7d30da43b869 -Author: Ebrahim Byagowi -Date: Thu Apr 12 13:40:45 2018 +0430 - - Update the links and revive the dead ones - - src/hb-common.cc | 4 ++-- - src/hb-common.h | 6 +++--- - src/hb-coretext.cc | 6 +++--- - src/hb-ft.cc | 2 +- - src/hb-ot-cmap-table.hh | 12 ++++++------ - src/hb-ot-layout-common-private.hh | 8 ++++---- - src/hb-ot-layout-private.hh | 2 +- - src/hb-ot-layout.h | 2 +- - src/hb-ot-shape-complex-arabic.cc | 4 ++-- - src/hb-ot-shape-complex-indic-private.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 4 ++-- - src/hb-ot-shape-complex-khmer.cc | 2 +- - src/hb-ot-shape-complex-myanmar-private.hh | 2 +- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - src/hb-ot-shape-complex-thai.cc | 2 +- - src/hb-ot-shape-complex-use-private.hh | 2 +- - src/hb-ot-shape-complex-use.cc | 2 +- - src/hb-ot-shape-fallback.cc | 2 +- - src/hb-ot-tag.cc | 9 ++++----- - src/hb-private.hh | 4 ++-- - src/hb-string-array.hh | 2 +- - src/hb-unicode-private.hh | 18 +++++++++--------- - test/api/test-buffer.c | 2 +- - test/api/test-ot-tag.c | 6 +++--- - test/api/test-shape.c | 2 +- - 25 files changed, 54 insertions(+), 55 deletions(-) - -commit a02c3ee70f4ca9de1fd55f1d8d535f6bd0d32606 -Author: Ebrahim Byagowi -Date: Thu Apr 12 13:38:19 2018 +0430 - - Add or update tables specifications links - - src/hb-aat-fmtx-table.hh | 9 ++++----- - src/hb-aat-gcid-table.hh | 8 ++++---- - src/hb-aat-layout-ankr-table.hh | 8 ++++---- - src/hb-aat-layout-bsln-table.hh | 10 +++++----- - src/hb-aat-layout-feat-table.hh | 10 +++++----- - src/hb-aat-layout-kerx-table.hh | 4 ++++ - src/hb-aat-layout-morx-table.hh | 4 ++++ - src/hb-aat-layout-trak-table.hh | 4 ++++ - src/hb-aat-ltag-table.hh | 10 +++++----- - src/hb-ot-color-cbdt-table.hh | 24 ++++++++++++------------ - src/hb-ot-color-colr-table.hh | 6 +++--- - src/hb-ot-color-cpal-table.hh | 6 +++--- - src/hb-ot-color-sbix-table.hh | 11 ++++++----- - src/hb-ot-color-svg-table.hh | 3 ++- - src/hb-ot-glyf-table.hh | 4 ++-- - src/hb-ot-hdmx-table.hh | 11 ++++++----- - src/hb-ot-head-table.hh | 10 +++++----- - src/hb-ot-hhea-table.hh | 15 ++++++++------- - src/hb-ot-hmtx-table.hh | 14 +++++++------- - src/hb-ot-kern-table.hh | 10 ++++++---- - src/hb-ot-layout-base-table.hh | 3 ++- - src/hb-ot-layout-gdef-table.hh | 3 ++- - src/hb-ot-layout-gpos-table.hh | 3 ++- - src/hb-ot-layout-gsub-table.hh | 3 ++- - src/hb-ot-layout-jstf-table.hh | 3 ++- - src/hb-ot-math-table.hh | 3 ++- - src/hb-ot-maxp-table.hh | 3 ++- - src/hb-ot-name-table.hh | 4 ++-- - src/hb-ot-os2-table.hh | 3 +-- - src/hb-ot-post-table.hh | 8 ++++---- - src/hb-ot-var-avar-table.hh | 14 ++++++++------ - src/hb-ot-var-fvar-table.hh | 15 ++++++++------- - src/hb-ot-var-hvar-table.hh | 7 ++++--- - src/hb-ot-var-mvar-table.hh | 4 ++-- - 34 files changed, 142 insertions(+), 115 deletions(-) - -commit b799fc80777c1424e469a835f782b4e0f41c0043 -Author: Ebrahim Byagowi -Date: Wed Apr 11 18:36:09 2018 +0430 - - minor, use LOffsetTo and LArrayOf whenever possible (#966) - - src/hb-aat-layout-morx-table.hh | 10 ++++++---- - src/hb-aat-ltag-table.hh | 2 +- - src/hb-open-file-private.hh | 2 +- - src/hb-ot-cmap-table.hh | 4 ++-- - 4 files changed, 10 insertions(+), 8 deletions(-) - -commit cb3fa70cd4c33e9f1c736f778cb3b606d15c0936 -Author: Ebrahim Byagowi -Date: Wed Apr 11 18:00:13 2018 +0430 - - [dwrite] Cosmetic change (#963) - - src/hb-directwrite.cc | 39 +++++++++++++++++++-------------------- - src/hb-directwrite.h | 5 +++-- - 2 files changed, 22 insertions(+), 22 deletions(-) - -commit 09d5e5468858f4403ce91aca46749397b23825d9 -Author: Ebrahim Byagowi -Date: Wed Apr 11 17:41:48 2018 +0430 - - [graphite] Use tabs instead 8 spaces (#965) - - src/hb-graphite2.cc | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit 211da5efdcaff203eafda2a5081cd81e3d6cc35b -Author: Ebrahim Byagowi -Date: Wed Apr 11 17:41:24 2018 +0430 - - [aat] Cosmetic changes (#964) - - src/hb-aat-gcid-table.hh | 4 ++-- - src/hb-aat-layout-ankr-table.hh | 11 ++++++----- - src/hb-aat-layout-common-private.hh | 6 +++--- - src/hb-aat-layout-kerx-table.hh | 29 +++++++++++++++-------------- - src/hb-aat-layout-morx-table.hh | 6 +++--- - src/hb-aat-layout-trak-table.hh | 10 +++++----- - src/hb-aat-ltag-table.hh | 8 ++++---- - 7 files changed, 38 insertions(+), 36 deletions(-) - -commit f8bb582bcc2af6cae531d8255da002f0c514f1a9 -Author: Ebrahim Byagowi -Date: Wed Apr 11 17:13:20 2018 +0430 - - [ot-color] Cosmetic changes (#962) - - src/hb-open-type-private.hh | 1 - - src/hb-ot-color-cbdt-table.hh | 10 +++++----- - src/hb-ot-color-cpal-table.hh | 4 ++-- - src/hb-ot-color-sbix-table.hh | 41 - ++++++++++++++++++++--------------------- - src/hb-ot-color-svg-table.hh | 37 +++++++++++++++++++------------------ - 5 files changed, 46 insertions(+), 47 deletions(-) - -commit 1e1e9086c09185a7bd6f65d1e391418642229616 -Author: Ebrahim Byagowi -Date: Tue Apr 10 03:26:01 2018 +0430 - - minor - - src/dump-emoji.cc | 1 + - 1 file changed, 1 insertion(+) - -commit a62554af89b8324c73c623e64f87ec822c757515 -Author: Ebrahim Byagowi -Date: Tue Apr 10 00:53:50 2018 +0430 - - [colr/cpal] Improvements and add a sample renderer (#927) - - src/Makefile.am | 13 ++- - src/dump-emoji.cc | 181 - +++++++++++++++++++++++++++++++++++++++--- - src/hb-ot-color-colr-table.hh | 43 +++++++++- - src/hb-ot-color-cpal-table.hh | 70 +++++++++------- - 4 files changed, 259 insertions(+), 48 deletions(-) - -commit f25731a3606ff0972505eeb934477480019ffcd3 -Author: Ebrahim Byagowi -Date: Tue Apr 10 00:51:57 2018 +0430 - - [ci] Don't fail on brew warnings - - Not the best fix but it works and we don't care about brew warnings, - so - - .travis.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 58e569e5f7143a12cadcd6c42434558f9981e00e -Author: Ryan Schmidt -Date: Thu Apr 5 17:03:36 2018 -0500 - - Fix build with CoreText on OS X 10.7 and earlier (#952) - - src/hb-coretext.cc | 30 ++++++++++++++++++++++++++++-- - 1 file changed, 28 insertions(+), 2 deletions(-) - -commit d3984b45b5d110f34febbb9e1d8a9c2203080a1b -Author: Ebrahim Byagowi -Date: Sun Apr 1 12:16:42 2018 +0430 - - [aat] Further improvements on feat (#948) - - src/Makefile.sources | 2 +- - ...t-feat-table.hh => hb-aat-layout-feat-table.hh} | 48 - +++++++++++----------- - src/hb-aat-layout.cc | 2 +- - 3 files changed, 25 insertions(+), 27 deletions(-) - -commit 93dad9ade7078d28086b2e5c3b5e8dafa67617d2 -Author: Behdad Esfahbod -Date: Sat Mar 31 17:06:17 2018 +0200 - - [hangul] Fix comment - - src/hb-ot-shape-complex-hangul.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 44bf4320922d340d1357c4d42d093fa466c3610f -Author: Ebrahim Byagowi -Date: Sat Mar 31 16:51:36 2018 +0430 - - [aat] Implement feat table parsing (#947) - - src/Makefile.sources | 3 +- - src/hb-aat-feat-table.hh | 122 - +++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-aat-layout.cc | 1 + - 3 files changed, 125 insertions(+), 1 deletion(-) - -commit 08b8eb678a6cb74c118a32e75b880599e3ac4a7c -Author: Behdad Esfahbod -Date: Sat Mar 31 12:15:50 2018 +0200 - - Another try at fixing linker issue - - Fixes https://github.com/harfbuzz/harfbuzz/issues/880 - - configure.ac | 11 +++++++++-- - src/Makefile.am | 6 ------ - 2 files changed, 9 insertions(+), 8 deletions(-) - -commit eff36cd8f06ee992218ed3f198f6a4ea19d7089c -Author: Ebrahim Byagowi -Date: Fri Mar 30 22:25:35 2018 +0430 - - Minor build related changes - - .editorconfig | 3 +++ - CMakeLists.txt | 6 +++--- - configure.ac | 2 +- - 3 files changed, 7 insertions(+), 4 deletions(-) - -commit 9d68f73d5cf3f3df6bc5516ada987d9019d3fe3d -Author: Ebrahim Byagowi -Date: Fri Mar 30 21:57:10 2018 +0430 - - [aat] Implement gcid table parsing (#944) - - src/Makefile.sources | 1 + - src/hb-aat-gcid-table.hh | 73 - ++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-aat-layout.cc | 1 + - 3 files changed, 75 insertions(+) - -commit 0e230a83ae8a2c5fbe40dc0e74e5e7ead106e45e -Author: Ebrahim Byagowi -Date: Fri Mar 30 19:36:00 2018 +0430 - - [aat] Implement bsln table parsing (#943) - - src/Makefile.sources | 1 + - src/hb-aat-layout-bsln-table.hh | 156 - ++++++++++++++++++++++++++++++++++++++++ - src/hb-aat-layout.cc | 3 +- - 3 files changed, 159 insertions(+), 1 deletion(-) - -commit 70d36543aa929320ff82a9ce589786e58adb1836 -Author: Ebrahim Byagowi -Date: Fri Mar 30 05:00:28 2018 +0430 - - Make atexit callbacks threadsafe (#930) - - src/hb-common.cc | 60 - +++++++++++++++++++++++++++++------------------------ - src/hb-ft.cc | 44 ++++++++++++++++++++++++--------------- - src/hb-glib.cc | 7 ++++++- - src/hb-icu.cc | 7 ++++++- - src/hb-ot-font.cc | 7 ++++++- - src/hb-shape.cc | 7 ++++++- - src/hb-shaper.cc | 9 ++++++-- - src/hb-ucdn.cc | 7 ++++++- - src/hb-uniscribe.cc | 8 +++++++ - 9 files changed, 105 insertions(+), 51 deletions(-) - -commit d3a432a7b272917edb83f8fe8468120beb37206b -Author: Ebrahim Byagowi -Date: Fri Mar 30 04:58:47 2018 +0430 - - [graphite] Make get_table threadsafe (#931) - - src/hb-graphite2.cc | 10 ++++++---- - src/hb-graphite2.h | 4 ++-- - 2 files changed, 8 insertions(+), 6 deletions(-) - -commit 80395f14e8873f30d2c9a49e42fc9febf5c87e45 -Author: Ebrahim Byagowi -Date: Thu Mar 29 22:00:41 2018 +0430 - - Make gen-* scripts LC_ALL=C compatible (#942) - - src/gen-arabic-table.py | 5 ++--- - src/gen-indic-table.py | 4 ++-- - src/gen-use-table.py | 4 ++-- - 3 files changed, 6 insertions(+), 7 deletions(-) - -commit 26e0cbd834e7a8bab331b395257e9c21dde4c2b1 -Author: Ebrahim Byagowi -Date: Thu Mar 29 21:22:47 2018 +0430 - - Actual py3 compatibility making on gen-* scripts (#941) - - src/gen-arabic-table.py | 6 ++---- - src/gen-indic-table.py | 13 +++++-------- - src/gen-use-table.py | 12 +++++++++--- - test/shaping/hb_test_tools.py | 4 ++-- - 4 files changed, 18 insertions(+), 17 deletions(-) - -commit cab2c2c08c67e7d1606c03700df3e4e9c0dc59fd -Author: Ebrahim Byagowi -Date: Thu Mar 29 12:48:47 2018 +0430 - - Make more gen-* scripts py3 compatible (#940) - - src/Makefile.am | 2 +- - src/gen-arabic-table.py | 163 - +++++++++++---------- - src/gen-def.py | 2 +- - src/gen-indic-table.py | 120 +++++++-------- - src/gen-unicode-ranges.py | 8 +- - src/gen-use-table.py | 3 +- - src/hb-ot-shape-complex-indic-table.cc | 2 - - src/sample.py | 5 +- - test/fuzzing/run-shape-fuzzer-tests.py | 3 +- - test/fuzzing/run-subset-fuzzer-tests.py | 3 +- - .../data/text-rendering-tests/extract-tests.py | 3 +- - test/shaping/hb_test_tools.py | 3 +- - test/shaping/run-tests.py | 3 +- - test/subset/run-tests.py | 2 +- - 14 files changed, 166 insertions(+), 156 deletions(-) - -commit 5f7f0bfa1ecef6406cb9670b4eb057ea12c28730 -Author: Ebrahim Byagowi -Date: Thu Mar 29 04:22:53 2018 +0430 - - Add README.wine.md and touch some other docs (#939) - - Makefile.am | 3 ++- - README.python => README.python.md | 12 +++++++++--- - README.wine.md | 40 - +++++++++++++++++++++++++++++++++++++++ - RELEASING.md | 25 +++++++++++++----------- - 4 files changed, 65 insertions(+), 15 deletions(-) - -commit 5aa2c6e194bc75637d3f4862a096c0e7100072e2 -Author: Behdad Esfahbod -Date: Wed Mar 28 15:33:51 2018 -0700 - - [atexit] Make hb_languate_item_t *langs freeing threadsafe - - Part of https://github.com/harfbuzz/harfbuzz/issues/923 - - src/hb-common.cc | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -commit 8c9451107d46c87ed0e50e718977f0c286972f3b -Author: Behdad Esfahbod -Date: Wed Mar 28 14:06:58 2018 -0700 - - Fix one UBSan warning - - Fixes https://github.com/harfbuzz/harfbuzz/issues/935 - - src/hb-font-private.hh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 48baf7e389faf8a57649ddc572da2ec8ec8829bb -Author: Behdad Esfahbod -Date: Wed Mar 28 13:38:51 2018 -0700 - - [uniscribe] Fixup for previous commit - - Fixes https://github.com/harfbuzz/harfbuzz/issues/934 - - src/hb-uniscribe.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit b17e1a40885245df690a14c7528939b3881e1fe4 -Author: Behdad Esfahbod -Date: Wed Mar 28 10:44:52 2018 -0700 - - [uniscribe] Fix assertion fail in checksum calc - - Program: - Z:\Users\ebrahim\Desktop\harfbuzz\winbuild\util\.libs\hb-shape.exe - File: ../../src/hb-open-type-private.hh, Line 769 - - Expression: 0 == (Length & 3) - - abnormal program termination - - src/hb-uniscribe.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a48dd6ef235d569d4b6f6f213ba93a54e142458d -Author: Ebrahim Byagowi -Date: Wed Mar 28 19:08:19 2018 +0430 - - Make gen-use-table.py py3 compatible (#932) - - src/gen-use-table.py | 105 - ++++++++++++++++++++++++++------------------------- - 1 file changed, 53 insertions(+), 52 deletions(-) - -commit 1c3372786c503f3f9108971dfa8956e4cb95f65d -Author: Garret Rieger -Date: Tue Mar 27 10:42:19 2018 -0700 - - [subset] fix infinite loop bug in looping through tables for - subsetting. - - src/hb-subset.cc | 2 +- - ...ase-minimized-hb-subset-fuzzer-5521982557782016 | Bin 0 -> 1228 bytes - test/api/test-subset.c | 23 - +++++++++++++++++++++ - 3 files changed, 24 insertions(+), 1 deletion(-) - -commit 8fd55422c3fa2279991d93875d912fca4ee89cf5 -Author: Ebrahim Byagowi -Date: Tue Mar 27 16:57:09 2018 +0430 - - Implement an internal emojis dumper tool (#909) - - Later to be expanded to a more general tool but for now it only - supports CBDT, SVG and CBDT. - - CMakeLists.txt | 2 +- - src/Makefile.am | 4 ++ - src/dump-emoji.cc | 141 - ++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-color-cbdt-table.hh | 71 +++++++++++++++++++++ - src/hb-ot-color-sbix-table.hh | 79 ++++++++++++++--------- - src/hb-ot-color-svg-table.hh | 56 ++++++++++++----- - 6 files changed, 307 insertions(+), 46 deletions(-) - -commit 430f82817d048ac917f1956e07d9089b9fd7e695 -Author: Ebrahim Byagowi -Date: Tue Mar 27 13:59:56 2018 +0430 - - [ci] Fix coverage build fail (#925) - - src/Makefile.am | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit 07851aae9d28fed751663c543799f2b59369f892 -Author: Garret Rieger -Date: Mon Mar 26 20:56:56 2018 -0600 - - [subset] Couple of fixes for fuzzer discovered issues. (#924) - - * [subset] sanitize individual DeviceRecord's as part of hdmx - sanitization. - - * [subset] Fix out of bounds read with non-two byte align glyphs. - - * [subset] Just use size_device_record >= DeviceRecord::min_size. - - * [subset] Add TODO. - - * [subset] Re-order checks in hdmx sanitize. - - src/hb-ot-hdmx-table.hh | 1 + - src/hb-subset-glyf.cc | 6 +++--- - src/hb-subset.cc | 6 +++++- - ...ase-minimized-hb-subset-fuzzer-5609911946838016 | Bin 0 -> 313 bytes - ...ase-minimized-hb-subset-fuzzer-6651660668502016 | Bin 0 -> 15229 bytes - test/api/test-subset-hdmx.c | 23 - +++++++++++++++++++++ - 6 files changed, 32 insertions(+), 4 deletions(-) - -commit 6f46883f5b74b206a3b77246891ab2ac57a27c4e -Author: Behdad Esfahbod -Date: Mon Mar 26 19:55:22 2018 -0700 - - [hdmx] Minor - - src/hb-ot-hdmx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c589681926e50834bdc614479efced7382dfbf61 -Author: Behdad Esfahbod -Date: Mon Mar 26 19:55:16 2018 -0700 - - Minor - - src/check-symbols.sh | 2 -- - 1 file changed, 2 deletions(-) - -commit 19ec366fb12afe5fce23239bbeb61e67d732a169 -Author: Behdad Esfahbod -Date: Mon Mar 26 15:09:54 2018 -0700 - - Fix previous commit - - Automake has this stupid behavior where if your Makefile.am has - syntactic error, it can get to a state that make succeeds but just - ignores broken Makefile.am. Ouch. - - src/Makefile.am | 1 - - 1 file changed, 1 deletion(-) - -commit 44b6c77c64d367eb3c9227cf1c0fbaff4ab294b2 -Author: Behdad Esfahbod -Date: Mon Mar 26 14:26:45 2018 -0700 - - Try fixing linking again - - Before 1.7.5, we were setting -fno-exceptions etc on CXXFLAGS. In - 1.7.6 - we set it as CPPFLAGS. Try fixing. Also, I'm fairly sure it's safe to - set these unconditionally. - - Fixes https://github.com/harfbuzz/harfbuzz/issues/880 (or so I hope) - - src/Makefile.am | 19 +++++++------------ - test/api/Makefile.am | 2 +- - 2 files changed, 8 insertions(+), 13 deletions(-) - -commit e4d1cbfb4fbc17d7dbe08133d1e5e181e1c9bbc5 -Author: Behdad Esfahbod -Date: Mon Mar 26 14:09:29 2018 -0700 - - Add HB_SUBSET_BUILTIN - - Fixes https://github.com/harfbuzz/harfbuzz/issues/865 - - src/hb-subset.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c14b24fcd0052fc6100c32deea6ee1dcb0c98f85 -Author: Behdad Esfahbod -Date: Mon Mar 26 10:44:54 2018 -0700 - - Add HB_NO_ATEXIT - - src/hb-private.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit aa53cb50ba3eea5c23458207faf879bd162d6599 -Author: Ebrahim Byagowi -Date: Mon Mar 26 13:28:26 2018 +0430 - - [aat] Unprefix not essentially layout tables (#921) - - src/Makefile.sources | 4 ++-- - src/{hb-aat-layout-fmtx-table.hh => hb-aat-fmtx-table.hh} | 7 ++++--- - src/hb-aat-layout.cc | 4 ++-- - src/{hb-aat-layout-ltag-table.hh => hb-aat-ltag-table.hh} | 7 ++++--- - 4 files changed, 12 insertions(+), 10 deletions(-) - -commit 8269791900cc765234915b29c974b34ed1f35519 -Author: David Corbett -Date: Sun Mar 25 20:50:41 2018 -0400 - - Allow trailing non-numeric chars in --unicodes - - util/options.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit a289aaff477dfbda25b90ba5ffb1296518d68d21 -Author: Behdad Esfahbod -Date: Mon Mar 26 01:14:07 2018 -0700 - - [aat/ltag] Whitespace - - src/hb-aat-layout-ltag-table.hh | 14 ++++++-------- - 1 file changed, 6 insertions(+), 8 deletions(-) - -commit 158f2810b2868c7398dc80cbb089b88a566ce99e -Author: Ebrahim Byagowi -Date: Mon Mar 26 12:04:30 2018 +0430 - - [aat/ltag] Implement the table parsing (#911) - - src/Makefile.sources | 2 ++ - src/hb-aat-layout-fmtx-table.hh | 6 ++-- - src/hb-aat-layout-kerx-table.hh | 4 +-- - src/hb-aat-layout-ltag-table.hh | 80 - +++++++++++++++++++++++++++++++++++++++++ - src/hb-aat-layout-morx-table.hh | 4 +-- - src/hb-aat-layout-trak-table.hh | 4 +-- - src/hb-aat-layout.cc | 3 +- - 7 files changed, 93 insertions(+), 10 deletions(-) - -commit 9eee38a55cdcbfd34b530dcc8defff84057a9eb2 -Author: Ebrahim Byagowi -Date: Sun Mar 25 23:56:02 2018 +0430 - - [aat/fmtx] Implement the table parsing (#910) - - src/hb-aat-layout-fmtx-table.hh | 67 - +++++++++++++++++++++++++++++++++++++++++ - src/hb-aat-layout-trak-table.hh | 4 +-- - src/hb-aat-layout.cc | 1 + - 3 files changed, 70 insertions(+), 2 deletions(-) - -commit 1d3f4f835175c658c63e96be12052b80d27cf6fa -Author: Ebrahim Byagowi -Date: Sun Mar 25 18:45:50 2018 +0430 - - [ci] Add a build only apple-gcc-4.2 i686 bot - - .circleci/config.yml | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit fe18c471a4aee1f6eba62383b64f0a8969cbc6ea -Author: Ebrahim Byagowi -Date: Sun Mar 25 18:19:23 2018 +0430 - - [dwrite] minor - - src/dev-run.sh | 5 ++- - src/hb-directwrite.cc | 118 - ++++++++++++++++++++------------------------------ - 2 files changed, 50 insertions(+), 73 deletions(-) - -commit ebccd019749e24e6c045518ee1ffbfc947744204 -Author: Behdad Esfahbod -Date: Sat Mar 24 17:51:55 2018 -0700 - - More ULL fixes - - Fixes https://github.com/harfbuzz/harfbuzz/issues/901 - - src/hb-private.hh | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 7ec3ba21f0dc43f9f8ea1fc4344d3ea4524841b1 -Author: Behdad Esfahbod -Date: Sat Mar 24 14:12:12 2018 -0700 - - Define uint64_t constants with ULL suffix - - Fixes https://github.com/harfbuzz/harfbuzz/issues/901 - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 19256bef9d264f96187261929992b96e61fa43fd -Author: Chun-wei Fan -Date: Mon Mar 12 13:33:03 2018 +0800 - - hb-private.hh: Add fallback implementation for round() - - For pre-C99 compilers that do not support round(), we need to have a - simplistic implementation for it, when it is not detected during build - configuration, either via CMake or autotools, by using floor() and - ceil(), which are provided in the pre-C99 compilers. - - Please see discussion at commit 86a0ac2 for more details for re-adding - this patch. - - src/hb-private.hh | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit 95f0458f44e9a7ec250f1bc7d9f060745dbabcf3 -Author: Nikolaus Waxweiler -Date: Fri Mar 23 19:38:11 2018 +0000 - - Policy 0063 must be enabled to have hidden inline visibility... (#900) - - ...on static builds. - - CMakeLists.txt | 2 ++ - 1 file changed, 2 insertions(+) - -commit 2a236063392c4f7c4d718be36d2dec2b8804b560 -Author: Ebrahim Byagowi -Date: Fri Mar 23 18:37:01 2018 +0430 - - Fix llvm-gcc-4.2 compile issue and add a macOS bot to test it (#899) - - .circleci/config.yml | 16 ++++++++++++++++ - src/hb-open-file-private.hh | 12 +++++++----- - src/hb-ot-glyf-table.hh | 40 ++++++++++++++++++++++------------------ - src/hb-ot-kern-table.hh | 2 +- - 4 files changed, 46 insertions(+), 24 deletions(-) - -commit 7919033ce8f6fd32b2dd980ad0aa59c7149a4827 -Author: Ebrahim Byagowi -Date: Thu Mar 22 16:04:38 2018 +0430 - - [dwrite] Replace rest of 'malloc/free's with 'new/delete' (#897) - - src/hb-directwrite.cc | 251 - +++++++++++++++++++++++++------------------------- - 1 file changed, 127 insertions(+), 124 deletions(-) - -commit 3f55e0e74680c246819233a7250df612821698d7 -Author: Garret Rieger -Date: Tue Mar 20 17:36:52 2018 -0700 - - [subset] Check for the Null table and not nullptr to detect failure - to find a table in glyf accelerator. - - src/hb-ot-glyf-table.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 45def99eae81e470be3c38d2962aafaaa85500b9 -Author: Garret Rieger -Date: Tue Mar 20 17:28:47 2018 -0700 - - [subset] Fix to debug message. - - src/hb-subset-glyf.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 139661404006b8be039436a81cb6b1a73ec44042 -Author: Garret Rieger -Date: Tue Mar 20 16:55:42 2018 -0700 - - [subset] don't use pointers returned from push after array has - resized in hb-subset-glyf.cc - - src/hb-subset-glyf.cc | 9 +++++++-- - .../crash-b577db318b30f2851828a4c9ef97cb30678b1b54 | Bin 0 -> - 22473 bytes - 2 files changed, 7 insertions(+), 2 deletions(-) - -commit 3531efdb4c641ef543ea0686fef9289307d52096 -Author: Garret Rieger -Date: Tue Mar 20 16:31:21 2018 -0700 - - [subset] Fixed out of bounds read when subsetting hdmx. - - src/hb-ot-hdmx-table.hh | 30 - ++++++++++++++++----- - .../crash-ccc61c92d589f895174cdef6ff2e3b20e9999a1a | Bin 0 -> 63302 bytes - test/api/test-subset-hdmx.c | 23 ++++++++++++++++ - 3 files changed, 47 insertions(+), 6 deletions(-) - -commit e597436b994c0a553e85e4c2dbd74aa037e69b60 -Author: Garret Rieger -Date: Tue Mar 20 13:00:49 2018 -0700 - - [subset] Disable glyf accelerator_t methods if it didn't successfully - init. - - src/hb-ot-glyf-table.hh | 7 ++++++- - .../crash-4b60576767ee4d9fe1cc10959d89baf73d4e8249 | Bin 0 -> 3140 bytes - test/api/test-subset.c | 23 - +++++++++++++++++++++ - 3 files changed, 29 insertions(+), 1 deletion(-) - -commit 7251181b56af564e2a9444f002f8ac03f98c7ee3 -Author: Garret Rieger -Date: Tue Mar 20 11:21:06 2018 -0700 - - [subset] Fix infinite loop in there are more then 32 tables. - - src/hb-subset.cc | 1 + - test/api/Makefile.am | 1 + - .../oom-6ef8c96d3710262511bcc730dce9c00e722cb653 | Bin 0 -> 24233 bytes - test/api/test-subset.c | 62 - +++++++++++++++++++++ - 4 files changed, 64 insertions(+) - -commit 1a94804d35d533d39849d21a177039c4cbfade98 -Author: Garret Rieger -Date: Mon Mar 19 18:39:22 2018 -0700 - - [subset] Add a fix for segfault in hmtx/vmtx subsetting code. - - src/hb-ot-hmtx-table.hh | 13 +++++++++++-- - test/api/test-subset-hmtx.c | 3 ++- - 2 files changed, 13 insertions(+), 3 deletions(-) - -commit 31281d6a17a03a124456a4cab54e31b248b41267 -Author: Garret Rieger -Date: Mon Mar 19 17:47:57 2018 -0700 - - [subset] Add a test demonstrating a seg fault while subsetting hmtx. - - .../crash-e4e0bb1458a91b692eba492c907ae1f94e635480 | Bin 0 -> 63302 bytes - test/api/test-subset-hmtx.c | 22 - +++++++++++++++++++++ - 2 files changed, 22 insertions(+) - -commit b5c7d6cffc2098dafa06822b28a5fd4f6218b60c -Author: Garret Rieger -Date: Fri Mar 16 10:20:21 2018 -0700 - - [subset] Restore subset to hb-subset-fuzzer. - - test/fuzzing/Makefile.am | 2 +- - test/fuzzing/hb-subset-fuzzer.cc | 2 -- - 2 files changed, 1 insertion(+), 3 deletions(-) - -commit 957e7756634a4fdf1654041e20e883cf964ecac9 -Author: Ebrahim Byagowi -Date: Mon Mar 19 12:19:42 2018 +0330 - - [dwrite] Use new again and enable the build on msys2 bots (#890) - - appveyor.yml | 7 ++++--- - src/hb-directwrite.cc | 19 ++++++++----------- - 2 files changed, 12 insertions(+), 14 deletions(-) - -commit 8d1b4082ae01b8fd87b2e83c89f670c1c7cfa0b1 -Author: Ebrahim Byagowi -Date: Sat Mar 17 01:05:03 2018 +0330 - - Appropriate fix for msys2 bot fail on gen-def.py (#894) - - src/Makefile.am | 2 +- - src/gen-def.py | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 7b4333b090a3adf04519ec853456cafff07dedf0 -Author: Ebrahim Byagowi -Date: Fri Mar 16 22:45:09 2018 +0330 - - Do feature test before adding -Bsymbolic-functions, autotools part - (#892) - - configure.ac | 2 +- - m4/ax_check_link_flag.m4 | 74 - ++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 75 insertions(+), 1 deletion(-) - -commit d68f00e4d8b061f56d3bd46d5ed1bc51406a4f1a -Author: Joel Winarske -Date: Fri Mar 16 12:14:27 2018 -0700 - - Do feature test before adding -Bsymbolic-functions, cmake part (#889) - - CMakeLists.txt | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 42d3271cc39050c9df5f8c7345322ae90592158e -Author: Ebrahim Byagowi -Date: Fri Mar 16 22:39:58 2018 +0330 - - [cmake] Don't hide symbols by default (#891) - - But keep use of cmake idiomatic way of making inlines hidden - - CMakeLists.txt | 17 ++--------------- - 1 file changed, 2 insertions(+), 15 deletions(-) - -commit 584693e0cb3585a910b18d7916d7e554ecdf619a -Author: Garret Rieger -Date: Thu Mar 15 18:27:01 2018 -0700 - - [subset] Test not linking libharfbuzz-subset-fuzzing into - hb-subset-fuzzer. - - test/fuzzing/Makefile.am | 2 +- - test/fuzzing/hb-subset-fuzzer.cc | 2 ++ - test/fuzzing/run-subset-fuzzer-tests.py | 2 +- - 3 files changed, 4 insertions(+), 2 deletions(-) - -commit 3f9361fe7a68896d2a5a44709ec08fe510144215 -Author: Garret Rieger -Date: Thu Mar 15 18:06:15 2018 -0700 - - [subset] Test hb-shape-fuzzer in run-subset-fuzzer-tests. - - test/fuzzing/run-subset-fuzzer-tests.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ce368e0d05147e70d8ad90383d748644b07f1d6f -Author: Garret Rieger -Date: Thu Mar 15 18:04:54 2018 -0700 - - [subset] make libharfbuzz-subset-fuzzing.la depend on lib target. - - test/fuzzing/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 85a57029cdad634f56aa3ccc768e72bcb03888e3 -Author: Garret Rieger -Date: Thu Mar 15 16:31:38 2018 -0700 - - [subset] %d -> %zu - - test/fuzzing/hb-subset-fuzzer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 318eea585329807477aab4eec173b561a08a46ca -Author: Garret Rieger -Date: Thu Mar 15 16:14:01 2018 -0700 - - [subset] Add some more logging to hb-subset-fuzzer. - - test/fuzzing/hb-subset-fuzzer.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 64bab8b3d009ed4327c2db9fa3425682de225810 -Author: Garret Rieger -Date: Thu Mar 15 16:12:00 2018 -0700 - - [subset] Fix run-shape-fuzzer-tests.py. It was generating incorrect - paths for input fonts. - - test/fuzzing/run-shape-fuzzer-tests.py | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 6f9a584371ba4a9a63be3fa89f46474047a43ceb -Author: Garret Rieger -Date: Thu Mar 15 15:41:08 2018 -0700 - - [subset] Add more verbose output for subset fuzzer test. - - test/fuzzing/run-shape-fuzzer-tests.py | 2 +- - test/fuzzing/run-subset-fuzzer-tests.py | 8 ++++++-- - 2 files changed, 7 insertions(+), 3 deletions(-) - -commit 0ce0f8781213f8f01b9ebc8cfa31434784899952 -Author: Garret Rieger -Date: Thu Mar 15 13:04:31 2018 -0700 - - [subset] Rename hb-fuzzer -> hb-shape-fuzzer. - - test/fuzzing/CMakeLists.txt | 16 - ++++++++-------- - test/fuzzing/Makefile.am | 16 - ++++++++-------- - test/fuzzing/{hb-fuzzer.cc => hb-shape-fuzzer.cc} | 0 - .../{run-fuzzer-tests.py => run-shape-fuzzer-tests.py} | 12 - ++++++------ - 4 files changed, 22 insertions(+), 22 deletions(-) - -commit 1e9bd6d5ff0af0189b6398c5e13cff11ee70762b -Author: Garret Rieger -Date: Wed Mar 14 19:58:15 2018 -0700 - - [subset] Add rub-subset-fuzzer-tests.py to dist files. - - test/fuzzing/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 474afaafd908a9c8174e05d693ac214ef2cc2597 -Author: Garret Rieger -Date: Wed Mar 14 19:15:33 2018 -0700 - - [subset] Add a test runner for hb-subset-fuzzer and cmake build - config. - - test/fuzzing/CMakeLists.txt | 9 +++++++++ - test/fuzzing/Makefile.am | 3 ++- - test/fuzzing/run-subset-fuzzer-tests.py | 31 - +++++++++++++++++++++++++++++++ - 3 files changed, 42 insertions(+), 1 deletion(-) - -commit aa9612d35f59f7f269fba4797c8da491844c56ec -Author: Garret Rieger -Date: Mon Mar 12 18:04:34 2018 -0700 - - [subset] Fix fuzzing build for hb-subset-fuzzer. - - src/Makefile.am | 19 +++---------------- - test/fuzzing/Makefile.am | 1 + - 2 files changed, 4 insertions(+), 16 deletions(-) - -commit b674fc1f9fa36857214ddaba3d32877f03ffec8c -Author: Garret Rieger -Date: Mon Mar 12 16:33:47 2018 -0700 - - [subset] Add missing destroy of subsetting result in subset fuzzer. - - test/fuzzing/hb-subset-fuzzer.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 1beb08862e9bd668599f0385d7ba59272fc24912 -Author: Garret Rieger -Date: Mon Mar 12 16:08:16 2018 -0700 - - [subset] First pass at setting up a fuzzing program for hb-subset. - - src/Makefile.am | 24 +++++++++++++++++++++++- - test/fuzzing/Makefile.am | 15 +++++++++++++++ - test/fuzzing/hb-subset-fuzzer.cc | 37 - +++++++++++++++++++++++++++++++++++++ - 3 files changed, 75 insertions(+), 1 deletion(-) - -commit 127096e4748d6381339342fc2750dd540e815fa5 -Author: Behdad Esfahbod -Date: Thu Mar 15 13:23:27 2018 -0700 - - [util] Remove line buffering - - Something weird seems to be going on. Just kill it. - - Fixes https://github.com/harfbuzz/harfbuzz/issues/888 - - configure.ac | 2 +- - util/options.cc | 12 ------------ - 2 files changed, 1 insertion(+), 13 deletions(-) - -commit e6e2ee2b923f8ab7c0694d4557375ba316e15dff -Author: Behdad Esfahbod -Date: Thu Mar 15 09:05:22 2018 -0700 - - Remove extra stdbool includes - - They are handled in our common header. - - test/api/test-subset-post.c | 2 -- - test/api/test-subset-vmtx.c | 2 -- - 2 files changed, 4 deletions(-) - -commit a0dccb6188d7a9174643c7239041cb1a5300b957 -Author: Behdad Esfahbod -Date: Wed Mar 14 16:31:53 2018 +0100 - - Add NameID - - src/hb-aat-layout-trak-table.hh | 8 ++++---- - src/hb-open-type-private.hh | 3 +++ - src/hb-ot-layout-common-private.hh | 10 +++++----- - src/hb-ot-var-fvar-table.hh | 6 +++--- - 4 files changed, 15 insertions(+), 12 deletions(-) - -commit 56946d21c0696ed6a098434537979396171c9bfb -Author: Behdad Esfahbod -Date: Wed Mar 14 16:26:33 2018 +0100 - - [color/COLR] Simplify - - src/hb-ot-color-colr-table.hh | 48 - +++---------------------------------------- - 1 file changed, 3 insertions(+), 45 deletions(-) - -commit 6418ae4e8a3f4681cb4e7d54c589562930bc0678 -Author: Behdad Esfahbod -Date: Wed Mar 14 16:18:42 2018 +0100 - - [color/COLR] Clean up - - src/hb-aat-layout-common-private.hh | 84 - ------------------------------------- - src/hb-open-type-private.hh | 84 - +++++++++++++++++++++++++++++++++++++ - src/hb-ot-color-colr-table.hh | 30 ++++++------- - 3 files changed, 99 insertions(+), 99 deletions(-) - -commit 150c53ee969876c2831b6165cb71655e7ce2dbdb -Author: Behdad Esfahbod -Date: Wed Mar 14 16:08:12 2018 +0100 - - [color/COLR] Fix bad sanitize - - Bad bad bad bad code. Don't do that. If compiler's not happy, - understand why. - - src/hb-ot-color-colr-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 399c800b93879186da2b7c892c7aa21468f062f2 -Author: Behdad Esfahbod -Date: Wed Mar 14 16:03:01 2018 +0100 - - [color/COLR] Clean up - - src/hb-ot-color-colr-table.hh | 32 +++++++++++++++++--------------- - 1 file changed, 17 insertions(+), 15 deletions(-) - -commit 9e337341d54c4ee12eec58e025a6831bb976d61f -Author: Behdad Esfahbod -Date: Wed Mar 14 15:52:53 2018 +0100 - - [color/cbdt] Clean up - - src/hb-ot-color-cbdt-table.hh | 112 - ++++++++++++++++++++---------------------- - 1 file changed, 54 insertions(+), 58 deletions(-) - -commit 86a0ac284fc4c2ce96354bfdf32878b6db5c77bd -Author: Behdad Esfahbod -Date: Wed Mar 14 15:51:33 2018 +0100 - - Revert "hb-private.hh: Add fallback implementation for round()" - - This reverts commit b9dcbb1f8312d8606b230f75594d40b7d4087004. - - This is gross. Should be only done if a specific macro is defined. Not - the other way - around. This fails my build as autotools companions where not - added anyway. - - src/hb-private.hh | 13 ------------- - 1 file changed, 13 deletions(-) - -commit 791d80a1d42ce0bd7c5f0a3d3d10c562a6161a82 -Merge: d4907e83 22de9bf5 -Author: Ebrahim Byagowi -Date: Thu Mar 15 11:40:52 2018 +0330 - - Merge pull request #886 from madig/only-export-visible-symbols - - CMake: hide symbols by default on non-MSVC, define export attribute - -commit 22de9bf56d80dbf6a13a06beafd21711bdab78af -Author: Nikolaus Waxweiler -Date: Wed Mar 14 10:29:24 2018 +0000 - - Enable implicit symbol hiding for all libraries, static and shared - - This covers all built libraries now and both static and shared builds. - - CMakeLists.txt | 35 +++++++++++++++++++++++------------ - 1 file changed, 23 insertions(+), 12 deletions(-) - -commit d4907e83ef8e0d03acb701957cc1ee9acacb0a19 -Author: Ebrahim Byagowi -Date: Wed Mar 14 11:04:28 2018 +0330 - - [dwrite] GCC/mingw/msys2 compatibility (#884) - - src/hb-directwrite.cc | 37 +++++++++++++++++++++---------------- - 1 file changed, 21 insertions(+), 16 deletions(-) - -commit 93f8f89dedd2f8cf5eb40165a20d009de24c5eda -Author: Ebrahim Byagowi -Date: Wed Mar 14 09:56:31 2018 +0330 - - [ci] Trying to fix gen-def issue on appveyor (#885) - - src/gen-def.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ce975dce7ae8950b6e7b9a2d0c00ead9d45f73ff -Author: Nikolaus Waxweiler -Date: Wed Mar 14 00:50:32 2018 +0000 - - CMake: hide symbols by default on non-MSVC, define export attribute - - This change makes sure that non-MSVC builds using CMake properly hide - non-exported functions. - - CMakeLists.txt | 20 ++++++++++++-------- - 1 file changed, 12 insertions(+), 8 deletions(-) - -commit a12dd6f75d85cf29ed78182ac97a12ebbcf77375 -Merge: 28f25f32 7c43adab -Author: Ebrahim Byagowi -Date: Wed Mar 14 02:54:07 2018 +0330 - - Merge pull request #877 from fanc999/master.msvc - - Fix CMake builds on Windows, MSVC in particular - -commit 7c43adab6deb9302a24cc857c4aaa9b6b62215d2 -Author: Chun-wei Fan -Date: Mon Mar 12 16:43:53 2018 +0800 - - CMake: Fix utility program installation - - Put in the utility program that was missed in installation by - replacing - the one that was duplicated. - - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e9b8002a6024d7a9b6de204897345ae77bb50881 -Author: Chun-wei Fan -Date: Mon Mar 12 16:23:57 2018 +0800 - - CMake: Fix introspection on Windows - - The list of source files to pass to g-ir-scanner is becoming too - long for Windows, as Windows imposes a 8192-character limit for - command - lines, so we need to first transform that list into a listings - file, and - then use the --filelist option for g-ir-scanner to build the - introspection files. - - CMakeLists.txt | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit 831d4a2dab1f229811c3a90b791f2a19c88fc1b5 -Author: Chun-wei Fan -Date: Mon Mar 12 13:48:55 2018 +0800 - - test/api: Fix building subset tests - - Include stdbool.h in hb-setset-test.h instead of in the individual - sources, if it is found; otherwise use a simplistic fallback for it if - it is not found. - - Also declare variables at the top of the block, to build on pre-C99 - compiliers. - - test/api/hb-subset-test.h | 17 +++++++++++++++-- - test/api/test-subset-cmap.c | 8 ++++---- - test/api/test-subset-glyf.c | 23 ++++++++++++++--------- - test/api/test-subset-hdmx.c | 8 ++++---- - test/api/test-subset-hmtx.c | 17 ++++++++++------- - test/api/test-subset-os2.c | 4 ++-- - 6 files changed, 49 insertions(+), 28 deletions(-) - -commit eda6a5ea807ba8a4e7fa20ad0273b394ed72d106 -Author: Chun-wei Fan -Date: Mon Mar 12 13:38:01 2018 +0800 - - CMake: Fix running tests on Windows - - For the API tests, output the test programs at $(TOP_BUILDDIR) so that - the freshly-built DLLs will be available for the test programs. For - those that are run through the Python wrapper scripts, use - ${PYTHON_EXECUTABLE} instead of plain 'python' in case the Python - interpreter is not in the PATH. - - test/api/CMakeLists.txt | 7 ++++++- - test/fuzzing/CMakeLists.txt | 2 +- - test/shaping/CMakeLists.txt | 4 ++-- - test/subset/CMakeLists.txt | 2 +- - 4 files changed, 10 insertions(+), 5 deletions(-) - -commit b9dcbb1f8312d8606b230f75594d40b7d4087004 -Author: Chun-wei Fan -Date: Mon Mar 12 13:33:03 2018 +0800 - - hb-private.hh: Add fallback implementation for round() - - Add a simplistic round() implementation for our purposes, used - when the - compiler does not support round() directly. - - src/hb-private.hh | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit 89dbabff65a39dfb0d9ad036516d5b96c37739de -Author: Chun-wei Fan -Date: Mon Mar 12 13:27:38 2018 +0800 - - configure.ac/CMake: Check for round() and stdbool.h - - Not all the compilers that HarfBuzz is buildable on supports round() - and - has the header stdbool.h, so we check for them and define HAVE_ROUND - and - HAVE_STDBOOL_H repsectively in our CFLAGS so that we include them only - when they are found, or use fallback implementations when necessary. - - Also include FindPythonInterp earlier as we need PYTHON_EXECUTABLE - to be - set for running the tests. - - CMakeLists.txt | 12 ++++++++++-- - configure.ac | 9 ++++++++- - 2 files changed, 18 insertions(+), 3 deletions(-) - -commit 28f25f32fc63c3e1ae0d04b6eb5ea6b729fb2228 -Author: Ebrahim Byagowi -Date: Mon Mar 12 14:00:11 2018 +0330 - - [ot-color/SVG] Minor (#878) - - src/hb-ot-color-svg-table.hh | 24 ++++++++++++++++-------- - 1 file changed, 16 insertions(+), 8 deletions(-) - -commit fb0f3e3767b488651f13978c1fd8651aefdd6b83 -Author: Behdad Esfahbod -Date: Sun Mar 11 20:38:40 2018 +0100 - - [sbix] Clean up - - src/hb-ot-color-sbix-table.hh | 70 - +++++++++++++++++++++++-------------------- - 1 file changed, 37 insertions(+), 33 deletions(-) - -commit 218fa7166e9626f2036d08882854a86d753e4192 -Author: Ebrahim Byagowi -Date: Sat Mar 10 11:13:52 2018 +0330 - - [ot-color] SVG table implementation (#874) - - src/Makefile.sources | 3 +- - src/hb-ot-color-svg-table.hh | 111 - +++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout.cc | 1 + - 3 files changed, 114 insertions(+), 1 deletion(-) - -commit 4c63c82383cba11f2c44c00cbc953863346e627c -Author: Ebrahim Byagowi -Date: Sat Mar 10 11:07:56 2018 +0330 - - [ot-color] sbix table implementation (#870) - - src/Makefile.sources | 1 + - src/hb-ot-color-sbix-table.hh | 128 - ++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout.cc | 1 + - 3 files changed, 130 insertions(+) - -commit 62b3d8fb7034c53e0804689d58e2eb7330e04430 -Author: Ebrahim Byagowi -Date: Sat Mar 10 00:44:36 2018 +0330 - - [dev-run] minor - - src/dev-run.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 743ef317619a57ebf5a75935db0eecccade5d5b7 -Merge: 9206762b 39b2f69f -Author: Garret Rieger -Date: Fri Mar 9 12:06:52 2018 -0700 - - Merge pull request #872 from googlefonts/drop-tables - - [subset] Drop the same tables by default as fontTools does. - -commit 9206762bbd4033e97d6d35ef1cce1b7940fbc935 -Author: Ebrahim Byagowi -Date: Fri Mar 9 15:43:03 2018 +0330 - - Make subset test runner compatible with py3 - - Fixes #873 - - test/subset/run-tests.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit dbadb871d1ca62eff10768564fc0a17b9aaa4d63 -Author: Ebrahim Byagowi -Date: Fri Mar 9 15:25:59 2018 +0330 - - [ci] Enable subset tests on ArchLinux to test - - This makes ArchLinux bots fail, a starting point to #873 - - .circleci/config.yml | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 39b2f69fab3b8aec1296dcda111d358559d39f0b -Author: Garret Rieger -Date: Thu Mar 8 16:30:36 2018 -0800 - - [subset] Drop the same tables by default as fontTools does. - - src/hb-subset.cc | 49 ++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 34 insertions(+), 15 deletions(-) - -commit dbe552770fa7cec91bba750e0e81aaeae96b3caf -Merge: 2ebf4c69 8548fa15 -Author: Garret Rieger -Date: Thu Mar 8 15:50:25 2018 -0700 - - Merge pull request #871 from googlefonts/mplus - - [subset] Add a Japanese font to the subset integration tests. - -commit 8548fa152241d6c5b020146f97aac15934ba0065 -Author: Garret Rieger -Date: Wed Mar 7 12:37:03 2018 -0800 - - [subset] Drop cmap 12, platform 0 tables from Mplus1p expected files. - - ...-Regular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 3040 -> - 3032 bytes - ...-Regular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 3276 -> - 3268 bytes - .../japanese/Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 2592 -> - 2584 bytes - ...-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3572 -> - 3564 bytes - .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 2356 -> - 2348 bytes - ...gular.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 2312 -> - 2304 bytes - ...gular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 2548 -> - 2540 bytes - .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 1864 -> - 1856 bytes - ...gular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 2844 -> - 2836 bytes - .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 1628 -> - 1620 bytes - 10 files changed, 0 insertions(+), 0 deletions(-) - -commit 9b00b9a10d5fdfd2d9deb1b0e847695797b7e09b -Author: Garret Rieger -Date: Tue Mar 6 17:47:40 2018 -0800 - - [subset] Fix deadlock waiting for process output in subset test - runner. - - test/subset/run-tests.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit bfec28a7db0631f42dd420a8c04638624e4602af -Author: Garret Rieger -Date: Tue Mar 6 15:43:08 2018 -0800 - - [subset] add some extra logging to subset run-tests.py. - - test/subset/run-tests.py | 2 ++ - 1 file changed, 2 insertions(+) - -commit c7d814eaa8e9af6c447124ceeaa896eb5e17abd7 -Author: Garret Rieger -Date: Thu Mar 1 18:20:00 2018 -0800 - - [subset] Add japanese font file to subset integration tests. - - test/subset/data/Makefile.am | 1 + - test/subset/data/Makefile.sources | 1 + - ...-Regular.default.3042,3044,3046,3048,304A,304B.ttf | Bin 0 -> - 3040 bytes - ...-Regular.default.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 0 -> - 3276 bytes - .../japanese/Mplus1p-Regular.default.61,63,65,6B.ttf | Bin 0 -> - 2592 bytes - ...-Regular.default.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 0 -> - 3572 bytes - .../japanese/Mplus1p-Regular.default.660E.ttf | Bin 0 -> - 2356 bytes - ...gular.drop-hints.3042,3044,3046,3048,304A,304B.ttf | Bin 0 -> - 2312 bytes - ...gular.drop-hints.3042,3044,3046,73E0,5EA6,8F38.ttf | Bin 0 -> - 2548 bytes - .../Mplus1p-Regular.drop-hints.61,63,65,6B.ttf | Bin 0 -> - 1864 bytes - ...gular.drop-hints.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 0 -> - 2844 bytes - .../japanese/Mplus1p-Regular.drop-hints.660E.ttf | Bin 0 -> - 1628 bytes - test/subset/data/fonts/Mplus1p-Regular.ttf | Bin 0 -> - 1758820 bytes - test/subset/data/tests/japanese.tests | 16 - ++++++++++++++++ - 14 files changed, 18 insertions(+) - -commit 2ebf4c69b18452caa0c871aebec9785e80348166 -Merge: 1ab51480 869ccac5 -Author: Garret Rieger -Date: Thu Mar 8 14:41:59 2018 -0700 - - Merge pull request #868 from googlefonts/post - - [subset] Drop glyph names from post when subsetting. - -commit 869ccac5ab69060f2db2893014b5538539fd4f45 -Author: Garret Rieger -Date: Thu Mar 8 11:06:49 2018 -0800 - - [subset] use create_sub_blob instead of manually copying the post - table. - - src/hb-ot-post-table.hh | 20 +++++++------------- - 1 file changed, 7 insertions(+), 13 deletions(-) - -commit ec47cd95ba6c550314a1cbcc46fafd7946e52ece -Author: Garret Rieger -Date: Wed Mar 7 10:33:02 2018 -0800 - - [subset] Unit test to check that post subsetting drops glyph names. - - test/api/Makefile.am | 2 + - ...lus1p-Regular.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 3572 -> - 3724 bytes - test/api/test-subset-post.c | 61 - +++++++++++++++++++++ - 3 files changed, 63 insertions(+) - -commit dd107699938740e261948e4b525fa0ad501beb03 -Author: Garret Rieger -Date: Tue Mar 6 18:33:39 2018 -0800 - - [subset] drop all glyph names from the post table. - - src/hb-ot-post-table.hh | 28 ++++++++++++++++++++++++++++ - src/hb-subset.cc | 4 ++++ - 2 files changed, 32 insertions(+) - -commit 1ab514805ced190efdabc2103e4800d40b248300 -Merge: 70ad69f2 362f2824 -Author: Garret Rieger -Date: Wed Mar 7 12:36:00 2018 -0700 - - Merge pull request #867 from googlefonts/vmtx - - [subset] Add vmtx subsetting. - -commit 362f28240683fde395ff52f4fc1216fbc7131452 -Author: Garret Rieger -Date: Wed Mar 7 11:08:55 2018 -0800 - - [subset] fix author. - - test/api/test-subset-vmtx.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 89465cb1c7b8ab61c0ef4887f51572ba91039f3e -Author: Garret Rieger -Date: Wed Mar 7 10:29:15 2018 -0800 - - [subset] s/hmetrics/vmetrics. - - test/api/test-subset-vmtx.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 91867cda6ae5ae063482b28b0a52ebc30718cb40 -Author: Garret Rieger -Date: Wed Mar 7 10:17:06 2018 -0800 - - [subset] cleanup. - - src/hb-subset.cc | 2 +- - test/api/test-subset-vmtx.c | 3 +-- - 2 files changed, 2 insertions(+), 3 deletions(-) - -commit d9263f0230693d108249be0904bc5a3280560cb3 -Author: Garret Rieger -Date: Tue Mar 6 15:40:35 2018 -0800 - - [subset] add unit tests for vmtx subsetting. - - test/api/Makefile.am | 2 + - ...lus1p-Regular.660E,6975,73E0,5EA6,8F38,6E05.ttf | Bin 0 -> 3572 bytes - test/api/fonts/Mplus1p-Regular.660E.ttf | Bin 0 -> 2356 bytes - test/api/test-subset-vmtx.c | 100 - +++++++++++++++++++++ - 4 files changed, 102 insertions(+) - -commit 0e8f9430c83c076993a0c7a320713bb484051343 -Author: Garret Rieger -Date: Tue Mar 6 13:08:20 2018 -0800 - - [subset] Skip subsetting vhea. - - src/hb-subset.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 64cf53d6197a0e6c56aef744ceff2f8a0ff85654 -Author: Garret Rieger -Date: Fri Mar 2 17:33:49 2018 -0800 - - [subset] Subset vmtx if present. - - src/hb-ot-hmtx-table.hh | 2 +- - src/hb-subset.cc | 3 +++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit 70ad69f2449d754fcc5270ff3ca3848a77f4c7af -Author: Behdad Esfahbod -Date: Wed Mar 7 16:11:44 2018 +0100 - - [test] Fix build with older glib - - test/api/hb-subset-test.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ff2f81432bb0484a019a678058595e10217df51d -Author: Behdad Esfahbod -Date: Wed Mar 7 16:05:14 2018 +0100 - - 1.7.6 - - NEWS | 15 +++++++++++++++ - configure.ac | 2 +- - src/hb-version.h | 4 ++-- - 3 files changed, 18 insertions(+), 3 deletions(-) - -commit ac2ece3e153167224c85cc384e2826ea9711a8b5 -Author: Behdad Esfahbod -Date: Wed Mar 7 15:52:42 2018 +0100 - - [ot] Comment out AAT include - - src/hb-ot-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 23a9ac993862b4a9032d38e80491a769b7ee86da -Author: Behdad Esfahbod -Date: Wed Mar 7 15:51:42 2018 +0100 - - Remove hb-ot-color.h - - So I can make a release. - - src/Makefile.sources | 1 - - src/hb-ot-color-cpal-table.hh | 48 +++++++++++++++++++++++++ - src/hb-ot-color.h | 81 - ------------------------------------------- - src/hb-ot.h | 1 - - 4 files changed, 48 insertions(+), 83 deletions(-) - -commit 790a11700773dd664e4d5edac63c404c5ebce080 -Author: Behdad Esfahbod -Date: Wed Mar 7 15:31:15 2018 +0100 - - [ot] Remove hb-ot-base.h - - BASE table API will go into hb-ot-layout.h. - - src/Makefile.sources | 1 - - src/hb-ot-base.h | 56 - ------------------------------------------ - src/hb-ot-layout-base-table.hh | 1 - - src/hb-ot-layout.h | 16 ++++++++++++ - src/hb-ot.h | 1 - - 5 files changed, 16 insertions(+), 59 deletions(-) - -commit f014a124f582215fa96afc28b534a1ca0bf17167 -Author: Behdad Esfahbod -Date: Wed Mar 7 10:49:26 2018 +0100 - - [set] Fix algebra - - Was totally b0rked. Ouch! - - Fixes https://github.com/harfbuzz/harfbuzz/issues/863 - - src/hb-set-private.hh | 20 +++++++++++++++++--- - 1 file changed, 17 insertions(+), 3 deletions(-) - -commit 7587683cdce8ee9b7f07bae82aa1bb163e79ab92 -Author: Behdad Esfahbod -Date: Wed Mar 7 09:55:22 2018 +0100 - - [set] Minor - - In preparation to fix https://github.com/harfbuzz/harfbuzz/issues/863 - - Binary operations are sets are completely broken. Ouch. - - src/hb-set-private.hh | 21 ++++++++++++++------- - 1 file changed, 14 insertions(+), 7 deletions(-) - -commit e4cbb87bd3512c3a6e97ea3923ecd1b26b0a1251 -Author: Behdad Esfahbod -Date: Wed Mar 7 09:37:22 2018 +0100 - - Minor - - src/hb-ot-color-colr-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c6150333c29b458ed34858f24e94acc0f771aa0b -Author: Behdad Esfahbod -Date: Wed Mar 7 09:27:16 2018 +0100 - - Sign - - src/test-unicode-ranges.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9a6f9b4d4284f0378a71a181fe216d97c913669e -Author: Garret Rieger -Date: Tue Mar 6 13:46:51 2018 -0800 - - [set] add a test demonstrating a bug in hb_set_union. - - test/api/test-set.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 9b4a5d7ef1ec068042e3c793845a4dbc3308d4b7 -Author: Ebrahim Byagowi -Date: Wed Mar 7 00:23:40 2018 +0330 - - [ci] Enable -Werror=unused (#862) - - .travis.yml | 4 ++-- - src/hb-ot-glyf-table.hh | 1 - - 2 files changed, 2 insertions(+), 3 deletions(-) - -commit 54cbe6702c1e4c934c60512367abaf801294c1bb -Author: Ebrahim Byagowi -Date: Tue Mar 6 16:41:08 2018 +0330 - - [ot-color] Further improvements on COLR/CPAL implementation (#859) - - * Implemented a bsearch on get_base_glyph_record - * Made get_color_record_argb actually work - - src/hb-ot-color-colr-table.hh | 35 ++++++++++++++----------- - src/hb-ot-color-cpal-table.hh | 59 - +++++++++++++++---------------------------- - src/hb-ot-color.h | 12 ++------- - 3 files changed, 42 insertions(+), 64 deletions(-) - -commit 18d14b8e0d5d28106800ebf835ff3155a4f4de7c -Author: Ebrahim Byagowi -Date: Mon Mar 5 14:25:11 2018 +0330 - - [dev-run] an option to open using a GUI app - - src/dev-run.sh | 22 ++++++++++++++++++---- - 1 file changed, 18 insertions(+), 4 deletions(-) - -commit 1db83954948dfae3f75f61c535c5de1b3a843a69 -Author: Ebrahim Byagowi -Date: Mon Mar 5 13:02:50 2018 +0330 - - [ci] minor, bring back the removed assertion - - .ci/run-coveralls.sh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5895fe3d4d0441dacf8989740cf4150193397796 -Author: Ebrahim Byagowi -Date: Mon Mar 5 12:58:34 2018 +0330 - - [ci] minor - - .ci/trigger-coverity.sh | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit a3e29fd38f01b26b6306f9f7142a54cc7d6c6080 -Author: Ebrahim Byagowi -Date: Sun Mar 4 02:56:27 2018 +0330 - - [aat/kerx] Add a TODO - - src/hb-aat-layout-kerx-table.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 0ef6ab25ab4456e387711ae246900486ad738d26 -Author: Ebrahim Byagowi -Date: Sun Mar 4 02:47:26 2018 +0330 - - [ot-color] Move cbdt to the namespace (#860) - - src/Makefile.sources | 2 +- - src/{hb-ot-cbdt-table.hh => hb-ot-color-cbdt-table.hh} | 6 +++--- - src/hb-ot-font.cc | 3 ++- - 3 files changed, 6 insertions(+), 5 deletions(-) - -commit 6659cb56fae0c900ae88e95bedcb3b76234c8838 -Author: Ebrahim Byagowi -Date: Sun Mar 4 02:31:53 2018 +0330 - - [ci] Remove --coverage as use of --enable-code-coverage - - .travis.yml | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 00dd321ace75ff0d1824cf75cd41490c5dd6ad76 -Author: Ebrahim Byagowi -Date: Sat Mar 3 23:26:11 2018 +0330 - - [ci] Don't run coveralls on freetype folder - - .travis.yml | 1 + - 1 file changed, 1 insertion(+) - -commit f50aedd371f1a6894d1bf7732f017b51cbdd59bd -Author: Ebrahim Byagowi -Date: Sat Mar 3 23:17:36 2018 +0330 - - [ci] Remove failing check on run-coveralls - - .ci/run-coveralls.sh | 2 -- - 1 file changed, 2 deletions(-) - -commit a0031c120e3ac5c059b81a004b9386fab3d662fc -Author: Ebrahim Byagowi -Date: Sat Mar 3 23:09:25 2018 +0330 - - Add lcov tool for coverage tests - - .travis.yml | 1 + - 1 file changed, 1 insertion(+) - -commit ecef95b21264347f9505e3ed4fb25ec7e4ccca5d -Author: Ebrahim Byagowi -Date: Sat Mar 3 23:03:13 2018 +0330 - - [ci] Enable code coverage on Travis Linux builds - - .travis.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f7399796a1ed36cfc4f1ef7631584569baa80981 -Author: Ebrahim Byagowi -Date: Sat Mar 3 22:55:09 2018 +0330 - - Enable coverage test on autotools (#857) - - configure.ac | 1 + - m4/ax_code_coverage.m4 | 264 - +++++++++++++++++++++++++++++++++++++++++++++++++ - src/Makefile.am | 6 +- - 3 files changed, 269 insertions(+), 2 deletions(-) - -commit c446c23f0f09e541891b49184febdfc75cb3505f -Author: Ebrahim Byagowi -Date: Sat Mar 3 22:43:23 2018 +0330 - - [ot-color] Move the related tables to hb-ot-color-* (#858) - - src/Makefile.sources | 4 ++-- - src/{hb-ot-colr-table.hh => hb-ot-color-colr-table.hh} | 6 +++--- - src/{hb-ot-cpal-table.hh => hb-ot-color-cpal-table.hh} | 6 +++--- - src/hb-ot-color.cc | 4 ++-- - src/hb-ot-layout.cc | 4 ++-- - 5 files changed, 12 insertions(+), 12 deletions(-) - -commit 48ed15a2bcdc1999e2d39fdcb2644ba4c3beccfe -Author: Ebrahim Byagowi -Date: Sat Mar 3 22:00:29 2018 +0330 - - [COLR/CPAL] Provide enough helper for rasterization (#855) - - src/hb-ot-colr-table.hh | 47 - ++++++++++++++++++++++++++++++++++++++++++++--- - src/hb-ot-cpal-table.hh | 18 +++++++++++++++--- - 2 files changed, 59 insertions(+), 6 deletions(-) - -commit 432758a7ac3c1a857e67069f157efbf4ebf5521b -Author: Ebrahim Byagowi -Date: Sat Mar 3 01:05:59 2018 +0330 - - [COLR] Revert previous sanitization on the table - - That sanitization wasn't right, firstLayerIndex is an index from - beginning of the Layer Records - not the table itself. - - src/hb-ot-colr-table.hh | 23 ++++++----------------- - 1 file changed, 6 insertions(+), 17 deletions(-) - -commit 71b4598ea37b316571bae22ced2f1b38185c9f44 -Author: Ebrahim Byagowi -Date: Fri Mar 2 11:04:09 2018 +0330 - - [aat/kerx] Improve format 6 subtable - - src/hb-aat-layout-kerx-table.hh | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -commit b73a5a1c240478616827529c94f0133018f9f790 -Author: Ebrahim Byagowi -Date: Fri Mar 2 00:07:26 2018 +0330 - - [aat/kerx] Make parsing of the table actually work (#850) - - src/hb-aat-layout-kerx-table.hh | 298 - +++++++++++++++++----------------------- - 1 file changed, 124 insertions(+), 174 deletions(-) - -commit a570edcde2f89e59b5ccd4867a8c0eed084bf35d -Author: Ebrahim Byagowi -Date: Fri Mar 2 00:06:03 2018 +0330 - - [COLR] Sanitize BaseGlyphRecord (#854) - - src/hb-ot-colr-table.hh | 27 ++++++++++++++++++--------- - 1 file changed, 18 insertions(+), 9 deletions(-) - -commit 7e958646a4a825bfe3aac56ddb96100d68c5592c -Author: Ebrahim Byagowi -Date: Thu Mar 1 10:27:18 2018 +0330 - - [CPAL] Fix version checking logic on sanitizer (#851) - - src/hb-ot-cpal-table.hh | 14 ++++++-------- - 1 file changed, 6 insertions(+), 8 deletions(-) - -commit bcf578fefe6d7af0a962329ceb9989ce61ec467d -Author: Behdad Esfahbod -Date: Wed Feb 28 16:31:46 2018 -0800 - - [test] Add test suite for Brahmi Number Joiners - - https://github.com/harfbuzz/harfbuzz/pull/660 - - .../fonts/1ed7e9064f008f62de6ff0207bb4dd29409597a5.ttf | Bin 0 -> - 2768 bytes - test/shaping/data/in-house/tests/use-syllable.tests | 1 + - test/shaping/record-test.sh | 2 +- - 3 files changed, 2 insertions(+), 1 deletion(-) - -commit b4ba71ea7ccce70e24138373774741c7f03dd24e -Author: Garret Rieger -Date: Wed Feb 28 15:44:00 2018 -0800 - - [subset] In subset integration test pass output through ots-sanitize - if present. - - test/subset/run-tests.py | 25 +++++++++++++++++++++++-- - 1 file changed, 23 insertions(+), 2 deletions(-) - -commit 588a4e0f9b2d71362503a274de7200f3eb4367f7 -Merge: 55a4dfa3 b3f1a045 -Author: rsheeter -Date: Wed Feb 28 13:52:29 2018 -0800 - - Merge pull request #845 from googlefonts/drophints - - [subset] drop hints from composites - -commit b3f1a045a8b86747afce6bc154f2a166ea678efb -Author: Rod Sheeter -Date: Wed Feb 28 11:41:24 2018 -0800 - - [subset] kick the build - - src/hb-subset-glyf.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 20d57399235b410d2bdc98103c8bb3dfd1c34176 -Author: Rod Sheeter -Date: Wed Feb 28 11:15:08 2018 -0800 - - [subset] extract a method to flip off composite instruction flag - - src/hb-subset-glyf.cc | 24 +++++++++++++++--------- - 1 file changed, 15 insertions(+), 9 deletions(-) - -commit 55a4dfa374bae1db846c3b848b7e59fb0014b627 -Author: Ebrahim Byagowi -Date: Wed Feb 28 15:43:23 2018 +0330 - - Use old project location of coverity - - https://github.com/harfbuzz/harfbuzz/commit/8089711a61687d565f207c56d3d2b658f514d7ab#commitcomment-27835452 - - .travis.yml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 3821978bcd92cbdb607111452796e051c456f391 -Merge: 77227462 f671f7f0 -Author: Ebrahim Byagowi -Date: Wed Feb 28 13:30:17 2018 +0330 - - Merge pull request #847 from ebraminio/colr - - [colr] Implement - -commit f671f7f0a8caa7b5763e00146e1ec4b9a7258227 -Author: Ebrahim Byagowi -Date: Wed Feb 28 13:19:40 2018 +0330 - - [colr] Implement - - src/Makefile.sources | 1 + - src/hb-ot-color.cc | 9 +++++ - src/hb-ot-color.h | 9 ----- - src/hb-ot-colr-table.hh | 98 - +++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-cpal-table.hh | 6 +-- - src/hb-ot-layout-private.hh | 6 ++- - src/hb-ot-layout.cc | 11 +++-- - 7 files changed, 122 insertions(+), 18 deletions(-) - -commit 772274625e9f17d726f2a1da8192ec3ec24793a3 -Merge: 0eec3315 5b9c2340 -Author: Ebrahim Byagowi -Date: Wed Feb 28 12:05:49 2018 +0330 - - Merge pull request #841 from ebraminio/color - - Support CPAL table - -commit 0eec33154a418fba97a08be7169b59e748b7e785 -Author: Ebrahim Byagowi -Date: Wed Feb 28 11:53:39 2018 +0330 - - [cmake] cleanup (#846) - - CMakeLists.txt | 70 - ++++++++++++++++++++----------------------------- - test/api/CMakeLists.txt | 2 +- - 2 files changed, 30 insertions(+), 42 deletions(-) - -commit 5b9c234043d0483e53e9da5fe4afd7743190b538 -Author: Ebrahim Byagowi -Date: Tue Feb 27 22:56:17 2018 +0330 - - [CPAL] Refactor and address the reviews - - NEWS | 3 +- - src/Makefile.am | 1 - - src/hb-ot-color.cc | 70 +++---------- - src/hb-ot-color.h | 31 +++--- - src/hb-ot-cpal-table.hh | 116 - +++++++++++++++------ - src/hb-ot-layout-private.hh | 3 +- - src/hb-ot-layout.cc | 5 +- - test/api/hb-test.h | 2 + - test/api/test-ot-color.c | 39 +++---- - .../319f5d7ebffbefc5c5e6569f8cea73444d7a7268.ttf | Bin - .../e90374e5e439e00725b4fe7a8d73db57c5a97f82.ttf | Bin - 11 files changed, 141 insertions(+), 129 deletions(-) - -commit 6836a821428b714b9f2e95d5c4ebbd73867d9a53 -Author: Rod Sheeter -Date: Tue Feb 27 20:51:12 2018 -0800 - - [subset] remove WE_HAVE_INSTRUCTIONS from composites when dropping - hints - - src/hb-subset-glyf.cc | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -commit ffcb5cbf71b312cdd4606a3285e10e201ff5bccd -Author: Rod Sheeter -Date: Tue Feb 27 20:17:04 2018 -0800 - - [subset] update the test file for composite, fix an offset calculation - - src/hb-ot-glyf-table.hh | 2 +- - test/api/fonts/Roboto-Regular.components.1fc.nohints.ttf | Bin 0 -> - 932 bytes - test/api/test-subset-glyf.c | 5 ++--- - 3 files changed, 3 insertions(+), 4 deletions(-) - -commit c8b230e4377bc8e80d37835a229511ce0e30cc47 -Merge: b3790a65 904dd7be -Author: Rod Sheeter -Date: Tue Feb 27 17:25:32 2018 -0800 - - Merge branch 'expand-tests' of github.com:googlefonts/harfbuzz - into drophints - -commit 904dd7beea756fd7429fad36f5c37321aedb4e81 -Author: Garret Rieger -Date: Tue Feb 27 14:33:36 2018 -0800 - - [subset] Add drop hinting profile to full-font.tests - - .../Roboto-Regular.drop-hints.1FC,21,41,20,62,63.ttf | Bin 0 -> - 2152 bytes - .../full-font/Roboto-Regular.drop-hints.61,62,63.ttf | Bin 0 -> - 1968 bytes - test/subset/data/tests/full-font.tests | 1 + - 3 files changed, 1 insertion(+) - -commit 70a1049b3f8dc241fcb9b524bd010f0c1606f6ad -Author: Garret Rieger -Date: Tue Feb 27 14:28:50 2018 -0800 - - [subset] Add a drop hints profile to basics.tests - - .../basics/Roboto-Regular.abc.drop-hints.61,62,63.ttf | Bin 0 -> - 876 bytes - .../basics/Roboto-Regular.abc.drop-hints.61,63.ttf | Bin 0 -> - 792 bytes - .../expected/basics/Roboto-Regular.abc.drop-hints.61.ttf | Bin 0 -> - 684 bytes - .../expected/basics/Roboto-Regular.abc.drop-hints.62.ttf | Bin 0 -> - 652 bytes - .../expected/basics/Roboto-Regular.abc.drop-hints.63.ttf | Bin 0 -> - 656 bytes - test/subset/data/profiles/drop-hints.txt | 1 + - test/subset/data/tests/basics.tests | 1 + - 7 files changed, 2 insertions(+) - -commit 5241d7f4b999d5457de564bd950b60d70f9d0e19 -Author: Garret Rieger -Date: Tue Feb 27 13:15:40 2018 -0800 - - [subset] apply subset profiles (flags) to the subset integration - tests. - - test/subset/generate-expected-outputs.py | 27 ++++++++++++++------------- - test/subset/run-tests.py | 3 ++- - test/subset/subset_test_suite.py | 11 ++++++++--- - 3 files changed, 24 insertions(+), 17 deletions(-) - -commit a4aca190a93f94c25c906ec0269183d8b2d0b5e8 -Author: Garret Rieger -Date: Tue Feb 27 11:36:16 2018 -0800 - - [subset] add expected/full-font to dist files. - - test/subset/data/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit d31ace32740b1777ebb023ffdb10cd0cfec3997e -Author: Garret Rieger -Date: Mon Feb 26 18:51:56 2018 -0800 - - [subset] Add subset integration tests using the full roboto font. - - test/subset/data/Makefile.sources | 1 + - .../Roboto-Regular.default.1FC,21,41,20,62,63.ttf | Bin 0 -> - 3700 bytes - .../full-font/Roboto-Regular.default.61,62,63.ttf | Bin 0 -> - 3320 bytes - test/subset/data/fonts/Roboto-Regular.ttf | Bin 0 -> - 171676 bytes - test/subset/data/tests/full-font.tests | 10 ++++++++++ - test/subset/generate-expected-outputs.py | 12 ++++++++---- - 6 files changed, 19 insertions(+), 4 deletions(-) - -commit 33f4381314c5248b8b112e344af7548806f93a82 -Author: Garret Rieger -Date: Mon Feb 26 18:39:09 2018 -0800 - - [subset] Add some more variations of the basic test. - - .../basics/Roboto-Regular.abc.default.61,62,63.ttf | Bin 0 -> - 2120 bytes - .../expected/basics/Roboto-Regular.abc.default.61,63.ttf | Bin 0 -> - 1932 bytes - .../expected/basics/Roboto-Regular.abc.default.61.ttf | Bin 0 -> - 1744 bytes - .../expected/basics/Roboto-Regular.abc.default.63.ttf | Bin 0 -> - 1668 bytes - test/subset/data/tests/basics.tests | 4 ++++ - 5 files changed, 4 insertions(+) - -commit b3790a65a18e8402b2b09dfc24aaea40a51de569 -Author: Rod Sheeter -Date: Tue Feb 27 17:23:30 2018 -0800 - - [subset] add a (failing for now) test for composite glyf hint dropping - - src/hb-ot-glyf-table.hh | 8 ++++---- - test/api/test-subset-glyf.c | 27 +++++++++++++++++++++++++-- - 2 files changed, 29 insertions(+), 6 deletions(-) - -commit 4c6023f861a4b87782c17ac626ffee7e93f15fc8 -Merge: d7633d0a 921b65cb -Author: Garret Rieger -Date: Tue Feb 27 17:06:27 2018 -0700 - - Merge pull request #842 from googlefonts/maxp - - [subset] when dropping hints, clear hint related fields in maxp. - -commit 921b65cbc29f0c2c9c13e9fb272dafe4c8a14591 -Author: Garret Rieger -Date: Tue Feb 27 14:37:18 2018 -0800 - - [subset] minor fixes in hb-ot-maxp-table.hh - - src/hb-ot-maxp-table.hh | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -commit b26db48bfff804e139331817a86ecc811547afcd -Author: Garret Rieger -Date: Tue Feb 27 14:14:05 2018 -0800 - - [subset] whitespace for hb-ot-maxp-table.hh - - src/hb-ot-maxp-table.hh | 30 +++++++++++++++--------------- - 1 file changed, 15 insertions(+), 15 deletions(-) - -commit a76344da796670f33b2fa48a9b1676545dac93c2 -Author: Garret Rieger -Date: Tue Feb 27 14:11:36 2018 -0800 - - [subset] Add maxpV1Tail instead of defining a struct inside maxp - for v1 data. - - src/hb-ot-maxp-table.hh | 81 - ++++++++++++++++++++++++++++++------------------- - 1 file changed, 49 insertions(+), 32 deletions(-) - -commit f14d1b64c2d148ffdec95c17adbee3f185d5d436 -Author: Garret Rieger -Date: Tue Feb 27 13:49:00 2018 -0800 - - [subset] when dropping hints, clear hint related fields in maxp. - - src/hb-ot-maxp-table.hh | 43 - ++++++++++++++++++++++++++++++++++++++++--- - test/api/test-subset-glyf.c | 30 +++++++++++++++++++++++------- - 2 files changed, 63 insertions(+), 10 deletions(-) - -commit d7633d0a4091c025638ba3fc8fb0d8e9a0e9ff8c -Author: Behdad Esfahbod -Date: Tue Feb 27 12:50:57 2018 -0800 - - [BASE] More - - src/hb-ot-layout-base-table.hh | 153 - ++++------------------------------------- - 1 file changed, 12 insertions(+), 141 deletions(-) - -commit 7a70c20fec6ece9e729dc2634e2896a8d8eb9962 -Author: Behdad Esfahbod -Date: Tue Feb 27 12:45:26 2018 -0800 - - [BASE] Clean up first 29% - - src/hb-ot-layout-base-table.hh | 262 - +++++++++++++++++++---------------------- - src/hb-ot-layout-gsub-table.hh | 2 +- - 2 files changed, 125 insertions(+), 139 deletions(-) - -commit 101850f9e6b9e0932fe1dd4169f88d6764c669c1 -Merge: 5967eaba f110c0c8 -Author: Ebrahim Byagowi -Date: Tue Feb 27 20:15:54 2018 +0330 - - Merge with master - -commit f110c0c8866c853c0d5a930564a2b69231a33322 -Merge: 4a1d51ef 0ad8c663 -Author: Ebrahim Byagowi -Date: Tue Feb 27 11:41:12 2018 +0330 - - Merge pull request #838 from harfbuzz/BASE - - BASE table - -commit 0ad8c663e0b4602e2a413e77a8158bf8a46755d5 -Author: Ebrahim Byagowi -Date: Mon Feb 26 12:45:08 2018 +0330 - - Remove public API of the branch - - src/hb-ot-base.h | 4 ++-- - src/hb-ot-layout-base-table.hh | 20 +++++++++--------- - src/hb-ot-layout.cc | 48 - ++++++++++++++++++++---------------------- - 3 files changed, 35 insertions(+), 37 deletions(-) - -commit 4a1d51ef15a423706406f784a146078073147885 -Merge: d0caf7e5 903771b6 -Author: rsheeter -Date: Mon Feb 26 20:23:41 2018 -0800 - - Merge pull request #818 from googlefonts/drophints - - [subset] Drop hints - -commit 903771b6c7689b9eee9a11bac128c42f39833b2e -Author: Rod Sheeter -Date: Mon Feb 26 19:50:06 2018 -0800 - - [subset] clearer name for trim() and better comment about composite - handling, per review feedback - - src/hb-ot-glyf-table.hh | 8 +++++--- - src/hb-subset-glyf.cc | 17 ++++++++--------- - 2 files changed, 13 insertions(+), 12 deletions(-) - -commit d0caf7e5e3294c25230ed0e5580c647fa0f1a2c8 -Merge: 6c844ae8 44dc36dd -Author: Garret Rieger -Date: Mon Feb 26 19:24:18 2018 -0700 - - Merge pull request #840 from googlefonts/os2 - - [subset] During os2 subsetting update ulUnicodeRange[]c - -commit 44dc36dd82fc948a15e2ad0d605eb4a466b3553d -Author: Garret Rieger -Date: Mon Feb 26 17:56:23 2018 -0800 - - [subset] update to comment in hb-ot-os2-unicode-ranges.hh - - src/hb-ot-os2-unicode-ranges.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ad3f2f77dafdee524e836e732077ee9670602369 -Author: Garret Rieger -Date: Mon Feb 26 17:51:27 2018 -0800 - - [subset] small cleanups in hb-ot-os2-table. - - src/hb-ot-os2-table.hh | 5 +++-- - src/hb-ot-os2-unicode-ranges.hh | 2 +- - 2 files changed, 4 insertions(+), 3 deletions(-) - -commit f1c8fc3487d5c5efb8ee1804acb07e6e282d3bc5 -Author: Garret Rieger -Date: Mon Feb 26 17:48:51 2018 -0800 - - [subset] small updates to gen-unicode-ranges.py - - src/gen-unicode-ranges.py | 6 ++++-- - src/hb-ot-os2-unicode-ranges.hh | 3 ++- - 2 files changed, 6 insertions(+), 3 deletions(-) - -commit 0c0fe2ff8209228f2ddfce464b7b6f1b1ee1654a -Author: Garret Rieger -Date: Mon Feb 26 17:47:10 2018 -0800 - - [subset] Move util/generated-unicode-ranges.py to - src/gen-unicode-ranges.py - - util/generate-unicode-ranges.py => src/gen-unicode-ranges.py | 0 - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit f630ae5161bfc8420f9ae0127fd8c7f447874fdd -Author: Garret Rieger -Date: Mon Feb 26 17:46:17 2018 -0800 - - [subset] unsigned int -> hb_codepoint_t. - - src/hb-ot-os2-unicode-ranges.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 6368ce4c927b1457cf19945d5957e91d4621dc8b -Author: Garret Rieger -Date: Mon Feb 26 17:44:39 2018 -0800 - - [subset] const in _compare_range. - - src/hb-ot-os2-unicode-ranges.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 0be9fea0a96701b159a9db190e55b1c3efc38a28 -Author: Garret Rieger -Date: Mon Feb 26 16:15:09 2018 -0800 - - [subset] Add comment to os2UnicodeRangesSorted. - - src/hb-ot-os2-unicode-ranges.hh | 1 + - 1 file changed, 1 insertion(+) - -commit e20ab71d12b032371b830b76462e5e979d963b58 -Author: Garret Rieger -Date: Mon Feb 26 16:13:10 2018 -0800 - - [subset] Fix incorrect index. - - src/hb-ot-os2-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 074b5a29a166d1812abc7229a71af4a3bb311536 -Author: Garret Rieger -Date: Mon Feb 26 16:11:24 2018 -0800 - - [subset] Add special case handling of bit 57 in os2 ulUnicodeRange. - - src/hb-ot-os2-table.hh | 7 +++++++ - src/test-unicode-ranges.cc | 3 --- - 2 files changed, 7 insertions(+), 3 deletions(-) - -commit ddc4f2b9fc5566e70558a57133289f84d467cc98 -Author: Garret Rieger -Date: Mon Feb 26 15:59:32 2018 -0800 - - [subset] Add python util that was used to generated - hb-ot-os2-unicode-ranges.hh - - util/generate-unicode-ranges.py | 50 - +++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 50 insertions(+) - -commit f757757eda5f00a89a156e3427bdf8c4313611ef -Author: Garret Rieger -Date: Mon Feb 26 15:56:36 2018 -0800 - - [subset] Add cmake build def for test-unicode-ranges. - - CMakeLists.txt | 2 +- - src/Makefile.am | 1 - - 2 files changed, 1 insertion(+), 2 deletions(-) - -commit f82f2a3e50805503d93aa1aa1ccb27da4967a14a -Author: Garret Rieger -Date: Mon Feb 26 15:52:01 2018 -0800 - - [subset] Rename hb-os2-unicode-ranges.cc to test-unicode-ranges.cc. - - src/Makefile.am | 2 +- - src/{hb-ot-os2-unicode-ranges.cc => test-unicode-ranges.cc} | 0 - 2 files changed, 1 insertion(+), 1 deletion(-) - -commit 4014555ca083dea3e4f42120aeaf52a2186b8a09 -Author: Garret Rieger -Date: Mon Feb 26 15:50:13 2018 -0800 - - [subset] set ulUnicodeRange[] in os2. - - src/Makefile.sources | 1 - - src/hb-ot-os2-table.hh | 23 ++++- - src/hb-ot-os2-unicode-ranges.cc | 221 - ++-------------------------------------- - src/hb-ot-os2-unicode-ranges.hh | 210 - +++++++++++++++++++++++++++++++++++++- - 4 files changed, 236 insertions(+), 219 deletions(-) - -commit a570142d0c6d819feeeeb9e209fc90a33c1c2b48 -Author: Garret Rieger -Date: Mon Feb 26 15:20:23 2018 -0800 - - [subset] Move hb-ot-os2-unicode-ranges into a cc file with a helper - methods and tests. - - src/Makefile.am | 9 +- - src/Makefile.sources | 2 + - src/hb-ot-os2-unicode-ranges.cc | 279 - ++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-os2-unicode-ranges.hh | 189 +-------------------------- - 4 files changed, 292 insertions(+), 187 deletions(-) - -commit 8e81799b32f3dfaca000fa5d42943ceed9af8d17 -Author: Garret Rieger -Date: Fri Feb 23 18:35:41 2018 -0800 - - [subset] Add hb-ot-os2-unicode-ranges.hh, a map of os2 unicode ranges. - - src/hb-ot-os2-unicode-ranges.hh | 220 - ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 220 insertions(+) - -commit 6c844ae8e89f52f5f40eace66bb987544fc316e3 -Author: Ebrahim Byagowi -Date: Mon Feb 26 23:04:27 2018 +0330 - - [dev-run] show images using iTerm2 images feature - - src/dev-run.sh | 32 ++++++++++++++++++++++++++++---- - 1 file changed, 28 insertions(+), 4 deletions(-) - -commit 28c4245e9f76c6c53a4589e7745a60ed0e97414a -Author: Behdad Esfahbod -Date: Mon Feb 26 01:10:42 2018 -0800 - - [aat/ankr] Define Anchor struct - - src/hb-aat-layout-ankr-table.hh | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -commit e347fb908b188f71df13215c8939b0f3a12c716f -Author: Behdad Esfahbod -Date: Mon Feb 26 01:08:00 2018 -0800 - - Minor - - src/hb-ot-layout-gdef-table.hh | 4 ++-- - src/hb-ot-layout-gpos-table.hh | 12 ++++++------ - 2 files changed, 8 insertions(+), 8 deletions(-) - -commit 05fbd14e715ed5d0f0f86388b1538ad8e8c7c506 -Author: Behdad Esfahbod -Date: Mon Feb 26 01:04:16 2018 -0800 - - [aat/ankr] Minor - - DEFINE_SIZE_MIN is to be used only in rare cases. For fixed-size - structs - we want DEFINE_SIZE_STATIC. - - src/hb-aat-layout-ankr-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f90cd9b1f5ade8ad5e3b7caf0272936ad7a0f419 -Author: Behdad Esfahbod -Date: Mon Feb 26 01:03:23 2018 -0800 - - [aat/ankr] Hook up Lookup table - - src/hb-aat-layout-ankr-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit c36598450e9698168851c0ae7d0b4c9e562c4924 -Author: Behdad Esfahbod -Date: Mon Feb 26 00:57:07 2018 -0800 - - [aat/ankr] Simplify - - src/hb-aat-layout-ankr-table.hh | 36 ++++++++---------------------------- - 1 file changed, 8 insertions(+), 28 deletions(-) - -commit fa3a69e2334ec4122d672670614a8e5a95611d75 -Author: Behdad Esfahbod -Date: Mon Feb 26 00:32:11 2018 -0800 - - [aat/trak] Simplify sanitize() - - src/hb-aat-layout-trak-table.hh | 67 - ++++++++++------------------------------- - 1 file changed, 16 insertions(+), 51 deletions(-) - -commit f0bc6c0992c4302ae1a20f155ad256bfa331087c -Author: Behdad Esfahbod -Date: Mon Feb 26 00:18:17 2018 -0800 - - [aat/trak] Clean up - - We always just used "unsigned int" for counter values. There's - no use for uint16_t outside of a struct. - - Also, no need for explict casting where implicit does. - - src/hb-aat-layout-trak-table.hh | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit bb82f01383db7cf05040fbd5881e17e263ef6369 -Author: Ebrahim Byagowi -Date: Sun Feb 25 12:30:33 2018 +0330 - - [aat] trak sanitization - - src/dev-run.sh | 4 +- - src/hb-aat-layout-trak-table.hh | 95 - ++++++++++++++++++++++++++++++++--------- - src/hb-aat-layout.cc | 2 +- - util/options.hh | 2 +- - 4 files changed, 78 insertions(+), 25 deletions(-) - -commit becb1d9eea15c07f9ea4e229be56f9aca0f768af -Author: Ebrahim Byagowi -Date: Mon Feb 26 11:29:48 2018 +0330 - - [aat] minor - - Ops, this was done for testing - - src/hb-aat-layout-ankr-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit df1c7d5b60520d2b3c756b700d5ac41668fc0983 -Author: Behdad Esfahbod -Date: Sun Feb 25 19:06:25 2018 -0800 - - Minor - - src/hb-open-type-private.hh | 5 +++-- - src/hb-subset.cc | 2 +- - 2 files changed, 4 insertions(+), 3 deletions(-) - -commit 6dd46fa598cacdd046ba4548bc6ddf7f37c46dee -Author: Behdad Esfahbod -Date: Sun Feb 25 18:54:52 2018 -0800 - - [aat/trak] Minor - - Maybe we should make DEFINE_* make structs uncopyable. - - src/hb-aat-layout-trak-table.hh | 56 - +++++++++++++++++++++++------------------ - 1 file changed, 32 insertions(+), 24 deletions(-) - -commit ae14dd0fb0a176f6f0143690907b51626999d248 -Author: Ebrahim Byagowi -Date: Mon Feb 26 00:31:09 2018 +0330 - - [aat] Implement ankr - - src/Makefile.sources | 3 +- - src/hb-aat-layout-ankr-table.hh | 86 - +++++++++++++++++++++++++++++++++++++++++ - src/hb-aat-layout-kerx-table.hh | 2 +- - src/hb-aat-layout.cc | 37 +++++++++++++----- - src/hb-ot-layout-private.hh | 6 ++- - src/hb-ot-layout.cc | 6 ++- - 6 files changed, 124 insertions(+), 16 deletions(-) - -commit 551fa2d200a06d00d054f2c8e7aad1cb4d25249b -Author: Behdad Esfahbod -Date: Sun Feb 25 16:32:17 2018 -0800 - - [BASE] Minor - - src/Makefile.sources | 1 - - src/hb-ot-base.cc | 58 ----------------------- - src/hb-ot-layout-base-table.hh | 103 - ++++++++++++++++++++++++++++------------- - src/hb-ot-layout.cc | 34 ++++++++++++++ - src/hb-ot-layout.h | 1 + - 5 files changed, 105 insertions(+), 92 deletions(-) - -commit 05699fd996ed9c0e5dde8918388ac188e58df1a7 -Merge: 83af6c23 3ebcd5a3 -Author: Behdad Esfahbod -Date: Sat Feb 24 12:01:54 2018 -0800 - - Merge remote-tracking branch 'eroux/add-base' - -commit a8d3c2c030d2c21c70e0b8bd43f7d05ff4818b75 -Author: Ebrahim Byagowi -Date: Sat Feb 24 16:42:12 2018 +0330 - - [ci] Add clang O3/O0 testers (#834) - - .circleci/config.yml | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -commit c73255f3eb2f060ec72d18790b374f6b6e4032aa -Author: Khaled Hosny -Date: Sat Feb 24 00:44:07 2018 +0200 - - Workaround for old automake on Travis Linux images - - https://github.com/harfbuzz/harfbuzz/pull/821#issuecomment-368116538 - - .ci/fail.sh | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit cd28eb9f5dc237325c64380d9d87e673b8e94985 -Author: Ebrahim Byagowi -Date: Sat Feb 24 14:17:54 2018 +0330 - - Add -Werror=unused-function check to Travis (#832) - - .travis.yml | 4 ++-- - src/hb-aat-layout.cc | 24 ++++++++++++------------ - test/api/test-set.c | 19 ++++++++++--------- - 3 files changed, 24 insertions(+), 23 deletions(-) - -commit 1ab16f4556ef3e54a40b63cf4570c0ae986894e7 -Author: Ebrahim Byagowi -Date: Sat Feb 24 12:49:42 2018 +0330 - - [aat] Implement trak logic (#816) - - src/hb-aat-layout-kerx-table.hh | 7 ++++ - src/hb-aat-layout-private.hh | 3 ++ - src/hb-aat-layout-trak-table.hh | 78 - +++++++++++++++++++++++++++++++++++++++-- - src/hb-aat-layout.cc | 46 ++++++++++++++++++++++++ - src/hb-open-type-private.hh | 4 +-- - src/hb-ot-layout-private.hh | 22 ++++++++++++ - src/hb-ot-layout.cc | 4 +++ - src/hb-ot-shape.cc | 2 ++ - 8 files changed, 161 insertions(+), 5 deletions(-) - -commit b91e8da36e164168cd532fd6e6950c5d743a14dd -Author: Behdad Esfahbod -Date: Fri Feb 23 22:51:17 2018 -0800 - - Include hb-version.h in git (#825) - - CMakeLists.txt | 36 ++++++++++++++-------------- - src/Makefile.am | 8 +++---- - src/Makefile.sources | 3 --- - src/hb-version.h | 66 - ++++++++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 87 insertions(+), 26 deletions(-) - -commit 5267520e078ed413df78f3a6781fd5370b6da63a -Author: Rod Sheeter -Date: Fri Feb 23 18:36:22 2018 -0800 - - [subset] update hdmx test to create input explicitly - - test/api/test-subset-hdmx.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2e3ee489f8374227fa94a8d8684e839e643888ea -Author: Rod Sheeter -Date: Fri Feb 23 18:18:54 2018 -0800 - - [subset] format tweak, doc string - - src/hb-subset-input.cc | 12 +++++++++--- - src/hb-subset.h | 2 +- - 2 files changed, 10 insertions(+), 4 deletions(-) - -commit d78393b5547135b8db0356b0ec14d5ed0d334768 -Merge: 1454d82a 83af6c23 -Author: Rod Sheeter -Date: Fri Feb 23 17:53:26 2018 -0800 - - Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into - drophints - -commit 1454d82a9d3d9a47901b3d92ff7f2c05c596c0d5 -Author: Rod Sheeter -Date: Fri Feb 23 17:49:23 2018 -0800 - - [subset] keep glyph trim separate of more general get_offset - - src/hb-ot-glyf-table.hh | 12 ++++-------- - src/hb-subset-glyf.cc | 6 ++++-- - 2 files changed, 8 insertions(+), 10 deletions(-) - -commit 0ac8c0c1e6a6c076ce33b16baa173ff8763ac04e -Author: Rod Sheeter -Date: Fri Feb 23 17:43:00 2018 -0800 - - [subset] zero glyf and loca memory before writing so pads are - clean. Test just the part of maxp we care about - - src/hb-ot-glyf-table.hh | 6 +++--- - src/hb-subset-glyf.cc | 4 ++-- - test/api/test-subset-glyf.c | 19 ++++++++++++++++--- - 3 files changed, 21 insertions(+), 8 deletions(-) - -commit 83af6c237f2bfd66af76a8647a62b3d1ab996744 -Merge: 7e5e1feb dc5c7927 -Author: Garret Rieger -Date: Fri Feb 23 18:33:25 2018 -0700 - - Merge pull request #829 from googlefonts/test-checksum - - [subset] Caclculate head table checksum adjustment - -commit dc5c7927e75ea09461e46fe6e56897091b4b4f00 -Author: Behdad Esfahbod -Date: Fri Feb 23 16:42:06 2018 -0800 - - [subset] Caclculate head table checksum adjustment - - Test still fails, because we do not serialize tables in the same - order that fonttools subsetter does. - - src/hb-open-file-private.hh | 51 - ++++++++++++++++++++++++++++++++++----------- - src/hb-ot-head-table.hh | 2 ++ - src/hb-subset.cc | 2 ++ - 3 files changed, 43 insertions(+), 12 deletions(-) - -commit 7e5e1feb666d6a861b5cd64bf29a16e3854fb812 -Merge: ec2538c8 99967e21 -Author: Garret Rieger -Date: Fri Feb 23 17:59:08 2018 -0700 - - Merge pull request #828 from googlefonts/mem-fixes - - [subset] Fix several memory leaks in subsetting. - -commit ec2538c8803be254b6e09ca0ea724b07c35126da -Author: Behdad Esfahbod -Date: Fri Feb 23 15:51:26 2018 -0800 - - [subset] Fix checksum calc out-of-bounds access - - src/hb-open-file-private.hh | 18 ++++++++++-------- - src/hb-open-type-private.hh | 3 ++- - 2 files changed, 12 insertions(+), 9 deletions(-) - -commit 99967e21c6e3f6882d6eadf5c22f4120684b1fc5 -Author: Garret Rieger -Date: Fri Feb 23 15:45:45 2018 -0800 - - [subset] Fix memory leak in hb-subset-glyf. - - src/hb-subset-glyf.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit e61f360dc828bfd46477b7ddff56874da9f03538 -Author: Garret Rieger -Date: Fri Feb 23 15:44:21 2018 -0800 - - [subset] Fix memory leak in hb-subset-plan. - - src/hb-subset-plan.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 66b0a390793ab06692dd49e67baef52a6a7d82aa -Author: Garret Rieger -Date: Fri Feb 23 15:41:52 2018 -0800 - - [subset] Fix memory leak in hb-subset. - - src/hb-subset.cc | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -commit 0fb8a5ce192025ffd83ae714db932e4b86594ae1 -Author: Garret Rieger -Date: Fri Feb 23 15:37:43 2018 -0800 - - [subset] Fix memory leak in cmap subsetting. - - src/hb-ot-cmap-table.hh | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 4665aaa19304bdf0362bdfcebcae65feb19a8964 -Author: Garret Rieger -Date: Fri Feb 23 15:36:14 2018 -0800 - - [subset] Fix memory leak in hmtx subsetting. - - src/hb-ot-hmtx-table.hh | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 5a36b55fba03cd07c9b101f0222b8d189bcd3bbf -Author: Garret Rieger -Date: Fri Feb 23 15:30:14 2018 -0800 - - [subset] Fix memory leak in subset face destroy. - - src/hb-subset.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit d38f37b2e37942a3fd13cd753c8b8587a06c0f3a -Author: Ben Boeckel -Date: Fri Feb 23 16:55:53 2018 -0500 - - autoconf: provide a harfbuzz-config for use from CMake (#822) - - configure.ac | 2 ++ - src/Makefile.am | 4 ++- - src/harfbuzz-config.cmake.in | 82 - ++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 87 insertions(+), 1 deletion(-) - -commit e0939d811f1fdeda9c5763e7e53887b3d3cb21eb -Author: Behdad Esfahbod -Date: Fri Feb 23 13:19:34 2018 -0800 - - Clean up check-defs and check-symbols (#821) - - Also, call c++filt on their results. - - Also build and fix and check harfbuzz-gobject.def - - Also changes harfbuzz-gobject to distribute generated enum sources. - - CMakeLists.txt | 3 +-- - src/Makefile.am | 33 ++++++++++++++++------------ - src/Makefile.sources | 9 +++++--- - src/check-defs.sh | 52 - --------------------------------------------- - src/check-symbols.sh | 30 ++++++++++++++++++++------ - src/hb-gobject-enums.h.tmpl | 3 ++- - src/hb-gobject-structs.h | 45 ++++++++++++++++++++++++++------------- - 7 files changed, 81 insertions(+), 94 deletions(-) - -commit 9bd6d25254d9bfc612004982dba286a3751d1d29 -Author: Rod Sheeter -Date: Fri Feb 23 13:05:58 2018 -0800 - - [subset] clone trim logic from fonttools glyf handling - - src/hb-ot-glyf-table.hh | 92 - ++++++++++++++++++++++++++- - src/hb-subset-glyf.cc | 26 ++++---- - src/hb-subset-plan.cc | 3 + - src/hb-subset.cc | 13 ++-- - test/api/fonts/Roboto-Regular.ac.nohints.ttf | Bin 1128 -> 848 bytes - test/api/hb-subset-test.h | 1 + - test/api/test-subset-glyf.c | 6 +- - 7 files changed, 117 insertions(+), 24 deletions(-) - -commit b1ec82105189053d648a798cf5b3ab2887046298 -Merge: e15e41ef c2e4713b -Author: Garret Rieger -Date: Fri Feb 23 12:32:18 2018 -0700 - - Merge pull request #823 from googlefonts/hdmx - - [subset] Add hdmx subsetting. - -commit e15e41ef12e146333e355defef8db210378b5be0 -Author: Garret Rieger -Date: Thu Feb 22 18:41:50 2018 -0800 - - [subset] Remove commented code from run-tests.py. - - test/subset/run-tests.py | 3 --- - 1 file changed, 3 deletions(-) - -commit 2b844803433bd1557a7fd0c93a91c66ef5319b21 -Author: Garret Rieger -Date: Thu Feb 22 18:38:44 2018 -0800 - - [subset] Update expected files for subsetting integration test to - not include cmap 4. - - .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1740 -> - 1692 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit a88504c601ac95601730bd602861c13e5ac4fdd8 -Author: Garret Rieger -Date: Thu Feb 22 14:28:18 2018 -0800 - - [subset] Fix checksum clearning in subset test diff. Add an updated - expected file (has cmap4 restored). - - .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1692 -> - 1740 bytes - test/subset/run-tests.py | 7 +++++-- - 2 files changed, 5 insertions(+), 2 deletions(-) - -commit 537698b60131bd3d7999919a04596c41dda6b2e4 -Author: Garret Rieger -Date: Thu Feb 22 14:07:52 2018 -0800 - - [subset] Don't compare actual to itself in Fix - test/subset/run-tests. Print a diff on failure. - - test/subset/run-tests.py | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit c2e4713b5b561675b0f7b358ccf83d64ef0b6c41 -Author: Behdad Esfahbod -Date: Fri Feb 23 10:45:03 2018 -0800 - - [hdmx] Fix sanitize() - - src/hb-ot-hdmx-table.hh | 23 +++++++---------------- - 1 file changed, 7 insertions(+), 16 deletions(-) - -commit 84d4bb91ceca22484abb597c19eb18311e2514f1 -Author: Behdad Esfahbod -Date: Fri Feb 23 10:38:35 2018 -0800 - - [hdmx] Minor - - src/hb-ot-hdmx-table.hh | 21 +++++++++++---------- - 1 file changed, 11 insertions(+), 10 deletions(-) - -commit cf7a6e520e9601da9d27bc8f6bbe5d2eff23998d -Author: Behdad Esfahbod -Date: Fri Feb 23 10:34:26 2018 -0800 - - [hdmx] Move DeviceRecord to toplevel again - - More readable. - - src/hb-ot-hdmx-table.hh | 112 - ++++++++++++++++++++++++------------------------ - 1 file changed, 57 insertions(+), 55 deletions(-) - -commit 96d7805a9235443972c6b6c5cd9502283c8836e9 -Author: Garret Rieger -Date: Thu Feb 22 16:48:28 2018 -0800 - - [subset] More complete sanitization implementation for hdmx. - - src/hb-ot-hdmx-table.hh | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -commit c02532a3d2325c8fb9332f63f687cbaec77b2239 -Author: Garret Rieger -Date: Thu Feb 22 16:40:50 2018 -0800 - - [subset] Formatting and comments in hdmx. - - src/hb-ot-hdmx-table.hh | 31 +++++++++++++++++++------------ - 1 file changed, 19 insertions(+), 12 deletions(-) - -commit 6b372f439b257808b048d02ebf5a867dabcd1231 -Author: Garret Rieger -Date: Thu Feb 22 12:00:00 2018 -0800 - - [subset] In hb-ot-hdmx-table, s/glyf/hdmx. - - src/hb-ot-hdmx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ec302ad5bda6bea870f6d33f9698a1782472a213 -Author: Garret Rieger -Date: Thu Feb 22 11:57:35 2018 -0800 - - [subset] Fail subset if a table fails to sanitize. - - src/hb-subset.cc | 19 +++++++++++-------- - 1 file changed, 11 insertions(+), 8 deletions(-) - -commit 15fc45bfedef433025145289fe916739907b573b -Author: Garret Rieger -Date: Wed Feb 21 17:59:57 2018 -0800 - - [subset] Add a unit test for hdmx subsetting. - - test/api/Makefile.am | 2 ++ - test/api/test-subset-hdmx.c | 81 - +++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 83 insertions(+) - -commit aa4aa2353c52f86fd56446de6b7ff86a9e990b9c -Author: Garret Rieger -Date: Wed Feb 21 17:43:32 2018 -0800 - - [subset] Enable hdmx subsetting. - - src/hb-subset.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit bd18b6adf8697c1ce3f4e3831b9f2a99d930e97d -Author: Garret Rieger -Date: Wed Feb 21 17:42:58 2018 -0800 - - [subset] Move DeviceRecord inside of hdmx. - - src/hb-ot-hdmx-table.hh | 98 - +++++++++++++++++++++++++------------------------ - 1 file changed, 50 insertions(+), 48 deletions(-) - -commit 6704cded65985b2de262bdd3bb0887929e5a3b0b -Author: Garret Rieger -Date: Wed Feb 21 16:00:10 2018 -0800 - - [subset] Add hdmx subsetting implementation. - - src/hb-ot-hdmx-table.hh | 29 ++++++++++++++++++++++++++--- - 1 file changed, 26 insertions(+), 3 deletions(-) - -commit 84b68e58862647b4ede414b2e608c47d390fd60a -Author: Garret Rieger -Date: Wed Feb 21 15:43:47 2018 -0800 - - [subset] In hdmx serialize set the correct value of sizeDeviceRecord. - - src/hb-ot-hdmx-table.hh | 29 ++++++++++++++++------------- - 1 file changed, 16 insertions(+), 13 deletions(-) - -commit dddf44279f610e77e8b9a0819fd91f48802158b6 -Author: Garret Rieger -Date: Wed Feb 21 15:36:09 2018 -0800 - - [subset] When serializing a DeviceRecord in hdmx pad to make 32 - bit aligned. - - src/hb-ot-hdmx-table.hh | 19 +++++++++++++------ - 1 file changed, 13 insertions(+), 6 deletions(-) - -commit ab7a8f3b7419b604816e12cb93e77c0ba45a57af -Author: Garret Rieger -Date: Wed Feb 21 15:15:22 2018 -0800 - - [subset] Begin implementing serialize for hdmx. - - src/hb-ot-hdmx-table.hh | 79 - +++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 77 insertions(+), 2 deletions(-) - -commit fe42862ab30d17483a1d0c2e2b1d859d01bbaff1 -Author: Garret Rieger -Date: Wed Feb 21 14:18:49 2018 -0800 - - [subset] Sketch out a basic hb-ot-hdmx.hh. - - src/Makefile.sources | 1 + - src/hb-ot-hdmx-table.hh | 77 - +++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-subset.cc | 1 + - 3 files changed, 79 insertions(+) - -commit 4f6f7c3b22ec788f609bdffc7e0893816657b3a0 -Author: Ebrahim Byagowi -Date: Fri Feb 23 02:54:12 2018 +0330 - - [util] Implement ppem/ptem on hb-{shape,view} (#811) - - util/options.cc | 33 ++++++++++++++++++++++++++++----- - util/options.hh | 6 ++++++ - 2 files changed, 34 insertions(+), 5 deletions(-) - -commit a6bd6bcee08c9522f9269b5c63f784688abddcff -Author: Ebrahim Byagowi -Date: Thu Feb 22 16:52:56 2018 +0330 - - [dev-run] minor - - src/dev-run.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fa13a04cf3345311a2434f0d7f6346f967491c45 -Author: Ebrahim Byagowi -Date: Thu Feb 22 16:48:03 2018 +0330 - - [dev-run] Add gdb/lldb shortcuts - - src/dev-run.sh | 40 +++++++++++++++++++++++++++++++--------- - 1 file changed, 31 insertions(+), 9 deletions(-) - -commit 4f07437dfebd3dc5923f40154c6f1b7e1dce1bd4 -Author: Rod Sheeter -Date: Wed Feb 21 22:23:05 2018 -0800 - - [subset] sketch out dropping in-glyf instructions. Sometimes yields - differnet size glyphs than fonttools, possibly due to padding not - being corrected - - src/hb-ot-glyf-table.hh | 45 ++++++++++++++++ - src/hb-subset-glyf.cc | 78 - +++++++++++++++++++++------ - src/hb-subset-input.cc | 6 +++ - src/hb-subset.h | 2 + - test/api/fonts/Roboto-Regular.ac.nohints.ttf | Bin 0 -> 1128 bytes - test/api/hb-subset-test.h | 15 +++--- - test/api/test-subset-cmap.c | 4 +- - test/api/test-subset-glyf.c | 32 +++++++++-- - test/api/test-subset-hmtx.c | 10 ++-- - test/api/test-subset-os2.c | 2 +- - 10 files changed, 160 insertions(+), 34 deletions(-) - -commit 2d0265242bb9a080886d6e0aa653c62e5770a15a -Author: Rod Sheeter -Date: Wed Feb 21 09:42:46 2018 -0800 - - [subset] keep the result of _subset - - src/hb-subset.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4fb97be78d9287e489c9f67d1bfe7682235bdf38 -Author: Behdad Esfahbod -Date: Wed Feb 21 14:38:02 2018 -0800 - - Add two more ragel-generated headers - - Fixes https://github.com/harfbuzz/harfbuzz/issues/817 - - src/hb-buffer-deserialize-json.hh | 643 - ++++++++++++++++++++++++++++++++++++++ - src/hb-buffer-deserialize-text.hh | 571 +++++++++++++++++++++++++++++++++ - 2 files changed, 1214 insertions(+) - -commit 74e0c13a4a55848e797242c02c8f067e587ea603 -Author: Rod Sheeter -Date: Wed Feb 21 11:19:18 2018 -0800 - - [subset] drop hint tables if so flagged. Still need to dump glyf - instructions. - - src/hb-subset-plan.cc | 1 + - src/hb-subset-plan.hh | 2 ++ - src/hb-subset-private.hh | 2 +- - src/hb-subset.cc | 11 +++++++++-- - util/hb-subset.cc | 2 +- - util/options.cc | 2 +- - util/options.hh | 4 ++-- - 7 files changed, 17 insertions(+), 7 deletions(-) - -commit edee28801e4dbb5b734b4038d93fe1594e267ab1 -Author: Ebrahim Byagowi -Date: Wed Feb 21 22:13:58 2018 +0330 - - Add .editorconfig (#810) - - More information: http://editorconfig.org/ - - .editorconfig | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -commit 0bd100e144885ed8144cf23e7e106014858a1724 -Author: Rod Sheeter -Date: Wed Feb 21 10:34:00 2018 -0800 - - [subset] add --hinting flag - - src/hb-subset-private.hh | 1 + - util/hb-subset.cc | 6 +++++- - util/options.cc | 15 +++++++++++++++ - util/options.hh | 14 ++++++++++++++ - 4 files changed, 35 insertions(+), 1 deletion(-) - -commit 7ecca8c0a83a6c71154fcc80887a4f895c0c5a23 -Author: Rod Sheeter -Date: Wed Feb 21 09:42:46 2018 -0800 - - [subset] keep the result of _subset - - src/hb-subset.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit eada749e4642ea90300c9c68c226fa76a3e35a75 -Author: Behdad Esfahbod -Date: Wed Feb 21 00:35:23 2018 -0800 - - Use HB_SET_VALUE_INVALID consistently - - src/hb-ot-layout-common-private.hh | 6 +++--- - src/hb-ot-shape.cc | 2 +- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 2cc845f311b6dc4f0feda8b8fc5609fbd51b5923 -Author: Garret Rieger -Date: Tue Feb 20 18:13:41 2018 -0800 - - [subset] fix calculation of range shiftz. Should be 16 * len - - searchRange not 16 * (len - searchRange). - - src/hb-open-type-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 8e614ade5aef102baed56f91c2fcb1f3d1788ea9 -Author: Garret Rieger -Date: Tue Feb 20 17:36:54 2018 -0800 - - [subset] Reverse table order for font serialization to match what - OTS expects. - - src/hb-open-file-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a998eeee4ad7bba4a1574c9735618891b6bd0948 -Author: Garret Rieger -Date: Tue Feb 20 16:48:52 2018 -0800 - - [subset] sanity check glyph data writes during glyph subsetting to - ensure they are inbounds. - - src/hb-subset-glyf.cc | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 0ab73e594275cf064e09b9df2e1df337a589745d -Author: Garret Rieger -Date: Tue Feb 20 15:33:03 2018 -0800 - - [subset] Sanity check that loca writes are inbounds. - - src/hb-subset-glyf.cc | 55 - ++++++++++++++++++++++++++++++++++++++------------- - 1 file changed, 41 insertions(+), 14 deletions(-) - -commit 73e20ec6e9ad86bea023fc8b6fc10287889ed048 -Merge: 6ae4013f 69e443b2 -Author: Garret Rieger -Date: Tue Feb 20 17:34:59 2018 -0700 - - Merge pull request #812 from googlefonts/cleanup - - Clean up of glyf subsetting. - -commit 6ae4013f2e53d6496507a58b715298fee4eadcee -Author: Behdad Esfahbod -Date: Tue Feb 20 15:02:25 2018 -0800 - - [aat] Cosmetic touch-ups to trak table - - src/hb-aat-layout-trak-table.hh | 31 +++++++++++++++++-------------- - 1 file changed, 17 insertions(+), 14 deletions(-) - -commit abc82b493e301e5588d689baa1434b3ce6577fcd -Author: Behdad Esfahbod -Date: Tue Feb 20 14:34:16 2018 -0800 - - Add Ragel-generated files to git - - I know it's bad form; I know I've said no to this multiple times... - But this is part of an experiment to see if we can make rolling - HarfBuzz - into Chrome much faster. That will give us a lot more testing exposure - that currently Chrome does. - - Doing this while those files are still considered ignored by our - gitignore rules; will see how that flies. - - autogen.sh | 10 +- - src/Makefile.am | 3 +- - src/hb-ot-shape-complex-indic-machine.hh | 1319 - ++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-khmer-machine.hh | 294 +++++++ - src/hb-ot-shape-complex-myanmar-machine.hh | 413 +++++++++ - src/hb-ot-shape-complex-use-machine.hh | 502 +++++++++++ - 6 files changed, 2535 insertions(+), 6 deletions(-) - -commit 69e443b254fceb29f26f6a0c0129fe3c93c19cfb -Author: Garret Rieger -Date: Tue Feb 20 14:29:21 2018 -0800 - - [subset] Switch to hb_blob_copy_writable_or_fail in glyf subsetting. - - src/hb-ot-glyf-table.hh | 29 +++++++++++------------------ - src/hb-ot-maxp-table.hh | 3 +-- - 2 files changed, 12 insertions(+), 20 deletions(-) - -commit e3e0ac98238b78530a625a6b7e7647dbabbe1c4d -Author: Garret Rieger -Date: Tue Feb 20 14:07:40 2018 -0800 - - [subset] Move glyf subsetting code into hb-ot-glyf-table.hh - - src/hb-ot-glyf-table.hh | 49 - +++++++++++++++++++++++++++++++++++++++++++++++- - src/hb-subset.cc | 50 - +------------------------------------------------ - 2 files changed, 49 insertions(+), 50 deletions(-) - -commit d1f16fce963092404bf0b59e449a3215ca031b54 -Author: Behdad Esfahbod -Date: Tue Feb 20 10:32:09 2018 -0800 - - Don't use %zu - - Some of our bots / compilers don't like it. Wasn't caught by bots - because this - is only in debug code. - - https://github.com/harfbuzz/harfbuzz/pull/809/commits/825ad378e0f0e6e6bb690894a0d5d25f198be21b - - src/hb-ot-cmap-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c7e834a2fc5f8fb81f5316447e4075902d58d8a3 -Author: Ebrahim Byagowi -Date: Tue Feb 20 17:59:04 2018 +0330 - - [dev-run] minor - - src/dev-run.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 975c35214f8c8f0d90a8b114e1a8c06d5ecdecfd -Author: Ebrahim Byagowi -Date: Tue Feb 20 17:49:29 2018 +0330 - - [dev-run] Support autotools builds - - src/dev-run.sh | 46 +++++++++++++++++++++++++++++++--------------- - 1 file changed, 31 insertions(+), 15 deletions(-) - -commit 25136d9b7265d8920a78f3f832f1c69da4ef1f5b -Author: Dominik Röttsches -Date: Tue Feb 20 10:26:07 2018 +0200 - - Use %zu format specifier for size_t to fix cross platform build - - Fixes Chromium Android builds, compare - https://ci.chromium.org/buildbot/tryserver.chromium.android/linux_android_rel_ng/491787 - - src/hb-ot-cmap-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 53cf61b0299775f94c625de1bb0a7979b3b0c379 -Author: Ebrahim Byagowi -Date: Tue Feb 20 10:53:10 2018 +0330 - - Change Alpine and ArchLinux bot to test O3 and O0 on gcc, #801 - - .circleci/config.yml | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -commit a64eacd8a6cb9811bcaadf20b8b8ae56306cbd75 -Author: Ebrahim Byagowi -Date: Mon Feb 19 23:27:08 2018 +0330 - - [aat] First dig on 'trak' - - src/Makefile.sources | 3 +- - src/hb-aat-layout-trak-table.hh | 100 - ++++++++++++++++++++++++++++++++++++++++ - src/hb-aat-layout.cc | 3 +- - src/hb-ot-layout-private.hh | 6 ++- - 4 files changed, 108 insertions(+), 4 deletions(-) - -commit 0bff6991de308044b077ce74bd45d57d8c4afe5f -Author: Behdad Esfahbod -Date: Mon Feb 19 11:51:25 2018 -0800 - - Ugh. Really fix build. - - src/hb-subset-private.hh | 2 +- - src/hb-subset.cc | 3 +-- - test/api/hb-subset-test.h | 1 + - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit 4fcbd22b18040cbfd7410e6a090c5f9624eb9a0f -Author: Behdad Esfahbod -Date: Mon Feb 19 11:49:25 2018 -0800 - - Fix build after previous commit - - src/hb-subset-plan.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 0bbf90ded00dd00ee3f79c1bd16c775d7c893278 -Author: Behdad Esfahbod -Date: Mon Feb 19 11:38:53 2018 -0800 - - [subset] Don't include hb-subset.h from hb.h - - src/hb.h | 1 - - 1 file changed, 1 deletion(-) - -commit fde04777d1d429fd0981002194f5c19599fda350 -Author: Ebrahim Byagowi -Date: Mon Feb 19 20:00:07 2018 +0330 - - Check availability of entr instead now that this works with it - - src/dev-run.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b095ce59ebc5723a1b9c049eebb8f204455c9a72 -Author: Ebrahim Byagowi -Date: Mon Feb 19 11:58:20 2018 +0330 - - Simplify hb-fuzzer output printing and fix ArchLinux bot - - test/fuzzing/run-fuzzer-tests.py | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -commit be51f763a752bed1c395bff19afe3291a6063d00 -Author: Ebrahim Byagowi -Date: Mon Feb 19 11:06:13 2018 +0330 - - Test debug builds on ArchLinux bot - - Fixes #805 - - .circleci/config.yml | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit e2d2d819848ed0ff1c60b9bde1f9c8f9495ec5b4 -Author: Behdad Esfahbod -Date: Sun Feb 18 17:28:53 2018 -0800 - - Limit how much work sanitize() can do - - Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=6022 - - src/Makefile.am | 2 ++ - src/hb-open-type-private.hh | 16 - ++++++++++++++-- - .../233c1e252e737ca79e03a9fd56b71aaa4a230f2b.ttf | Bin 0 -> - 1048576 bytes - test/shaping/data/in-house/tests/fuzzed.tests | 1 + - 4 files changed, 17 insertions(+), 2 deletions(-) - -commit 7033fe5877c6f9500575f20f17135f74dc9c0547 -Author: Behdad Esfahbod -Date: Sun Feb 18 17:12:04 2018 -0800 - - [aat] Minor - - src/hb-aat-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6fa690c75a572a1076124b428b76929b2674e532 -Author: Behdad Esfahbod -Date: Sun Feb 18 16:27:59 2018 -0800 - - Fix debug build - - Context needs to be called 'c'. The TRACE_* rely on that. - - src/hb-ot-cmap-table.hh | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -commit 05d1e77db8f3e5280e93b6885ff4f7df113b612b -Author: Behdad Esfahbod -Date: Sun Feb 18 16:26:04 2018 -0800 - - [aat] Silence warning - - src/hb-aat-layout-kerx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a21fceb05311f61ef179b2f3aa6497562555f241 -Author: Behdad Esfahbod -Date: Sun Feb 18 16:10:15 2018 -0800 - - [ci] Make AppVeyor less noisy - - appveyor.yml | 3 +++ - 1 file changed, 3 insertions(+) - -commit 1c50a88623a881a9e2b2b0f1f6a783962626f03a -Author: Behdad Esfahbod -Date: Sun Feb 18 15:57:09 2018 -0800 - - Readjust mark attachment heuristic a bit more - - Previously adjusted logic could fail if nothing around was ligated, - and something moved. This should take care of that. - - CC https://github.com/harfbuzz/harfbuzz/issues/740 - - src/hb-ot-layout-gpos-table.hh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 246e280d88b6b26757297a349f01e52c15eaec53 -Author: Behdad Esfahbod -Date: Sun Feb 18 15:42:25 2018 -0800 - - [test] Add test for https://github.com/harfbuzz/harfbuzz/issues/740 - - .../fonts/573d3a3177c9a8646e94c8a0d7b224334340946a.ttf | Bin 0 -> - 5680 bytes - test/shaping/data/in-house/tests/use.tests | 1 + - 2 files changed, 1 insertion(+) - -commit 79756c9039a628b0df441228ca1ea20b8a91e3e8 -Author: Ebrahim Byagowi -Date: Mon Feb 19 03:17:44 2018 +0330 - - [aat] First dig on 'kerx' (#704) - - src/Makefile.sources | 1 + - src/hb-aat-layout-kerx-table.hh | 377 - ++++++++++++++++++++++++++++++++++++++++ - src/hb-aat-layout.cc | 1 + - src/hb-ot-layout-private.hh | 2 + - 4 files changed, 381 insertions(+) - -commit 279c70a5b36446f444e5d2f4ac1db7614c8a3db8 -Merge: e9164478 89b82814 -Author: Behdad Esfahbod -Date: Sun Feb 18 14:04:33 2018 -0800 - - Merge pull request #796 from ebraminio/dev-run - - Add a continuous builder using fswatch - -commit e91644786bf7c278e75962b851d5d47011ff175c -Author: Behdad Esfahbod -Date: Sun Feb 18 12:41:24 2018 -0800 - - Remove unused check - - configure.ac | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 89b82814b605d2bfcc481a47607e642a928dff15 -Author: Ebrahim Byagowi -Date: Fri Feb 16 12:53:33 2018 +0330 - - Add a continuous builder using fswatch - - CMakeLists.txt | 24 +++++++++++++----------- - src/dev-run.sh | 22 ++++++++++++++++++++++ - test/api/CMakeLists.txt | 2 +- - 3 files changed, 36 insertions(+), 12 deletions(-) - -commit 0bd2d76bdd83569366762416bf7c8fd8e90021aa -Author: Behdad Esfahbod -Date: Sun Feb 18 11:55:26 2018 -0800 - - [test] Fix a couple of coverity_scan issues - - test/api/hb-subset-test.h | 17 +++++++++++------ - 1 file changed, 11 insertions(+), 6 deletions(-) - -commit 8089711a61687d565f207c56d3d2b658f514d7ab -Author: Ebrahim Byagowi -Date: Sun Feb 18 23:25:15 2018 +0330 - - Another attempt on fixing coverity - - I hope I am in a correct direction at least - - .travis.yml | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 79d0d791b9ee920e1f687a93de5adf5d113cc829 -Merge: 21646cc4 97a71102 -Author: Behdad Esfahbod -Date: Sun Feb 18 11:35:51 2018 -0800 - - Merge pull request #800 from harfbuzz/bitops - - Optimize set through optimized bit operations - -commit 97a71102153d28982297a190739c7d82e76b109e -Author: Behdad Esfahbod -Date: Sun Feb 18 10:50:24 2018 -0800 - - Fix BitScanForward() usage - - Should fix Win64 bot. - - src/hb-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit fe8f40a4180e7b02831a264c0b3c66763156abb6 -Merge: cd11107b 21646cc4 -Author: Behdad Esfahbod -Date: Sun Feb 18 10:45:33 2018 -0800 - - Merge branch 'master' into bitops - -commit 21646cc4a6160088933774e179df9be4865a9f4b -Author: David Corbett -Date: Fri Feb 16 12:08:55 2018 -0500 - - Do not mark the first glyph as unsafe to break - - Fixes #791. - - src/hb-buffer-private.hh | 3 +-- - src/hb-coretext.cc | 4 ---- - src/hb-directwrite.cc | 2 -- - src/hb-graphite2.cc | 1 - - src/hb-uniscribe.cc | 2 -- - 5 files changed, 1 insertion(+), 11 deletions(-) - -commit 04dedec96b76600eecdb739b72814a4a56b270ae -Author: Behdad Esfahbod -Date: Fri Feb 16 18:32:57 2018 -0800 - - [test] Remove unused var - - test/api/test-subset-hmtx.c | 1 - - 1 file changed, 1 deletion(-) - -commit 181b7471074cc814e0f498fc05fd6850c3f5e403 -Author: Behdad Esfahbod -Date: Fri Feb 16 17:08:44 2018 -0800 - - Update outdated TODO file - - TODO | 29 +---------------------------- - 1 file changed, 1 insertion(+), 28 deletions(-) - -commit 6d56db8983e03fbebbeb61282bef8cb1f9abb8e2 -Author: Behdad Esfahbod -Date: Fri Feb 16 17:02:57 2018 -0800 - - [test/api] Distribute all fonts - - test/api/Makefile.am | 21 ++------------------- - 1 file changed, 2 insertions(+), 19 deletions(-) - -commit e5ab34fd3a104f7ff2f0b36c66770c88b2ea1051 -Author: Behdad Esfahbod -Date: Fri Feb 16 16:58:17 2018 -0800 - - Misc fixes - - Should bring bag djgpp bot. - - src/hb-ot-os2-table.hh | 54 - +++++++++++++++++++++++++------------------------- - src/hb-subset-plan.cc | 16 +++++++-------- - 2 files changed, 34 insertions(+), 36 deletions(-) - -commit df9e22656de746bde65dee775a66f1a80f1c2e32 -Author: Garret Rieger -Date: Fri Feb 16 17:02:51 2018 -0700 - - [subset] add a glyf subsetting test for a font with composite glyphs. - - .../api/fonts/Roboto-Regular.components.subset.ttf | Bin 0 -> 2052 bytes - test/api/fonts/Roboto-Regular.components.ttf | Bin 0 -> 2572 bytes - test/api/test-subset-glyf.c | 21 - +++++++++++++++++++++ - 3 files changed, 21 insertions(+) - -commit c36d015b0e9c363431cd9d228b776ad419fde474 -Author: Garret Rieger -Date: Fri Feb 16 17:02:15 2018 -0700 - - [subset] missing return. - - test/api/hb-subset-test.h | 1 + - 1 file changed, 1 insertion(+) - -commit 2130392dcc30784ee34c487ab16316006c91f16d -Author: Garret Rieger -Date: Fri Feb 16 17:01:00 2018 -0700 - - [subset] Add support for updating reference gids in components to - their new values. - - src/hb-subset-glyf.cc | 38 +++++++++++++++++++++++++++++++++----- - 1 file changed, 33 insertions(+), 5 deletions(-) - -commit 49544eb860e523838892d6ce88eeca72ffd19da4 -Author: Garret Rieger -Date: Fri Feb 16 16:56:15 2018 -0700 - - [subset] Refactor composite glyf iteration code into an Iterator - outside of the accelerator. - - src/hb-ot-glyf-table.hh | 110 - +++++++++++++++++++++++++----------------------- - src/hb-subset-plan.cc | 6 +-- - 2 files changed, 60 insertions(+), 56 deletions(-) - -commit dc6d67df1395faf38d7587b1dd3c6661ee7cd6f0 -Author: Garret Rieger -Date: Fri Feb 16 15:20:14 2018 -0700 - - [subset] Use gids_to_retain_sorted to produce old gid -> new gid - mapping since it now has the more complete set. - - src/hb-subset-plan.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit dcac9fe96429d4e272a3fbd60a6162f988f58f71 -Author: Garret Rieger -Date: Fri Feb 16 11:27:03 2018 -0700 - - [subset] Use complex glyph closure to populate gids_to_retain_sorted. - - src/hb-subset-plan.cc | 43 ++++++++++++++++++++++++------------------- - src/hb-subset-plan.hh | 6 ++++++ - 2 files changed, 30 insertions(+), 19 deletions(-) - -commit 58a54c9d4f72e228c012451c4469da730742d3d8 -Author: Garret Rieger -Date: Fri Feb 16 11:20:38 2018 -0700 - - [subset] add constant to get_composite and in_table methods in - hb-ot-glyf-table - - src/hb-ot-glyf-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 73e1434814eb37005b4159babf972a2743b25700 -Author: Garret Rieger -Date: Thu Feb 15 14:41:56 2018 -0800 - - [subset] Add a DFS search to produce a closure of composite glyphs. - - src/hb-subset-plan.cc | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -commit d3684141437fad6ebf5f9945f92125c9a42ea853 -Author: Garret Rieger -Date: Thu Feb 15 14:03:34 2018 -0800 - - [subset] add helper methods to glyf accelerator for reading composite - glyph information. - - src/hb-ot-glyf-table.hh | 115 - ++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 112 insertions(+), 3 deletions(-) - -commit cd11107bb44ac719709e10264e9e6ba6a1cfae0c -Author: Behdad Esfahbod -Date: Fri Feb 16 18:28:58 2018 -0800 - - Another bitops fallback fix - - I'm confident that all bugs are hashed out now. - - src/hb-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4e517ecb6b7c27d4053a6476bb9262858e2567ed -Author: Behdad Esfahbod -Date: Fri Feb 16 18:20:12 2018 -0800 - - Another bitops fallback impl fix - - src/hb-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit f18b9fbf6583dff72675be7859fc147ec24a0dd2 -Author: Behdad Esfahbod -Date: Fri Feb 16 18:14:41 2018 -0800 - - [set] Implement iteration using bitop intrinsics - - src/hb-set-private.hh | 55 - ++++++++++++++++++--------------------------------- - 1 file changed, 19 insertions(+), 36 deletions(-) - -commit 6a91a2eb04951f6e33706c2b8e9cd987b429fce9 -Author: Behdad Esfahbod -Date: Fri Feb 16 17:49:41 2018 -0800 - - Fix wide bitops implemenetation - - src/hb-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit d25c3e69e9b0cb9d947e98845b9e3a14ce58e350 -Author: Behdad Esfahbod -Date: Fri Feb 16 17:45:09 2018 -0800 - - [set] Readjust parameters - - src/hb-set-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 6d5c0bf8b18ed53e8d40dcbae83ec66ed2116843 -Author: Behdad Esfahbod -Date: Fri Feb 16 17:33:26 2018 -0800 - - Fix bitops fallback impl - - src/hb-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 82eb1dac163cb4aef8a2e4ebad542378f4e28dca -Author: Behdad Esfahbod -Date: Fri Feb 16 16:52:09 2018 -0800 - - Flesh out other bit ops some more for 128bit as well - - src/hb-private.hh | 165 - +++++++++++++++++++++++++++++++++++++++++------------- - 1 file changed, 126 insertions(+), 39 deletions(-) - -commit 864a2dddae9eb1303c59d0d3717fce307a72a524 -Author: Behdad Esfahbod -Date: Fri Feb 16 14:21:40 2018 -0800 - - Clean up bit functions - - Compile all code-paths possible, to better catch errors. - Also enable MSVC ones on mingw which seems to support them. - - src/hb-private.hh | 43 +++++++++++++++++++++++++++---------------- - 1 file changed, 27 insertions(+), 16 deletions(-) - -commit 978ace6fbbc828adc20f21591d138f41d8508ebc -Author: Behdad Esfahbod -Date: Fri Feb 16 16:06:17 2018 -0800 - - Improve _hb_popcount() - - Support 128bit type. - - configure.ac | 3 ++- - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-map.cc | 2 +- - src/hb-private.hh | 61 - +++++++++++++++++++++++++++--------------- - 4 files changed, 44 insertions(+), 24 deletions(-) - -commit 7b5ce7404716a17f91ff86d374c7b76ee7ce3247 -Author: Behdad Esfahbod -Date: Fri Feb 16 15:37:22 2018 -0800 - - Fix warnings - - src/hb-ot-os2-table.hh | 2 +- - test/api/hb-subset-test.h | 3 ++- - test/api/hb-test.h | 9 +++++++-- - 3 files changed, 10 insertions(+), 4 deletions(-) - -commit 94d32d1b83892ed4f124463cf4322bf74b3e850d -Author: Behdad Esfahbod -Date: Fri Feb 16 15:36:20 2018 -0800 - - Enable C99 if available - - Hopefully we can now mix-and-match code and declaration in the C - test files. - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -commit 926db874552519734fab6c04258887ea634f5324 -Merge: 882a3bf4 c7a633f9 -Author: rsheeter -Date: Fri Feb 16 15:27:29 2018 -0800 - - Merge pull request #792 from googlefonts/master - - Support more tables in subsetter - -commit 882a3bf4abcdac60414db41d54dbbb7d2368c908 -Author: Behdad Esfahbod -Date: Fri Feb 16 14:17:20 2018 -0800 - - That didn't work... - - RELEASING.md | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b1f186df78ed14cbc8be919e7f552df2bd7561e0 -Author: Behdad Esfahbod -Date: Fri Feb 16 14:13:38 2018 -0800 - - Add mingw32.sh and mingw64.sh - - RELEASING.md | 28 +--------------------------- - mingw32.sh | 22 ++++++++++++++++++++++ - mingw64.sh | 22 ++++++++++++++++++++++ - 3 files changed, 45 insertions(+), 27 deletions(-) - -commit d37310ac5d5f8a3fd1ce1e535647e7c6bb0d7926 -Author: Arkady Shapkin -Date: Fri Feb 16 21:45:08 2018 +0300 - - Remove checking macros __OPTIMIZE__ for MSVC - - Visual C++ compiler doesn't define macros __OPTIMIZE__ when - optimizations enabled - - src/hb-private.hh | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit 4eff0fc5b87084765ac2e36ba9f09d7d257f32fb -Author: Khaled Hosny -Date: Fri Feb 16 20:22:52 2018 +0200 - - Make this work for old versions of automake - - .ci/fail.sh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit f8077c97909778c117d37773c9da570d831dacd2 -Author: Khaled Hosny -Date: Thu Feb 15 11:47:08 2018 +0200 - - Print only the failed log - - .ci/fail.sh | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 8e3b4c0e11642470069b866a73768a866ac3fdb3 -Author: Khaled Hosny -Date: Thu Feb 15 11:25:24 2018 +0200 - - Simplify calls to collect-logs.sh - - .ci/{collect-logs.sh => fail.sh} | 3 +++ - .circleci/config.yml | 13 +++++++++---- - .travis.yml | 6 +++--- - appveyor.yml | 2 +- - 4 files changed, 16 insertions(+), 8 deletions(-) - -commit c7a633f95710fcf2fe9151b41feba7db4b1bab0e -Author: Rod Sheeter -Date: Fri Feb 16 11:11:20 2018 -0800 - - [subset] try to get more info from bot where g_assert_cmpmem fails - - test/api/hb-subset-test.h | 12 +++++------- - test/api/hb-test.h | 11 ++++++++--- - 2 files changed, 13 insertions(+), 10 deletions(-) - -commit 0bb2d7ac12b7cf482580b6d2e8534eef8a233f96 -Author: Rod Sheeter -Date: Fri Feb 16 06:26:02 2018 -0800 - - [subset] fix int type for blob length in hb-subset-test.h - - test/api/hb-subset-test.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit be0a01a67613f45db7f7e9be84cb883f0344c817 -Merge: 7acaa3b7 139c9928 -Author: Rod Sheeter -Date: Fri Feb 16 06:01:41 2018 -0800 - - Merge branch 'master' of https://github.com/harfbuzz/harfbuzz - -commit 139c9928f6152088fa6eee0279e33cb821aeb541 -Author: Ebrahim Byagowi -Date: Fri Feb 16 13:27:26 2018 +0330 - - Fix hb-private.hh compile issue - - src/hb-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 6c10328eb88b0641586f31a782b63f45eada5609 -Author: Arkady Shapkin -Date: Thu Feb 15 23:17:46 2018 +0300 - - Use _BitScanForward and _BitScanReverse on MSVC - - src/hb-private.hh | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 7acaa3b781da835cdb11dbe523c819feb4eef996 -Author: Rod Sheeter -Date: Thu Feb 15 14:28:29 2018 -0800 - - [subset] apparently C99 is too much to ask in 2018 - - src/hb-ot-hmtx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b1740106a9c825874faf3f1315770d1e3c790cf9 -Author: Rod Sheeter -Date: Thu Feb 15 13:55:21 2018 -0800 - - [subset] fix format specifier for size_t - - src/hb-ot-hmtx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e00c37aaae3922b425c0528bfdd36d59cf9c5796 -Author: Rod Sheeter -Date: Thu Feb 15 12:53:52 2018 -0800 - - [subset] fix no matching function MIN in djgpp - - src/hb-ot-hmtx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6122ad2442666d89ef39bdf5a2bb9d3f6d8e2b03 -Author: Rod Sheeter -Date: Thu Feb 15 11:40:28 2018 -0800 - - [subset] add files to EXTRA_DIST - - test/api/Makefile.am | 3 +++ - 1 file changed, 3 insertions(+) - -commit 0758cbc4c2f52c629d05515b8d2816e8d6a2a2c1 -Author: Rod Sheeter -Date: Thu Feb 15 11:29:01 2018 -0800 - - [subset] correct bug introduced to get_advance - - src/hb-ot-hmtx-table.hh | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 3fd11f4397aec9cda3a7d29246ab3ae56115ad36 -Author: Rod Sheeter -Date: Thu Feb 15 11:15:12 2018 -0800 - - [subset] remove unused decl - - src/hb-subset-private.hh | 3 --- - 1 file changed, 3 deletions(-) - -commit 23d21a74b55eaf6d6d367097099e6b3bb78bae37 -Author: Khaled Hosny -Date: Thu Feb 15 02:52:15 2018 +0200 - - Move collect_logs to .ci dir - - Next to other CI scripts. - - .collect_logs => .ci/collect-logs.sh | 0 - .circleci/config.yml | 8 ++++---- - .travis.yml | 6 +++--- - appveyor.yml | 2 +- - 4 files changed, 8 insertions(+), 8 deletions(-) - -commit 0e088a63d10dd09e025515bfa8ae68aa2922eaf6 -Author: Rod Sheeter -Date: Wed Feb 14 21:11:45 2018 -0800 - - [subset] hmtx space bracket. authors++ - - src/hb-ot-hmtx-table.hh | 40 ++++++++++++++++++++-------------------- - 1 file changed, 20 insertions(+), 20 deletions(-) - -commit 1725c35da0ea2f829b6d6b6c1963607fd6dfb577 -Author: Rod Sheeter -Date: Wed Feb 14 19:36:33 2018 -0800 - - [subset] cmap space bracket - - src/hb-ot-cmap-table.hh | 72 - ++++++++++++++++++++++++------------------------- - 1 file changed, 36 insertions(+), 36 deletions(-) - -commit e158739bfb9e5d60989e179fcc8744f3125e2067 -Author: Rod Sheeter -Date: Wed Feb 14 19:22:37 2018 -0800 - - [subset] space bracket - - src/hb-ot-hmtx-table.hh | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 2d6b1e2af74abea645a943d264e148d56d018101 -Author: Rod Sheeter -Date: Wed Feb 14 19:14:01 2018 -0800 - - [subset] maxp copy writeable fn - - src/hb-ot-maxp-table.hh | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit 1efecd965fe81d65e2763be4f43df2d8c4d8be44 -Author: Rod Sheeter -Date: Wed Feb 14 18:42:29 2018 -0800 - - [subset] hmtx use copy writeable fn instead of direct memory - - src/hb-ot-hmtx-table.hh | 23 ++++------------------- - 1 file changed, 4 insertions(+), 19 deletions(-) - -commit 27012526f9b3848676bc2a4fb8e68c630af18620 -Author: Rod Sheeter -Date: Wed Feb 14 19:01:00 2018 -0800 - - [subset] whitespace - - test/api/test-subset-hmtx.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit b1bd0b5f506dad9d04fd3a6abcb92122f231e0f7 -Author: Behdad Esfahbod -Date: Wed Feb 14 18:50:19 2018 -0800 - - [subset] Minor - - src/hb-ot-cmap-table.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 83f57e24bfc2000373192ec44b067fdd7dee8a65 -Author: Behdad Esfahbod -Date: Wed Feb 14 18:43:53 2018 -0800 - - [test] Reinstate - test/shaping/data/in-house/tests/myanmar-syllable.tests - - test/shaping/data/in-house/tests/myanmar-syllable.tests | 1 + - 1 file changed, 1 insertion(+) - -commit 5ae6526ef4aa9b3c943cad984dc2fff09cdf597b -Merge: 2903b2f3 04c1ec2b -Author: Behdad Esfahbod -Date: Wed Feb 14 18:42:32 2018 -0800 - - [subset] Merge remote-tracking branch 'googlefonts/master' - -commit 04c1ec2b7396c05f6e8afc9d87679422782aa1e8 -Author: Garret Rieger -Date: Wed Feb 14 17:00:18 2018 -0800 - - [subset] Don't fail on different checksum adjustment in subsetting - tests. - - .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1740 -> - 1692 bytes - test/subset/run-tests.py | 8 ++++++++ - 2 files changed, 8 insertions(+) - -commit 0775bc0f7a59241456142b48abced75fd3db5a42 -Author: Garret Rieger -Date: Wed Feb 14 16:37:35 2018 -0800 - - [subset] Fix hhea subsetting and clean up some memory leaks. - - src/hb-ot-hmtx-table.hh | 25 ++++++++++++++----------- - 1 file changed, 14 insertions(+), 11 deletions(-) - -commit b56c9384bcc177236debd26fdbbf14319e4c62b9 -Author: Garret Rieger -Date: Wed Feb 14 16:05:39 2018 -0800 - - [subset] Add missing face reference in hb-subset-plan plus ensure - all struct members are cleaned up on destroy. - - src/hb-subset-plan.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit e0ffebead6230b8e1ee8dd97425505706321793e -Author: Garret Rieger -Date: Wed Feb 14 16:01:08 2018 -0800 - - [subset] In hb-subset-test use hb_set_union instead of manually - copying set. - - test/api/hb-subset-test.h | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -commit e330ef3711c543372f9f8550a967c512bbf87d83 -Author: Garret Rieger -Date: Wed Feb 14 15:57:11 2018 -0800 - - [subset] Restore hb_face_data_destroy to be internal. - - src/hb-subset.cc | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 3ab7d2649bf5c92d3837b3132d65d4659d0fa003 -Author: Garret Rieger -Date: Wed Feb 14 15:48:57 2018 -0800 - - [subset] Fix memory leak in hb-ot-{maxp,os2}. Plus some formatting. - - src/hb-ot-maxp-table.hh | 6 ++++-- - src/hb-ot-os2-table.hh | 24 +++++++++++++----------- - 2 files changed, 17 insertions(+), 13 deletions(-) - -commit 2903b2f357eb495c9badac1b2f74e65e1d1075bd -Author: Behdad Esfahbod -Date: Wed Feb 14 15:46:27 2018 -0800 - - Another linker tweaking - - Trying to fix this warning: - cc1: warning: command line option ‘-fno-threadsafe-statics’ is - valid for C++/ObjC++ but not for C - - Let's see what the clang bots think of it. - - src/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit e1f1f96577a80846749782b6e199a661f4189ec0 -Author: Behdad Esfahbod -Date: Wed Feb 14 15:44:48 2018 -0800 - - [set] Tune size again - - Switch from a 128+64 hierarchy, to 32+32. New page size is 1024. - This should make set iteration faster, without affecting other op - performances much. - - src/hb-set-private.hh | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit 66e282df32410831f1c4e157e9dcf8c76f2bc3d8 -Author: Rod Sheeter -Date: Wed Feb 14 15:31:13 2018 -0800 - - [subset] remove TODO that was already done - - src/hb-subset-plan.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 4696624ad9987b0eebcf5c84dafdb204b886f28e -Author: Rod Sheeter -Date: Wed Feb 14 15:30:49 2018 -0800 - - [subset] maxp wrong int type, note to use copy_writable_or_fail - - src/hb-ot-maxp-table.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 3ed70e5e64910e1c22225f542a525807b000cb2a -Author: Rod Sheeter -Date: Wed Feb 14 15:24:49 2018 -0800 - - [subset] return bool not hb_bool_t from table::subset - - src/hb-ot-cmap-table.hh | 2 +- - src/hb-ot-maxp-table.hh | 2 +- - src/hb-ot-os2-table.hh | 2 +- - src/hb-subset.cc | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -commit 88d56e241bd6bb768656d77cf8f99ccc97fb2446 -Author: Rod Sheeter -Date: Wed Feb 14 15:20:43 2018 -0800 - - [subset] Use a supplier instead of memcpy and fix a few unnecessary - {}s for cmap - - src/hb-ot-cmap-table.hh | 24 ++++++------------------ - 1 file changed, 6 insertions(+), 18 deletions(-) - -commit 42a80f00d51317207c49611b76d6bba06230371b -Author: Rod Sheeter -Date: Wed Feb 14 15:04:35 2018 -0800 - - [subset] add free - - src/hb-ot-hmtx-table.hh | 1 + - 1 file changed, 1 insertion(+) - -commit d463e9f6b57bebb3aa4875fe11c927c26c3e3974 -Author: Rod Sheeter -Date: Wed Feb 14 15:04:15 2018 -0800 - - [subset] Give Behdad credit again - - src/hb-subset.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fa87770372a3156658412ff0d70e32083c6b0484 -Author: Rod Sheeter -Date: Wed Feb 14 14:16:25 2018 -0800 - - [subset] First pass at hmtx - - src/hb-ot-cmap-table.hh | 19 +-- - src/hb-ot-hhea-table.hh | 6 +- - src/hb-ot-hmtx-table.hh | 163 - ++++++++++++++++++--- - src/hb-ot-maxp-table.hh | 8 +- - src/hb-ot-os2-table.hh | 8 +- - src/hb-subset-glyf.cc | 5 +- - src/hb-subset-glyf.hh | 1 - - src/hb-subset-plan.cc | 12 ++ - src/hb-subset-plan.hh | 10 ++ - src/hb-subset-private.hh | 11 ++ - src/hb-subset.cc | 85 ++++++----- - test/api/Makefile.am | 7 + - test/api/fonts/Inconsolata-Regular.ab.ttf | Bin 0 -> 5048 bytes - test/api/fonts/Inconsolata-Regular.abc.ttf | Bin 0 -> 5224 bytes - test/api/fonts/Inconsolata-Regular.abc.widerc.ttf | Bin 0 -> 5228 bytes - test/api/fonts/Inconsolata-Regular.ac.ttf | Bin 0 -> 4940 bytes - test/api/fonts/Inconsolata-Regular.ac.widerc.ttf | Bin 0 -> 4944 bytes - test/api/fonts/README | 2 + - test/api/test-subset-hmtx.c | 164 - ++++++++++++++++++++++ - 19 files changed, 422 insertions(+), 79 deletions(-) - -commit 20022575c658b29796db80c387641309d0c49586 -Author: Ebrahim Byagowi -Date: Thu Feb 15 01:15:39 2018 +0330 - - Redirect email notifications to another mailing list dedicated for - this (#790) - - .travis.yml | 4 ++-- - appveyor.yml | 5 +++++ - 2 files changed, 7 insertions(+), 2 deletions(-) - -commit 581996ea7976847b6356c9cc81b564f0c278f0f3 -Author: Ebrahim Byagowi -Date: Thu Feb 15 00:43:46 2018 +0330 - - Add .collect_logs and use it on CI bots, fixes #786 (#789) - - .circleci/config.yml | 8 ++++---- - .collect_logs | 6 ++++++ - .travis.yml | 6 +++--- - appveyor.yml | 2 +- - 4 files changed, 14 insertions(+), 8 deletions(-) - -commit e5edcc81bf14311c56bd2f50808552076c3c4d77 -Author: Garret Rieger -Date: Wed Feb 14 11:17:53 2018 -0800 - - [subset] Fix codepoint iteration in hb-subset-test. - - test/api/hb-subset-test.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ccae99fdadcf86aeda15dc230a3ddcd6ff176533 -Author: Behdad Esfahbod -Date: Wed Feb 14 11:12:09 2018 -0800 - - Another try - - src/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 8b1dbbef1aec3b6880186070e7386a5553d67b15 -Author: Garret Rieger -Date: Wed Feb 14 11:04:12 2018 -0800 - - Fix compile error in hb-subset-test. - - test/api/hb-subset-test.h | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit f53627e19100df6eb7f32d58e7c4ce47a783f1a6 -Author: Behdad Esfahbod -Date: Wed Feb 14 10:59:22 2018 -0800 - - [test] Fix warning - - test/api/test-subset.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8c3612af650e4c8e01a9fdc127342b07b5c77962 -Author: Behdad Esfahbod -Date: Wed Feb 14 10:57:34 2018 -0800 - - Tweak Makefile some more - - src/Makefile.am | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit d594f947b68ad36d32ce107847f5f02ec3528076 -Author: Behdad Esfahbod -Date: Wed Feb 14 10:55:25 2018 -0800 - - [subset] Allow linking to libstdc++ - - We want to use it. - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a0fe3011bafbe36e7d5810acc7df21bea08c802a -Author: Rod Sheeter -Date: Wed Feb 14 10:52:41 2018 -0800 - - copy all cmap groups at once - - src/hb-ot-cmap-table.hh | 14 ++++---------- - 1 file changed, 4 insertions(+), 10 deletions(-) - -commit d008b62887afe631f50009f40e605c8456ddd011 -Merge: b0eefacf 109314cb -Author: Garret Rieger -Date: Wed Feb 14 10:38:52 2018 -0800 - - Merge remote-tracking branch 'upstream/master' into fixed - -commit b0eefacf4cb885f510f9551bf2e9216808ca61e8 -Author: Garret Rieger -Date: Mon Feb 12 18:15:58 2018 -0800 - - [subset] Drop GSUB, GDEF, GPOS, and DSIG from subsetter expected - test outputs. - - .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 2460 -> - 1740 bytes - test/subset/generate-expected-outputs.py | 1 + - 2 files changed, 1 insertion(+) - -commit 89f17e3965ba776565f2de2bf56a4b135f336e53 -Author: Garret Rieger -Date: Mon Feb 12 18:14:50 2018 -0800 - - [subset] capitalize dsig. - - src/hb-subset.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit df6d780355d7da805a9b9033452f8814c5360bba -Author: Garret Rieger -Date: Mon Feb 12 17:56:17 2018 -0800 - - [subset] Extract maxp subsetting into hb-ot-maxp-table. - - src/hb-ot-maxp-table.hh | 19 ++++++++++++++++++- - src/hb-subset.cc | 28 ++-------------------------- - test/api/test-subset-glyf.c | 5 +++-- - 3 files changed, 23 insertions(+), 29 deletions(-) - -commit 865b6971ad5c2ec4bc33c36a78a36b90da5f5543 -Author: Garret Rieger -Date: Mon Feb 12 17:42:20 2018 -0800 - - [subset] Add a test for OS/2 fixes during subsetting. - - test/api/Makefile.am | 2 ++ - test/api/fonts/Roboto-Regular.b.ttf | Bin 0 -> 1996 bytes - test/api/test-subset-os2.c | 59 - ++++++++++++++++++++++++++++++++++++ - 3 files changed, 61 insertions(+) - -commit 343dfe89655683966836e44afb4fd32c47377844 -Author: Garret Rieger -Date: Mon Feb 12 17:33:48 2018 -0800 - - [subset] white and add inline in hb-ot-cmap-table. - - src/hb-ot-cmap-table.hh | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit 24904383df03c472c865bd97bfe844f5e86a7172 -Author: Garret Rieger -Date: Mon Feb 12 17:31:01 2018 -0800 - - [subset] Correct usFirstCharIndex and usLastCharIndex in OS2 table - when subsetting. - - src/hb-ot-os2-table.hh | 45 +++++++++++++++++++++++++++++++++++++++++++++ - src/hb-subset.cc | 16 ++++++++++------ - 2 files changed, 55 insertions(+), 6 deletions(-) - -commit 109314cb55e6d95d5c3a87b9ed1ba4e74a880078 -Author: Ebrahim Byagowi -Date: Wed Feb 14 21:05:11 2018 +0330 - - Another attempt on fixing the tests on Travis (#788) - - src/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 694eaf636713b8d0bbe13f38c2553b1a2f3d2d3a -Author: Behdad Esfahbod -Date: Wed Feb 14 01:00:10 2018 -0800 - - [set] Add backwards iterator - - New API: - - hb_set_previous() - - hb_set_previous_range() - - docs/harfbuzz-sections.txt | 2 ++ - src/hb-set-private.hh | 79 - +++++++++++++++++++++++++++++++++++++++++++++- - src/hb-set.cc | 49 +++++++++++++++++++++++++++- - src/hb-set.h | 19 ++++++++--- - test/api/test-set.c | 53 +++++++++++++++++++++++++++++-- - 5 files changed, 194 insertions(+), 8 deletions(-) - -commit fe3bc524bd4f93bd67c13ed402720a13dd3484d3 -Author: Behdad Esfahbod -Date: Tue Feb 13 23:51:45 2018 -0800 - - [set] Allow starting iteration from a non-member of the set - - src/hb-set-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a989f3edec5864d5de8b217aa595c962d8fc4b0a -Author: Behdad Esfahbod -Date: Tue Feb 13 22:12:36 2018 -0800 - - Add hb_blob_copy_writable_or_fail() - - New API: - - hb_blob_copy_writable_or_fail() - - docs/harfbuzz-sections.txt | 1 + - src/hb-blob.cc | 25 +++++++++++++++++++++++++ - src/hb-blob.h | 3 +++ - 3 files changed, 29 insertions(+) - -commit 9046e924421869bf167b52cd394e868796091f62 -Author: Behdad Esfahbod -Date: Tue Feb 13 22:07:12 2018 -0800 - - [subset] Rename constructor to hb_subset_input_create_or_fail() - - To signify that unlike rest of library, returns nullptr on failure. - - src/hb-subset-input.cc | 6 ++---- - src/hb-subset.h | 2 +- - test/api/test-subset-glyf.c | 3 ++- - test/api/test-subset.c | 7 +++++-- - util/hb-subset.cc | 2 +- - 5 files changed, 11 insertions(+), 9 deletions(-) - -commit 507804479a81672ec0c089313adad9fa308d78fd -Author: Behdad Esfahbod -Date: Tue Feb 13 21:46:28 2018 -0800 - - [use] Add dump-use-data - - src/Makefile.am | 4 ++++ - src/dump-use-data.cc | 38 - ++++++++++++++++++++++++++++++++++ - src/gen-use-table.py | 2 +- - src/hb-ot-shape-complex-use-private.hh | 2 +- - src/hb-ot-shape-complex-use-table.cc | 2 +- - src/hb-ot-shape-complex-use.cc | 4 ++-- - 6 files changed, 47 insertions(+), 5 deletions(-) - -commit 15ba4fbe01433c8627f9e6a60106ca77d3e1ad4c -Author: Behdad Esfahbod -Date: Tue Feb 13 21:41:51 2018 -0800 - - [khmer] Add dump-khmer-data - - src/Makefile.am | 4 + - src/Makefile.sources | 1 + - src/dump-khmer-data.cc | 43 +++++++++++ - src/hb-ot-shape-complex-khmer-private.hh | 124 - +++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-khmer.cc | 98 +----------------------- - 5 files changed, 173 insertions(+), 97 deletions(-) - -commit effddd03bd6fb0aac14b46a16b281f3749e44780 -Author: Behdad Esfahbod -Date: Tue Feb 13 21:38:15 2018 -0800 - - [myanmar] Add dump-myanmar-data - - src/Makefile.am | 4 + - src/Makefile.sources | 1 + - src/dump-myanmar-data.cc | 43 ++++++++ - src/hb-ot-shape-complex-indic-private.hh | 8 +- - src/hb-ot-shape-complex-myanmar-private.hh | 171 - +++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-myanmar.cc | 138 +---------------------- - 6 files changed, 225 insertions(+), 140 deletions(-) - -commit c0e45b60a001a45c8ed1f12af8f2f222161eca6a -Author: Behdad Esfahbod -Date: Tue Feb 13 21:23:38 2018 -0800 - - [indic] Rename print-indic-table to dump-indic-data - - Makes more sense given what this prints, err, dumps. - - src/Makefile.am | 8 ++++---- - src/{print-indic-table.cc => dump-indic-data.cc} | 0 - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 9b878bd2165236b067d59410673cf5cc54968fa7 -Author: Behdad Esfahbod -Date: Tue Feb 13 21:22:47 2018 -0800 - - [indic] Explicitly number indic_position_t - - So it's easier to cross-reference from output of print-indic-table. - - src/hb-ot-shape-complex-indic-private.hh | 32 - ++++++++++++++++---------------- - 1 file changed, 16 insertions(+), 16 deletions(-) - -commit 8634846a0a1049c42ea84ca34402957c981b4c73 -Author: Behdad Esfahbod -Date: Tue Feb 13 21:18:00 2018 -0800 - - More tweaking linker and linker flags - - src/Makefile.am | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit d830d3d2448b2248dff642c701b442e1260e2d85 -Author: Behdad Esfahbod -Date: Tue Feb 13 19:01:03 2018 -0800 - - [indic] Share some copy/pasta code - - src/hb-ot-shape-complex-indic-private.hh | 29 - +++++++++++++++++++++++++++-- - src/hb-ot-shape-complex-indic.cc | 27 --------------------------- - src/hb-ot-shape-complex-khmer.cc | 30 - ++++++++---------------------- - src/hb-ot-shape-complex-myanmar.cc | 19 ++----------------- - 4 files changed, 37 insertions(+), 68 deletions(-) - -commit 397ed53e55b9450742867a43d164b498ec735f50 -Author: Behdad Esfahbod -Date: Tue Feb 13 18:54:26 2018 -0800 - - [indic] Add print-indic-table - - src/Makefile.am | 14 ++- - src/hb-ot-shape-complex-indic-private.hh | 185 - ++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-indic.cc | 187 - ------------------------------- - src/print-indic-table.cc | 43 +++++++ - 4 files changed, 239 insertions(+), 190 deletions(-) - -commit fd0bde6325a7dfe3ba54b683646ca0693c414446 -Author: Behdad Esfahbod -Date: Tue Feb 13 16:35:30 2018 -0800 - - [subset] Fix loca offsets - - Was writing source font's offsets. Ouch. - - src/hb-subset-glyf.cc | 30 +++++++++++------------------- - 1 file changed, 11 insertions(+), 19 deletions(-) - -commit aeed082e282b97e40c2e8590bdd8818affc7de6c -Author: Behdad Esfahbod -Date: Tue Feb 13 14:02:59 2018 -0800 - - Another tweak at libstdc++ things - - To fix this warning: - - cc1: warning: command line option ‘-fno-threadsafe-statics’ is - valid for C++/ObjC++ but not for C - - src/Makefile.am | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit c7d7c9898e22905888dc4304f6d8e79b55654174 -Author: Behdad Esfahbod -Date: Tue Feb 13 14:00:14 2018 -0800 - - [aat] Minor - - src/hb-aat-layout-morx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2dbfeecf96c6993d42594f43133d945d67ddbdbc -Author: Behdad Esfahbod -Date: Tue Feb 13 13:59:39 2018 -0800 - - Minor - - src/hb-aat-layout-morx-table.hh | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit d5b33f2fe1603e894e21f45afb4c00c8d670fb5c -Author: Behdad Esfahbod -Date: Tue Feb 13 13:50:50 2018 -0800 - - [subset] hb_subset_input_t changes - - src/Makefile.sources | 1 + - src/hb-face.h | 1 - - src/hb-set.cc | 14 +++--- - src/hb-subset-input.cc | 109 - ++++++++++++++++++++++++++++++++++++++++++++ - src/hb-subset-plan.cc | 2 +- - src/hb-subset-private.hh | 11 ++++- - src/hb-subset.cc | 40 ++-------------- - src/hb-subset.h | 12 ++++- - test/api/test-subset-glyf.c | 4 +- - test/api/test-subset.c | 2 +- - util/hb-subset.cc | 20 ++++---- - 11 files changed, 153 insertions(+), 63 deletions(-) - -commit 28e63a1287fd38a98eed6725c2f4d0820066b0d8 -Author: Behdad Esfahbod -Date: Tue Feb 13 13:39:50 2018 -0800 - - Disable threadsafe static's for all libraries - - Even in libharfbuzz-subset, we still will handle our own threadsafety - for statics. - - src/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 7caddb51b1e69a2803f86756e2ce2acff685c7d0 -Author: Ebrahim Byagowi -Date: Tue Feb 13 15:12:43 2018 +0330 - - Specify the project name for coverity, trying to fix #785 - - .travis.yml | 1 + - 1 file changed, 1 insertion(+) - -commit b969a82e30f0ff7bf6b2ea2600ef170764774a8c -Author: Behdad Esfahbod -Date: Mon Feb 12 20:51:26 2018 -0800 - - Pass no-libstdc++ flags only to libraries suppressing it - - src/Makefile.am | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit 97a2f0320056b591d7a747022869fe9cd8ecc6e1 -Author: Behdad Esfahbod -Date: Mon Feb 12 18:51:10 2018 -0800 - - [subset] Allocate bulk memory with malloc(), not calloc() - - We use calloc() to allocate simple structs and set them to zero. - For bulk memory, use malloc() that doesn't zero. - - src/hb-subset-glyf.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 96f1f52ea3a42b27f59aecffe65c918295e53b3b -Author: Behdad Esfahbod -Date: Mon Feb 12 18:48:51 2018 -0800 - - Use hb_face_get_upem() instead of face->get_upem() - - Such that hmtx accelerator can be used from libharfbuzz-subset. - - src/hb-ot-cbdt-table.hh | 2 +- - src/hb-ot-hmtx-table.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 3d66f441cc4d4feb2fd4b03be9f764c91f4de8b2 -Author: Behdad Esfahbod -Date: Mon Feb 12 18:43:42 2018 -0800 - - [subset] Remove unreachable code - - sanitizer.sanitize never return nullptr. - - src/hb-subset.cc | 4 ---- - 1 file changed, 4 deletions(-) - -commit 42040a273facc696d9a54fc4d89857665e87e3d1 -Author: Behdad Esfahbod -Date: Mon Feb 12 18:41:36 2018 -0800 - - Allow libharfbuzz-subset to link to libstdc++ - - We want to use it instead of reinventing hashmap... - - Also, don't change linker for ICU since libicu also uses libstdc++. - - src/Makefile.am | 2 -- - src/check-libstdc++.sh | 3 ++- - 2 files changed, 2 insertions(+), 3 deletions(-) - -commit 4af3c5e25822cc5a401837da547c75a17b7f7b48 -Author: Ebrahim Byagowi -Date: Mon Feb 12 23:21:24 2018 +0330 - - Move linker specifying to a better place - - src/Makefile.am | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -commit 8cf8b78faaf3e7ee261bdc44a1ad5a1973eab1a2 -Author: Garret Rieger -Date: Mon Feb 12 16:30:21 2018 -0800 - - [subset] whitespace - - test/api/test-subset-cmap.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit d1a4d5616f792c6ad84bcc5011040167ddd7cc3f -Author: Rod Sheeter -Date: Mon Feb 12 16:25:32 2018 -0800 - - output format 12 as enc 10 to match how Roboto did it - - src/hb-ot-cmap-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 89ee20f1a39ac78268b57a9aebe8e7428f9944bf -Author: Rod Sheeter -Date: Mon Feb 12 16:01:15 2018 -0800 - - basic wiring for a (failing) cmap test - - test/api/Makefile.am | 2 + - test/api/fonts/README | 1 + - .../Roboto-Regular.abc.cmap-format12-only.ttf | Bin 0 -> 2412 bytes - .../fonts/Roboto-Regular.ac.cmap-format12-only.ttf | Bin 0 -> 2212 bytes - test/api/hb-subset-test.h | 3 +- - test/api/test-subset-cmap.c | 82 - +++++++++++++++++++++ - test/api/test-subset-glyf.c | 5 +- - .../data/in-house/tests/myanmar-syllable.tests | 1 - - 8 files changed, 87 insertions(+), 7 deletions(-) - -commit afb1da3a1891b7c0fdd047bcb7b3bde86e830444 -Author: Rod Sheeter -Date: Mon Feb 12 14:37:47 2018 -0800 - - auto-completed the wrong gids_to_retain - - src/hb-subset-plan.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 1330edc4fe3ffbf18313d6432045606865c610c4 -Author: Rod Sheeter -Date: Mon Feb 12 14:29:23 2018 -0800 - - Use functions to get new gids. Avoid 0; fonttools drops it from cmap. - - src/hb-ot-cmap-table.hh | 24 ++++++++++++++++++------ - src/hb-subset-plan.cc | 25 ++++++++++++++++++++----- - src/hb-subset-plan.hh | 5 +++++ - src/hb-subset.cc | 2 +- - 4 files changed, 44 insertions(+), 12 deletions(-) - -commit 1639bdd33122dc8e5522b95c37660273d1fc609e -Author: Garret Rieger -Date: Mon Feb 12 13:40:42 2018 -0800 - - [subset] Remove test-subset, testing is planned to be done at the - table level here with test/subset covering the complete subsetting - operation. - - test/api/Makefile.am | 1 - - test/api/test-subset.c | 73 - -------------------------------------------------- - 2 files changed, 74 deletions(-) - -commit 4cdd1b16c99f2681eb11d626c4408eebcc1672be -Author: Garret Rieger -Date: Mon Feb 12 13:36:28 2018 -0800 - - [subset] added todo in test-subset-glyf. - - test/api/test-subset-glyf.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 1714feef4f7ec9e758e65edcbe5d5591562f46ee -Author: Garret Rieger -Date: Mon Feb 12 13:35:17 2018 -0800 - - [subset] re-enable test-subset-glyf. Refactor to use common functions - in hb-subset-test.h - - test/api/test-subset-glyf.c | 109 - +++++++++++--------------------------------- - 1 file changed, 27 insertions(+), 82 deletions(-) - -commit d8d8bd8405ec0db781c4c2bbb7ebd6ff520b3c2d -Author: Garret Rieger -Date: Mon Feb 12 13:33:55 2018 -0800 - - [subset] Add some helper functions for writing tests around - subsetting. - - test/api/Makefile.am | 2 +- - test/api/hb-subset-test.h | 123 - ++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 124 insertions(+), 1 deletion(-) - -commit e8318188c0e53a267a01c45b0fc8d29ad775738a -Author: Garret Rieger -Date: Mon Feb 12 11:38:28 2018 -0800 - - [subset] Fix loca generation, was previously writing the original - glyph starting offset. - - src/hb-subset-glyf.cc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 0b94d590d971de0b44b0db941c7a3e095f15fbc9 -Author: Khaled Hosny -Date: Mon Feb 12 16:45:36 2018 +0200 - - Rename --with-stdcpp → --with-libstdc++ - - Also improve wording a bit and fix make check in --with-libstdc++=yes. - - configure.ac | 11 ++++++----- - src/Makefile.am | 11 ++++++++--- - 2 files changed, 14 insertions(+), 8 deletions(-) - -commit a5713bc2cb4a3fd71d3bc94b9f155339b09eb71a -Author: Rod Sheeter -Date: Mon Feb 12 11:30:45 2018 -0800 - - we love all our groups - - src/hb-ot-cmap-table.hh | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -commit 692f86e569847adb332186cbb08f344ebe41fa6c -Author: Rod Sheeter -Date: Mon Feb 12 11:29:23 2018 -0800 - - drop GDEF, GPOS, GSUB, and dsig - - src/hb-subset.cc | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -commit 83e1ef92156d8688b96d14957efcdf7601768799 -Author: Garret Rieger -Date: Mon Feb 12 11:22:32 2018 -0800 - - [subset] Set the new number of glyphs in maxp. - - src/hb-ot-maxp-table.hh | 5 +++++ - src/hb-subset.cc | 37 ++++++++++++++++++++++++++++++++----- - 2 files changed, 37 insertions(+), 5 deletions(-) - -commit 427f9e4b90bfadb8af13cbd27b7c3ee0153ca8b1 -Author: Garret Rieger -Date: Mon Feb 12 11:18:28 2018 -0800 - - Don't force loca version to long. - - src/hb-subset-glyf.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 5df080bf155a12f98929b99438da492063ab9218 -Author: Garret Rieger -Date: Mon Feb 12 10:15:59 2018 -0800 - - Destroy the subset plan at the end of subsetting. - - src/hb-subset.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 0301e5be286f5080ec34e9f30c75e73f28d0218b -Author: Rod Sheeter -Date: Mon Feb 12 10:12:11 2018 -0800 - - Build a working cmap format 12 - - src/hb-ot-cmap-table.hh | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -commit ebd31d376d63c9698c0eae34ed295558f7230918 -Author: Rod Sheeter -Date: Mon Feb 12 10:10:08 2018 -0800 - - subset for real - - src/hb-subset.cc | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 62c7d677e8699143e55e7bfa0cc3c1db75f32506 -Author: Rod Sheeter -Date: Mon Feb 12 10:09:35 2018 -0800 - - C-style comments - - src/hb-open-file-private.hh | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -commit 91f0d51f0525097fef6173046379a89414cb515f -Author: Ebrahim Byagowi -Date: Mon Feb 12 17:20:12 2018 +0330 - - Fix symbol exporting issue on msys2 and ✅ bringing all the bots - (#781) - - src/Makefile.am | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -commit 133e17fe2335abb77f61dbf1cff1955c21334137 -Author: Ebrahim Byagowi -Date: Mon Feb 12 15:24:22 2018 +0330 - - Minor - - src/check-defs.sh | 1 + - 1 file changed, 1 insertion(+) - -commit 16f5b53eec4c3238cf92438a17e6dc532e8a61f5 -Author: Ebrahim Byagowi -Date: Mon Feb 12 15:18:13 2018 +0330 - - Minor, don't skip the whole test when one .def file not found - - src/check-defs.sh | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit a9b650d38407f6f2a26d8386e801600b1004d5d6 -Author: Ebrahim Byagowi -Date: Mon Feb 12 15:10:13 2018 +0330 - - Apply check-defs.sh to -icu and -subset, toward mingw fix (#780) - - CMakeLists.txt | 11 ++++++++--- - src/Makefile.am | 21 ++++++++++++++++----- - src/check-defs.sh | 12 +++++------- - src/gen-def.py | 9 ++++++--- - 4 files changed, 35 insertions(+), 18 deletions(-) - -commit 2efc8965506d8fd31934be1dba3322f922f3409d -Author: Ebrahim Byagowi -Date: Mon Feb 12 12:00:07 2018 +0330 - - Add --with-stdcpp for ossfuzzer and mupdf use (#770) - - configure.ac | 12 ++++++------ - src/Makefile.am | 14 +++++++++++++- - 2 files changed, 19 insertions(+), 7 deletions(-) - -commit 82e04758c895ce2cd6bddde5f72e592c718fcb69 -Author: Ebrahim Byagowi -Date: Mon Feb 12 11:56:32 2018 +0330 - - minor - - .travis.yml | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 7daa2822f6320801dfed09782ae46687e7c8cbb3 -Author: Ebrahim Byagowi -Date: Mon Feb 12 11:27:00 2018 +0330 - - Add Travis based Coverity trigger (#778) - - .ci/trigger-coverity.sh | 13 +++++++++++++ - .travis.yml | 14 ++++++++++++++ - 2 files changed, 27 insertions(+) - -commit 7747bdb11b0635738a14c099bfaf58461cadd79a -Author: Behdad Esfahbod -Date: Sun Feb 11 19:12:52 2018 -0800 - - Remove linker selection from hb-ucdn - - Since this is a convenience library, it's not actually linked. Or - so I think. - Hoping this might fix this Appveyor failure: - - https://ci.appveyor.com/project/harfbuzz/harfbuzz/build/job/9884jyb5vryja9pw - - Making all in hb-ucdn - make[4]: Entering directory '/c/projects/harfbuzz/src/hb-ucdn' - CC libhb_ucdn_la-ucdn.lo - GEN libhb-ucdn.la - /bin/sh: libhb_ucdn_la-ucdn.lo: command not found - make[4]: *** [Makefile:404: libhb-ucdn.la] Error 127 - make[4]: Leaving directory '/c/projects/harfbuzz/src/hb-ucdn' - make[3]: *** [Makefile:2548: all-recursive] Error 1 - make[3]: Leaving directory '/c/projects/harfbuzz/src' - make[2]: *** [Makefile:1382: all] Error 2 - make[2]: Leaving directory '/c/projects/harfbuzz/src' - make[1]: *** [Makefile:486: all-recursive] Error 1 - make[1]: Leaving directory '/c/projects/harfbuzz' - make: *** [Makefile:418: all] Error 2 - - src/hb-ucdn/Makefile.am | 11 ----------- - 1 file changed, 11 deletions(-) - -commit 90d1c740c370b97dfff52420db013ed50075b984 -Author: Behdad Esfahbod -Date: Sun Feb 11 19:08:59 2018 -0800 - - Add MSVC to no-visibility list - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0db6c6f214a83ffeeefb7c3b77476567e534facb -Author: Behdad Esfahbod -Date: Sun Feb 11 18:28:10 2018 -0800 - - Add Sun compiler to no-visibility as well - - Fixes https://github.com/harfbuzz/harfbuzz/pull/776 - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d33ba163611c42acd0125472191ea40745f905eb -Author: Behdad Esfahbod -Date: Sun Feb 11 18:26:41 2018 -0800 - - Fix more warnings - - test/api/test-buffer.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit dde6448379c9eeb0fc7cc476688002be661229b8 -Author: Behdad Esfahbod -Date: Sun Feb 11 18:24:22 2018 -0800 - - Another try at fixing multiple-defintion of NullPool - - This one might do it... - - src/hb-open-type-private.hh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit b5f25844fbdd3167051c8d3586b404ae7f077b3b -Author: Behdad Esfahbod -Date: Sun Feb 11 19:49:18 2018 -0600 - - [docs] Minor update - - docs/harfbuzz-sections.txt | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 41906cd5efc2fe17f5fff3fa5fe8488e0cdc6399 -Author: Behdad Esfahbod -Date: Sun Feb 11 19:46:06 2018 -0600 - - [subset] Another fixup - - I broke this in c31fcf4c58d96eb7d9781a986991b1a79ac7be44 - - src/hb-ot-cmap-table.hh | 2 +- - test/subset/run-tests.py | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit cd32177a322b5fd70c92f67f21b64686bf5d5533 -Author: Behdad Esfahbod -Date: Sun Feb 11 19:34:05 2018 -0600 - - Try at fixing multiple-definition of NullPool - - If we don't have visibility, make NullPool static. - - src/hb-open-type-private.hh | 8 +++++++- - src/hb-ot-layout.cc | 2 ++ - src/hb-private.hh | 4 +--- - 3 files changed, 10 insertions(+), 4 deletions(-) - -commit 3d421ce30713582484471baba76470c84dabc118 -Author: Behdad Esfahbod -Date: Sun Feb 11 19:01:44 2018 -0600 - - [subset] Use auto_array_t where it does make sense - - Better fix for https://github.com/harfbuzz/harfbuzz/pull/775 - - src/hb-subset-plan.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 9aa2eb61e6cb3e4308140bed8a8531877ffd6adf -Author: Behdad Esfahbod -Date: Sun Feb 11 19:00:42 2018 -0600 - - Minor - - src/hb-ot-cmap-table.hh | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit ae6d0259b4f075885070f833d0f2a96333bf4af3 -Author: Ebrahim Byagowi -Date: Sun Feb 11 15:40:55 2018 +0330 - - Install fonttools on two bots and enable cmake hb-subset test (#777) - - .circleci/config.yml | 6 ++++-- - test/subset/CMakeLists.txt | 8 ++++---- - 2 files changed, 8 insertions(+), 6 deletions(-) - -commit c8d4c2e32f1cea610a9c91dc6b0c32e9ffe84f20 -Author: Ebrahim Byagowi -Date: Sun Feb 11 13:15:44 2018 +0330 - - Initialize bad_indices on hb-subset (#775) - - src/hb-subset-plan.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 5845e5ca3bac21c0b03e71eab282b02fb7e868a4 -Author: Ebrahim Byagowi -Date: Sun Feb 11 12:03:33 2018 +0330 - - fix gobject compile issue (#773) - - src/hb-gobject-structs.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 9b5af3ec7f80a7793d5d3891e762d83026de0a5b -Author: Behdad Esfahbod -Date: Sat Feb 10 21:50:26 2018 -0600 - - [gpos] Adjust mark attachment heuristic - - Hopefully it... - fixes https://github.com/harfbuzz/harfbuzz/issues/740 - - src/hb-ot-layout-gpos-table.hh | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit 70b06cc6e71e15f0d7550f67b113eed5e6f30a5f -Author: Behdad Esfahbod -Date: Sat Feb 10 16:13:06 2018 -0600 - - More fixes - - util/hb-subset.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 6c1848b1e3b8969afc441f094b0d7b64b4b14933 -Author: Behdad Esfahbod -Date: Sat Feb 10 15:52:35 2018 -0600 - - Misc warning fixes - - test/api/test-blob.c | 2 +- - test/api/test-buffer.c | 14 +++++++------- - test/api/test-ot-tag.c | 2 +- - 3 files changed, 9 insertions(+), 9 deletions(-) - -commit 7039803b51f23cb15dd7e12b105c379bd2e38d71 -Author: Behdad Esfahbod -Date: Sat Feb 10 15:47:50 2018 -0600 - - Fix djgpp bot - - src/hb-subset-glyf.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit cdab20df1e55da196ffc6bc00d580e5ef74c1975 -Author: Behdad Esfahbod -Date: Sat Feb 10 15:45:17 2018 -0600 - - Minor - - src/hb-ot-layout.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 203b647530b1550388bb3ce2f67e3b17e019d3e4 -Author: Ebrahim Byagowi -Date: Sun Feb 11 01:00:03 2018 +0330 - - Favor use of static instead HB_INTERNAL - - src/hb-subset-glyf.cc | 8 ++++---- - src/hb-subset-plan.cc | 4 ++-- - src/hb-subset.cc | 2 +- - 3 files changed, 7 insertions(+), 7 deletions(-) - -commit 4c5bdb4b39a723b624346d9b9ff9ace964fff0fe -Author: Behdad Esfahbod -Date: Sat Feb 10 15:40:54 2018 -0600 - - [test] Disable test-subset-glyf for now - - test/api/test-subset-glyf.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 43314ff4c05076decbd1eb07ed78f732b6ebcba9 -Author: Behdad Esfahbod -Date: Sat Feb 10 15:40:03 2018 -0600 - - More fixes - - test-subset-glyf still failing. No idea why :( - - src/hb-subset.cc | 3 +-- - test/api/test-subset-glyf.c | 26 ++++++++++++++++---------- - 2 files changed, 17 insertions(+), 12 deletions(-) - -commit a981d798eab41b6a7c6484776f04fe178bd536ba -Author: Behdad Esfahbod -Date: Sat Feb 10 15:17:28 2018 -0600 - - Fix more build issues - - Hopefully most bots come back with this... - - src/check-libstdc++.sh | 5 +++-- - src/check-symbols.sh | 2 +- - src/hb-buffer.h | 1 - - src/hb-gobject-structs.h | 6 ++++++ - src/hb-subset-plan.cc | 10 +++++++--- - src/hb-subset.cc | 6 +++--- - 6 files changed, 20 insertions(+), 10 deletions(-) - -commit 6c4ca6135a2ce846431b0ede6a288d3b2f97167e -Author: Ebrahim Byagowi -Date: Sun Feb 11 00:42:06 2018 +0330 - - Hide more symbols of hb-subset (#771) - - src/hb-subset-plan.cc | 2 +- - src/hb-subset.cc | 6 +++--- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit c31fcf4c58d96eb7d9781a986991b1a79ac7be44 -Author: Behdad Esfahbod -Date: Sat Feb 10 14:20:10 2018 -0600 - - [subset] Replace auto_array with prealloced_array - - auto_array has constructor/destructor. Cannot be used in POD object, - as the clang - bots all noticed... - - src/hb-ot-cmap-table.hh | 8 ++++---- - src/hb-subset-glyf.cc | 6 +++--- - src/hb-subset-plan.cc | 23 +++++++++++------------ - src/hb-subset-plan.hh | 9 +++------ - 4 files changed, 21 insertions(+), 25 deletions(-) - -commit 931d67900ee6d96b5962a475c1b71a58b821bcba -Author: Behdad Esfahbod -Date: Sat Feb 10 14:11:16 2018 -0600 - - Fix some other bots - - src/hb-subset-glyf.cc | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 4011d885b7fca87c717fdaa4bd0318a42308865a -Author: Behdad Esfahbod -Date: Sat Feb 10 14:09:06 2018 -0600 - - [util] Remove use of ssize_t which was failing on MSVC - - util/hb-subset.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit bfa871634ce9ef9f4ed18348d898686952d6cbe3 -Author: Behdad Esfahbod -Date: Sat Feb 10 13:37:28 2018 -0600 - - Minor - - src/hb-subset-glyf.hh | 2 +- - src/hb-subset-plan.hh | 2 +- - src/hb-subset.cc | 3 +-- - src/hb-subset.h | 2 +- - 4 files changed, 4 insertions(+), 5 deletions(-) - -commit 844f48ea9a72d28e2c088497f6c403c54e1751a8 -Author: Ebrahim Byagowi -Date: Sat Feb 10 23:13:12 2018 +0330 - - Fix symbol exporting and libstdc++ linkage of hb-subset (#769) - - CMakeLists.txt | 6 ++---- - src/Makefile.am | 3 +++ - src/check-defs.sh | 2 +- - src/check-libstdc++.sh | 20 +++++++++++--------- - src/check-symbols.sh | 28 +++++++++++++++------------- - src/hb-subset-glyf.cc | 8 ++++---- - src/hb-subset-glyf.hh | 2 +- - src/hb-subset-plan.cc | 4 ++-- - src/hb-subset-plan.hh | 8 ++++---- - src/hb-subset.cc | 2 +- - src/hb-ucdn/Makefile.am | 11 +++++++++++ - 11 files changed, 55 insertions(+), 39 deletions(-) - -commit 91519c6a5b130ced569cedc3710ab395b663240d -Author: Behdad Esfahbod -Date: Sat Feb 10 13:35:17 2018 -0600 - - [aat] Add buffer messages - - src/hb-aat-layout-morx-table.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit af274507c4f4c5a582543affa71d81a87d6d9151 -Author: Behdad Esfahbod -Date: Sat Feb 10 13:25:49 2018 -0600 - - Minor - - src/hb-private.hh | 15 ++++++--------- - 1 file changed, 6 insertions(+), 9 deletions(-) - -commit 570d523761b23a3c668d9071712d5f10944d21fc -Merge: 71130a20 d18decd2 -Author: Behdad Esfahbod -Date: Sat Feb 10 13:24:22 2018 -0600 - - [subset] Merge remote-tracking branch 'googlefonts/master' - -commit 71130a20fae7c256b0ab1aa397cc1ac2d11dd487 -Author: Behdad Esfahbod -Date: Sat Feb 10 13:15:57 2018 -0600 - - Replace Supplier.advance with Supplier::operator+= - - src/hb-open-file-private.hh | 4 ++-- - src/hb-open-type-private.hh | 7 ++++--- - src/hb-ot-layout-common-private.hh | 4 ++-- - src/hb-ot-layout-gsub-table.hh | 10 +++++----- - 4 files changed, 13 insertions(+), 12 deletions(-) - -commit d0f3e7f59719bdb6a2105ee85a8f3ee799741dab -Author: Behdad Esfahbod -Date: Sat Feb 10 12:45:28 2018 -0600 - - [util] Use setlinebuf() if present - - To work around mysterious bug on OS X. - - Fixes https://github.com/harfbuzz/harfbuzz/issues/727 - - configure.ac | 6 ++---- - util/options.cc | 12 ++++++++++-- - 2 files changed, 12 insertions(+), 6 deletions(-) - -commit ad575a5f47a51ee553710873ac2672479b76ba5e -Author: Ebrahim Byagowi -Date: Sat Feb 10 19:50:11 2018 +0330 - - Fix cast warnings on clang (#768) - - src/hb-open-type-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit d18decd2013f24f315dbd3b15cdd80c5a734e7e9 -Author: Garret Rieger -Date: Fri Feb 9 18:41:21 2018 -0800 - - In glyf subsetting add suport for writing out a short loca table - when possible. - - src/hb-subset-glyf.cc | 42 +++++++++++++++++++++++++++++++++--------- - 1 file changed, 33 insertions(+), 9 deletions(-) - -commit 9275bd03ea427eb607dde6a8e65f78a350b88323 -Author: Rod Sheeter -Date: Fri Feb 9 17:33:34 2018 -0800 - - First pass at building a cmap - - src/hb-ot-cmap-table.hh | 103 - ++++++++++++++++++++++++++++++++++++++++++++---- - src/hb-subset.cc | 37 +++++++++-------- - 2 files changed, 115 insertions(+), 25 deletions(-) - -commit d2170d14780ad6f8e0d17a1e011445c3bcc20871 -Author: Garret Rieger -Date: Fri Feb 9 17:24:16 2018 -0800 - - Check for failures from add table. - - src/hb-subset.cc | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit 4816064c0e5464d032a55001a959a9abcef7f70e -Author: Rod Sheeter -Date: Fri Feb 9 17:14:37 2018 -0800 - - add missing return - - src/hb-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 0089443756cdcef0182e55cf8480b96a64d31cc7 -Author: Garret Rieger -Date: Fri Feb 9 16:22:09 2018 -0800 - - Keep a second set of glyph ids in subset plan which is sorted by - glyph id and always has gid 0 - - src/hb-subset-glyf.cc | 2 +- - src/hb-subset-plan.cc | 34 +++++++++++++++++++++++++--------- - src/hb-subset-plan.hh | 1 + - 3 files changed, 27 insertions(+), 10 deletions(-) - -commit 3bc81558d836e27e77bda0d6da9c71f530719579 -Author: Garret Rieger -Date: Fri Feb 9 16:06:33 2018 -0800 - - Formatting for hb-subset-plan. - - src/hb-subset-plan.cc | 51 - +++++++++++++++++++++++++++------------------------ - 1 file changed, 27 insertions(+), 24 deletions(-) - -commit 8cef3a61995317d3a5724221108647d7e66fe24a -Author: Behdad Esfahbod -Date: Fri Feb 9 16:04:23 2018 -0600 - - Try fixing build with Sun Studio - - Trying to fix: - https://circleci.com/gh/harfbuzz/harfbuzz/6635 - - Also part of: - https://github.com/harfbuzz/harfbuzz/issues/630 - - src/hb-private.hh | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 86aa4b3ba7cd075f01614874dae88a771b8c54fd -Author: Garret Rieger -Date: Fri Feb 9 13:54:43 2018 -0800 - - Return empty face on hb_subset failure instead of null. Plus some - minor cleanups for _add_head_and_set_loca_version - - src/hb-subset.cc | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -commit d45f240e4e330cedad737fdb792b311c37a19e32 -Author: Behdad Esfahbod -Date: Fri Feb 9 15:51:45 2018 -0600 - - Typo - - src/hb-buffer.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3b7aa651b4714b996816023a4929c0289065493f -Author: Behdad Esfahbod -Date: Fri Feb 9 15:43:20 2018 -0600 - - [docs] Improve UNSAFE_TO_BREAK docs - - src/hb-buffer.h | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -commit 671f0a7733a496eb46b08dc88c3c46b804cdd895 -Author: bungeman -Date: Thu Feb 1 13:31:25 2018 -0500 - - Documentation for HB_GLYPH_FLAG_UNSAFE_TO_BREAK. - - HB_GLYPH_FLAG_UNSAFE_TO_BREAK means that the glyph with this flag is - somehow affected by the previous logical glyph (the previous index - in the buffer if ltr and the next index if the buffer is rtl). If - these two glyphs are separated by a break (line or otherwise) then the - underlying text should be re-shaped on both sides up to corresponding - position in the text of some glyph not marked with this flag. - - src/hb-buffer.h | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 1582eabee6017839518b821ef93a329a0a86a453 -Author: Garret Rieger -Date: Fri Feb 9 12:52:08 2018 -0800 - - Update head table with loca format selected by glyf+loca subsetting. - - src/hb-subset-glyf.cc | 7 +++---- - src/hb-subset-glyf.hh | 1 + - src/hb-subset.cc | 37 +++++++++++++++++++++++++++++++++++-- - 3 files changed, 39 insertions(+), 6 deletions(-) - -commit 335bbaa66f66e86d417cc123a2bf397e8b834f64 -Author: Garret Rieger -Date: Fri Feb 9 10:55:15 2018 -0800 - - Remove uneeded code in hb-subset. - - src/hb-subset.cc | 19 ------------------- - 1 file changed, 19 deletions(-) - -commit 3346ba9cd5198d27c7416b8c71fecb6c8d3cb335 -Author: Behdad Esfahbod -Date: Fri Feb 9 11:05:17 2018 -0600 - - [test/text-rendering-tests] Update from upstream - - .../text-rendering-tests/fonts/TestMORXTwentysix.ttf | Bin 3260 -> - 3252 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit 1cd98d05e07498653ba60a68b6342d1a90429eba -Author: Rod Sheeter -Date: Thu Feb 8 19:39:57 2018 -0800 - - Create the groups for a cmap format12. Does not yet build the - actual table. - - src/hb-ot-cmap-table.hh | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -commit 59c658c8d53481990fe0efa66422353d0687474b -Author: Rod Sheeter -Date: Thu Feb 8 19:22:47 2018 -0800 - - capture codepoints sorted so we can use them for cmap later. one - day we will have a map - - src/hb-ot-cmap-table.hh | 14 --------- - src/hb-private.hh | 61 +++++++++++++++++++++++++--------------- - src/hb-subset-glyf.cc | 16 +++++------ - src/hb-subset-plan.cc | 75 - ++++++++++++++++++++++++++++++++++--------------- - src/hb-subset-plan.hh | 8 ++++-- - src/hb-subset.cc | 29 ++++++++++++------- - 6 files changed, 123 insertions(+), 80 deletions(-) - -commit 8431c38cdc05ddcddb1aa5fbb72a95446b500fd2 -Author: Rod Sheeter -Date: Thu Feb 8 19:20:58 2018 -0800 - - remove output noise - - util/hb-subset.cc | 1 - - 1 file changed, 1 deletion(-) - -commit 5cca0c07afbe9ab4b28d333f6f853063ecd75aff -Author: Rod Sheeter -Date: Thu Feb 8 19:05:46 2018 -0800 - - fix comment - - src/hb-open-file-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a19138e668e77a0c05da2ab065c5366c8359b377 -Author: Rod Sheeter -Date: Thu Feb 8 19:03:41 2018 -0800 - - comment the serialization of table - - src/hb-open-file-private.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 5a34114f9685680d4a8cdf85a8ac90172c5620d7 -Author: Garret Rieger -Date: Thu Feb 8 18:32:24 2018 -0800 - - Add an extra entry to the end of the loca table to identify the end - of the last glyph's data. - - src/hb-subset-glyf.cc | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit aac7d962120aa137385324b33a173df4f19fd80b -Author: Garret Rieger -Date: Thu Feb 8 18:18:16 2018 -0800 - - Apply per table subsetting while building the new face in hb_subset. - - src/hb-subset-glyf.cc | 1 + - src/hb-subset.cc | 105 - ++++++++++++++++++++++++++++++-------------------- - 2 files changed, 65 insertions(+), 41 deletions(-) - -commit 3e81832432a1cae0dc28242bb6ff279753effd27 -Author: Garret Rieger -Date: Thu Feb 8 15:55:12 2018 -0800 - - Disable subset tests on cmake for now. - - test/subset/CMakeLists.txt | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 2f941053111d60433ab39cc70edd69c962896961 -Author: Garret Rieger -Date: Thu Feb 8 15:55:12 2018 -0800 - - Disable subset tests on cmake for now. - - test/subset/CMakeLists.txt | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit e081c9e8fc84843740c8a55b49403acc3fe4f0b7 -Author: Behdad Esfahbod -Date: Thu Feb 8 17:44:24 2018 -0600 - - Oops! - - test/subset/run-tests.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1c49afe179e7e1884ceeae1d93e50fa51f18f894 -Author: Behdad Esfahbod -Date: Thu Feb 8 17:38:58 2018 -0600 - - Whitespace - - test/subset/run-tests.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9682ef135f16cb3368b9c5970fdcec71301b687e -Author: Behdad Esfahbod -Date: Thu Feb 8 17:35:57 2018 -0600 - - Minor fixups - - CMakeLists.txt | 2 +- - src/hb-ot-cmap-table.hh | 6 +++--- - src/hb-subset.cc | 6 +++--- - test/api/hb-test.h | 5 +++++ - test/api/test-subset-glyf.c | 4 ---- - test/api/test-subset.c | 4 ---- - 6 files changed, 12 insertions(+), 15 deletions(-) - -commit 35eeb893efcdfa2bf6a136cd2911d564334e573c -Author: Garret Rieger -Date: Thu Feb 8 15:17:34 2018 -0800 - - Don't include subset headers in libharfbuzz. - - CMakeLists.txt | 1 - - 1 file changed, 1 deletion(-) - -commit 42234424a0fc43d298be082b4c7b1e288e94bbb6 -Author: Garret Rieger -Date: Thu Feb 8 15:11:15 2018 -0800 - - Fix include gaurds and include order in hb-subset-glyf and - hb-subset-plan - - src/hb-subset-glyf.hh | 6 ++++-- - src/hb-subset-plan.cc | 2 +- - src/hb-subset-plan.hh | 5 +++-- - 3 files changed, 8 insertions(+), 5 deletions(-) - -commit 0f3c756cbfe8a263ee388481acac7a24d9684c44 -Author: Garret Rieger -Date: Thu Feb 8 14:59:32 2018 -0800 - - Add CMake config for building a separate harfbuzz-subset. - - CMakeLists.txt | 17 ++++++++++++++--- - test/api/CMakeLists.txt | 2 +- - 2 files changed, 15 insertions(+), 4 deletions(-) - -commit d4d120ad79ff65c6987ca127da5d9ee30740b0b1 -Author: Garret Rieger -Date: Thu Feb 8 14:26:18 2018 -0800 - - Skip subset to fonttools comparison test if TTX is not present. - - test/subset/run-tests.py | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 29d915284e46fb9be01221a88c9e969080daa1b2 -Author: Garret Rieger -Date: Thu Feb 8 11:31:27 2018 -0800 - - Whitespace - - test/subset/run-tests.py | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit f9420d9effcfb3464d4b99e54decb3d90e4a410d -Author: Garret Rieger -Date: Thu Feb 8 11:30:36 2018 -0800 - - In the hb-subset to fontTools comparison, use ttx to compare the - fonts. This allows for some binary differences such as re-ordered - tables. - - test/subset/run-tests.py | 21 ++++++++++++++------- - 1 file changed, 14 insertions(+), 7 deletions(-) - -commit 8e9fd6f1ab491519cf7205467bc5d20056fce99d -Author: Garret Rieger -Date: Wed Feb 7 19:01:21 2018 -0800 - - Implement basic loca (long version only) subsetting. - - src/hb-subset-glyf.cc | 66 - +++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 46 insertions(+), 20 deletions(-) - -commit f9c665fed1347f7af6d36ba129f9d174f4ac54dc -Author: Garret Rieger -Date: Wed Feb 7 16:53:18 2018 -0800 - - Update interface to hb-subset-glyf to subset glyf and loca. - - src/hb-subset-glyf.cc | 10 +++++++--- - src/hb-subset-glyf.hh | 7 ++++--- - src/hb-subset.cc | 7 +++++-- - 3 files changed, 16 insertions(+), 8 deletions(-) - -commit f2ceb5ee4d745e0e6e754f0b0ea16b29dbedbf1b -Author: Garret Rieger -Date: Wed Feb 7 16:47:31 2018 -0800 - - Comment out failing assert in test-subset-glyf for now. Should be - re-enabled once hb_subset is writing out a new face. - - test/api/test-subset-glyf.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 89dbebd4ad948ddad8e10323315a809c11d7cafa -Author: Garret Rieger -Date: Wed Feb 7 16:32:56 2018 -0800 - - Add a basic test for glyf subsetting. - - test/api/Makefile.am | 4 + - test/api/fonts/Roboto-Regular.abc.ttf | Bin 0 -> 2460 bytes - test/api/fonts/Roboto-Regular.ac.ttf | Bin 0 -> 2268 bytes - test/api/test-subset-glyf.c | 134 - ++++++++++++++++++++++++++++++++++ - 4 files changed, 138 insertions(+) - -commit 217ed5e3c885532fa8b332cc0d0f9cb4eef32e2b -Author: Garret Rieger -Date: Wed Feb 7 16:30:07 2018 -0800 - - Cleanups in hb-subset-glyf and hb-subset-plan. - - src/hb-subset-glyf.cc | 30 +++++++++++++++--------------- - src/hb-subset-plan.hh | 2 +- - 2 files changed, 16 insertions(+), 16 deletions(-) - -commit 13193a9b97302480cc11787787fa6826a97be4bb -Author: Rod Sheeter -Date: Wed Feb 7 16:09:52 2018 -0800 - - move to the hb_face_t dest pattern - - src/hb-ot-cmap-table.hh | 7 ++++++- - src/hb-subset.cc | 28 +++++++++++++--------------- - 2 files changed, 19 insertions(+), 16 deletions(-) - -commit 0859a006695097c2a66a07284f3cc5b8de8edb05 -Author: Rod Sheeter -Date: Wed Feb 7 15:59:36 2018 -0800 - - sketch a subset and call it for cmap. Add subset to cmap, albeit - not working even for the msot basic case just yet - - src/hb-ot-cmap-table.hh | 18 ++++++++++++++++-- - src/hb-subset.cc | 30 ++++++++++++++++++++++++++++++ - 2 files changed, 46 insertions(+), 2 deletions(-) - -commit c1ab95dd907b1c4a2e2de17447683fe803fe4087 -Author: Behdad Esfahbod -Date: Thu Feb 8 17:22:07 2018 -0600 - - Fix overflow in space fallback shaping - - Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=657466 - - src/hb-ot-shape-fallback.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b220b5a44425db387b2149c4904a43ab369a2d6a -Author: Behdad Esfahbod -Date: Thu Feb 8 17:14:52 2018 -0600 - - Avoid undefined-behavior in fallback mark positioning - - Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5584 - - src/hb-ot-shape-fallback.cc | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -commit 3b68a03a1c5a23adbc73f4508009dd5b72bc9d81 -Author: Behdad Esfahbod -Date: Thu Feb 8 17:00:37 2018 -0600 - - [fuzzer] Minor - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 194140d3f352b53b95757cccb7fff50425747cd6 -Author: Behdad Esfahbod -Date: Thu Feb 8 16:27:57 2018 -0600 - - [util] Minor - - util/hb-subset.cc | 2 +- - util/options.hh | 10 ++++++++-- - 2 files changed, 9 insertions(+), 3 deletions(-) - -commit 5021ba2a2186a77d7d70be5602b960d14634d8b2 -Author: Behdad Esfahbod -Date: Thu Feb 8 15:11:28 2018 -0600 - - [aat] Minor - - src/hb-aat-layout-common-private.hh | 10 +++++----- - src/hb-aat-layout-morx-table.hh | 7 +++---- - 2 files changed, 8 insertions(+), 9 deletions(-) - -commit 1242ad8424f5e8357fe6fd2143430aa8cfaf0954 -Author: Behdad Esfahbod -Date: Thu Feb 8 14:10:01 2018 -0600 - - [test/text-rendering-tests] Update from upstream - - test/shaping/data/text-rendering-tests/DISABLED | 2 ++ - test/shaping/data/text-rendering-tests/Makefile.sources | 2 ++ - .../text-rendering-tests/fonts/TestMORXTwentyfive.ttf | Bin 0 -> - 3260 bytes - .../text-rendering-tests/fonts/TestMORXTwentysix.ttf | Bin 0 -> - 3260 bytes - .../data/text-rendering-tests/tests/MORX-25.tests | 9 +++++++++ - .../data/text-rendering-tests/tests/MORX-26.tests | 2 ++ - 6 files changed, 15 insertions(+) - -commit 77ad8b5c8b3a9148cf2944abdd494618e642ee2c -Author: Behdad Esfahbod -Date: Wed Feb 7 21:54:33 2018 -0600 - - TODO - - src/hb-open-file-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 941bbd9f257367f838e55d079751c6059974fe2f -Author: Behdad Esfahbod -Date: Wed Feb 7 21:49:01 2018 -0600 - - [subset] Fix thinko - - src/hb-open-file-private.hh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 931f8b7eb5e740ce81e5be6bfec60dbe3ac7ebc4 -Author: Behdad Esfahbod -Date: Wed Feb 7 21:42:03 2018 -0600 - - Fix another thinko - - src/hb-open-file-private.hh | 2 +- - src/hb-private.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 39b86695cf56736170c772424c9a8b75bca0254c -Author: Behdad Esfahbod -Date: Wed Feb 7 21:37:03 2018 -0600 - - [subset] Fix thinko - - src/hb-subset.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit eeffabc87572193a9e95f22647e80ae44e5a0089 -Author: Behdad Esfahbod -Date: Wed Feb 7 21:34:05 2018 -0600 - - Build - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c479a59988b0cf3e557e22e97e1977962c803fa7 -Author: Behdad Esfahbod -Date: Wed Feb 7 21:13:10 2018 -0600 - - [subset] Assemble font - - src/hb-open-file-private.hh | 50 - +++++++++++++++++++++++++++++++++++++++++++- - src/hb-open-type-private.hh | 33 +++++++++++++++++++++++------ - src/hb-ot-map-private.hh | 10 ++++----- - src/hb-private.hh | 20 +++++++++++------- - src/hb-set-private.hh | 8 +++---- - src/hb-subset.cc | 51 - +++++++++++++++++++++++++++++++++++++++------ - test/api/test-subset.c | 9 ++++++-- - 7 files changed, 150 insertions(+), 31 deletions(-) - -commit 34ac3548b7c9dbc57f277cf9a7a337cd1a8a04bb -Author: Behdad Esfahbod -Date: Wed Feb 7 18:07:45 2018 -0600 - - [set] Respect stride - - Ouch! - - src/hb-set-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 577becaf7b5ccd9de8ba533447f944427b9e4452 -Author: Behdad Esfahbod -Date: Wed Feb 7 17:38:40 2018 -0600 - - [subset] Fixup - - src/hb-subset.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c9acab3cfbe4a21e86ad309ebb452f103b1c1b04 -Author: Behdad Esfahbod -Date: Wed Feb 7 17:12:55 2018 -0600 - - Whitespace - - src/hb-open-file-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 7fd0b61dee18380c302009f8be9cd68dadab7308 -Author: Behdad Esfahbod -Date: Wed Feb 7 16:44:52 2018 -0600 - - [subset] Create new face and copy all tables to it - - test-subset fails now because subset-face does not know how to - compile itself. - - src/hb-subset.cc | 37 ++++++++++++++++++++++++++----------- - 1 file changed, 26 insertions(+), 11 deletions(-) - -commit 4e1abe2ce0b5163cbbbb8f8be0e9f7deba5ab2cb -Author: Garret Rieger -Date: Wed Feb 7 13:28:11 2018 -0800 - - Refactor subset glyf to remove multiple calls to glyf.fini() - - src/hb-subset-glyf.cc | 52 - +++++++++++++++++++++++++++++---------------------- - 1 file changed, 30 insertions(+), 22 deletions(-) - -commit 0a5d1440f829f07454592adde9dd3aa93ad74442 -Author: Garret Rieger -Date: Wed Feb 7 13:09:54 2018 -0800 - - Add implementation of glyf subsetting. - - src/hb-subset-glyf.cc | 81 - +++++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 76 insertions(+), 5 deletions(-) - -commit 05d65baa1bb64664ba838993fd35f3899d52eb8d -Author: Garret Rieger -Date: Wed Feb 7 10:55:30 2018 -0800 - - Extract glyf offset calculation into it's own method. - - src/hb-ot-glyf-table.hh | 26 ++++++++++++++++++-------- - 1 file changed, 18 insertions(+), 8 deletions(-) - -commit 6d7c6e19dc769cf9997b7c1f8a4598eb44ca0b3c -Author: Behdad Esfahbod -Date: Wed Feb 7 14:09:56 2018 -0600 - - Fix two undefined-behavior issues - - Fixes https://github.com/harfbuzz/harfbuzz/issues/761 - Fixes https://github.com/harfbuzz/harfbuzz/issues/762 - - src/hb-ot-hmtx-table.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 10 +++++----- - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit b87cbe2bec1d589621ba143af59443f63230ffeb -Author: Behdad Esfahbod -Date: Wed Feb 7 14:11:26 2018 -0500 - - Try fixing build for platforms that have no visibility attributes - - src/hb-private.hh | 1 + - src/hb-subset.cc | 2 ++ - src/main.cc | 2 ++ - 3 files changed, 5 insertions(+) - -commit f70100417c71cff071c119607a7b75dcead05a05 -Author: Behdad Esfahbod -Date: Wed Feb 7 13:58:23 2018 -0500 - - [test] Minor - - test/api/test-ot-tag.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6804b61d2e49fcf9eac9fa0b86497ba91b220bee -Author: Behdad Esfahbod -Date: Wed Feb 7 13:47:35 2018 -0500 - - [subset] Add hb_subset_face - - It's a hb_face_t that has add_table() and in the future knows how to - compile itself into a font blob. - - src/hb-private.hh | 9 ++++++ - src/hb-subset.cc | 88 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 97 insertions(+) - -commit af02812fc51812a7e2265a1100bbca1a5bf8af45 -Author: Behdad Esfahbod -Date: Wed Feb 7 13:07:46 2018 -0500 - - [subset] Change hb_subset API to remove hb_subset_face_t - - src/hb-subset-plan.cc | 12 ++++++++--- - src/hb-subset-plan.hh | 2 +- - src/hb-subset-private.hh | 10 ---------- - src/hb-subset.cc | 52 - ++++++++---------------------------------------- - src/hb-subset.h | 25 ++++++----------------- - test/api/test-subset.c | 9 +++++---- - util/hb-subset.cc | 12 ++++++----- - 7 files changed, 36 insertions(+), 86 deletions(-) - -commit 2da0d87e769b2ced71e4281e336bdbca65de2b3f -Author: Behdad Esfahbod -Date: Wed Feb 7 12:44:35 2018 -0500 - - Remove NullPool visibility hack - - We keep a separate private NullPool in libharfbuzz-subset.so - This can fire back later since now there are two separate null - objects, - and comparisons to the null pool can be confused. Something to deal - with when it comes up. Ouch! - - src/hb-open-type-private.hh | 4 +--- - src/hb-subset.cc | 4 ++++ - 2 files changed, 5 insertions(+), 3 deletions(-) - -commit b95aa204ee284c47e63dc1e34b3c5b4bdf9e7ab7 -Author: Rod Sheeter -Date: Wed Feb 7 09:37:06 2018 -0800 - - glyph ids to retain should most likely keep the glyph id not the - codepoint - - src/hb-subset-plan.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 91428713bd6975b3bbfbdce54701f6aef5457121 -Author: Rod Sheeter -Date: Wed Feb 7 09:35:59 2018 -0800 - - Remove \ns leftover from fprintf - - src/hb-subset-plan.cc | 4 ++-- - src/hb-subset.cc | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit eb485bb9e90017abaf7dcdd7e39a82125d6807c3 -Author: Rod Sheeter -Date: Wed Feb 7 09:32:36 2018 -0800 - - Horrid hack to assign new gids. Use DEBUG_MSG over fprintf - - src/hb-subset-plan.cc | 27 +++++++++++++++++++++++---- - src/hb-subset-plan.hh | 5 +++++ - src/hb-subset.cc | 9 +++++++++ - 3 files changed, 37 insertions(+), 4 deletions(-) - -commit 8b80cbb1dd13e2870a956825f5dafc4419b44200 -Author: Rod Sheeter -Date: Wed Feb 7 09:31:31 2018 -0800 - - Add a subset debug category - - src/hb-debug.hh | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit ee433d36fa544c3138718cc3f796b29e6df8a195 -Author: Behdad Esfahbod -Date: Wed Feb 7 12:30:18 2018 -0500 - - [aat] Set debug lookup_index - - src/hb-aat-layout-common-private.hh | 2 ++ - src/hb-aat-layout-morx-table.hh | 3 +++ - 2 files changed, 5 insertions(+) - -commit 38df1ec8e0b457be9140c67e2c5c19153714d90e -Author: Rod Sheeter -Date: Wed Feb 7 07:58:58 2018 -0800 - - TEMPORARY: remove HB_INTERNAL from null pool so subset builds again - - src/hb-open-type-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 53aa0e95420c5c3bfe8af21cf7956535d35b06e6 -Author: Garret Rieger -Date: Tue Feb 6 17:05:22 2018 -0800 - - Add an instance of glyf::accelerator_t to hb-subset-glyf. - - src/hb-subset-glyf.cc | 13 ++++++++++--- - src/hb-subset-glyf.hh | 2 +- - src/hb-subset.cc | 4 +--- - 3 files changed, 12 insertions(+), 7 deletions(-) - -commit ef62dfed3fc7cfad7f7ce9292cb3bd1616f09384 -Author: Rod Sheeter -Date: Tue Feb 6 17:12:17 2018 -0800 - - add back assert_pod - - src/hb-subset-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit d0ce3c66e2af2785203f7bbb1d4abca5c226045d -Author: Rod Sheeter -Date: Tue Feb 6 16:58:35 2018 -0800 - - Resolve codepoints:glyph ids. Does not compile; undefined reference - to OT::_hb_NullPool - - src/hb-subset-plan.cc | 25 +++++++++++++++++++------ - src/hb-subset-plan.hh | 2 +- - src/hb-subset-private.hh | 17 +++++++++++++++-- - src/hb-subset.cc | 13 ++++--------- - 4 files changed, 39 insertions(+), 18 deletions(-) - -commit 6a45e5df24ccc59c5a39bf42323c9b550f49e16d -Author: Garret Rieger -Date: Tue Feb 6 16:04:09 2018 -0800 - - Add skeleton of hb-subset-glyf, call if from hb_subset(...) - - src/Makefile.sources | 2 ++ - src/hb-subset-glyf.cc | 45 +++++++++++++++++++++++++++++++++++++++++++++ - src/hb-subset-glyf.hh | 37 +++++++++++++++++++++++++++++++++++++ - src/hb-subset.cc | 18 ++++++++++++++++-- - 4 files changed, 100 insertions(+), 2 deletions(-) - -commit 31ec3c2ec41161c6ae75bc91d1c237bf2d245e37 -Author: Garret Rieger -Date: Tue Feb 6 15:37:34 2018 -0800 - - Create a subset plan in hb_subset. - - src/hb-subset.cc | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 6c52d94fd11915b76e858bc45633ee60b8c1d8f4 -Author: Rod Sheeter -Date: Tue Feb 6 15:31:14 2018 -0800 - - capture the set of codepoints passed by --unicodes - - util/hb-subset.cc | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -commit 25e9173fe8446735f7e36ec963c7d3554c85631b -Author: Garret Rieger -Date: Mon Feb 5 17:26:25 2018 -0800 - - Make hb-subset-plan private. - - src/Makefile.sources | 2 +- - src/hb-subset-plan.cc | 27 - ++++++++++++++++----------- - src/{hb-subset-plan.h => hb-subset-plan.hh} | 22 +++++++++++++--------- - 3 files changed, 30 insertions(+), 21 deletions(-) - -commit af46a4da5a47dd6e0dd98e1740f18e93c337e689 -Author: Garret Rieger -Date: Mon Feb 5 17:14:46 2018 -0800 - - Move definition of hb_subset_input into hb-subset-private.hh. - - src/Makefile.sources | 1 + - src/hb-subset-plan.cc | 2 +- - src/hb-subset-private.hh | 40 ++++++++++++++++++++++++++++++++++++++++ - src/hb-subset.cc | 12 ++---------- - 4 files changed, 44 insertions(+), 11 deletions(-) - -commit 7481f0ce21489d2b19b2e33d05358736ddee20bf -Author: Garret Rieger -Date: Mon Feb 5 16:05:12 2018 -0800 - - Add codepoints to subset input. - - src/hb-subset.cc | 24 ++++++++++++++++-------- - src/hb-subset.h | 2 +- - test/api/test-subset.c | 2 +- - util/hb-subset.cc | 2 +- - 4 files changed, 19 insertions(+), 11 deletions(-) - -commit 1cfe650f020cf440bf157daa9907bffd6e35bd7a -Author: Garret Rieger -Date: Mon Feb 5 15:22:30 2018 -0800 - - Add a basic sketch of hb-subset-plan. - - src/Makefile.sources | 2 ++ - src/hb-subset-plan.cc | 72 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-subset-plan.h | 49 +++++++++++++++++++++++++++++++++++ - 3 files changed, 123 insertions(+) - -commit 126ffdbe95020c04dc61413690febd8a56bf264f -Author: Behdad Esfahbod -Date: Wed Feb 7 12:26:41 2018 -0500 - - [aat] Fix debug compile - - src/hb-aat-layout-common-private.hh | 6 +++++- - src/hb-aat-layout-morx-table.hh | 2 +- - 2 files changed, 6 insertions(+), 2 deletions(-) - -commit 8cb8bfd5b5eff75247cd447f3766294fdff2d644 -Author: Ebrahim Byagowi -Date: Tue Feb 6 20:40:42 2018 +0330 - - [test] Fix test-subset on old distros (#758) - - https://developer.gnome.org/glib/stable/glib-Testing.html#g-assert-cmpmem - - test/api/test-subset.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 2971e9da49d6ac07f8a9a4e9b00e167b800a5c7f -Author: Behdad Esfahbod -Date: Tue Feb 6 11:48:04 2018 -0500 - - [aat] Adjust unsafe-to-break logic some more - - I believe I'm happy with it now. - - src/hb-aat-layout-common-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit f49256d80f19bc265e6a197719345313ba26f9d6 -Author: Behdad Esfahbod -Date: Tue Feb 6 11:39:36 2018 -0500 - - [aat] Simplify unsafe-to-break logic - - src/hb-aat-layout-common-private.hh | 11 +++-------- - 1 file changed, 3 insertions(+), 8 deletions(-) - -commit cc1e0840baed881f2bfd8468a9645bfe94f47303 -Author: Behdad Esfahbod -Date: Tue Feb 6 10:20:48 2018 -0500 - - [buffer] Tweak diff re glyph_flags again - - We expect the buffer to have no flags that the reference doesn't... - Meh. Makes MORX tests pass now. Need to better define the behavior. - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d49ae5154e0b069ffa2605ea3f66abb583319ec8 -Author: Ebrahim Byagowi -Date: Tue Feb 6 13:48:10 2018 +0330 - - Fix hb-buffer logic error - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 70e13ade81a2a09e17d75bdc7e3fe45d8ec9e2c6 -Author: Ebrahim Byagowi -Date: Tue Feb 6 13:20:38 2018 +0330 - - [subset] Fix Windows issue on endlines (#756) - - util/hb-subset.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f41b92134a276716b7e2d7ef54996b30f36a10a9 -Author: Behdad Esfahbod -Date: Mon Feb 5 19:51:09 2018 -0500 - - Fix fallthrough compiler warning with gcc >= 7 - - Fixes https://github.com/harfbuzz/harfbuzz/issues/755 - - src/hb-private.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit b7b7f0ac59ec85b224e13d9e6c3c4063e731ad32 -Author: Behdad Esfahbod -Date: Mon Feb 5 19:40:31 2018 -0500 - - [test] Minor - - test/api/Makefile.am | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 0ff007daaa471d05cc0473beec4ba4d434b084b1 -Author: Behdad Esfahbod -Date: Sun Feb 4 20:22:07 2018 -0500 - - [subset] Minor - - src/hb-subset.h | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -commit fc1e82a5aef410138381bc8f5476dcff5679b464 -Merge: ae39fc81 2ea22893 -Author: Garret Rieger -Date: Mon Feb 5 15:35:13 2018 -0800 - - Merge pull request #754 from googlefonts/master - - Fix build for subsetting code. - -commit 2ea228935d41b55fed45b7423b69bc15b42e3abc -Author: Garret Rieger -Date: Mon Feb 5 15:10:01 2018 -0800 - - ssize_t -> size_t - - util/hb-subset.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c25898eb54217e2a1c681233a6b9adcd7940652e -Author: Garret Rieger -Date: Mon Feb 5 14:35:32 2018 -0800 - - Switch to fopen() instead of open() in subset test. open wasn't - compiling on windows. - - util/hb-subset.cc | 13 ++++++------- - 1 file changed, 6 insertions(+), 7 deletions(-) - -commit fc04f11ce1999da042a39c5b271351223033292f -Author: Garret Rieger -Date: Mon Feb 5 11:12:33 2018 -0800 - - Rename HB_SUBSET_sources -> HB_SUBSET_CLI_sources to match what - cmake is looking for. - - util/Makefile.am | 3 +-- - util/Makefile.sources | 2 +- - 2 files changed, 2 insertions(+), 3 deletions(-) - -commit e428f7b1c21e0a7d6b9af507d98031b8eebcbeb5 -Author: Garret Rieger -Date: Mon Feb 5 10:24:16 2018 -0800 - - Wrap unistd.h include in ifdef. - - util/hb-subset.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5f6eb1256fb6c251303d3728fc27875fe7a9ffb8 -Author: Garret Rieger -Date: Mon Feb 5 10:23:38 2018 -0800 - - Add libharfbuzz-subset.la to linking when building api tests. - - test/api/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ae39fc8171b2c26d4ae64954a8055732c9241bcc -Author: Behdad Esfahbod -Date: Sun Feb 4 20:18:52 2018 -0500 - - [subset] Build hb-subset into separate libharfbuzz-subset.so - - src/Makefile.am | 19 +++++++++++++------ - src/harfbuzz-subset.pc.in | 12 ++++++++++++ - util/Makefile.am | 2 ++ - 3 files changed, 27 insertions(+), 6 deletions(-) - -commit eac20e459564134e0087497ed76b1c84195ad7e3 -Author: Behdad Esfahbod -Date: Sun Feb 4 20:08:50 2018 -0500 - - [subset] Minor - - util/Makefile.am | 2 +- - util/Makefile.sources | 2 +- - util/hb-subset.cc | 10 +++++----- - 3 files changed, 7 insertions(+), 7 deletions(-) - -commit 257022b1789f928975b04b5d214bbe9192e11997 -Merge: 3615f344 edcd3b80 -Author: Behdad Esfahbod -Date: Sun Feb 4 20:01:35 2018 -0500 - - Merge pull request #745 from googlefonts/master - - Interface for hb_subset, skeleton for the hb-subset cli, and basic - testing rigging. - -commit 3615f344ec00059972d8ce75522022b5294764a7 -Author: Behdad Esfahbod -Date: Sun Feb 4 17:19:58 2018 -0500 - - [test/text-rendering-tests] Update from upstream - - test/shaping/data/text-rendering-tests/DISABLED | 1 + - test/shaping/data/text-rendering-tests/Makefile.sources | 3 ++- - .../text-rendering-tests/fonts/TestMORXTwentythree.ttf | Bin 0 -> - 1836 bytes - .../data/text-rendering-tests/tests/MORX-23.tests | 1 + - 4 files changed, 4 insertions(+), 1 deletion(-) - -commit 54e6efadd6a30587736858d3fb497ed4e5e5f252 -Author: Behdad Esfahbod -Date: Sun Feb 4 14:58:02 2018 -0500 - - [aat] Fix unsafe-to-break - - At any position, if state is not zero, mark unsafe-to-break before, - unless we can reason it safe. - - At any position, if there's an action entry for end-of-text, mark - unsafe to break. - - Also changes buffer diff impl to allow for flag differences as long - as the buffer glyph flags are superset of reference glyph flags. - - With this, all MORX tests pass. - - src/hb-aat-layout-common-private.hh | 31 +++++++++++++++++++++++++------ - src/hb-aat-layout-morx-table.hh | 35 - +++++++++++++++++++++++------------ - src/hb-buffer.cc | 2 +- - 3 files changed, 49 insertions(+), 19 deletions(-) - -commit edcd3b80e9617ec8c4c4a55536938fb510b6aeba -Author: Rod Sheeter -Date: Sun Feb 4 12:31:24 2018 -0800 - - Actually call hb_subset - - util/hb-subset.cc | 51 - ++++++++++++++++++++++++++++++++++----------------- - 1 file changed, 34 insertions(+), 17 deletions(-) - -commit 7b01761adef6f64f1139b30c985aa5f52314073a -Author: Garret Rieger -Date: Fri Feb 2 17:54:11 2018 -0800 - - Add CMakeLists.txt to dist files for subset test. - - test/subset/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit f83a43b56134188c2e1f3496d40ec0cd9109f250 -Author: Garret Rieger -Date: Fri Feb 2 17:50:45 2018 -0800 - - Add CMake configuration for all of the new subsetting code. - - CMakeLists.txt | 14 ++++++++++++++ - src/Makefile.sources | 9 +++++++-- - test/CMakeLists.txt | 1 + - test/subset/CMakeLists.txt | 9 +++++++++ - util/Makefile.am | 2 +- - util/Makefile.sources | 2 +- - 6 files changed, 33 insertions(+), 4 deletions(-) - -commit 5bc0cda179bca452145d4523eeba415986edb6e3 -Author: Garret Rieger -Date: Fri Feb 2 17:49:14 2018 -0800 - - Add missing unistd header to hb-subset. - - util/hb-subset.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 06fe297f2a9fc6ee98179ddd26ef089b7fdb9e74 -Author: Garret Rieger -Date: Thu Feb 1 18:36:15 2018 -0800 - - Properly include subset test data files. - - test/subset/data/Makefile.am | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 058b1260ad1105d0d8d6bf21f8f65a336e735bd2 -Author: Garret Rieger -Date: Thu Feb 1 18:22:14 2018 -0800 - - Re-write hb-subset utility to use main-font-text driver. - - test/subset/run-tests.py | 15 +++--- - util/Makefile.sources | 3 ++ - util/hb-subset.cc | 131 - +++++++++++++++++++++++++---------------------- - 3 files changed, 82 insertions(+), 67 deletions(-) - -commit ede84ffa426edb950c4ec4f89833c85475a1c64f -Author: Garret Rieger -Date: Thu Feb 1 17:17:36 2018 -0800 - - Whitespace - - util/hb-subset.cc | 36 ++++++++++++++++++------------------ - 1 file changed, 18 insertions(+), 18 deletions(-) - -commit 2763a2c5982c0db072697abe8ba01342d5977237 -Author: Garret Rieger -Date: Thu Feb 1 17:14:51 2018 -0800 - - Include subset test files in distribution. - - test/subset/Makefile.am | 7 ++++++- - test/subset/data/Makefile.am | 7 +++++++ - 2 files changed, 13 insertions(+), 1 deletion(-) - -commit 34fa7b3ad23b544b0914bc6002d60525224c68e1 -Author: Garret Rieger -Date: Thu Feb 1 16:50:18 2018 -0800 - - Whitespace - - src/hb-subset.h | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit 8c3a6727377895f18e1b5c7076404d8aede17176 -Author: Garret Rieger -Date: Wed Jan 31 15:43:24 2018 -0800 - - Get test-subset to pass. - - src/hb-subset.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 74d39ed2639857d5f1a90d9c0d864227a6482b40 -Author: Garret Rieger -Date: Wed Jan 31 15:20:52 2018 -0800 - - Attach add a hb_face_t to hb_subset_face_t. - - src/hb-subset.cc | 17 +++++++++++++---- - 1 file changed, 13 insertions(+), 4 deletions(-) - -commit 76b84c36b9560e132918adb4c0c5a0d9bdfb0978 -Author: Garret Rieger -Date: Wed Jan 31 14:53:28 2018 -0800 - - Whitespace - - test/api/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a2965f2ea5428c19be54f998ef9152c5ff6975ea -Author: Garret Rieger -Date: Wed Jan 31 14:53:09 2018 -0800 - - Add a basic implementation of hb-subset to enable compilation of - test-subset. - - src/hb-subset.cc | 146 - +++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-subset.h | 5 +- - test/api/Makefile.am | 1 + - test/api/test-subset.c | 12 ++-- - 4 files changed, 156 insertions(+), 8 deletions(-) - -commit 38af23b8df1a84f24d379d27d1a1e20f9ce07f34 -Author: Garret Rieger -Date: Wed Jan 31 11:32:23 2018 -0800 - - Make the expected output for subsetting basics test be equal to the - input file for now. - - .../expected/basics/Roboto-Regular.abc.default.62.ttf | Bin 1996 -> - 2460 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit b59c08eb045db2b6c952de81510b8159a4f72fb1 -Author: Garret Rieger -Date: Wed Jan 31 11:14:53 2018 -0800 - - Add the beginning of a unit test for hb-subset - - test/api/test-subset.c | 67 - ++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 67 insertions(+) - -commit e9d154ac8ddd2712a34c53c95a17e469f95e5b30 -Author: Rod Sheeter -Date: Tue Jan 30 19:27:11 2018 -0800 - - tweak test failure output. write to a temp file not stdout. test - still fails because expected is not just an identical copy of input - - test/subset/run-tests.py | 41 +++++++++++++++++++++++++++---------- - util/hb-subset.cc | 53 - +++++++++++++++++++++++++++++++++--------------- - 2 files changed, 67 insertions(+), 27 deletions(-) - -commit cf403e1a53381f293aceac5cdbe031bbb2a7af77 -Author: Garret Rieger -Date: Tue Jan 30 18:40:23 2018 -0800 - - Add hb-subset.h to hb.h - - src/hb.h | 1 + - 1 file changed, 1 insertion(+) - -commit c02573516c05ac97acb243ef5dec26af86086ded -Author: Garret Rieger -Date: Tue Jan 30 18:39:41 2018 -0800 - - Fix typo in hb-subset.h - - src/hb-subset.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 76351518ca9bc88aa6fbc975e1e35bd86432d652 -Author: Garret Rieger -Date: Tue Jan 30 14:03:16 2018 -0800 - - Remove basic subset test from XFAIL - - test/subset/data/Makefile.sources | 1 - - 1 file changed, 1 deletion(-) - -commit b029b7c19a733a2a39860238ad300e6c4a3f7802 -Author: Garret Rieger -Date: Mon Jan 29 13:31:49 2018 -0800 - - Whitespace - - test/subset/data/Makefile.sources | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0853260e997aded264f42bb369d4fcb39cccb7d6 -Author: Garret Rieger -Date: Mon Jan 29 13:30:02 2018 -0800 - - Configure automake to run the new subset tests. - - configure.ac | 2 ++ - test/Makefile.am | 2 +- - test/subset/Makefile.am | 16 ++++++++++++++++ - test/subset/data/Makefile.am | 16 ++++++++++++++++ - test/subset/data/Makefile.sources | 10 ++++++++++ - test/subset/data/tests/{basics.txt => basics.tests} | 0 - 6 files changed, 45 insertions(+), 1 deletion(-) - -commit 5c63c37b2b5aba8bf2f8ff35b7da0d116ebfe8b5 -Author: Garret Rieger -Date: Fri Jan 26 16:57:42 2018 -0800 - - WIP test runner for subset tests. - - test/subset/run-tests.py | 64 - ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 64 insertions(+) - -commit cc46cd88a1b84b02694fa6d88c4286e93336f096 -Author: Garret Rieger -Date: Fri Jan 26 14:25:39 2018 -0800 - - In generate-expected-outputs read the test definition with utf8 - encoding. - - test/subset/generate-expected-outputs.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 4cdae914e2e2fff1ff91e2f42648a8acb82a5494 -Author: Garret Rieger -Date: Fri Jan 26 13:57:48 2018 -0800 - - Add basic directory structure for subsetter integration tests. Plus - a utility for generating expected output files. - - .../basics/Roboto-Regular.abc.default.62.ttf | Bin 0 -> 1996 bytes - test/subset/data/fonts/Roboto-Regular.abc.ttf | Bin 0 -> 2460 bytes - test/subset/data/profiles/default.txt | 0 - test/subset/data/tests/basics.txt | 8 ++ - test/subset/generate-expected-outputs.py | 40 ++++++++++ - test/subset/subset_test_suite.py | 82 - +++++++++++++++++++++ - 6 files changed, 130 insertions(+) - -commit 9ccb8366f603a9e4a7a3c3f96420a19d4f6fb390 -Author: Rod Sheeter -Date: Wed Jan 17 22:09:07 2018 -0800 - - Start to sketch APIs for subsetting - - src/Makefile.am | 2 ++ - src/Makefile.sources | 4 +++ - src/hb-subset.cc | 0 - src/hb-subset.h | 88 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - util/Makefile.am | 3 ++ - util/Makefile.sources | 4 +++ - util/hb-subset.cc | 61 +++++++++++++++++++++++++++++++++++ - 7 files changed, 162 insertions(+) - -commit 89b1906d990658c763f35113c8978a5e21bffc22 -Author: Behdad Esfahbod -Date: Sun Feb 4 14:45:02 2018 -0500 - - [aat] More adjustment to ContextualSubtable - - See comment. - - With this, MORX-20 passes if I turn --verify off. Our unsafe-to-break - logic is currently broken in presence of end-of-text actions. That's, - ugh, extra work to fix. Let me try... - - src/hb-aat-layout-morx-table.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 8be596f0b76543e19644c0b77c1bcf4d9e783c2b -Author: Behdad Esfahbod -Date: Sun Feb 4 14:40:17 2018 -0500 - - [aat] In ContextualSubstitute, apply end-of-text action to last glyph - - src/hb-aat-layout-morx-table.hh | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit c0b1c7eb2eed67147adec3d2c9e02d01f279c8f4 -Author: Behdad Esfahbod -Date: Sun Feb 4 14:19:41 2018 -0500 - - [aat] Remove unneeded check - - src/hb-aat-layout-morx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fcb8be1a385cb4432dc6064fba77939716d27a02 -Author: Behdad Esfahbod -Date: Sun Feb 4 12:38:18 2018 -0500 - - [configure] Fix wording - - Fixes https://github.com/harfbuzz/harfbuzz/issues/741 - - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit aed32589af6d5fce3e68fe41865e258ea7eb2413 -Author: Behdad Esfahbod -Date: Fri Feb 2 16:08:50 2018 -0500 - - [aat] In ContextualSubtable, mark mark after substituting mark - - Fixes MORX-21. - - src/hb-aat-layout-morx-table.hh | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit fe5f9b1ae318939eaa23d0175a5eb7e1739177ac -Author: Behdad Esfahbod -Date: Fri Feb 2 15:53:25 2018 -0500 - - [aat] Fix ContextualSubtable sanitization - - Fixes MORX-18, MORX-19, and MORX-22. - - src/hb-aat-layout-morx-table.hh | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit cf943f682bcdd73e3ad1f6108c1a1870b991d5e4 -Author: Khaled Hosny -Date: Sun Feb 4 12:05:12 2018 +0200 - - Correctly show documentation build status - - Correctly show if building documentation is enabled or not in - configure - summary. - - Fixes https://github.com/harfbuzz/harfbuzz/issues/741 - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e8859fca3eafb5aab6d029563b31219ccca0d673 -Author: Bruce Mitchener -Date: Sun Feb 4 01:26:57 2018 +0700 - - Enable use of atexit() on macOS and related platforms. - - The atexit() man page indicates that this is expected to behave - in the expected way on unloading of shared libraries. - - src/hb-private.hh | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit a89573770b4c0f9c444ad6499bec5dc022087a97 -Author: Bruce Mitchener -Date: Sun Feb 4 01:31:53 2018 +0700 - - Use nullptr, not NULL. - - src/hb-aat-layout-common-private.hh | 2 +- - src/hb-buffer-deserialize-json.rl | 4 ++-- - src/hb-buffer-deserialize-text.rl | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit 07885e65adf1d3cb324de99501f9867f1a2553f8 -Author: Ebrahim Byagowi -Date: Sat Feb 3 12:53:48 2018 +0330 - - [cmake] unistd typo fix (#747) - - CMakeLists.txt | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit ccb0367dae4cbb9c8215dbf20ac7f9acfba2fa14 -Author: David Corbett -Date: Fri Feb 2 12:04:04 2018 -0500 - - Let VS1 follow U+1031 MYANMAR VOWEL SIGN E - - src/hb-ot-shape-complex-myanmar-machine.rl | 2 +- - src/hb-ot-shape-complex-myanmar.cc | 5 +++++ - test/shaping/README.md | 10 +++++----- - test/shaping/data/in-house/Makefile.sources | 1 + - .../fonts/af3086380b743099c54a3b11b96766039ea62fcd.ttf | Bin 0 -> - 1536 bytes - test/shaping/data/in-house/tests/myanmar-syllable.tests | 1 + - 6 files changed, 13 insertions(+), 6 deletions(-) - -commit c6dbf6e77cae30772ffa110c651cb4287ab3b0dc -Author: punchcutter -Date: Wed Jan 31 14:09:04 2018 -0800 - - Allow optional ZWJ in virama terminated cluster - - src/hb-ot-shape-complex-use-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dae20fb5a79caad9a4af14137a961b60fe256235 -Author: Bruce Mitchener -Date: Wed Jan 31 20:16:08 2018 +0700 - - Use nullptr instead of 0. - - src/hb-coretext.cc | 4 ++-- - src/test-buffer-serialize.cc | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 90218fa93cf8b5d4b192be12d31aed92d271d09e -Author: Bruce Mitchener -Date: Wed Jan 31 20:44:45 2018 +0700 - - Fix typos. - - src/hb-blob.cc | 2 +- - src/hb-buffer-private.hh | 2 +- - src/hb-common.cc | 2 +- - src/hb-coretext.cc | 2 +- - src/hb-directwrite.cc | 2 +- - src/hb-ft.cc | 2 +- - src/hb-graphite2.cc | 2 +- - src/hb-ot-layout-common-private.hh | 2 +- - 8 files changed, 8 insertions(+), 8 deletions(-) - -commit 148ca61075d821a09e42e2c75fbc9be47cfc6003 -Author: Bruce Mitchener -Date: Wed Jan 31 22:24:51 2018 +0700 - - [ot-layout] Fix nullptr dereference. - - If the `calloc` for `gsub_accels` or `gpos_accels` fails, then the - unlikely branch afterwards can be taken, which frees up the - `hb_ot_layout_t`, but since those fields can now be `nullptr`, then - we don't want to dereference them. - - src/hb-ot-layout.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit 0c66043a924fd114017a862d2cacd70f64b92370 -Author: Bruce Mitchener -Date: Wed Jan 31 20:24:27 2018 +0700 - - [coretext] Fix memory leaks. - - In `reference_table`, if the data is empty and we return early, - we still need to release the data object. - - In `hb_coretext_shape`, there two edge cases where an early - return should release the attributed string. - - src/hb-coretext.cc | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit f0b700db394ccdff30ff83961a3e2ea9ff4ea472 -Author: Behdad Esfahbod -Date: Tue Jan 30 11:16:51 2018 -0800 - - 1.7.5 - - NEWS | 9 +++++++++ - configure.ac | 2 +- - 2 files changed, 10 insertions(+), 1 deletion(-) - -commit 585b5760987e1ddd31e11fc55a2ce55ddb5b1663 -Author: Behdad Esfahbod -Date: Tue Jan 30 11:51:56 2018 -0800 - - Fix distcheck - - test/shaping/data/in-house/Makefile.am | 2 +- - test/shaping/data/text-rendering-tests/Makefile.am | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit e89df6e1aee9cb6fe1268643ce19816808baf0c4 -Author: Behdad Esfahbod -Date: Tue Jan 30 10:58:44 2018 -0800 - - [aat] Limit number of DontAdvance transitions - - Remove the faulty loop-detection logic. Use max-ops for breaking - out of infinite loops or heavy work. - - https://twitter.com/behdadesfahbod/status/958065026262183936 - - src/hb-aat-layout-common-private.hh | 33 - ++------------------------------- - 1 file changed, 2 insertions(+), 31 deletions(-) - -commit e00743b47d25a2487b7f232a514a042e2962a089 -Author: Behdad Esfahbod -Date: Mon Jan 29 10:07:05 2018 -0800 - - [test/text-rendering-tests] Update from upstream - - test/shaping/data/text-rendering-tests/DISABLED | 7 +++++++ - test/shaping/data/text-rendering-tests/Makefile.sources | 7 +++++++ - .../data/text-rendering-tests/fonts/TestMORXEighteen.ttf | Bin 0 -> - 3256 bytes - .../text-rendering-tests/fonts/TestMORXSeventeen.ttf | Bin 0 -> - 1788 bytes - .../data/text-rendering-tests/fonts/TestMORXSixteen.ttf | Bin 0 -> - 1812 bytes - .../data/text-rendering-tests/fonts/TestMORXTwenty.ttf | Bin 0 -> - 3232 bytes - .../text-rendering-tests/fonts/TestMORXTwentyone.ttf | Bin 0 -> - 3244 bytes - .../text-rendering-tests/fonts/TestMORXTwentytwo.ttf | Bin 0 -> - 3256 bytes - .../data/text-rendering-tests/tests/MORX-14.tests | 1 + - .../data/text-rendering-tests/tests/MORX-16.tests | 1 + - .../data/text-rendering-tests/tests/MORX-17.tests | 1 + - .../data/text-rendering-tests/tests/MORX-18.tests | 4 ++++ - .../data/text-rendering-tests/tests/MORX-19.tests | 2 ++ - .../data/text-rendering-tests/tests/MORX-20.tests | 7 +++++++ - .../data/text-rendering-tests/tests/MORX-21.tests | 1 + - .../data/text-rendering-tests/tests/MORX-22.tests | 1 + - 16 files changed, 32 insertions(+) - -commit 29d901286e632fa4de5ea198cc455cae56bc09a8 -Author: Ebrahim Byagowi -Date: Tue Jan 30 10:01:46 2018 +0330 - - [cmake] Build src/ executables (#733) - - CMakeLists.txt | 40 ++++++++++++++++++++++++++-------------- - 1 file changed, 26 insertions(+), 14 deletions(-) - -commit 55cae0d72eecb5116008815b598481dd1404fc6a -Author: Ebrahim Byagowi -Date: Mon Jan 29 18:05:24 2018 +0330 - - [test] Use 'otool -L' where ldd doesn't exist (macOS) (#732) - - src/check-libstdc++.sh | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -commit 2ec7dd1f6cb78ee6a0621aa98f18500d3318c90c -Author: David Corbett -Date: Sun Jan 28 17:48:28 2018 -0500 - - Fix Travis build on macOS (#731) - - .travis.yml | 2 +- - src/check-defs.sh | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 12757b692905062fe0fc266a6230238b3492abfd -Author: Behdad Esfahbod -Date: Fri Jan 26 18:14:05 2018 -0800 - - Misc warning fixes - - Fixes https://github.com/harfbuzz/harfbuzz/issues/712 - - src/hb-ot-layout-gsubgpos-private.hh | 9 ++++----- - src/hb-ot-map-private.hh | 1 - - src/hb-ot-map.cc | 5 ++--- - 3 files changed, 6 insertions(+), 9 deletions(-) - -commit 85be365ed9238caf0283346ab4e5c5127096fc8a -Author: bungeman -Date: Fri Jan 26 13:38:06 2018 -0500 - - Use KernSubTableFormat2::rightClassTable - - Issue originally reported at http://cppfiles.com/chromium.txt . - - This fixes what appears to be a copy - paste issue which causes both - KernSubTableFormat2::rightClassTable and the 'right' argument to - KernSubTableFormat2::get_kerning to go unused. - - src/hb-ot-kern-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c41b7fc10588323b5d8c0007befa701994115f7b -Author: Ebrahim Byagowi -Date: Thu Jan 25 09:53:32 2018 +0330 - - [cmake] Use -fvisibility-inlines-hidden instead (#726) - - CMakeLists.txt | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -commit 3d615766060e34a6e716c8737f651b6d6871ae85 -Author: Ebrahim Byagowi -Date: Mon Jan 22 21:23:19 2018 +0330 - - [cmake] fix symbol exporting issue on newer gcc (#724) - - CMakeLists.txt | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -commit 8b60e7c2c301a24906d591c80c42fd5e506072d2 -Author: Ebrahim Byagowi -Date: Mon Jan 22 18:37:26 2018 +0330 - - [ci] minor, less hacks (#722) - - .circleci/config.yml | 20 ++++++-------------- - .travis.yml | 8 ++++---- - CMakeLists.txt | 11 +++++++---- - 3 files changed, 17 insertions(+), 22 deletions(-) - -commit aaf934de3b9e3447897b4da566655d6d0494e87b -Author: Ebrahim Byagowi -Date: Mon Jan 22 13:16:54 2018 +0330 - - [ci] minor (#721) - - .circleci/config.yml | 4 ++-- - .travis.yml | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit bd752db733e3d8c2c8773d831aebdd8a5cbb5e04 -Author: Ebrahim Byagowi -Date: Mon Jan 22 13:08:35 2018 +0330 - - [ci] unbreak bots with outdated freetype version (#718) - - .circleci/config.yml | 10 +++++++++- - .travis.yml | 10 +++++++++- - 2 files changed, 18 insertions(+), 2 deletions(-) - -commit 19a93fcf1946ad29f07306a0b6c65377bdaa49f0 -Author: Bruce Mitchener -Date: Sun Jan 21 20:40:34 2018 +0700 - - Fix typos. - - src/hb-blob.h | 2 +- - src/hb-buffer.h | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 51ce3828e67a8ca7e4ea4b69e88c395e243bf01f -Author: Behdad Esfahbod -Date: Fri Jan 19 18:36:39 2018 -0800 - - [aat] Fix Ligature matching - - I hope... Makes "ffi" work with Zapfino. I'm not sure if doing it - correctly though... - - src/hb-aat-layout-morx-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit bef509855c7a2c4400a947d2527d1dc048da1284 -Author: Behdad Esfahbod -Date: Fri Jan 19 18:24:00 2018 -0800 - - [aat] Add TODO - - src/hb-aat-layout-morx-table.hh | 1 + - 1 file changed, 1 insertion(+) - -commit e6f283ed7db6f8e2f8016dcbf07e589c40976aa6 -Author: Behdad Esfahbod -Date: Fri Jan 19 18:08:56 2018 -0800 - - [aat] Implement LigatureSubtable - - We form the Zapfino ligature now. Yay! No further testing done. - - src/hb-aat-layout-common-private.hh | 25 ++++++--- - src/hb-aat-layout-morx-table.hh | 108 - +++++++++++++++++++++++++++++++++--- - 2 files changed, 115 insertions(+), 18 deletions(-) - -commit f07ce661a2056965c573c99bdb721c065563ea7b -Author: Behdad Esfahbod -Date: Fri Jan 19 16:52:01 2018 -0800 - - [aat] Embed a sanitizer context in hb_aat_apply_context_t - - For run-time checking. - - src/hb-aat-layout-common-private.hh | 22 ++++++++++++++++------ - src/hb-aat-layout.cc | 16 ++++++++-------- - 2 files changed, 24 insertions(+), 14 deletions(-) - -commit 046690a4df0fdc93e3490210ef105f26057b1462 -Author: Behdad Esfahbod -Date: Wed Jan 17 16:59:55 2018 -0800 - - [aat] Add hb_aat_apply_context_t - - src/hb-aat-layout-common-private.hh | 23 +++++++++++++++++++++++ - src/hb-aat-layout-morx-table.hh | 27 +++++++++++++-------------- - src/hb-aat-layout-private.hh | 2 +- - src/hb-aat-layout.cc | 8 +++++--- - src/hb-ot-shape.cc | 3 +-- - 5 files changed, 43 insertions(+), 20 deletions(-) - -commit fd034490942c06e31cfb42f32023c78734f8aeeb -Author: Behdad Esfahbod -Date: Wed Jan 17 16:46:51 2018 -0800 - - Rename hb_apply_context_t to hb_ot_apply_context_t - - src/hb-aat-layout-morx-table.hh | 16 ++++----- - src/hb-aat-layout-private.hh | 2 +- - src/hb-aat-layout.cc | 2 +- - src/hb-ot-layout-gpos-table.hh | 48 ++++++++++++------------- - src/hb-ot-layout-gsub-table.hh | 24 ++++++------- - src/hb-ot-layout-gsubgpos-private.hh | 58 - +++++++++++++++--------------- - src/hb-ot-layout-private.hh | 4 +-- - src/hb-ot-layout.cc | 16 ++++----- - src/hb-ot-shape-complex-arabic-fallback.hh | 2 +- - src/hb-ot-shape-fallback.cc | 4 +-- - src/hb-ot-shape.cc | 2 +- - 11 files changed, 89 insertions(+), 89 deletions(-) - -commit 94b49beee972fec98cbb80658df3d8491b45485d -Author: Behdad Esfahbod -Date: Wed Jan 17 12:46:08 2018 -0800 - - Whitespace - - src/hb-ot-head-table.hh | 20 +++++++++----------- - src/hb-ot-post-table.hh | 10 +++++----- - 2 files changed, 14 insertions(+), 16 deletions(-) - -commit e849b8a85bb66219db4d797d86ddd60ed7c26a2e -Author: Ebrahim Byagowi -Date: Fri Jan 19 16:12:24 2018 +0330 - - [cmake] Always put test/api/CMakeLists.txt on distributions - - test/api/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit c8f2a4f5b99d3be3079286817386b4185d35a545 -Author: Cosimo Lupo -Date: Thu Jan 18 22:49:40 2018 +0100 - - hb-common.cc: Hatran script is right-to-left (#714) - - "Hatran is written from right to left horizontally" - - http://www.unicode.org/L2/L2012/12312-n4324-hatran.pdf - - This ancient script was added with Unicode 8.0. - - Also this spreadsheet (referenced in an inline comment in the - source code) has it as RTL: http://goo.gl/x9ilM - - src/hb-common.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 00806149b9b591e4ec15996d3d56bdbd60687821 -Author: Ebrahim Byagowi -Date: Fri Jan 19 01:12:31 2018 +0330 - - Improve avoiding C++ linkage, definition creation and cmake tests - (#710) - - .circleci/config.yml | 4 ++-- - CMakeLists.txt | 46 ++++++++++++++++++++++++++-------------------- - configure.ac | 3 +++ - src/Makefile.am | 11 ++--------- - src/check-defs.sh | 37 +++++++++++++++++++++++-------------- - src/gen-def.py | 16 ++++++++++++++++ - 6 files changed, 72 insertions(+), 45 deletions(-) - -commit 9b693212a834a96252f4ebe0b006b85e9f35fc91 -Author: David Corbett -Date: Thu Jan 18 16:34:13 2018 -0500 - - Update record-test.sh to the new directory layout (#716) - - test/shaping/README.md | 11 ++++++----- - test/shaping/record-test.sh | 17 +++++++++++++---- - 2 files changed, 19 insertions(+), 9 deletions(-) - -commit 461a605fdec3361a038d3715adf615353c4f91fa -Author: Behdad Esfahbod -Date: Wed Jan 17 10:02:48 2018 -0800 - - [aat] Allocate set dynamically - - src/hb-aat-layout-common-private.hh | 21 ++++++++++++--------- - 1 file changed, 12 insertions(+), 9 deletions(-) - -commit 4c4a9fc8617fed9bc1a7805c9aed294b4f6b66ea -Author: Behdad Esfahbod -Date: Wed Jan 17 09:47:50 2018 -0800 - - Typo - - Fixes https://github.com/harfbuzz/harfbuzz/issues/711 - - util/options.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 90f01bad637c8b1214f46d4df6d9552a6a728e29 -Author: Ebrahim Byagowi -Date: Tue Jan 16 22:00:21 2018 +0330 - - [cmake] don't link to libstdc++ (#707) - - CMakeLists.txt | 38 +++++++++++++++++++++++++------------- - 1 file changed, 25 insertions(+), 13 deletions(-) - -commit 5e14e5f65d3dd1ed471ed73fab7e3207ae04e8fb -Author: rdb -Date: Tue Jan 16 17:04:33 2018 +0100 - - [cmake] Fix for CMake 3.0 and below (#706) - - CMakeLists.txt | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit c97a7eca7f7b6fc1c50a4ac7fccf3fa2d777430e -Author: Ebrahim Byagowi -Date: Tue Jan 16 14:18:09 2018 +0330 - - [cmake] Fix symbols visibility and enable check-symbols.sh test (#705) - - .circleci/config.yml | 2 +- - CMakeLists.txt | 22 ++++++++++++++-------- - 2 files changed, 15 insertions(+), 9 deletions(-) - -commit 60f84ef014f9280da24d5eb9ce833a7f37210242 -Author: Behdad Esfahbod -Date: Mon Jan 15 20:46:58 2018 -0500 - - Disable MORX-13/14 - - Really, need better way to catch these :(. - - test/shaping/data/text-rendering-tests/DISABLED | 2 ++ - test/shaping/data/text-rendering-tests/Makefile.sources | 4 ++-- - 2 files changed, 4 insertions(+), 2 deletions(-) - -commit 949f6af2897b8982c81a059ea98e1c29bbce4772 -Author: Behdad Esfahbod -Date: Mon Jan 15 20:44:10 2018 -0500 - - Disallow sanitize recursing into Extension subtables multiple times - - Fixes https://oss-fuzz.com/v2/testcase-detail/5216838347653120 - which is a stack overflow, not by way of infinite recursion, just - being deep. That's disallowed anyway, so catch it as it happens, - not afterwards. - - src/hb-ot-layout-gsub-table.hh | 5 ++--- - src/hb-ot-layout-gsubgpos-private.hh | 4 +++- - 2 files changed, 5 insertions(+), 4 deletions(-) - -commit bcb6f1ae0a08e5c7af88a7affaad42a67c5adac5 -Author: Behdad Esfahbod -Date: Mon Jan 15 20:34:05 2018 -0500 - - Whitespace - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 12fffce10eb6ffebdedd655d0b1f10a99adf1808 -Author: Behdad Esfahbod -Date: Mon Jan 15 15:41:51 2018 -0500 - - [aat] Sanitize classTable in StateTable - - src/hb-aat-layout-common-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit e6263c7142ca22efd9a3c93353a513f475c1c48d -Author: Behdad Esfahbod -Date: Mon Jan 15 15:37:55 2018 -0500 - - [aat] Wire up table length to apply() - - src/hb-aat-layout-morx-table.hh | 17 +++++++++-------- - src/hb-aat-layout.cc | 20 +++++++++++++++----- - src/hb-open-type-private.hh | 6 +++--- - 3 files changed, 27 insertions(+), 16 deletions(-) - -commit 679ae744d07db7746a983ece54c22635a9dc3cff -Author: Behdad Esfahbod -Date: Sun Jan 14 15:03:31 2018 -0500 - - [aat] Towards implementing LigatureSubtable - - src/hb-aat-layout-morx-table.hh | 61 - +++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 58 insertions(+), 3 deletions(-) - -commit c9e12a2b9b34d73d37def2261a5c1a7ef20b8349 -Author: Behdad Esfahbod -Date: Sat Jan 13 17:05:12 2018 +0000 - - Fix set initializer - - src/hb-set-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 54a1e250a839f030b43dbeba66cadc50ab5f90f6 -Author: Behdad Esfahbod -Date: Sat Jan 13 14:44:39 2018 +0000 - - [test/text-rendering-tests] Update from upstream - - test/shaping/data/text-rendering-tests/Makefile.sources | 2 ++ - .../data/text-rendering-tests/fonts/TestMORXFourteen.ttf | Bin 0 -> - 1816 bytes - .../data/text-rendering-tests/fonts/TestMORXThirteen.ttf | Bin 0 -> - 1820 bytes - .../data/text-rendering-tests/tests/MORX-13.tests | 1 + - .../data/text-rendering-tests/tests/MORX-14.tests | 1 + - 5 files changed, 4 insertions(+) - -commit 9009b341c46caaa81deae8ea55e6f7dd98565f59 -Author: Behdad Esfahbod -Date: Fri Jan 12 12:04:53 2018 +0100 - - [aat] Fix some struct sizes - - I hate it that with my compiler at least, it doesn't catch totally - uncompilable - statements in templates if they are not used... - - src/hb-aat-layout-common-private.hh | 2 +- - src/hb-aat-layout-morx-table.hh | 8 ++++---- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 57051b4f672d7d9dd10c45cc95b1e50e32cd42a9 -Author: Behdad Esfahbod -Date: Fri Jan 12 11:42:25 2018 +0100 - - [aat] Flush rest of buffer if state machine failed - - src/hb-aat-layout-common-private.hh | 12 +++++++++--- - src/hb-aat-layout-morx-table.hh | 2 ++ - 2 files changed, 11 insertions(+), 3 deletions(-) - -commit 369dfab0f8b7f22338bbd7a58a27e2e02e1efc29 -Author: Behdad Esfahbod -Date: Fri Jan 12 11:37:01 2018 +0100 - - Minor - - docs/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 25364c4f0020a66bd6f4bce1656ea47f1093396d -Author: Behdad Esfahbod -Date: Fri Jan 12 11:31:20 2018 +0100 - - [aat] Fix symbol visibility - - Not sure why only one of the bots sees this as visible... - - src/hb-aat-layout-morx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ee16b9d8d35af1e74369edf7b733886c4b743a68 -Author: Behdad Esfahbod -Date: Fri Jan 12 11:28:09 2018 +0100 - - Revert accidental morx enablement - - src/hb-ot-shape.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 44f0ee346f53c51ec4abccc81cc24abf6f018e85 -Author: Behdad Esfahbod -Date: Fri Jan 12 11:27:51 2018 +0100 - - Fix docs - - docs/harfbuzz-sections.txt | 1 + - 1 file changed, 1 insertion(+) - -commit cdfa801ff4fe301d7bd41c9eee57cae75001ce4b -Author: Behdad Esfahbod -Date: Fri Jan 12 11:12:20 2018 +0100 - - [aat] Tweak previous commit - - src/hb-aat-layout-common-private.hh | 2 ++ - src/hb-ot-shape.cc | 4 ++-- - 2 files changed, 4 insertions(+), 2 deletions(-) - -commit f7600228a4b37e6f6b65394aceeeb14bf4133c23 -Author: Behdad Esfahbod -Date: Fri Jan 12 11:09:21 2018 +0100 - - [aat] Detect infinite-loops in state machine - - src/hb-aat-layout-common-private.hh | 36 - +++++++++++++++++++++++++++++------- - 1 file changed, 29 insertions(+), 7 deletions(-) - -commit d514f1480cffb81850ef212155c66ee9e0383350 -Author: Behdad Esfahbod -Date: Fri Jan 12 10:55:44 2018 +0100 - - [circleci] cat test logs on failure on autotools-based builds - - .circleci/config.yml | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 1facef337862a0ceee9a8ac1d4dc94ff94fcb3b3 -Author: Behdad Esfahbod -Date: Fri Jan 12 10:53:52 2018 +0100 - - [travis] On test failure, cat all .log files - - .travis.yml | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit cdd86bf3a28961e85a8918d77937587df313d47b -Author: Behdad Esfahbod -Date: Fri Jan 12 10:51:51 2018 +0100 - - [travis] Update cat'ing test-suite.log files - - .travis.yml | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 22d8c765e7b556601173a3e70f5bc9f310263a98 -Author: Behdad Esfahbod -Date: Fri Jan 12 09:46:38 2018 +0100 - - Disable C++11 - - To better catch errors locally. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dd38db523a1001178bf4cae3721c098466534736 -Author: Behdad Esfahbod -Date: Fri Jan 12 09:45:42 2018 +0100 - - [aat] Fix more builds - - Maybe I should disable C++11 detection such that my compiler also - catches - these. Doesn't look like we can switch to it for a while anyway... - - src/hb-aat-layout-common-private.hh | 2 +- - src/hb-aat-layout-morx-table.hh | 18 +++++++++--------- - 2 files changed, 10 insertions(+), 10 deletions(-) - -commit 72cb2b1f57ba79938c74e0406fc7457fce287f69 -Author: Behdad Esfahbod -Date: Fri Jan 12 09:38:55 2018 +0100 - - [aat] Fix builds - - src/hb-aat-layout-morx-table.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit e3a15d0c6d088963e61f7fbebe25e1096d8e2903 -Author: Ting-Wei Lan -Date: Fri Jan 12 15:33:16 2018 +0800 - - Update _POSIX_C_SOURCE to the latest version - - Defining _POSIX_C_SOURCE to an old version on FreeBSD can cause C99 to - be disabled in libc. - - src/hb-blob.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c70d58f97da7dcbdd7ea72a44f39130a75a279f7 -Author: Behdad Esfahbod -Date: Fri Jan 12 00:08:22 2018 +0100 - - [aat] Port RearrangementSubtable to StateTableDriver - - src/hb-aat-layout-morx-table.hh | 91 - ++++++++++++++++++++--------------------- - 1 file changed, 44 insertions(+), 47 deletions(-) - -commit 117cfe7bb7cef682eb151b94f1eb12363ba3af67 -Author: Behdad Esfahbod -Date: Fri Jan 12 00:01:36 2018 +0100 - - [aat] Add StateTableDriver and convert ContextualSubtable to it - - src/hb-aat-layout-common-private.hh | 51 ++++++++++++++++++++ - src/hb-aat-layout-morx-table.hh | 93 - ++++++++++++++++++------------------- - 2 files changed, 95 insertions(+), 49 deletions(-) - -commit 0d39ac224c680b1f0134b58e78391497fbe47370 -Author: Behdad Esfahbod -Date: Thu Jan 11 22:47:08 2018 +0100 - - [test/text-rendering-tests] Update README - - test/shaping/data/text-rendering-tests/README | 3 +++ - 1 file changed, 3 insertions(+) - -commit 17a66f133c7e523403b6c90b011fcf0acb6356c6 -Author: Behdad Esfahbod -Date: Thu Jan 11 22:46:19 2018 +0100 - - [test] Disable MORX-12 - - Ouch. I need a better workflow for this. - - test/shaping/data/text-rendering-tests/Makefile.sources | 1 - - 1 file changed, 1 deletion(-) - -commit 1f1c85a54aad8a25a67041cbb9c4277d28c1c761 -Author: Behdad Esfahbod -Date: Thu Jan 11 22:43:57 2018 +0100 - - [aat] Remove 'mort' support - - It's dead, Jim! - - src/hb-aat-layout-common-private.hh | 55 +++++----------- - src/hb-aat-layout-morx-table.hh | 122 - ++++++++++-------------------------- - 2 files changed, 46 insertions(+), 131 deletions(-) - -commit 7e2fed6d73f89986e5777028cdcd24e3baf2f86c -Author: Behdad Esfahbod -Date: Thu Jan 11 19:25:21 2018 +0100 - - [aat] Allow DontAdvance - - Apparently CoreText does allow these. To be done: detect infinite - loops. - - Fixes MORX-12 test. - - src/hb-aat-layout-morx-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 1387fe8f9c474e88f86828733d4c01bd56f44432 -Author: Behdad Esfahbod -Date: Thu Jan 11 19:22:37 2018 +0100 - - [test/text-rendering-tests] Update from upstream - - test/shaping/data/text-rendering-tests/DISABLED | 1 + - test/shaping/data/text-rendering-tests/Makefile.sources | 2 ++ - .../data/text-rendering-tests/fonts/TestMORXTwelve.ttf | Bin 0 -> - 2200 bytes - .../data/text-rendering-tests/tests/MORX-12.tests | 3 +++ - 4 files changed, 6 insertions(+) - -commit 17f01aff910b3871d0a6c45fd4305304b7f68ab5 -Author: Behdad Esfahbod -Date: Thu Jan 11 18:54:49 2018 +0100 - - [aat] Sanitize ContextualSubtable - - src/hb-aat-layout-common-private.hh | 23 +++++++++++++++++++---- - src/hb-aat-layout-morx-table.hh | 34 - ++++++++++++++++++++++++---------- - 2 files changed, 43 insertions(+), 14 deletions(-) - -commit 9b82aa19d812e70b7fade4b7669a9ce27855951e -Author: Behdad Esfahbod -Date: Thu Jan 11 18:19:42 2018 +0100 - - More warning fixes - - src/hb-open-type-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 680cbc2eb325edc6b8562f39485b146aa56b3872 -Author: Behdad Esfahbod -Date: Thu Jan 11 18:15:53 2018 +0100 - - [aat] Sanitize StateTable - - src/hb-aat-layout-common-private.hh | 43 - ++++++++++++++++++++++++++++++++++--- - 1 file changed, 40 insertions(+), 3 deletions(-) - -commit 0e3b3379a04a67a22e44e17d6bf849359f4fca68 -Author: Behdad Esfahbod -Date: Thu Jan 11 18:01:10 2018 +0100 - - [aat] Actually fix d887f931485b715775e922516a4b0de5bb92c34f - - src/hb-aat-layout-morx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1eb98c9916c6cb447f999170840b7f37de4b282d -Author: Behdad Esfahbod -Date: Thu Jan 11 17:59:03 2018 +0100 - - [test/text-rendering-tests] Actually disable MORX-11 - - test/shaping/data/text-rendering-tests/Makefile.sources | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3f291ffd5a9480ac0f528eaedd43c7e9af738ee2 -Author: Behdad Esfahbod -Date: Thu Jan 11 17:57:46 2018 +0100 - - [buffer] Fix compiler warnings - - line 323: Warning: info hides hb_buffer_t::info - ... - - src/hb-buffer-private.hh | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit d887f931485b715775e922516a4b0de5bb92c34f -Author: Behdad Esfahbod -Date: Thu Jan 11 17:41:34 2018 +0100 - - [aat] Make bots happy - - Don't know why this is not caught by my compiler. Looks like clang - catches it - while gcc doesn't. - - In file included from ../src/hb-aat-layout-morx-table.hh:31: - ../src/hb-aat-layout-common-private.hh:523:30: error: no member named - 'static_size' in 'AAT::ContextualSubtable::EntryData' - DEFINE_SIZE_STATIC (4 + T::static_size); - ~~~^ - - src/hb-aat-layout-morx-table.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit f6be730994434e706cc27d68b796492d876e82b6 -Author: Behdad Esfahbod -Date: Thu Jan 11 15:23:24 2018 +0100 - - [aat] In NoncontextualSubtable, handle MarkLast with end-of-line - transition - - Fixes MORX-11 test. - - src/hb-aat-layout-morx-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 1d20d109a07bf9c775ab91dfbbb55f7bd80fd9d6 -Author: Behdad Esfahbod -Date: Thu Jan 11 15:18:22 2018 +0100 - - [test/text-rendering-tests] Update from upstream - - test/shaping/data/text-rendering-tests/DISABLED | 3 ++- - test/shaping/data/text-rendering-tests/Makefile.sources | 3 ++- - .../data/text-rendering-tests/fonts/TestMORXEleven.ttf | Bin 0 -> - 1624 bytes - .../data/text-rendering-tests/tests/MORX-11.tests | 1 + - 4 files changed, 5 insertions(+), 2 deletions(-) - -commit f9be673814aeb2c8abab52a672598576c6ed20c2 -Author: Behdad Esfahbod -Date: Thu Jan 11 15:15:07 2018 +0100 - - [aat] Implement ContextualSubtable - - Tested with Zapfino and text "2nd". Sascha will create tests later. - - src/hb-aat-layout-morx-table.hh | 70 - ++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 66 insertions(+), 4 deletions(-) - -commit 335a9c1fe489db53549801b4996dd0f6f5eded62 -Author: Behdad Esfahbod -Date: Thu Jan 11 14:50:47 2018 +0100 - - [aat] Towards implementing ContextualSubtable - - src/hb-aat-layout-common-private.hh | 58 ++++++++++++++++++++++-- - src/hb-aat-layout-morx-table.hh | 88 - ++++++++++++++++++++++++++----------- - 2 files changed, 117 insertions(+), 29 deletions(-) - -commit 62348f647f7b1604e008dbed46a54eff245fc106 -Author: Behdad Esfahbod -Date: Thu Jan 11 12:00:28 2018 +0100 - - [aat] Implement end-of-text in state machine - - Passes MORX-10 test now. - - src/hb-aat-layout-morx-table.hh | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit fc405b7ca77088135cb7de11cb32c254b85272fd -Author: Behdad Esfahbod -Date: Thu Jan 11 11:55:29 2018 +0100 - - [test/text-rendering-tests] Update from upstream - - test/shaping/data/text-rendering-tests/DISABLED | 1 + - test/shaping/data/text-rendering-tests/Makefile.sources | 11 - ++++++----- - .../data/text-rendering-tests/fonts/TestMORXTen.ttf | Bin 0 -> - 1620 bytes - .../data/text-rendering-tests/tests/MORX-10.tests | 1 + - 4 files changed, 8 insertions(+), 5 deletions(-) - -commit 9adbd938fafe1de4e279489fc37ae33c900e22f0 -Author: Behdad Esfahbod -Date: Thu Jan 11 11:55:10 2018 +0100 - - Minor - - src/hb-aat-layout-morx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4177f646aa60180f094e064a53e54c5402fe53c6 -Author: Ebrahim Byagowi -Date: Thu Jan 11 15:43:23 2018 +0330 - - [cmake] Update and unbreak (#700) - - test/shaping/CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 94644d7ea4cf217e4d6c6ff57d65e1e20866ea6d -Author: Behdad Esfahbod -Date: Thu Jan 11 11:49:07 2018 +0100 - - [aat] Generate finegrained unsafe-to-break in state-machine! - - Neato. - - src/hb-aat-layout-morx-table.hh | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 994eb7744c530bbaa5d6d8b8e07ca936e81aade8 -Author: Behdad Esfahbod -Date: Thu Jan 11 11:37:12 2018 +0100 - - [buffer] Fix crash - - src/hb-buffer-serialize.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit d6076747ac6706b4d8361714d46aced9683c44a8 -Author: Behdad Esfahbod -Date: Thu Jan 11 10:51:46 2018 +0100 - - [test/text-rendering-tests] Add DISABLED list - - test/shaping/data/text-rendering-tests/DISABLED | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -commit de02b5093c42a527ae67084b30943369ed59efe6 -Author: Behdad Esfahbod -Date: Thu Jan 11 10:48:42 2018 +0100 - - [test/in-house] Add Makefile.sources - - test/shaping/data/in-house/Makefile.am | 46 - ++--------------------------- - test/shaping/data/in-house/Makefile.sources | 46 - +++++++++++++++++++++++++++++ - 2 files changed, 48 insertions(+), 44 deletions(-) - -commit 7c32e01d04deaab511d41f5dec0dfd9fc0469f39 -Author: Behdad Esfahbod -Date: Thu Jan 11 10:47:31 2018 +0100 - - Minor - - src/Makefile.am | 1 + - src/Makefile.sources | 2 -- - test/shaping/data/text-rendering-tests/update.sh | 2 -- - util/Makefile.am | 1 + - util/Makefile.sources | 2 -- - 5 files changed, 2 insertions(+), 6 deletions(-) - -commit a5adc5aa84c03184fd1c8a486be80ff0af1f448c -Author: Behdad Esfahbod -Date: Thu Jan 11 10:30:22 2018 +0100 - - [test/text-rendering-tests] Update from upstream - - Also adds an update.sh script that does this automatically. - - test/shaping/data/text-rendering-tests/Makefile.am | 52 - +++------------------ - .../data/text-rendering-tests/Makefile.sources | 51 - ++++++++++++++++++++ - .../text-rendering-tests/fonts/TestMORXEight.ttf | Bin 0 -> 2184 bytes - .../text-rendering-tests/fonts/TestMORXNine.ttf | Bin 0 -> 1624 bytes - .../data/text-rendering-tests/tests/MORX-5.tests | 25 ++++++++++ - .../data/text-rendering-tests/tests/MORX-6.tests | 1 + - .../data/text-rendering-tests/tests/MORX-7.tests | 1 + - .../data/text-rendering-tests/tests/MORX-8.tests | 3 ++ - .../data/text-rendering-tests/tests/MORX-9.tests | 1 + - test/shaping/data/text-rendering-tests/update.sh | 48 - +++++++++++++++++++ - 10 files changed, 136 insertions(+), 46 deletions(-) - -commit c861daacc4255d41d2358868b917277422949dc9 -Author: Behdad Esfahbod -Date: Thu Jan 11 10:11:01 2018 +0100 - - [test/text-rendering-tests] Add README and COPYING - - test/shaping/data/text-rendering-tests/COPYING | 13 +++++++++++++ - test/shaping/data/text-rendering-tests/Makefile.am | 2 ++ - test/shaping/data/text-rendering-tests/README | 4 ++++ - 3 files changed, 19 insertions(+) - -commit 14b4d84eef18bd54287c10ce44eaef4f642f6238 -Author: Behdad Esfahbod -Date: Thu Jan 11 10:08:25 2018 +0100 - - [aat] Fix RearrangementSubtable action - - src/hb-aat-layout-morx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ea3e86c6401d41cf54d82692eccbf44c87be2fd5 -Author: Behdad Esfahbod -Date: Thu Jan 11 09:58:42 2018 +0100 - - Minor - - test/shaping/data/Makefile.am | 4 ++++ - test/shaping/data/in-house/Makefile.am | 4 ++++ - test/shaping/data/text-rendering-tests/Makefile.am | 4 ++++ - 3 files changed, 12 insertions(+) - -commit 800e4ae80232f022404be155afd497b0421a6a64 -Author: Behdad Esfahbod -Date: Thu Jan 11 09:57:55 2018 +0100 - - [aat] Mark state-machine-based lookup as completely unsafe-to-break - - To be improved later. - - src/hb-aat-layout-morx-table.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit ca42d961293a9e4dfd0817c1a02d454008583282 -Author: Behdad Esfahbod -Date: Thu Jan 11 09:15:34 2018 +0100 - - [aat] Implement RearrangementSubtable - - src/hb-aat-layout-common-private.hh | 89 ++++++++++++++++- - src/hb-aat-layout-morx-table.hh | 192 - +++++++++++++++++++++++++++++++----- - src/hb-open-type-private.hh | 2 - - src/hb-private.hh | 7 +- - 4 files changed, 254 insertions(+), 36 deletions(-) - -commit 5dbbd0fdb9a343554112a846b392803f11c13197 -Author: Ebrahim Byagowi -Date: Thu Jan 11 12:33:22 2018 +0330 - - Move the #define of _GNU_SOURCE to the top of hb-private.hh (#697) - - This fixes the build on Cygwin. - - src/hb-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 90e3c9e69e93e05d9fb534fd43b5c99cf58a7cb4 -Author: Ebrahim Byagowi -Date: Thu Jan 11 12:31:05 2018 +0330 - - [cmake] Fix hb-blob test (#699) - - CMakeLists.txt | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 1461965c2220cd957c26b3fe5835200e426bc715 -Author: Ebrahim Byagowi -Date: Thu Jan 11 08:48:22 2018 +0330 - - [test] Better tests output by converting stderr to stdout (#696) - - https://gitlab.kitware.com/cmake/cmake/issues/17630 - - test/shaping/run-tests.py | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit ebb9b7d6335536804b50002fb83dd30da42a8ad5 -Author: Ebrahim Byagowi -Date: Thu Jan 11 08:15:06 2018 +0330 - - [test] Print shaping output on CI fails (#695) - - .circleci/config.yml | 4 ++-- - test/shaping/run-tests.py | 8 ++++---- - 2 files changed, 6 insertions(+), 6 deletions(-) - -commit e24bea8e91ba9f447f1f7f252bdefacef1f83593 -Author: Ebrahim Byagowi -Date: Wed Jan 10 23:51:56 2018 +0330 - - [cmake] Another try on making sure feature testing is working (#691) - - .circleci/config.yml | 131 - ++++++++++++++++++++++++++++----------------------- - CMakeLists.txt | 17 ++++--- - 2 files changed, 79 insertions(+), 69 deletions(-) - -commit 746a37d5bdd2e965aa316e95ba5a7bad809d76a7 -Author: Behdad Esfahbod -Date: Wed Jan 10 16:47:47 2018 +0100 - - [util] Replace setlinebuf - - util/options.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit ff2083c53eecc67c011b96b0b9a58331043e53cf -Author: Behdad Esfahbod -Date: Wed Jan 10 13:54:36 2018 +0100 - - [util] Set stdio files to line buffering - - So we can stream lines to hb-shape and read output. - - util/options.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 80fd5743200cbe221ae3adf057fe0e5ef54a894c -Author: Behdad Esfahbod -Date: Wed Jan 10 11:09:53 2018 +0100 - - [aat] Add Class subtable thingy - - From old 'mort' table. - - src/hb-aat-layout-common-private.hh | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -commit 71e0ed9cbad8438239dcedf1bcfa8e19b9dfdc89 -Author: Ebrahim Byagowi -Date: Wed Jan 10 15:45:12 2018 +0330 - - [cmake] Add header existence tests (#685) - - .circleci/config.yml | 4 ++-- - CMakeLists.txt | 53 - ++++++++++++++++++++++++++++++--------------- - test/shaping/CMakeLists.txt | 1 - - 3 files changed, 37 insertions(+), 21 deletions(-) - -commit a073621b5dc2865a014821307128a8fdd1d7d992 -Author: Ebrahim Byagowi -Date: Wed Jan 10 12:13:28 2018 +0330 - - [cmake] Fix tests against latest changes (#690) - - test/shaping/CMakeLists.txt | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -commit 0b22da954142ad7a1e949a56448cee4e836fff75 -Author: Khaled Hosny -Date: Wed Jan 10 07:12:07 2018 +0200 - - Improve HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES docs - - Add the note about absolute glyph positions from the commit message. - - src/hb-buffer.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 6db0b17c4ce56bd7477941e7a2fc85997c04588e -Author: Behdad Esfahbod -Date: Wed Jan 10 05:40:43 2018 +0100 - - [test] Move test handling to sundirectories - - configure.ac | 3 + - test/shaping/Makefile.am | 98 - +--------------------- - test/shaping/data/Makefile.am | 9 ++ - test/shaping/data/in-house/Makefile.am | 58 +++++++++++++ - test/shaping/data/text-rendering-tests/Makefile.am | 60 +++++++++++++ - 5 files changed, 131 insertions(+), 97 deletions(-) - -commit 4c982b4867707fcd2259b344b06e5bba8dd0c1e3 -Author: Behdad Esfahbod -Date: Wed Jan 10 05:26:55 2018 +0100 - - [test] Whitelist one more passing test - - test/shaping/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 188ee6e5eeef3c63c332cfa30795d37da1bc1682 -Author: Behdad Esfahbod -Date: Wed Jan 10 05:13:47 2018 +0100 - - Calculate anchor positions in float, then round - - Hoping to reduce rounding error, to make tests happier... - No luck. - - src/hb-font-private.hh | 6 ++++++ - src/hb-ot-layout-gpos-table.hh | 44 - +++++++++++++++++++++--------------------- - 2 files changed, 28 insertions(+), 22 deletions(-) - -commit 0b28e1199d62765db4e855756b96022e423dcc17 -Author: Behdad Esfahbod -Date: Wed Jan 10 05:02:42 2018 +0100 - - [test] Whitelist one more passing test - - test/shaping/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7cdd6ab068500aa18de9a856bfbe730d0aac9a27 -Author: Behdad Esfahbod -Date: Wed Jan 10 04:33:08 2018 +0100 - - Round, instead of floor, when applying variations - - Hoping this would fix remaining text-rendering-tests failures, - but so far no luck. - - src/hb-font-private.hh | 2 +- - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-private.hh | 1 + - 3 files changed, 3 insertions(+), 2 deletions(-) - -commit 6dc6f0c9f844a006b4518ce789e319fcef6e9680 -Author: Behdad Esfahbod -Date: Wed Jan 10 04:12:35 2018 +0100 - - [test] Whitelist one passing test - - test/shaping/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ec939761e4d1b2f825db715290d70e18b1c9dd12 -Author: Behdad Esfahbod -Date: Wed Jan 10 03:56:43 2018 +0100 - - Minor - - test/shaping/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit c4eac531dfad55f691557a684b3a6bde83c4bcea -Author: Behdad Esfahbod -Date: Wed Jan 10 03:51:09 2018 +0100 - - Minor - - test/shaping/Makefile.am | 1 - - 1 file changed, 1 deletion(-) - -commit 285a0bd799426c544d896f8fbcc27f4613a28e9a -Author: Behdad Esfahbod -Date: Wed Jan 10 03:49:32 2018 +0100 - - [test] Another try - - Making cmake happy this time. - - test/shaping/Makefile.am | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 95b32b00557d6afcfc469f8dcc51d8bfa8243a00 -Author: Behdad Esfahbod -Date: Wed Jan 10 03:48:09 2018 +0100 - - [test] Fix text disabling - - Ouch, make! - - test/shaping/Makefile.am | 27 ++++++++++++++------------- - 1 file changed, 14 insertions(+), 13 deletions(-) - -commit a938d105b8d6e2d654079ea7d89e2e3ef5e0aed4 -Author: Behdad Esfahbod -Date: Wed Jan 10 03:41:55 2018 +0100 - - [test/text-rendering-tests] Disable failing tests - - test/shaping/Makefile.am | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit ed95d5e374a10770eb305dfa43a9f5b39933aac7 -Author: Behdad Esfahbod -Date: Wed Jan 10 03:38:52 2018 +0100 - - [test/text-rendering-tests] Disable failing tests - - test/shaping/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3b1e97f364e5ffdc08b52f889e3fea80a7e83e99 -Author: Behdad Esfahbod -Date: Wed Jan 10 03:35:20 2018 +0100 - - Add HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES - - New API: - HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES - hb-shape / hb-view --remove-default-ignorables - - One more text-rendering-tests test passing. Eleven failing. - - src/hb-buffer.h | 17 ++++-- - src/hb-ot-shape.cc | 6 +- - .../data/text-rendering-tests/extract-tests.py | 2 +- - .../data/text-rendering-tests/tests/AVAR-1.tests | 34 +++++------ - .../data/text-rendering-tests/tests/CFF-1.tests | 26 ++++----- - .../data/text-rendering-tests/tests/CFF-2.tests | 26 ++++----- - .../data/text-rendering-tests/tests/CFF2-1.tests | 18 +++--- - .../data/text-rendering-tests/tests/CMAP-1.tests | 8 +-- - .../data/text-rendering-tests/tests/CMAP-2.tests | 4 +- - .../data/text-rendering-tests/tests/CMAP-3.tests | 40 ++++++------- - .../data/text-rendering-tests/tests/CVAR-1.tests | 6 +- - .../data/text-rendering-tests/tests/CVAR-2.tests | 6 +- - .../data/text-rendering-tests/tests/GLYF-1.tests | 2 +- - .../data/text-rendering-tests/tests/GPOS-1.tests | 38 ++++++------ - .../data/text-rendering-tests/tests/GPOS-2.tests | 6 +- - .../data/text-rendering-tests/tests/GPOS-3.tests | 8 +-- - .../data/text-rendering-tests/tests/GPOS-4.tests | 8 +-- - .../data/text-rendering-tests/tests/GPOS-5.tests | 10 ++-- - .../data/text-rendering-tests/tests/GSUB-1.tests | 2 +- - .../data/text-rendering-tests/tests/GSUB-2.tests | 22 +++---- - .../data/text-rendering-tests/tests/GVAR-1.tests | 18 +++--- - .../data/text-rendering-tests/tests/GVAR-2.tests | 18 +++--- - .../data/text-rendering-tests/tests/GVAR-3.tests | 18 +++--- - .../data/text-rendering-tests/tests/GVAR-4.tests | 22 +++---- - .../data/text-rendering-tests/tests/GVAR-5.tests | 22 +++---- - .../data/text-rendering-tests/tests/GVAR-6.tests | 22 +++---- - .../data/text-rendering-tests/tests/GVAR-7.tests | 14 ++--- - .../data/text-rendering-tests/tests/GVAR-8.tests | 12 ++-- - .../data/text-rendering-tests/tests/GVAR-9.tests | 20 +++---- - .../data/text-rendering-tests/tests/HVAR-1.tests | 12 ++-- - .../data/text-rendering-tests/tests/HVAR-2.tests | 12 ++-- - .../data/text-rendering-tests/tests/KERN-1.tests | 2 +- - .../data/text-rendering-tests/tests/KERN-2.tests | 2 +- - .../data/text-rendering-tests/tests/MORX-1.tests | 2 +- - .../data/text-rendering-tests/tests/MORX-2.tests | 32 +++++----- - .../data/text-rendering-tests/tests/MORX-3.tests | 32 +++++----- - .../data/text-rendering-tests/tests/MORX-4.tests | 30 +++++----- - .../data/text-rendering-tests/tests/SHARAN-1.tests | 12 ++-- - .../data/text-rendering-tests/tests/SHBALI-1.tests | 44 +++++++------- - .../data/text-rendering-tests/tests/SHBALI-2.tests | 24 ++++---- - .../data/text-rendering-tests/tests/SHBALI-3.tests | 18 +++--- - .../data/text-rendering-tests/tests/SHKNDA-1.tests | 68 - +++++++++++----------- - .../data/text-rendering-tests/tests/SHKNDA-2.tests | 32 +++++----- - .../data/text-rendering-tests/tests/SHKNDA-3.tests | 62 - ++++++++++---------- - util/options.cc | 1 + - util/options.hh | 14 +++-- - 46 files changed, 435 insertions(+), 419 deletions(-) - -commit 46e4ed552fb1205eb6cbc16450bb231998fc7347 -Author: Behdad Esfahbod -Date: Wed Jan 10 03:22:08 2018 +0100 - - [test/text-rendering-tests] Hook up font variations - - Six more passing. Twelve failing now. - - .../data/text-rendering-tests/extract-tests.py | 6 +++- - .../data/text-rendering-tests/tests/AVAR-1.tests | 34 - +++++++++++----------- - .../data/text-rendering-tests/tests/CFF2-1.tests | 18 ++++++------ - .../data/text-rendering-tests/tests/CVAR-1.tests | 6 ++-- - .../data/text-rendering-tests/tests/CVAR-2.tests | 6 ++-- - .../data/text-rendering-tests/tests/GPOS-5.tests | 10 +++---- - .../data/text-rendering-tests/tests/GVAR-1.tests | 18 ++++++------ - .../data/text-rendering-tests/tests/GVAR-2.tests | 18 ++++++------ - .../data/text-rendering-tests/tests/GVAR-3.tests | 18 ++++++------ - .../data/text-rendering-tests/tests/GVAR-4.tests | 22 +++++++------- - .../data/text-rendering-tests/tests/GVAR-5.tests | 22 +++++++------- - .../data/text-rendering-tests/tests/GVAR-6.tests | 22 +++++++------- - .../data/text-rendering-tests/tests/GVAR-7.tests | 14 ++++----- - .../data/text-rendering-tests/tests/GVAR-8.tests | 12 ++++---- - .../data/text-rendering-tests/tests/GVAR-9.tests | 20 ++++++------- - .../data/text-rendering-tests/tests/HVAR-1.tests | 12 ++++---- - .../data/text-rendering-tests/tests/HVAR-2.tests | 12 ++++---- - 17 files changed, 137 insertions(+), 133 deletions(-) - -commit 2b3f62fc4de8f10c2168f212b1368478312e6dec -Author: Behdad Esfahbod -Date: Wed Jan 10 03:16:56 2018 +0100 - - [test] Add tests from text-rendering-tests repo - - https://github.com/unicode-org/text-rendering-tests - - test/shaping/Makefile.am | 44 ++++++++++++++- - .../fonts/AdobeVFPrototype-Subset.otf | Bin 0 -> 7096 bytes - .../text-rendering-tests/fonts/FDArrayTest257.otf | Bin 0 -> 145212 - bytes - .../fonts/FDArrayTest65535.otf | Bin 0 -> 492740 - bytes - .../fonts/NotoSansBalinese-Regular.ttf | Bin 0 -> 32304 bytes - .../fonts/NotoSansKannada-Regular.ttf | Bin 0 -> 83868 bytes - .../fonts/NotoSerifKannada-Regular.ttf | Bin 0 -> 96936 bytes - .../text-rendering-tests/fonts/Selawik-README.md | 60 - +++++++++++++++++++++ - .../fonts/Selawik-variable.ttf | Bin 0 -> 481504 - bytes - .../data/text-rendering-tests/fonts/TestAVAR.ttf | Bin 0 -> 1608 bytes - .../data/text-rendering-tests/fonts/TestCMAP14.otf | Bin 0 -> 1628 bytes - .../fonts/TestCMAPMacTurkish.ttf | Bin 0 -> 19644 bytes - .../text-rendering-tests/fonts/TestCVARGVAROne.ttf | Bin 0 -> 12336 bytes - .../text-rendering-tests/fonts/TestCVARGVARTwo.ttf | Bin 0 -> 12256 bytes - .../text-rendering-tests/fonts/TestGLYFOne.ttf | Bin 0 -> 1516 bytes - .../text-rendering-tests/fonts/TestGPOSFour.ttf | Bin 0 -> 315020 - bytes - .../text-rendering-tests/fonts/TestGPOSOne.ttf | Bin 0 -> 10384 bytes - .../text-rendering-tests/fonts/TestGPOSThree.ttf | Bin 0 -> 3500 bytes - .../text-rendering-tests/fonts/TestGPOSTwo.otf | Bin 0 -> 1680 bytes - .../text-rendering-tests/fonts/TestGSUBOne.otf | Bin 0 -> 1788 bytes - .../text-rendering-tests/fonts/TestGVAREight.ttf | Bin 0 -> 4692 bytes - .../text-rendering-tests/fonts/TestGVARFour.ttf | Bin 0 -> 3204 bytes - .../text-rendering-tests/fonts/TestGVARNine.ttf | Bin 0 -> 2168 bytes - .../text-rendering-tests/fonts/TestGVAROne.ttf | Bin 0 -> 14312 bytes - .../text-rendering-tests/fonts/TestGVARThree.ttf | Bin 0 -> 14336 bytes - .../text-rendering-tests/fonts/TestGVARTwo.ttf | Bin 0 -> 15668 bytes - .../text-rendering-tests/fonts/TestHVAROne.otf | Bin 0 -> 3984 bytes - .../text-rendering-tests/fonts/TestHVARTwo.ttf | Bin 0 -> 4004 bytes - .../text-rendering-tests/fonts/TestKERNOne.otf | Bin 0 -> 1380 bytes - .../text-rendering-tests/fonts/TestMORXFour.ttf | Bin 0 -> 4764 bytes - .../text-rendering-tests/fonts/TestMORXOne.ttf | Bin 0 -> 2404 bytes - .../text-rendering-tests/fonts/TestMORXThree.ttf | Bin 0 -> 4104 bytes - .../text-rendering-tests/fonts/TestMORXTwo.ttf | Bin 0 -> 4960 bytes - .../text-rendering-tests/fonts/TestShapeAran.ttf | Bin 0 -> 116044 - bytes - .../text-rendering-tests/fonts/TestShapeEthi.ttf | Bin 0 -> 5292 bytes - .../data/text-rendering-tests/fonts/Zycon.ttf | Bin 0 -> 21036 bytes - .../data/text-rendering-tests/tests/AVAR-1.tests | 17 ++++++ - .../data/text-rendering-tests/tests/CFF-1.tests | 13 +++++ - .../data/text-rendering-tests/tests/CFF-2.tests | 13 +++++ - .../data/text-rendering-tests/tests/CFF2-1.tests | 9 ++++ - .../data/text-rendering-tests/tests/CMAP-1.tests | 4 ++ - .../data/text-rendering-tests/tests/CMAP-2.tests | 2 + - .../data/text-rendering-tests/tests/CMAP-3.tests | 20 +++++++ - .../data/text-rendering-tests/tests/CVAR-1.tests | 3 ++ - .../data/text-rendering-tests/tests/CVAR-2.tests | 3 ++ - .../data/text-rendering-tests/tests/GLYF-1.tests | 1 + - .../data/text-rendering-tests/tests/GPOS-1.tests | 19 +++++++ - .../data/text-rendering-tests/tests/GPOS-2.tests | 3 ++ - .../data/text-rendering-tests/tests/GPOS-3.tests | 4 ++ - .../data/text-rendering-tests/tests/GPOS-4.tests | 4 ++ - .../data/text-rendering-tests/tests/GPOS-5.tests | 5 ++ - .../data/text-rendering-tests/tests/GSUB-1.tests | 1 + - .../data/text-rendering-tests/tests/GSUB-2.tests | 11 ++++ - .../data/text-rendering-tests/tests/GVAR-1.tests | 9 ++++ - .../data/text-rendering-tests/tests/GVAR-2.tests | 9 ++++ - .../data/text-rendering-tests/tests/GVAR-3.tests | 9 ++++ - .../data/text-rendering-tests/tests/GVAR-4.tests | 11 ++++ - .../data/text-rendering-tests/tests/GVAR-5.tests | 11 ++++ - .../data/text-rendering-tests/tests/GVAR-6.tests | 11 ++++ - .../data/text-rendering-tests/tests/GVAR-7.tests | 7 +++ - .../data/text-rendering-tests/tests/GVAR-8.tests | 6 +++ - .../data/text-rendering-tests/tests/GVAR-9.tests | 10 ++++ - .../data/text-rendering-tests/tests/HVAR-1.tests | 6 +++ - .../data/text-rendering-tests/tests/HVAR-2.tests | 6 +++ - .../data/text-rendering-tests/tests/KERN-1.tests | 1 + - .../data/text-rendering-tests/tests/KERN-2.tests | 1 + - .../data/text-rendering-tests/tests/MORX-1.tests | 1 + - .../data/text-rendering-tests/tests/MORX-2.tests | 16 ++++++ - .../data/text-rendering-tests/tests/MORX-3.tests | 16 ++++++ - .../data/text-rendering-tests/tests/MORX-4.tests | 15 ++++++ - .../data/text-rendering-tests/tests/SHARAN-1.tests | 6 +++ - .../data/text-rendering-tests/tests/SHBALI-1.tests | 22 ++++++++ - .../data/text-rendering-tests/tests/SHBALI-2.tests | 12 +++++ - .../data/text-rendering-tests/tests/SHBALI-3.tests | 9 ++++ - .../data/text-rendering-tests/tests/SHKNDA-1.tests | 34 ++++++++++++ - .../data/text-rendering-tests/tests/SHKNDA-2.tests | 16 ++++++ - .../data/text-rendering-tests/tests/SHKNDA-3.tests | 31 +++++++++++ - 77 files changed, 510 insertions(+), 1 deletion(-) - -commit 6b19178ee35fec3b2115d6a06a86db36dc838b38 -Author: Behdad Esfahbod -Date: Wed Jan 10 03:07:30 2018 +0100 - - Prefix int types with HB - - Such a headache that Windows defines UINT8, ...; Just prefix it. - - src/hb-aat-layout-common-private.hh | 29 +++--- - src/hb-aat-layout-morx-table.hh | 65 +++++++------ - src/hb-open-file-private.hh | 6 +- - src/hb-open-type-private.hh | 70 +++++++------- - src/hb-ot-cbdt-table.hh | 78 ++++++++-------- - src/hb-ot-cmap-table.hh | 90 +++++++++--------- - src/hb-ot-glyf-table.hh | 10 +- - src/hb-ot-head-table.hh | 28 +++--- - src/hb-ot-hhea-table.hh | 18 ++-- - src/hb-ot-kern-table.hh | 36 ++++---- - src/hb-ot-layout-common-private.hh | 120 ++++++++++++------------ - src/hb-ot-layout-gdef-table.hh | 22 ++--- - src/hb-ot-layout-gpos-table.hh | 94 +++++++++---------- - src/hb-ot-layout-gsub-table.hh | 30 +++--- - src/hb-ot-layout-gsubgpos-private.hh | 172 - +++++++++++++++++------------------ - src/hb-ot-math-table.hh | 26 +++--- - src/hb-ot-maxp-table.hh | 2 +- - src/hb-ot-name-table.hh | 16 ++-- - src/hb-ot-os2-table.hh | 70 +++++++------- - src/hb-ot-post-table.hh | 16 ++-- - src/hb-ot-var-avar-table.hh | 4 +- - src/hb-ot-var-fvar-table.hh | 20 ++-- - src/hb-ot-var-hvar-table.hh | 8 +- - src/hb-ot-var-mvar-table.hh | 10 +- - 24 files changed, 517 insertions(+), 523 deletions(-) - -commit 81e321c802afcc43186737e6900f8d7e2f9d4fd3 -Author: Behdad Esfahbod -Date: Wed Jan 10 02:56:29 2018 +0100 - - [aat] Try fixing VC bots - - c:\projects\harfbuzz\src\hb-aat-layout-common-private.hh(51): - error C2872: 'UINT16': ambiguous symbol - [C:\projects\harfbuzz\build\harfbuzz.vcxproj] - C:\Program Files (x86)\Windows - Kits\10\Include\10.0.14393.0\shared\basetsd.h(80): note: could be - 'unsigned short UINT16' - c:\projects\harfbuzz\src\hb-open-type-private.hh(648): note: or - 'OT::UINT16' - - src/hb-aat-layout-common-private.hh | 3 +++ - src/hb-aat-layout-morx-table.hh | 3 +++ - 2 files changed, 6 insertions(+) - -commit 0ed69c946247feb5bbb5be06d5314c5e0c0fec67 -Author: Behdad Esfahbod -Date: Wed Jan 10 02:49:36 2018 +0100 - - Disable processing of morx table in ot shaper - - So I can merge this to master... - - src/hb-ot-shape.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 3f29ea91441b2e8c86cf379b4803f638a2e8dcfc -Author: Behdad Esfahbod -Date: Wed Jan 10 02:48:04 2018 +0100 - - [util] Add hb-shape --ned - - For not displaying extra data: no clusters, no advance. Just data - pertaining - to where glyphs end up on the screen. - - test/shaping/data/text-rendering-tests/extract-tests.py | 2 +- - util/options.cc | 13 - +++++++++++++ - 2 files changed, 14 insertions(+), 1 deletion(-) - -commit 7020130665316365c288d0960fc288faa8f5bdf7 -Author: Behdad Esfahbod -Date: Wed Jan 10 02:37:39 2018 +0100 - - [test] Minor - - test/shaping/run-tests.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5f94b4cc39f2f61b38c954ddac1aae6a052845bd -Author: Behdad Esfahbod -Date: Wed Jan 10 02:35:59 2018 +0100 - - [kern] Mark unsafe-to-break - - src/hb-ot-shape-fallback.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 71fd6325b6cba2586709022dd33530c61141bf8f -Author: Behdad Esfahbod -Date: Wed Jan 10 02:20:14 2018 +0100 - - Add option to buffer serialization to not output glyph advances - - When advances are not printed, glyph offsets reflect absolute glyph - positions. - - New API: - HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES - hb-shape --no-advances - - src/hb-buffer-serialize.cc | 38 ++++++++++++++++++++++++++++---------- - src/hb-buffer.h | 5 ++++- - util/hb-shape.cc | 2 ++ - util/options.cc | 2 ++ - util/options.hh | 2 ++ - 5 files changed, 38 insertions(+), 11 deletions(-) - -commit 316a28f8f8a9c459936ce9f2786d4d64a8f4e2c0 -Author: Behdad Esfahbod -Date: Wed Jan 10 01:54:12 2018 +0100 - - [test] Add script for extracting tests from text-rendering-tests - - Work in progress... - - https://github.com/unicode-org/text-rendering-tests - - .../data/text-rendering-tests/extract-tests.py | 45 - ++++++++++++++++++++++ - 1 file changed, 45 insertions(+) - -commit 6b4d63f295f419f55983a8fc72f582802f55b09f -Author: Behdad Esfahbod -Date: Wed Jan 10 01:13:36 2018 +0100 - - [test] Minor - - test/shaping/run-tests.py | 9 --------- - 1 file changed, 9 deletions(-) - -commit 504f913654d5904604e6abdbf7d0653f40db51fc -Author: Behdad Esfahbod -Date: Tue Jan 9 23:15:54 2018 +0100 - - [test] Simplify test runner - - Always pass hb-shape as first argument to run-tests.py. - - Also require automake 1.13. - - configure.ac | 3 +-- - test/shaping/Makefile.am | 18 ++---------------- - test/shaping/run-tests.py | 22 +++++----------------- - 3 files changed, 8 insertions(+), 35 deletions(-) - -commit 141db8b7a3abf2adbf0caa0659d9239396f6a2db -Author: Behdad Esfahbod -Date: Tue Jan 9 23:11:00 2018 +0100 - - [test] Minor - - test/shaping/Makefile.am | 4 ---- - test/shaping/run-tests.py | 4 ++-- - 2 files changed, 2 insertions(+), 6 deletions(-) - -commit 44c65eee28e2de5c54028cb0ef144f56da16ef58 -Author: Behdad Esfahbod -Date: Tue Jan 9 21:58:57 2018 +0100 - - [test] Reorganize test suite - - In anticipation of importing more test suites. - - test/fuzzing/run-fuzzer-tests.py | 2 +- - test/shaping/Makefile.am | 86 - +++++++++--------- - test/shaping/{fonts => data/in-house}/COPYING | 7 +- - .../0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf | Bin - .../051d92f8bc6ff724511b296c27623f824de256e9.ttf | Bin - .../074a5ae6b19de8f29772fdd5df2d3d833f81f5e6.ttf | Bin - .../07f054357ff8638bac3711b422a1e31180bba863.ttf | Bin - .../15dfc433a135a658b9f4b1a861b5cdd9658ccbb9.ttf | Bin - .../1735326da89f0818cd8c51a0600e9789812c0f94.ttf | Bin - .../191826b9643e3f124d865d617ae609db6a2ce203.ttf | Bin - .../1a3d8f381387dd29be1e897e4b5100ac8b4829e1.ttf | Bin - .../1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf | Bin - .../1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttf | Bin - .../1c2c3fc37b2d4c3cb2ef726c6cdaaabd4b7f3eb9.ttf | Bin - .../1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttf | Bin - .../205edd09bd3d141cc9580f650109556cc28b22cb.ttf | Bin - .../217a934cfe15c548b572c203dceb2befdf026462.ttf | Bin - .../21b7fb9c1eeae260473809fbc1fe330f66a507cd.ttf | Bin - .../226bc2deab3846f1a682085f70c67d0421014144.ttf | Bin - .../243798dd281c1c77c065958e1ff467420faa9bde.ttf | Bin - .../24b8d24d00ae86f49791b746da4c9d3f717a51a8.ttf | Bin - .../270b89df543a7e48e206a2d830c0e10e5265c630.ttf | Bin - .../298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf | Bin - .../2de1ab4907ab688c0cfc236b0bf51151db38bf2e.ttf | Bin - .../341421e629668b1a1242245d39238ca48432d35d.ttf | Bin - .../3493e92eaded2661cadde752a39f9d58b11f0326.ttf | Bin - .../3511ff5c1647150595846ac414c595cccac34f18.ttf | Bin - .../37033cc5cf37bb223d7355153016b6ccece93b28.ttf | Bin - .../373e67bf41ca264e260a9716162b71a23549e885.ttf | Bin - .../375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf | Bin - .../3cae6bfe5b57c07ba81ddbd54c02fe4f3a1e3bf6.ttf | Bin - .../3d0b77a2360aa6faa1385aaa510509ab70dfbeff.ttf | Bin - .../43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf | Bin - .../43ef465752be9af900745f72fe29cb853a1401a5.ttf | Bin - .../45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttf | Bin - .../49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttf | Bin - .../4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf | Bin - .../4fac3929fc3332834e93673780ec0fe94342d193.ttf | Bin - .../5028afb650b1bb718ed2131e872fbcce57828fff.ttf | Bin - .../53374c7ca3657be37efde7ed02ae34229a56ae1f.ttf | Bin - .../54674a3111d209fb6be0ed31745314b7a8d2c244.ttf | Bin - .../558661aa659912f4d30ecd27bd09835171a8e2b0.ttf | Bin - .../55c88ebbe938680b08f92c3de20713183e0c7481.ttf | Bin - .../56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttf | Bin - .../57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf | Bin - .../59a585a63b3df608fbeef00956c8c108deec7de6.ttf | Bin - .../5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf | Bin - .../5dfad7735c6a67085f1b90d4d497e32907db4c78.ttf | Bin - .../641bd9db850193064d17575053ae2bf8ec149ddc.ttf | Bin - .../663aef6b019dbf45ffd74089e2b5f2496ceceb18.ttf | Bin - .../6991b13ce889466be6de3f66e891de2bc0f117ee.ttf | Bin - .../6ff0fbead4462d9f229167b4e6839eceb8465058.ttf | Bin - .../706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttf | Bin - .../757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf | Bin - .../7a37dc4d5bf018456aea291cee06daf004c0221c.ttf | Bin - .../7e14e7883ed152baa158b80e207b66114c823a8b.ttf | Bin - .../8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttf | Bin - .../813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf | Bin - .../81c368a33816fb20e9f647e8f24e2180f4720263.ttf | Bin - .../8228d035fcd65d62ec9728fb34f42c63be93a5d3.ttf | Bin - .../8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf | Bin - .../82f4f3b57bb55344e72e70231380202a52af5805.ttf | Bin - .../8454d22037f892e76614e1645d066689a0200e61.ttf | Bin - .../85414f2552b654585b7a8d13dcc3e8fd9f7970a3.ttf | Bin - .../856ff9562451293cbeff6f396d4e3877c4f0a436.ttf | Bin - .../85fe0be440c64ac77699e21c2f1bd933a919167e.ttf | Bin - .../87f85d17d26f1fe9ad28d7365101958edaefb967.ttf | Bin - .../8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf | Bin - .../94a5d6fb15a27521fba9ea4aee9cb39b2d03322a.ttf | Bin - .../96490dd2ff81233b335a650e7eb660e0e7b2eeea.ttf | Bin - .../98b7887cff91f722b92a8ff800120954606354f9.ttf | Bin - .../9d8a94a67932a3ab75a596fc8b5c6d0392ca9e49.ttf | Bin - .../a014549f766436cf55b2ceb40e462038938ee899.ttf | Bin - .../a02a7f0ad42c2922cb37ad1358c9df4eb81f1bca.ttf | Bin - .../a34a7b00f22ffb5fd7eef6933b81c7e71bc2cdfb.ttf | Bin - .../a34a9191d9376bda419836effeef7e75c1386016.ttf | Bin - .../a69118c2c2ada48ff803d9149daa54c9ebdae30e.ttf | Bin - .../a6c76d1bafde4a0b1026ebcc932d2e5c6fd02442.ttf | Bin - .../a919b33197965846f21074b24e30250d67277bce.ttf | Bin - .../a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttf | Bin - .../b151cfcdaa77585d77f17a42158e0873fc8e2633.ttf | Bin - .../b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf | Bin - .../b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf | Bin - .../bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttf | Bin - .../bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf | Bin - .../bb9473d2403488714043bcfb946c9f78b86ad627.ttf | Bin - .../bbf4a308c402f0678c3e82844892a4da2ebe598f.ttf | Bin - .../bf39b0e91ef9807f15a9e283a21a14a209fd2cfc.ttf | Bin - .../bf962d3202883a820aed019d9b5c1838c2ff69c6.ttf | Bin - .../c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf | Bin - .../cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttf | Bin - .../d23d76ea0909c14972796937ba072b5a40c1e257.ttf | Bin - .../d629e7fedc0b350222d7987345fe61613fa3929a.ttf | Bin - .../d9b8bc10985f24796826c29f7ccba3d0ae11ec02.ttf | Bin - .../dd9f0c7c7c36f75a18be0cab1cddf8f3ab0f366b.ttf | Bin - .../df768b9c257e0c9c35786c47cae15c46571d56be.ttf | Bin - .../e207635780b42f898d58654b65098763e340f5c7.ttf | Bin - .../e68a88939e0f06e34d2bc911f09b70890289c8fd.ttf | Bin - .../e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf | Bin - .../ee39587d13b2afa5499cc79e45780aa79293bbd4.ttf | Bin - .../ef2511f215aa3ca847cbfffbf861793b42170875.ttf | Bin - .../ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf | Bin - .../f22416c692720a7d46fadf4af99f4c9e094f00b9.ttf | Bin - .../f443753e8ffe8e8aae606cfba158e00334b6efb1.ttf | Bin - .../f499fbc23865022234775c43503bba2e63978fe1.ttf | Bin - .../f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf | Bin - .../f9b1dd4dcb515e757789a22cb4241107746fd3d0.ttf | Bin - .../fab39d60d758cb586db5a504f218442cd1395725.ttf | Bin - .../fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttf | Bin - .../fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttf | Bin - .../ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttf | Bin - .../in-house/tests/arabic-fallback-shaping.tests | 1 + - .../data/in-house/tests/arabic-feature-order.tests | 4 + - .../data/in-house/tests/arabic-like-joining.tests | 1 + - .../data/in-house/tests/arabic-mark-order.tests | 6 ++ - test/shaping/data/in-house/tests/arabic-stch.tests | 1 + - .../data/in-house/tests/automatic-fractions.tests | 3 + - test/shaping/data/in-house/tests/cluster.tests | 2 + - test/shaping/data/in-house/tests/color-fonts.tests | 1 + - .../data/in-house/tests/context-matching.tests | 3 + - .../data/in-house/tests/cursive-positioning.tests | 4 + - .../data/in-house/tests/default-ignorables.tests | 2 + - .../data/in-house/tests/emoji-flag-tags.tests | 2 + - .../data/in-house/tests/fallback-positioning.tests | 2 + - test/shaping/data/in-house/tests/fuzzed.tests | 22 +++++ - test/shaping/data/in-house/tests/hangul-jamo.tests | 2 + - test/shaping/data/in-house/tests/hyphens.tests | 2 + - .../tests/indic-consonant-with-stacker.tests | 4 + - test/shaping/data/in-house/tests/indic-init.tests | 1 + - .../in-house/tests/indic-joiner-candrabindu.tests | 2 + - .../data/in-house/tests/indic-joiners.tests | 2 + - .../data/in-house/tests/indic-old-spec.tests | 2 + - .../data/in-house/tests/indic-pref-blocking.tests | 2 + - .../in-house/tests/indic-script-extensions.tests | 2 + - .../data/in-house/tests/indic-special-cases.tests | 3 + - .../data/in-house/tests/indic-syllable.tests | 8 ++ - .../data/in-house/tests/language-tags.tests | 12 +++ - test/shaping/data/in-house/tests/ligature-id.tests | 36 ++++++++ - .../data/in-house/tests/mark-attachment.tests | 1 + - .../data/in-house/tests/mark-filtering-sets.tests | 5 ++ - .../tests/mongolian-variation-selector.tests | 4 + - test/shaping/data/in-house/tests/simple.tests | 2 + - test/shaping/data/in-house/tests/spaces.tests | 17 ++++ - .../in-house/tests/tibetan-contractions-1.tests | 60 +++++++++++++ - .../in-house/tests/tibetan-contractions-2.tests | 53 +++++++++++ - .../data/in-house/tests/tibetan-vowels.tests | 11 +++ - test/shaping/data/in-house/tests/use-marchen.tests | 35 ++++++++ - .../shaping/data/in-house/tests/use-syllable.tests | 7 ++ - test/shaping/data/in-house/tests/use.tests | 4 + - .../data/in-house/tests/variations-rvrn.tests | 100 - +++++++++++++++++++++ - test/shaping/data/in-house/tests/vertical.tests | 3 + - .../data/in-house/tests/zero-width-marks.tests | 11 +++ - test/shaping/run-tests.py | 48 ++++------ - .../tests/misc/arabic-fallback-shaping.tests | 1 - - test/shaping/tests/misc/arabic-feature-order.tests | 4 - - test/shaping/tests/misc/arabic-like-joining.tests | 1 - - test/shaping/tests/misc/arabic-mark-order.tests | 6 -- - test/shaping/tests/misc/arabic-stch.tests | 1 - - test/shaping/tests/misc/automatic-fractions.tests | 3 - - test/shaping/tests/misc/cluster.tests | 2 - - test/shaping/tests/misc/color-fonts.tests | 1 - - test/shaping/tests/misc/context-matching.tests | 3 - - test/shaping/tests/misc/cursive-positioning.tests | 4 - - test/shaping/tests/misc/default-ignorables.tests | 2 - - test/shaping/tests/misc/emoji-flag-tags.tests | 2 - - test/shaping/tests/misc/fallback-positioning.tests | 2 - - test/shaping/tests/misc/fuzzed.tests | 22 ----- - test/shaping/tests/misc/hangul-jamo.tests | 2 - - test/shaping/tests/misc/hyphens.tests | 2 - - .../tests/misc/indic-consonant-with-stacker.tests | 4 - - test/shaping/tests/misc/indic-init.tests | 1 - - .../tests/misc/indic-joiner-candrabindu.tests | 2 - - test/shaping/tests/misc/indic-joiners.tests | 2 - - test/shaping/tests/misc/indic-old-spec.tests | 2 - - test/shaping/tests/misc/indic-pref-blocking.tests | 2 - - .../tests/misc/indic-script-extensions.tests | 2 - - test/shaping/tests/misc/indic-special-cases.tests | 3 - - test/shaping/tests/misc/indic-syllable.tests | 8 -- - test/shaping/tests/misc/language-tags.tests | 12 --- - test/shaping/tests/misc/ligature-id.tests | 36 -------- - test/shaping/tests/misc/mark-attachment.tests | 1 - - test/shaping/tests/misc/mark-filtering-sets.tests | 5 -- - .../tests/misc/mongolian-variation-selector.tests | 4 - - test/shaping/tests/misc/simple.tests | 2 - - test/shaping/tests/misc/spaces.tests | 17 ---- - .../tests/misc/tibetan-contractions-1.tests | 60 ------------- - .../tests/misc/tibetan-contractions-2.tests | 53 ----------- - test/shaping/tests/misc/tibetan-vowels.tests | 11 --- - test/shaping/tests/misc/use-marchen.tests | 35 -------- - test/shaping/tests/misc/use-syllable.tests | 7 -- - test/shaping/tests/misc/use.tests | 4 - - test/shaping/tests/misc/variations-rvrn.tests | 100 - --------------------- - test/shaping/tests/misc/vertical.tests | 3 - - test/shaping/tests/misc/zero-width-marks.tests | 11 --- - .../script-arabic/language-persian/mehran.txt | 14 +-- - .../language-urdu/crulp/ligatures/2grams.txt | 0 - .../language-urdu/crulp/ligatures/3grams.txt | 0 - .../language-urdu/crulp/ligatures/4grams.txt | 0 - .../language-urdu/crulp/ligatures/5grams.txt | 0 - .../language-urdu/crulp/ligatures/6grams.txt | 0 - .../language-urdu/crulp/ligatures/7grams.txt | 0 - .../language-urdu/crulp/ligatures/8grams.txt | 0 - .../language-urdu/crulp/ligatures/LICENSE | 0 - .../language-urdu/crulp/ligatures/README | 0 - .../language-urdu/crulp/ligatures/SOURCES | 0 - .../script-arabic/misc/diacritics/lam-alef.txt | 0 - .../misc/diacritics/language-arabic.txt | 0 - .../misc/diacritics/language-persian.txt | 0 - .../misc/diacritics/language-urdu.txt | 0 - .../misc/diacritics/ligature-components.txt | 0 - .../misc/diacritics/ligature-diacritics.txt | 0 - .../misc/diacritics/mark-skipping.txt | 0 - .../shaper-arabic/script-mongolian/misc/misc.txt | 0 - .../script-mongolian/misc/non-joining.txt | 0 - .../shaper-arabic/script-mongolian/misc/poem.txt | 0 - .../script-mongolian/misc/variation-selectors.txt | 0 - .../shaper-arabic/script-nko/misc/misc.txt | 0 - .../shaper-arabic/script-phags-pa/misc/misc.txt | 0 - .../script-syriac/misc/abbreviation-mark.txt | 11 +++ - .../shaper-arabic/script-syriac/misc/alaph.txt | 0 - .../shaper-default/script-ethiopic/misc/misc.txt | 0 - .../shaper-default/script-han/misc/cjk-compat.txt | 0 - .../script-hiragana/misc/kazuraki-liga-lines.txt | 0 - .../script-hiragana/misc/kazuraki-liga.txt | 0 - .../shaper-default/script-linear-b/misc/misc.txt | 0 - .../shaper-default/script-tifinagh/misc/misc.txt | 1 - - .../shaper-hangul/script-hangul/misc/misc.txt | 0 - .../script-hebrew/misc/diacritics.txt | 0 - .../indic/script-assamese/utrrs/LICENSE | 0 - .../indic/script-assamese/utrrs/README | 0 - .../indic/script-assamese/utrrs/SOURCES | 0 - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../IndicFontFeatureCodepoint-Consonants.txt | 0 - .../IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../IndicFontFeatureCodepoint-Reserved.txt | 0 - .../IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../indic/script-bengali/misc/misc.txt | 0 - .../indic/script-bengali/misc/reph.txt | 0 - .../indic/script-bengali/utrrs/LICENSE | 0 - .../shaper-indic/indic/script-bengali/utrrs/README | 0 - .../indic/script-bengali/utrrs/SOURCES | 0 - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../IndicFontFeatureCodepoint-Consonants.txt | 0 - .../IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../IndicFontFeatureCodepoint-Reserved.txt | 0 - .../IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../indic/script-devanagari/misc/dottedcircle.txt | 0 - .../indic/script-devanagari/misc/eyelash.txt | 0 - .../indic/script-devanagari/misc/joiners.txt | 0 - .../indic/script-devanagari/misc/misc.txt | 0 - .../script-devanagari/misc/spec-deviations.txt | 0 - .../script-devanagari/misc/tricky-reordering.txt | 0 - .../indic/script-devanagari/utrrs/LICENSE | 0 - .../indic/script-devanagari/utrrs/README | 0 - .../indic/script-devanagari/utrrs/SOURCES | 0 - ...icFontFeatureCodepoint-AdditionalConsonants.txt | 0 - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../IndicFontFeatureCodepoint-Consonants.txt | 0 - .../IndicFontFeatureCodepoint-DependentVowels.txt | 0 - ...tFeatureCodepoint-DevnagariSpecificAddition.txt | 0 - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - ...ndicFontFeatureCodepoint-GenericPunctuation.txt | 0 - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../indic/script-gujarati/utrrs/LICENSE | 0 - .../indic/script-gujarati/utrrs/README | 0 - .../indic/script-gujarati/utrrs/SOURCES | 0 - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../IndicFontFeatureCodepoint-Consonants.txt | 0 - .../IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../IndicFontFeatureCodepoint-Reserved.txt | 0 - .../IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../indic/script-gurmukhi/misc/misc.txt | 0 - .../indic/script-gurmukhi/utrrs/LICENSE | 0 - .../indic/script-gurmukhi/utrrs/README | 0 - .../indic/script-gurmukhi/utrrs/SOURCES | 0 - .../IndicFontFeatureCodepoint-Consonants.txt | 0 - .../IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - .../IndicFontFeatureCodepoint-GurmukhiSpecific.txt | 0 - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../IndicFontFeatureCodepoint-Reserved.txt | 0 - .../IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../indic/script-kannada/misc/misc.txt | 0 - .../indic/script-kannada/misc/right-matras.txt | 0 - .../indic/script-kannada/utrrs/LICENSE | 0 - .../shaper-indic/indic/script-kannada/utrrs/README | 0 - .../indic/script-kannada/utrrs/SOURCES | 0 - ...icFontFeatureCodepoint-AdditionalConsonants.txt | 0 - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../IndicFontFeatureCodepoint-Consonants.txt | 0 - .../IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../IndicFontFeatureCodepoint-Reserved.txt | 0 - .../IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../indic/script-malayalam/misc/cibu.txt | 0 - .../indic/script-malayalam/misc/dot-reph.txt | 0 - .../indic/script-malayalam/misc/misc.txt | 0 - .../indic/script-malayalam/utrrs/LICENSE | 0 - .../indic/script-malayalam/utrrs/README | 0 - .../indic/script-malayalam/utrrs/SOURCES | 0 - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../IndicFontFeatureCodepoint-Consonants.txt | 0 - .../IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../IndicFontFeatureCodepoint-Reserved.txt | 0 - .../IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../shaper-indic/indic/script-oriya/misc/bindu.txt | 0 - .../shaper-indic/indic/script-oriya/misc/misc.txt | 0 - .../shaper-indic/indic/script-oriya/utrrs/LICENSE | 0 - .../shaper-indic/indic/script-oriya/utrrs/README | 0 - .../shaper-indic/indic/script-oriya/utrrs/SOURCES | 0 - ...icFontFeatureCodepoint-AdditionalConsonants.txt | 0 - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../IndicFontFeatureCodepoint-Consonants.txt | 0 - .../IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../IndicFontFeatureCodepoint-OriyaSpecific.txt | 0 - .../IndicFontFeatureCodepoint-Reserved.txt | 0 - .../IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../indic/script-sinhala/misc/extensive.txt | 0 - .../indic/script-sinhala/misc/misc.txt | 0 - .../indic/script-sinhala/misc/reph.txt | 0 - .../indic/script-sinhala/misc/split-matras.txt | 0 - .../indic/script-sinhala/utrrs/LICENSE | 0 - .../shaper-indic/indic/script-sinhala/utrrs/README | 0 - .../indic/script-sinhala/utrrs/SOURCES | 0 - .../IndicFontFeatureCodepoint-Consonants.txt | 0 - .../IndicFontFeatureCodepoint-DependentVowels.txt | 0 - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../IndicFontFeatureCodepoint-Punctuation.txt | 0 - .../IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB-Conjunct.txt | 0 - .../gsub/IndicFontFeatureGSUB-Rakaaraansaya.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB-Repaya.txt | 0 - .../gsub/IndicFontFeatureGSUB-Special-Cases.txt | 0 - .../gsub/IndicFontFeatureGSUB-TouchingLetters.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB-Yansaya.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../shaper-indic/indic/script-tamil/misc/misc.txt | 0 - .../shaper-indic/indic/script-tamil/utrrs/LICENSE | 0 - .../shaper-indic/indic/script-tamil/utrrs/README | 0 - .../shaper-indic/indic/script-tamil/utrrs/SOURCES | 0 - .../IndicFontFeatureCodepoint-Consonants.txt | 0 - .../IndicFontFeatureCodepoint-CurrencySymbols.txt | 0 - .../IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../IndicFontFeatureCodepoint-Numerics.txt | 0 - .../IndicFontFeatureCodepoint-Reserved.txt | 0 - .../IndicFontFeatureCodepoint-Symbols.txt | 0 - .../IndicFontFeatureCodepoint-TamilSymbol.txt | 0 - .../IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../shaper-indic/indic/script-telugu/misc/misc.txt | 0 - .../shaper-indic/indic/script-telugu/utrrs/LICENSE | 0 - .../shaper-indic/indic/script-telugu/utrrs/README | 0 - .../shaper-indic/indic/script-telugu/utrrs/SOURCES | 0 - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../IndicFontFeatureCodepoint-Consonants.txt | 0 - .../IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../IndicFontFeatureCodepoint-Reserved.txt | 0 - .../IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../south-east-asian/script-javanese/misc.txt | 0 - .../south-east-asian/script-khmer/misc/misc.txt | 0 - .../script-khmer/misc/other-marks-invalid.txt | 0 - .../script-khmer/misc/other-marks.txt | 0 - .../shaper-myanmar/script-myanmar/misc/misc.txt | 0 - .../shaper-myanmar/script-myanmar/misc/otspec.txt | 1 - - .../shaper-myanmar/script-myanmar/misc/utn11.txt | 0 - .../shaper-thai/script-lao/misc/sara-am.txt | 0 - .../shaper-thai/script-thai/misc/misc.txt | 0 - .../shaper-thai/script-thai/misc/phinthu.txt | 0 - .../shaper-thai/script-thai/misc/pua-shaping.txt | 0 - .../shaper-thai/script-thai/misc/sara-am.txt | 0 - .../script-tibetan/misc/contractions.txt | 0 - .../shaper-tibetan/script-tibetan/misc/misc.txt | 0 - .../shaper-use/script-batak/misc.txt | 0 - .../shaper-use/script-buginese/misc.txt | 92 - +++++++++---------- - .../shaper-use/script-cham/misc.txt | 0 - .../shaper-use/script-kaithi/misc.txt | 0 - .../shaper-use/script-kharoshti/misc.txt | 0 - .../shaper-use/script-tai-tham/misc.txt | 0 - .../shaper-use/script-tai-tham/torture.txt | 0 - .../script-syriac/misc/abbreviation-mark.txt | 11 --- - 420 files changed, 573 insertions(+), 590 deletions(-) - -commit 9a3ad307ea91794712531dfc688700c11a1ff263 -Author: Behdad Esfahbod -Date: Tue Jan 9 21:35:21 2018 +0100 - - [test] Remove unused hb-diff-ngrams - - test/shaping/Makefile.am | 1 - - test/shaping/hb-diff-ngrams | 5 ----- - test/shaping/hb_test_tools.py | 26 -------------------------- - 3 files changed, 32 deletions(-) - -commit b6b460024d29362914c72cc5f8fbaec215db5b16 -Author: Behdad Esfahbod -Date: Tue Jan 9 21:33:38 2018 +0100 - - [test] Remove unused manifest stuff - - test/shaping/Makefile.am | 7 ------- - test/shaping/hb-manifest-read | 5 ----- - test/shaping/hb-manifest-update | 5 ----- - 3 files changed, 17 deletions(-) - -commit ebbee7c2475db789b622250addbf549695da2890 -Author: Behdad Esfahbod -Date: Tue Jan 9 18:23:19 2018 +0100 - - [test] Move test files around - - test/fuzzing/run-fuzzer-tests.py | 2 +- - test/shaping/Makefile.am | 82 - +++++++++++----------- - .../tests/{ => misc}/arabic-fallback-shaping.tests | 0 - .../tests/{ => misc}/arabic-feature-order.tests | 0 - .../tests/{ => misc}/arabic-like-joining.tests | 0 - .../tests/{ => misc}/arabic-mark-order.tests | 0 - test/shaping/tests/{ => misc}/arabic-stch.tests | 0 - .../tests/{ => misc}/automatic-fractions.tests | 0 - test/shaping/tests/{ => misc}/cluster.tests | 0 - test/shaping/tests/{ => misc}/color-fonts.tests | 0 - .../tests/{ => misc}/context-matching.tests | 0 - .../tests/{ => misc}/cursive-positioning.tests | 0 - .../tests/{ => misc}/default-ignorables.tests | 0 - .../shaping/tests/{ => misc}/emoji-flag-tags.tests | 0 - .../tests/{ => misc}/fallback-positioning.tests | 0 - test/shaping/tests/{ => misc}/fuzzed.tests | 0 - test/shaping/tests/{ => misc}/hangul-jamo.tests | 0 - test/shaping/tests/{ => misc}/hyphens.tests | 0 - .../{ => misc}/indic-consonant-with-stacker.tests | 0 - test/shaping/tests/{ => misc}/indic-init.tests | 0 - .../{ => misc}/indic-joiner-candrabindu.tests | 0 - test/shaping/tests/{ => misc}/indic-joiners.tests | 0 - test/shaping/tests/{ => misc}/indic-old-spec.tests | 0 - .../tests/{ => misc}/indic-pref-blocking.tests | 0 - .../tests/{ => misc}/indic-script-extensions.tests | 0 - .../tests/{ => misc}/indic-special-cases.tests | 0 - test/shaping/tests/{ => misc}/indic-syllable.tests | 0 - test/shaping/tests/{ => misc}/language-tags.tests | 0 - test/shaping/tests/{ => misc}/ligature-id.tests | 0 - .../shaping/tests/{ => misc}/mark-attachment.tests | 0 - .../tests/{ => misc}/mark-filtering-sets.tests | 0 - .../{ => misc}/mongolian-variation-selector.tests | 0 - test/shaping/tests/{ => misc}/simple.tests | 0 - test/shaping/tests/{ => misc}/spaces.tests | 0 - .../tests/{ => misc}/tibetan-contractions-1.tests | 0 - .../tests/{ => misc}/tibetan-contractions-2.tests | 0 - test/shaping/tests/{ => misc}/tibetan-vowels.tests | 0 - test/shaping/tests/{ => misc}/use-marchen.tests | 0 - test/shaping/tests/{ => misc}/use-syllable.tests | 0 - test/shaping/tests/{ => misc}/use.tests | 0 - .../shaping/tests/{ => misc}/variations-rvrn.tests | 0 - test/shaping/tests/{ => misc}/vertical.tests | 0 - .../tests/{ => misc}/zero-width-marks.tests | 0 - 43 files changed, 42 insertions(+), 42 deletions(-) - -commit 748b989a1fa931b011d6a4e3db39dfdc632946b2 -Author: Behdad Esfahbod -Date: Tue Jan 9 17:55:17 2018 +0100 - - [aat/morx] Implement NoncontextualSubtables - - Also makes hb-ot-shape call morx for now instead of GSUB... Just - for testing. - - src/hb-aat-layout-common-private.hh | 34 +++++++-------- - src/hb-aat-layout-morx-table.hh | 82 - ++++++++++++++++++++++++++++++++++--- - src/hb-aat-layout-private.hh | 3 ++ - src/hb-aat-layout.cc | 13 +++++- - src/hb-ot-shape.cc | 6 +++ - 5 files changed, 111 insertions(+), 27 deletions(-) - -commit 4cf3ab1d8192862f8d3c52fdcaec567735916116 -Author: Behdad Esfahbod -Date: Tue Jan 9 16:32:58 2018 +0100 - - Minor - - src/hb-ot-shape.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 470fe5b603b409bef136fdd4e9b33d2704dc77b7 -Author: Behdad Esfahbod -Date: Tue Jan 9 15:48:51 2018 +0100 - - [aat] Implement Lookup table - - Untested, but compiles. - - src/hb-aat-layout-common-private.hh | 308 - +++++++++++++++++++++++++++++++++++- - src/hb-aat-layout-morx-table.hh | 9 +- - src/hb-aat-layout.cc | 14 ++ - src/hb-face.cc | 6 +- - src/hb-open-type-private.hh | 16 +- - src/hb-ot-cbdt-table.hh | 4 +- - src/hb-ot-cmap-table.hh | 2 +- - src/hb-ot-glyf-table.hh | 6 +- - src/hb-ot-hmtx-table.hh | 8 +- - src/hb-ot-kern-table.hh | 2 +- - src/hb-ot-layout.cc | 6 +- - src/hb-ot-post-table.hh | 2 +- - src/hb-uniscribe.cc | 2 +- - 13 files changed, 355 insertions(+), 30 deletions(-) - -commit 4646a80a873fa164b9cf09128bc6b6fe2fc5cce2 -Author: Behdad Esfahbod -Date: Tue Jan 9 12:06:38 2018 +0100 - - Minor - - src/hb-ot-layout-common-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 7c7cb42d8125d7e598bfa70f93053cafe38b325a -Author: Behdad Esfahbod -Date: Mon Jan 8 14:32:55 2018 +0000 - - [aat] Update previous commits for rebase on master - - src/hb-aat-layout-common-private.hh | 14 +++++++------- - src/hb-aat-layout-morx-table.hh | 28 ++++++++++++++-------------- - src/hb-open-type-private.hh | 5 ----- - 3 files changed, 21 insertions(+), 26 deletions(-) - -commit a0175e75bc40b5496d7fd37afd434cb2000e5b9b -Author: Behdad Esfahbod -Date: Thu Aug 17 16:55:54 2017 -0700 - - [aat] Start implementing common table formats - - src/Makefile.sources | 2 + - src/hb-aat-layout-common-private.hh | 134 - ++++++++++++++++++++++++++++++++++++ - src/hb-aat-layout-morx-table.hh | 1 + - src/hb-aat-layout-private.hh | 37 ++++++++++ - src/hb-aat-layout.cc | 1 + - 5 files changed, 175 insertions(+) - -commit c71b55a223d14f8bb7fa355efc586e824b7d4d8f -Author: Behdad Esfahbod -Date: Mon Aug 14 17:24:36 2017 -0700 - - [aat] Start implementing Apple AAT morx table - - src/Makefile.sources | 2 + - src/hb-aat-layout-morx-table.hh | 275 - ++++++++++++++++++++++++++++++++++++++++ - src/hb-aat-layout.cc | 42 ++++++ - src/hb-open-type-private.hh | 5 + - src/hb-ot-layout-private.hh | 5 + - src/hb-ot-layout.cc | 2 + - 6 files changed, 331 insertions(+) - -commit 3c7aeb5c6437b26ad638ab993b724e28376d3ff8 -Author: Ebrahim Byagowi -Date: Tue Jan 9 01:39:42 2018 +0330 - - [cmake] Add autotools like feature testing (#683) - - CMakeLists.txt | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - -commit 0473d95e276ae5df722bc7d371733d8202bdbc3c -Author: Behdad Esfahbod -Date: Mon Jan 8 10:07:46 2018 +0000 - - [ft] Use FT_Done_MM_Var() if available - - configure.ac | 1 + - src/hb-ft.cc | 4 ++++ - 2 files changed, 5 insertions(+) - -commit 66d7beff96d622599e1ee8895f2aa84fe2299f1a -Author: Behdad Esfahbod -Date: Fri Jan 5 18:09:29 2018 +0000 - - [khmer] Relax! - - Apparently we don't use OT_A either. - - src/hb-ot-shape-complex-khmer-machine.rl | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit db0207baff358b20fbe9c3498275ba33f69caf87 -Author: Behdad Esfahbod -Date: Fri Jan 5 18:06:00 2018 +0000 - - [khmer] Drop another joiner - - src/hb-ot-shape-complex-khmer-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 90affe831f08fabcb2dd5ac837c7b0cfbd14e554 -Author: Behdad Esfahbod -Date: Fri Jan 5 18:04:56 2018 +0000 - - [khmer] Shuffle - - src/hb-ot-shape-complex-khmer-machine.rl | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 65795e3ca246bf65b3cb53e3fe65eca312774e3e -Author: Behdad Esfahbod -Date: Fri Jan 5 18:03:00 2018 +0000 - - [khmer] Simplify grammar some more - - Numbers down (from 38): - - KHMER: 299090 out of 299124 tests passed. 34 failed (0.0113665%) - - src/hb-ot-shape-complex-khmer-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e13ee937310a7aadd83fd266dae382da40dce4f8 -Author: Behdad Esfahbod -Date: Fri Jan 5 18:01:01 2018 +0000 - - [khmer] Clean - - src/hb-ot-shape-complex-khmer-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a71c7eb2ca9f8ba90117e1a0c4ce890f0a1640f4 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:59:43 2018 +0000 - - [khmer] Limit number of joiners - - src/hb-ot-shape-complex-khmer-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 574e42e1cf6679c8df065d6bb3e8d21bc82395c1 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:57:39 2018 +0000 - - [khmer] Relax number of consonants / matras allowed - - New numbers (down from 39): - - KHMER: 299086 out of 299124 tests passed. 38 failed (0.0127038%) - - src/hb-ot-shape-complex-khmer-machine.rl | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 80c870bcda2f421e80f5579e71fe17fe8db991b8 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:52:24 2018 +0000 - - [khmer] Allow Independent Vowels where stacked consonants are allowed - - New numbers (down from 44): - - KHMER: 299085 out of 299124 tests passed. 39 failed (0.0130381%) - - src/hb-ot-shape-complex-khmer-machine.rl | 4 ++-- - src/hb-ot-shape-complex-khmer.cc | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 9bd486c480b8fd3125ef6b6cc0442a566f669cb8 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:47:35 2018 +0000 - - [khmer] Drop some more joiners - - src/hb-ot-shape-complex-khmer-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5278265853c36400ffc284fd517cc7b7c42ed0e7 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:46:49 2018 +0000 - - [khmer] Drop some more - - src/hb-ot-shape-complex-khmer-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit efefd87f3354d0ae6f599ea30672cb0b74dfcd80 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:45:48 2018 +0000 - - [khmer] Drop some more grammar - - src/hb-ot-shape-complex-khmer-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 82e6bf8e0c27d2fd16a908eed0c73e95b1a2c0f5 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:44:18 2018 +0000 - - [khmer] Drop some more from grammar - - src/hb-ot-shape-complex-khmer-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 957e8ea8a9f981775ecde7dd1e2bf4023cf79dba -Author: Behdad Esfahbod -Date: Fri Jan 5 17:43:31 2018 +0000 - - [khmer] Drop final_halant_group - - src/hb-ot-shape-complex-khmer-machine.rl | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit bbfdbbdc5eca96e8c527147e5a78cd185b9f243d -Author: Behdad Esfahbod -Date: Fri Jan 5 17:34:26 2018 +0000 - - Minor - - src/hb-ot-shape-complex-indic-machine.rl | 1 - - src/hb-ot-shape-complex-khmer-machine.rl | 1 - - 2 files changed, 2 deletions(-) - -commit f6df2515210e9d828fc40173696b185efa5083e3 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:27:48 2018 +0000 - - [indic] Remove unused OT_VD category - - src/hb-ot-shape-complex-indic-machine.rl | 3 +-- - src/hb-ot-shape-complex-indic-private.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 2 +- - 3 files changed, 3 insertions(+), 4 deletions(-) - -commit e6618f3bdf79a51f6fb270b468b653dc9cea5b57 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:21:55 2018 +0000 - - [khmer] Shave off some more from the grammar - - src/hb-ot-shape-complex-khmer-machine.rl | 9 ++------- - src/hb-ot-shape-complex-khmer.cc | 34 - ++------------------------------ - 2 files changed, 4 insertions(+), 39 deletions(-) - -commit 014494d5c0469fe6b3112db3fdb3f2f262673ba1 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:17:02 2018 +0000 - - [khmer] Remove unused symbol clusters - - src/hb-ot-shape-complex-khmer-machine.rl | 4 ---- - 1 file changed, 4 deletions(-) - -commit bbac984b9390a66c6ae5ee931b278b607f2f2a50 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:15:31 2018 +0000 - - Minor - - src/hb-ot-shape-complex-indic-machine.rl | 1 - - src/hb-ot-shape-complex-khmer-machine.rl | 1 - - 2 files changed, 2 deletions(-) - -commit 185b68946ad67443e8725e77d724128802de5572 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:14:27 2018 +0000 - - [khmer] Remove medials from grammar - - src/hb-ot-shape-complex-khmer-machine.rl | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -commit c265dffdf6c4930e271292226d38a8e515b6b0f8 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:06:29 2018 +0000 - - [khmer] Better fix for dangling final Coeng - - This is how 1471cfee3bb2734dc44c58471362851ad27e8bd8 should have - been done. - - src/hb-ot-shape-complex-khmer-machine.rl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit e3fdf1fc2f399e6b79ea022501526a422d372e64 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:05:53 2018 +0000 - - [khmer] Remove reph/repha support from grammar - - src/hb-ot-shape-complex-khmer-machine.rl | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - -commit 0d3a274de1ff8e6a21c7c9857730e2eda402e310 -Author: Behdad Esfahbod -Date: Fri Jan 5 17:01:37 2018 +0000 - - [khmer] Remove forced_rakar from grammar - - Used by Sinhala only. - - src/hb-ot-shape-complex-khmer-machine.rl | 3 +-- - src/hb-ot-shape-complex-khmer.cc | 2 +- - 2 files changed, 2 insertions(+), 3 deletions(-) - -commit 1471cfee3bb2734dc44c58471362851ad27e8bd8 -Author: Behdad Esfahbod -Date: Fri Jan 5 16:34:20 2018 +0000 - - [khmer] Allow a dangling final Coeng after matras - - Uniscribe seems to allow that. New numbers: - - KHMER: 299080 out of 299124 tests passed. 44 failed (0.0147096%) - - src/hb-ot-shape-complex-khmer-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9eaf077ded0306d492de96b223133431f1a6d42b -Author: Behdad Esfahbod -Date: Fri Jan 5 16:28:00 2018 +0000 - - [khmer] Remove some more unused code - - src/hb-ot-shape-complex-khmer.cc | 49 - ++-------------------------------------- - 1 file changed, 2 insertions(+), 47 deletions(-) - -commit bfad6ab897a38aedc82de694ee1a17132f90b25e -Author: Behdad Esfahbod -Date: Fri Jan 5 16:13:09 2018 +0000 - - [khmer] Remove features not used by Khmer - - src/hb-ot-shape-complex-khmer.cc | 60 - ++++------------------------------------ - 1 file changed, 5 insertions(+), 55 deletions(-) - -commit 92a99ce084b19dff32d434de446144f0c4796803 -Author: Behdad Esfahbod -Date: Fri Jan 5 16:08:44 2018 +0000 - - [khmer] Remove rphf feature - - src/hb-ot-shape-complex-khmer.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 238b90e77c12674edfd2e03160b8ba2a0298b79d -Author: Behdad Esfahbod -Date: Fri Jan 5 16:06:53 2018 +0000 - - [khmer] Remove non-Khmer matra positioning code - - src/hb-ot-shape-complex-khmer.cc | 76 - +++++++--------------------------------- - 1 file changed, 12 insertions(+), 64 deletions(-) - -commit f8553c898a414298403c335f8d2ed6c588a1189f -Author: Behdad Esfahbod -Date: Fri Jan 5 16:04:02 2018 +0000 - - [khmer] Remove indic_config_t - - src/hb-ot-shape-complex-khmer.cc | 28 ---------------------------- - 1 file changed, 28 deletions(-) - -commit a119a8bce57abc440ae4c8b9a1342d428a7c9b6a -Author: Behdad Esfahbod -Date: Fri Jan 5 16:02:27 2018 +0000 - - [khmer] Remove indic_config->reph_mode - - src/hb-ot-shape-complex-khmer.cc | 9 +-------- - 1 file changed, 1 insertion(+), 8 deletions(-) - -commit c135324af107d3e33420cd0dca4d5bb12fd3f4a1 -Author: Behdad Esfahbod -Date: Fri Jan 5 16:01:17 2018 +0000 - - [khmer] Remove indic_config->reph_pos - - src/hb-ot-shape-complex-khmer.cc | 333 - ++------------------------------------- - 1 file changed, 10 insertions(+), 323 deletions(-) - -commit ffcd6c7efd21bf89b41ddbf148b05672a42ecadd -Author: Behdad Esfahbod -Date: Fri Jan 5 15:50:05 2018 +0000 - - [khmer] Remove indic_config->base_pos - - src/hb-ot-shape-complex-khmer.cc | 229 - ++------------------------------------- - 1 file changed, 7 insertions(+), 222 deletions(-) - -commit 0c91638d48d6fb86d1e30fb94c15785707395b42 -Author: Behdad Esfahbod -Date: Fri Jan 5 15:45:30 2018 +0000 - - [khmer] Remove other scripts - - src/hb-ot-shape-complex-khmer.cc | 131 - ++++++++++----------------------------- - 1 file changed, 34 insertions(+), 97 deletions(-) - -commit 4c0199c573f79be5f40e7d4f8433ef6a1c9c24b2 -Author: Behdad Esfahbod -Date: Fri Jan 5 15:43:48 2018 +0000 - - [khmer] Remove indic_config->script - - src/hb-ot-shape-complex-khmer.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 9b135d9524e51cc1e1f35479e015c746ccd8ca5f -Author: Behdad Esfahbod -Date: Fri Jan 5 15:43:11 2018 +0000 - - [khmer] Remove indic_config->virama - - src/hb-ot-shape-complex-khmer.cc | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 7eb3ac29d388432c311981b20b1aa75f47249bfc -Author: Behdad Esfahbod -Date: Fri Jan 5 15:41:31 2018 +0000 - - [khmer] Remove indic_config->has_old_spec - - src/hb-ot-shape-complex-khmer.cc | 157 - ++++++--------------------------------- - 1 file changed, 21 insertions(+), 136 deletions(-) - -commit 961ebf85f1e7d417e056c3927ee73857f6f4cde6 -Author: Behdad Esfahbod -Date: Fri Jan 5 15:36:53 2018 +0000 - - [khmer] Remove Halant from Khmer shaper - - src/hb-ot-shape-complex-indic-private.hh | 1 - - src/hb-ot-shape-complex-khmer-machine.rl | 7 +++---- - src/hb-ot-shape-complex-khmer.cc | 32 - ++++++++++++++++---------------- - 3 files changed, 19 insertions(+), 21 deletions(-) - -commit 9761f9d78214323b9ad58dd0b8ba41851c9e2d54 -Author: Behdad Esfahbod -Date: Fri Jan 5 15:33:11 2018 +0000 - - [indic] Remove more Khmer-specific stuff from Indic shaper - - No numbers changed. - - src/hb-ot-shape-complex-indic-machine.rl | 8 ++--- - src/hb-ot-shape-complex-indic.cc | 57 - ++++++++++++-------------------- - 2 files changed, 25 insertions(+), 40 deletions(-) - -commit 075895364435ee88936696bcb5457283c4bb1a29 -Author: Behdad Esfahbod -Date: Fri Jan 5 15:08:28 2018 +0000 - - [indic] Remove main Khmer stuff - - src/hb-ot-shape-complex-indic.cc | 73 - ++-------------------------------------- - 1 file changed, 2 insertions(+), 71 deletions(-) - -commit dcf4d95fea45e19fbb3b39f0211b2aa96a907473 -Author: Behdad Esfahbod -Date: Fri Jan 5 14:54:31 2018 +0000 - - [khmer] Split off Khmer shaper from Indic - - Towards fixing https://github.com/harfbuzz/harfbuzz/issues/667 - The Khmer spec is different enough from other Indic ones to require - its own grammar. - - No change in functionality. Test numbers are: - - BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%) - DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) - GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%) - GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%) - KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%) - KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%) - MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed - (0.0188871%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%) - TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - - src/Makefile.sources | 3 + - src/hb-ot-shape-complex-khmer-machine.rl | 130 +++ - src/hb-ot-shape-complex-khmer.cc | 1867 - ++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-private.hh | 5 +- - 4 files changed, 2003 insertions(+), 2 deletions(-) - -commit 1e05ea79d057fbae5f680589d4ee7d3c6a971689 -Author: Behdad Esfahbod -Date: Fri Jan 5 14:01:37 2018 +0000 - - [ot] Short-circuit base instance advance variation - - src/hb-ot-hmtx-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 54b2b93722c9f067199cd7145dfd065d5b6b2f0c -Author: Behdad Esfahbod -Date: Fri Jan 5 13:20:21 2018 +0000 - - [ot] Fix VariationStore evaluation algorithm - - Ouch! Missing coords should still be evaluated as coord=0, which - most of the time results in a factor of 0. We were skipping these, - which was equivalent to a factor of 1. - - Fixes https://github.com/harfbuzz/harfbuzz/issues/652 - - src/hb-ot-layout-common-private.hh | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit a3afdd1e080bb181ddec126b6233d52438882a13 -Author: Behdad Esfahbod -Date: Fri Jan 5 13:17:02 2018 +0000 - - Minor - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cb43bdbc2f3a16061c33596b15b29eb7f9713871 -Author: Behdad Esfahbod -Date: Fri Jan 5 13:06:25 2018 +0000 - - [ft] If there's no variations set, don't set them on hb-font - - src/hb-ft.cc | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit ed2f458b143327d07e67fdb976ead9d7ff2863f8 -Author: Behdad Esfahbod -Date: Fri Jan 5 12:55:39 2018 +0000 - - Add test font for previous commit - - .../sha1sum/21b7fb9c1eeae260473809fbc1fe330f66a507cd.ttf | Bin 0 -> - 4816 bytes - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit 127bcc6ece4da64e807f652dd84a17c6a8c5e300 -Merge: 72bec1cd 8c0d1916 -Author: Behdad Esfahbod -Date: Fri Jan 5 12:50:22 2018 +0000 - - Merge remote-tracking branch 'fdo/master' - -commit 8c0d1916a41f0fb32340ce5257de780acf598353 -Author: Behdad Esfahbod -Date: Fri Jan 5 12:46:12 2018 +0000 - - Improve CGJ skipping logic - - Previously we made CGJ unskippable. Now, if CGJ did NOT prevent - any reordering, allow skipping over it. To make this work we - had to make changes to the Arabic mark reordering algorithm - implementation to renumber moved MCM marks. See comments. - - Fixes https://github.com/harfbuzz/harfbuzz/issues/554 - - src/hb-buffer-private.hh | 1 + - src/hb-ot-layout-private.hh | 11 ++++++++- - src/hb-ot-shape-complex-arabic.cc | 37 - ++++++++++++++++++++++-------- - src/hb-ot-shape-normalize.cc | 30 +++++++++++++----------- - test/shaping/tests/arabic-mark-order.tests | 4 ++++ - 5 files changed, 58 insertions(+), 25 deletions(-) - -commit 72bec1cd09f919f3826345db4832752ec96ff5c5 -Author: Ebrahim Byagowi -Date: Fri Jan 5 12:42:20 2018 +0330 - - Improve tests (#679) - - .circleci/config.yml | 2 +- - CMakeLists.txt | 52 - +++++++++++++++++++++++++++++++++++---------- - autogen.sh | 6 ++++-- - src/Makefile.am | 3 +-- - src/check-defs.sh | 2 +- - src/check-header-guards.sh | 2 +- - src/check-libstdc++.sh | 2 +- - src/check-static-inits.sh | 2 +- - src/check-symbols.sh | 2 +- - test/fuzzing/CMakeLists.txt | 11 +++++++++- - 10 files changed, 62 insertions(+), 22 deletions(-) - -commit 293e443529d0621b9f94ea15d1425104394f6b9e -Author: Behdad Esfahbod -Date: Thu Jan 4 16:06:25 2018 +0000 - - Minor - - src/check-c-linkage-decls.sh | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 8a0952db7e521320cd4d8b67b287f7d33c21b6e0 -Author: Bruce Mitchener -Date: Thu Jan 4 18:40:10 2018 +0700 - - atomics: Favor compiler primitives over macOS APIs. (#676) - - In macOS 10.12, the `OSMemoryBarrier` and related APIs were deprecated - in favor of using `std::atomic`. On the way to supporting - `std::atomic`, - we can favor using the "Intel primitives" which are also available on - macOS. - - src/hb-atomic-private.hh | 46 - +++++++++++++++++++++++----------------------- - 1 file changed, 23 insertions(+), 23 deletions(-) - -commit 4f80078eb035054db0f6e33cf4f7345c6c85cb12 -Author: Bruce Mitchener -Date: Thu Jan 4 18:37:35 2018 +0700 - - [cmake] Colorize output when using cmake + ninja. (#674) - - Due to how ninja runs clang and gcc, it doesn't colorize the output - like make does. This forces color output in this situation. - - CMakeLists.txt | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 5ed26fc5bdfdab0ff41a8861b54395c0bbbad248 -Author: Ebrahim Byagowi -Date: Thu Jan 4 10:11:34 2018 +0330 - - [cmake] Run src/ tests (#675) - - .circleci/config.yml | 9 ++++----- - CMakeLists.txt | 35 ++++++++++++++++++++++++++++++++--- - src/Makefile.am | 1 + - src/check-defs.sh | 3 ++- - src/check-libstdc++.sh | 3 ++- - src/check-static-inits.sh | 3 ++- - src/check-symbols.sh | 3 ++- - 7 files changed, 45 insertions(+), 12 deletions(-) - -commit f8daeef4c4451084a781db3a8a04807c0f0051ef -Author: Behdad Esfahbod -Date: Wed Jan 3 14:27:34 2018 +0000 - - [use] Simplify more - - src/gen-use-table.py | 11 +------ - src/hb-ot-shape-complex-use-table.cc | 62 - +++++++++++++++++++++--------------- - 2 files changed, 38 insertions(+), 35 deletions(-) - -commit 877d15e73c24159b26bb7cc6d2f62045d445d0fc -Author: Behdad Esfahbod -Date: Wed Jan 3 14:24:44 2018 +0000 - - [use] Simplify - - Fixes https://github.com/harfbuzz/harfbuzz/pull/661 - - src/gen-use-table.py | 2 +- - src/hb-ot-shape-complex-use-table.cc | 3 +-- - 2 files changed, 2 insertions(+), 3 deletions(-) - -commit 308f419215716460479fbde482d66d1687176102 -Author: Behdad Esfahbod -Date: Wed Jan 3 14:22:07 2018 +0000 - - [use] Fix Brahmi Number Joiner 1107F - - Fixes https://github.com/harfbuzz/harfbuzz/pull/660 - - src/gen-indic-table.py | 6 +++--- - src/gen-use-table.py | 6 +++--- - src/hb-ot-shape-complex-indic-table.cc | 4 ++-- - src/hb-ot-shape-complex-use-table.cc | 6 +++--- - 4 files changed, 11 insertions(+), 11 deletions(-) - -commit 7b837e20d2b4b6cd7be0b181ac5cdfeb467bd146 -Author: Behdad Esfahbod -Date: Wed Jan 3 12:46:29 2018 +0000 - - [util] Add TODO item - - util/options.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 70807ad274be39d58a5b43e12d4585325cb314c4 -Author: Ebrahim Byagowi -Date: Tue Jan 2 23:52:12 2018 +0330 - - Fix make check issue on out-of-tree builds and test it (#672) - - .circleci/config.yml | 8 ++++---- - test/fuzzing/Makefile.am | 18 +----------------- - test/fuzzing/run-fuzzer-tests.py | 8 +++++--- - test/shaping/run-tests.py | 5 +++++ - 4 files changed, 15 insertions(+), 24 deletions(-) - -commit 85ec6d34439194a88c7dfdd8303369311e08e031 -Author: Bruce Mitchener -Date: Wed Jan 3 01:23:23 2018 +0700 - - Fix typos. - - docs/usermanual-clusters.xml | 4 ++-- - docs/usermanual-install-harfbuzz.xml | 2 +- - src/hb-font.h | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit 4f6754ac0190f04b5f27306b087827b8f2e13046 -Author: Bruce Mitchener -Date: Wed Jan 3 00:15:18 2018 +0700 - - Improve Markdown usage in BUILD.md. - - BUILD.md | 36 +++++++++++++++++++++++------------- - 1 file changed, 23 insertions(+), 13 deletions(-) - -commit 3db1d34264d9405c7356668aa3c8ed3ab103da3c -Author: Romain Ouabdelkader -Date: Thu Dec 21 14:39:34 2017 +0100 - - link with CoreFoundation when using CoreText - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4e3cf91af29ff654eca91e43c0af1c1a7171b9fa -Author: Ebrahim Byagowi -Date: Mon Jan 1 11:17:51 2018 +0330 - - [cmake] Run rest of the tests on Windows (#668) - - appveyor.yml | 6 +++--- - test/CMakeLists.txt | 5 +---- - test/fuzzing/CMakeLists.txt | 12 ++++++------ - test/fuzzing/Makefile.am | 5 +---- - test/fuzzing/run-fuzzer-tests.py | 12 +++++++++--- - test/shaping/CMakeLists.txt | 9 ++++----- - test/shaping/run-tests.py | 10 +++++++++- - 7 files changed, 33 insertions(+), 26 deletions(-) - -commit 2dbdeb14214487acd0ff011386c49263ce800813 -Author: Ebrahim Byagowi -Date: Fri Dec 29 23:13:29 2017 +0330 - - [cmake] Run fuzzing and shaping tests (#666) - - .circleci/config.yml | 2 +- - CMakeLists.txt | 59 - ++++++++++++++++++++++++---------------- - appveyor.yml | 4 +-- - test/CMakeLists.txt | 5 ++++ - test/api/CMakeLists.txt | 48 +++++++++++++------------------- - test/fuzzing/CMakeLists.txt | 9 ++++++ - test/fuzzing/Makefile.am | 18 ++++++++++++ - test/fuzzing/run-fuzzer-tests.py | 28 +++++++++++++++++++ - test/shaping/CMakeLists.txt | 11 ++++++++ - test/shaping/Makefile.am | 3 +- - test/shaping/run-tests.py | 3 +- - 11 files changed, 132 insertions(+), 58 deletions(-) - -commit 24b30faa2a285c6e4e46a18c346def2183fc2793 -Author: Ebrahim Byagowi -Date: Mon Dec 25 22:01:28 2017 +0330 - - [cmake] Use GNUInstallDirs values (#665) - - CMakeLists.txt | 170 - ++++++++++++++++++++++++++++----------------------------- - 1 file changed, 85 insertions(+), 85 deletions(-) - -commit 7d397c5d5ca684fae824a61dabf5bc422d0a516b -Author: Behdad Esfahbod -Date: Sun Dec 24 17:53:32 2017 -0500 - - Add Coverity badge - - README | 1 + - 1 file changed, 1 insertion(+) - -commit 50163976d2a5fb34e0b4c011408d581b33aaa255 -Author: Ebrahim Byagowi -Date: Mon Dec 25 01:55:48 2017 +0330 - - [cmake] Enable cmake tests on distribution and test it (#664) - - .circleci/config.yml | 3 ++- - test/Makefile.am | 6 ++++++ - test/api/Makefile.am | 1 + - 3 files changed, 9 insertions(+), 1 deletion(-) - -commit 7bfdf1a94192dd83ab55202d259703f36ed060e5 -Author: David Corbett -Date: Wed Nov 22 16:32:52 2017 -0500 - - Forbid Batak killers after vowel signs - - src/gen-use-table.py | 3 +++ - src/hb-ot-shape-complex-use-table.cc | 2 +- - .../sha1sum/59a585a63b3df608fbeef00956c8c108deec7de6.ttf | Bin 0 -> - 1164 bytes - test/shaping/tests/use-syllable.tests | 1 + - 4 files changed, 5 insertions(+), 1 deletion(-) - -commit 9890782736b9ce708c1fedd1cbb3db45cfef4c69 -Author: Ebrahim Byagowi -Date: Mon Dec 25 01:32:46 2017 +0330 - - [ci] Add -Wno-attributes to djgpp, add alpine, format (#663) - - .circleci/config.yml | 40 ++++++++++++++++++++++++++++++---------- - 1 file changed, 30 insertions(+), 10 deletions(-) - -commit 72ecaae0ad4c9f1685f7d524990e92a26fcd5611 -Author: Behdad Esfahbod -Date: Sun Dec 24 16:05:07 2017 -0500 - - [use] Allow ZWJ before/after Halant - - https://github.com/harfbuzz/harfbuzz/issues/542#issuecomment-353169729 - - src/hb-ot-shape-complex-use-machine.rl | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit bc92245b681098f0bfa712217851a5ba3dabeaf3 -Author: Behdad Esfahbod -Date: Wed Dec 20 13:19:33 2017 -0500 - - Minor - - src/main.cc | 1 - - 1 file changed, 1 deletion(-) - -commit 81dfc29d2dbc755301e702ea5427829d02abc693 -Author: Ebrahim Byagowi -Date: Thu Dec 21 20:15:37 2017 +0330 - - [ci] Add a DOS/djgpp compiler (#659) - - .circleci/config.yml | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 007a2a4317227b8fb4c764c590203c85fc3da5fd -Author: Behdad Esfahbod -Date: Wed Dec 20 12:09:00 2017 -0500 - - 1.7.4 - - NEWS | 7 +++++++ - configure.ac | 2 +- - 2 files changed, 8 insertions(+), 1 deletion(-) - -commit a9432bde7e61894056a42ea24d56fd7fd908a1ce -Author: Volker H. Simonis -Date: Tue Dec 19 11:33:25 2017 +0100 - - HarfBuzz 1.7.1 and later don't compile on AIX with xlC (#655) - - src/hb-ot-shape-complex-arabic-fallback.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2fe5f885b6f66f2665292b93e07baaae0aa46da8 -Author: Behdad Esfahbod -Date: Tue Dec 19 14:48:26 2017 -0500 - - [set] Handle nil set in add_range() / add_sorted_array() - - Fixes https://github.com/harfbuzz/harfbuzz/issues/657 - - src/hb-set-private.hh | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit b5bbb791d32467b91caf6f1bf7ccee7cb2ca8c52 -Author: Behdad Esfahbod -Date: Mon Dec 18 09:18:51 2017 -0500 - - 1.7.3 - - NEWS | 10 ++++++++++ - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit 1245395a60ab6b04fc4653c448a97bb6ffee672c -Author: Behdad Esfahbod -Date: Sun Dec 17 12:32:33 2017 -0500 - - [coretext] In hb_coretext_font_create() set ptem - - Otherwise setting the CTFont was ineffective as it would have been - recreated anyway unless font size was set to 18 CSS points. - - src/hb-coretext.cc | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -commit 493a005d9527b6075f3c1ca4b41c22d7805f975c -Author: Behdad Esfahbod -Date: Sat Dec 16 11:49:39 2017 -0500 - - [set] In add_sorted_array(), bail if data is not sorted - - src/hb-set-private.hh | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit a7bd6d7a4c53ff61d7d8286a594aaa0a0e15b1a1 -Author: Behdad Esfahbod -Date: Sat Dec 16 11:11:18 2017 -0500 - - [collect_glyphs] Bail if input data looks like garbage - - Specificaly, when a range or sorted array has unexpected order, - we take that as - font data being garbage and bail out. This fixes significant slowdown - on a bad - version of Chandas font which has a 600KB GPOS with garbage inside. - - Later on, I like to add a maximum-work counter for collect_glyphs - to protect - against malicious fonts as well. - - Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=794896 - - src/hb-ot-layout-common-private.hh | 14 +++++++------- - src/hb-set-private.hh | 4 ++-- - 2 files changed, 9 insertions(+), 9 deletions(-) - -commit 1ce7d6e215ef9d5386010bcdbbca79ef01811596 -Author: Behdad Esfahbod -Date: Sat Dec 16 11:36:16 2017 -0500 - - [set] Optimize add_array() / add_sorted_array() - - Does page lookup as needed. - - src/hb-set-private.hh | 54 - ++++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 38 insertions(+), 16 deletions(-) - -commit 71e6adf1e2d65eb905a0ba247672fe36169955ef -Author: Behdad Esfahbod -Date: Sat Dec 16 11:07:37 2017 -0500 - - [collect_glyphs] handle ClassDef better - - src/hb-ot-layout-common-private.hh | 63 - ++++++++++++++++++++++++++++++------ - src/hb-ot-layout-gdef-table.hh | 2 +- - src/hb-ot-layout-gpos-table.hh | 5 +-- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 4 files changed, 56 insertions(+), 16 deletions(-) - -commit 87cc5a65cb4b98a3a857b5846085ef0814b392a8 -Author: Behdad Esfahbod -Date: Sat Dec 16 06:18:07 2017 -0800 - - [collect_glyphs] In PairPosFornat2 do not collect classDef1 - - The coverage already covered that. - - src/hb-ot-layout-gpos-table.hh | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -commit 81f27df4d9db1bfc1dd04593cbd121397b86e9a6 -Author: Behdad Esfahbod -Date: Sat Dec 16 06:12:06 2017 -0800 - - More work towards improving collect_glyphs() against bad input - - The three "XXXXX"'s should be switched to false. Doing that - separately for ease - of bisecting... - - src/hb-ot-layout-common-private.hh | 7 +++---- - src/hb-ot-layout-gpos-table.hh | 25 ++++++++++--------------- - src/hb-ot-layout-gsub-table.hh | 35 - +++++++++++++---------------------- - src/hb-set-digest-private.hh | 6 ++++-- - src/hb-set-private.hh | 36 - ++++++++++++++++++------------------ - 5 files changed, 48 insertions(+), 61 deletions(-) - -commit 5d02572034e3dafbe87000fd0aa34b858bd95075 -Author: Behdad Esfahbod -Date: Thu Dec 14 19:33:55 2017 -0800 - - [set] Add add_sorted_array() - - Not optimized to use sortedness yet. Also start putting in place - infra - to faster reject bad data. - - A version of Chandas.ttf found on some Chrome bots has 660kb of GPOS, - mostly junk. That is causing 48 million of set->add() calls in - collect_glyphs(), which is insane. - - In the upcoming commits, I'll be speeding that up by optimizing - add_sorted_array(), while also reducing work by rejecting out-of-sort - arrays quickly and propagate the rejection. - - Part of https://bugs.chromium.org/p/chromium/issues/detail?id=794896 - - src/hb-ot-layout-common-private.hh | 51 - +++++++++++++++++++++++------------- - src/hb-ot-layout-gdef-table.hh | 2 +- - src/hb-ot-layout-gpos-table.hh | 10 +++---- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-set-digest-private.hh | 31 ++++++++++++++++++---- - src/hb-set-private.hh | 21 +++++++++++++-- - 6 files changed, 84 insertions(+), 33 deletions(-) - -commit 9d6511a7343ba150e8072e5fe91732db54a92309 -Author: Behdad Esfahbod -Date: Thu Dec 14 19:04:55 2017 -0800 - - [set] Reduce number of preallocated pages from 8 to 1 - - Now that pagesize is 8192, this feels better. - - src/hb-set-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ae2e2b068e1ab68d1f814165cb86fa38deef1f5b -Author: Behdad Esfahbod -Date: Thu Dec 14 18:15:14 2017 -0800 - - Fix partial tracing debug builds - - src/hb-debug.hh | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -commit 9daa88cd790b80a8bc7eaae2e7eec6f2f9fc60cf -Author: Behdad Esfahbod -Date: Thu Dec 14 13:37:48 2017 -0800 - - Minor - - src/hb-set-private.hh | 11 +++++++++++ - src/hb-set.cc | 6 ++---- - 2 files changed, 13 insertions(+), 4 deletions(-) - -commit f424a342233ae32bbfabbdeadf59c82420b0880b -Author: Behdad Esfahbod -Date: Thu Dec 14 13:30:38 2017 -0800 - - [set] Change pagesize from 512 bits to 8192 bits - - Fixes perf regression on some heavy fonts in Chrome's FT+HB - interaction. - - See: - https://bugs.chromium.org/p/chromium/issues/detail?id=782220 - - More work to be done: - https://bugs.chromium.org/p/chromium/issues/detail?id=794896 - - src/hb-set-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0fe62c1f333200523e10663f47a58b82e3f22154 -Author: Behdad Esfahbod -Date: Wed Dec 13 13:12:20 2017 -0800 - - [set] Add add_array() - - To be used to optimize adding a whole bunch of (sorted) items at - the same time, - as in CoverageFormat1. - - src/hb-ot-layout-common-private.hh | 4 +--- - src/hb-set-digest-private.hh | 12 ++++++++++++ - src/hb-set-private.hh | 6 ++++++ - 3 files changed, 19 insertions(+), 3 deletions(-) - -commit 20e69c950d431391f92335f8845e5d4291aca8f3 -Author: ebraminio -Date: Thu Dec 7 12:24:12 2017 +0330 - - [test] print commented line, like the original script (#649) - - test/shaping/run-tests.py | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 71ad2777c52aeb0842038881899499a49cb895f2 -Author: ebraminio -Date: Thu Dec 7 11:35:36 2017 +0330 - - [ci] Add an after distribution test runner (#648) - - .circleci/config.yml | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 5f061d27d5289c7608a6579dca668b1f5be7f4e8 -Author: ebraminio -Date: Thu Dec 7 11:22:55 2017 +0330 - - Rewrite run-tests in python (#647) - - test/shaping/Makefile.am | 4 +- - test/shaping/run-tests.py | 115 - ++++++++++++++++++++++++++++++++++++++++++++++ - test/shaping/run-tests.sh | 65 -------------------------- - 3 files changed, 117 insertions(+), 67 deletions(-) - -commit 3ce6c7bd96296a44950110e84ade76c7c1df06e4 -Author: Khaled Hosny -Date: Wed Dec 6 21:08:20 2017 +0200 - - [ci] Sort out Travis configuration - - Use a matrix to avoid a gazillion if's. - - .ci/deploy-docs.sh | 2 ++ - .ci/run-coveralls.sh | 14 +++++++++++ - .travis.yml | 69 - ++++++++++++++++++++++++++++++++-------------------- - 3 files changed, 58 insertions(+), 27 deletions(-) - -commit 5a6d2b986a02fc47fa9dcbb330e6949af8e375ff -Author: ebraminio -Date: Wed Dec 6 18:27:27 2017 +0330 - - [ci] minor improvements (#644) - - .circleci/config.yml | 3 +++ - appveyor.yml | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit 840a32e3f3ed0a85bfa84e69efaeb504d92d1aa7 -Author: Khaled Hosny -Date: Wed Dec 6 00:49:25 2017 +0200 - - Run cmake tests on CI builds - - .circleci/config.yml | 6 ++++-- - appveyor.yml | 2 +- - 2 files changed, 5 insertions(+), 3 deletions(-) - -commit c8609551485cfca6f9629c565b9dd5f02aa14f3e -Author: Khaled Hosny -Date: Wed Dec 6 00:43:28 2017 +0200 - - Add API tests to cmake build - - CMakeLists.txt | 5 +++++ - test/CMakeLists.txt | 1 + - test/api/CMakeLists.txt | 39 +++++++++++++++++++++++++++++++++++++++ - test/api/hb-test.h | 2 ++ - test/api/test-c.c | 2 ++ - 5 files changed, 49 insertions(+) - -commit f19126dd35b03f6e05a67cbc406b3ce4a3e35022 -Author: Khaled Hosny -Date: Tue Dec 5 22:52:54 2017 +0200 - - We are already inside “if HAVE_GLIB” check - - test/api/Makefile.am | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 7af48a3f37abac0aa1a1ad79c98399a9a71bd903 -Author: ebraminio -Date: Wed Dec 6 14:22:19 2017 +0330 - - [ci] Don't cache msys2 folder - - appveyor.yml | 1 - - 1 file changed, 1 deletion(-) - -commit b6f505c7164e302d2990cf056b73e918a641e976 -Author: ebraminio -Date: Wed Dec 6 13:51:04 2017 +0330 - - [ci] Enable glib and freetype on appveyor cmake (#643) - - appveyor.yml | 29 +++++++++++++++++++++-------- - 1 file changed, 21 insertions(+), 8 deletions(-) - -commit 03b7a221f701a9b003890878e730ad175c3fdd86 -Author: Behdad Esfahbod -Date: Tue Dec 5 13:12:11 2017 -0800 - - [debug] Use %p to print pointers - - Fixes https://github.com/harfbuzz/harfbuzz/issues/640 - - src/hb-debug.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 353cc6fbf09d16aad18b48a3a46ec7dd348aedc6 -Author: Ebrahim Byagowi -Date: Wed Dec 6 00:04:30 2017 +0330 - - [ci] Fix appveyor badge - - README | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0dc03ef75724376927a7d63b991508c2901fcdf9 -Author: Nathan Willis -Date: Tue Dec 5 17:43:09 2017 +0000 - - Indic: always hyphenate pre-base-reordering, for clarity. - - src/hb-ot-shape-complex-indic.cc | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit be59f3cbf4e3269ea05d5a707cdae04a32e097ce -Author: Behdad Esfahbod -Date: Tue Dec 5 09:01:28 2017 -0800 - - Silence unused-variables warning on MSVC - - Fixes https://github.com/harfbuzz/harfbuzz/issues/635 - - src/hb-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 80c1b01f054c5d65ca96a568aaf1c28ffe97215b -Author: David Corbett -Date: Tue Dec 5 08:28:42 2017 -0500 - - Allow digits in language system tags - - src/hb-ot-tag.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 85bb89a88bdfae02fb7c27c7b994f4f22723442a -Author: David Corbett -Date: Mon Dec 4 15:15:27 2017 -0500 - - Fix string matching in parse_bool - - src/hb-common.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0fd89dc61c6a26253aa9bb85e8dfd9faded11440 -Author: Olivier Blin -Date: Mon Dec 4 18:58:41 2017 +0100 - - [hb-ft] Fix build when Multiple Master font support is disabled - in freetype - - FT_Set_Var_Blend_Coordinates() is not available when "Multiple Master - font interface" is disabled in freetype's modules.cfg - - configure.ac | 1 + - src/hb-ft.cc | 2 ++ - util/helper-cairo.cc | 2 ++ - 3 files changed, 5 insertions(+) - -commit 843f7f70355f62511a5d8be3b905c853bf362629 -Author: Behdad Esfahbod -Date: Mon Dec 4 08:52:39 2017 -0800 - - 1.7.2 - - NEWS | 10 ++++++++++ - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit eeb26d21d493183f54704487754d53a127b017ae -Author: Behdad Esfahbod -Date: Sat Dec 2 15:22:04 2017 -0800 - - [set] Actually commit fixes mentioned in previous commit! - - src/hb-set-private.hh | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 20b4672754baf9751642bb37344a6ff4e224dc37 -Author: Behdad Esfahbod -Date: Sat Dec 2 15:14:26 2017 -0800 - - [set] Fix recent changes - - Ouch! - - Add tests. - - test/api/test-set.c | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -commit 0744149cdabd85d632822ff810d3994787bca4b7 -Author: Behdad Esfahbod -Date: Sat Dec 2 15:06:15 2017 -0800 - - [set] Protect against bad input in hb_set_add_range() - - src/hb-set-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d5e29303db47a1868fa9b044ca61e146f882179c -Author: Behdad Esfahbod -Date: Tue Nov 28 23:11:34 2017 -0800 - - [coretext] Add hb_coretext_font_create() - - Fixes https://github.com/harfbuzz/harfbuzz/issues/628 - - New API: - hb_coretext_font_create() - - src/hb-coretext.cc | 55 - ++++++++++++++++++++++++++++++++++-------------------- - src/hb-coretext.h | 3 +++ - 2 files changed, 38 insertions(+), 20 deletions(-) - -commit 9d0194b3a8e0c562249337fa0cf4d72e89334263 -Author: Behdad Esfahbod -Date: Fri Dec 1 13:56:06 2017 -0800 - - [set] Optimize add_range() some more - - It's as good as it gets, and seems to be on par with previous set - implementation - in my benchmark. - - Would be great if someone can double-check my bitops. - - src/hb-set-private.hh | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -commit 438c325a256f040c6be840924ed42dcbcd8a049a -Author: Behdad Esfahbod -Date: Fri Dec 1 13:34:14 2017 -0800 - - [set] Optimize add_range() - - With new set implementation, this became really costy. Optimize it. - There's more to be done, but this shaves off most of the fat. - - Part of fixing - https://bugs.chromium.org/p/chromium/issues/detail?id=782220 - - src/hb-set-private.hh | 56 - +++++++++++++++++++++++++++++++++++++-------------- - 1 file changed, 41 insertions(+), 15 deletions(-) - -commit be9e307a889e04d198042ad39949d3971232ab26 -Author: Behdad Esfahbod -Date: Fri Dec 1 12:36:26 2017 -0800 - - [ot] Ensure layout in hb_ot_layout_table_get_lookup_count() - - src/hb-ot-layout.cc | 1 + - 1 file changed, 1 insertion(+) - -commit d9066afd6bc260d2f2ad5cd5b3e8b196e944d3d8 -Author: Behdad Esfahbod -Date: Wed Nov 29 16:18:18 2017 -0800 - - Add another test for previous commit - - From https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4273 - - .../sha1sum/bbf4a308c402f0678c3e82844892a4da2ebe598f.ttf | Bin 0 -> - 204 bytes - test/shaping/tests/fuzzed.tests | 1 + - 2 files changed, 1 insertion(+) - -commit 16fba5b2158a0e093e6df32637eba5058942e299 -Author: Behdad Esfahbod -Date: Wed Nov 29 16:08:11 2017 -0800 - - [ot] Fix Extension type recurse to disallow recursing to another - Extension - - Particularly hazardous if the second layer mixes forward and backward - lookups. - - Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4336 - - src/hb-ot-layout-gsub-table.hh | 6 ++++-- - .../sha1sum/9d8a94a67932a3ab75a596fc8b5c6d0392ca9e49.ttf | Bin 0 -> - 4545 bytes - .../sha1sum/ef2511f215aa3ca847cbfffbf861793b42170875.ttf | Bin 0 -> - 1152 bytes - test/shaping/tests/fuzzed.tests | 2 ++ - 4 files changed, 6 insertions(+), 2 deletions(-) - -commit 7ab49de987b856312d7ad1d02639f7306aa0ad2f -Author: Behdad Esfahbod -Date: Wed Nov 29 14:20:09 2017 -0800 - - Try fixing Mac build with 10.12 - - Related - https://github.com/harfbuzz/harfbuzz/issues/345 - https://github.com/harfbuzz/harfbuzz/pull/629 - - .travis.yml | 1 + - 1 file changed, 1 insertion(+) - -commit d672bcf9d72bb473f5f53089c8af595c4047bc99 -Author: Behdad Esfahbod -Date: Tue Nov 28 22:20:57 2017 -0800 - - Minor - - docs/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 23ade70783a17ed6822d13e7a910544de2ef181f -Author: Behdad Esfahbod -Date: Tue Nov 21 16:36:07 2017 -0800 - - [doc] Optimize HarfBuzz.png; add HarfBuzz.svg - - SVG is unused. Just keeping it here. - - docs/HarfBuzz.png | Bin 14203 -> 8814 bytes - docs/HarfBuzz.svg | 277 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 277 insertions(+) - -commit 77efdecadddbd68bbbc0ff85ac84e24976ad4d4f -Author: Khaled Hosny -Date: Wed Nov 22 00:14:29 2017 +0200 - - Improve the docs commit message a bit - - .ci/deploy-docs.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a13c0748c59a92812469ada762d57bce3b02fe34 -Author: Ebrahim Byagowi -Date: Tue Nov 21 09:52:18 2017 +0330 - - Move gh-pages docs to harfbuzz.github.io - - .ci/deploy-docs.sh | 10 +++++----- - README | 2 ++ - docs/HarfBuzz.png | Bin 12710 -> 14203 bytes - docs/circle.yml | 3 --- - 4 files changed, 7 insertions(+), 8 deletions(-) - -commit 9f259769a61f17b47701bbad79e1865571338417 -Author: David Corbett -Date: Tue Nov 21 14:16:10 2017 -0500 - - Categorize U+A8B4 as Consonant_Medial - - src/gen-use-table.py | 3 +++ - src/hb-ot-shape-complex-use-table.cc | 2 +- - .../sha1sum/373e67bf41ca264e260a9716162b71a23549e885.ttf | Bin 0 -> - 1164 bytes - test/shaping/tests/use-syllable.tests | 1 + - 4 files changed, 5 insertions(+), 1 deletion(-) - -commit cd8c62fd41ca824c5db3c55fd1faa20318ca0bf9 -Author: ebraminio -Date: Tue Nov 21 01:07:26 2017 -0500 - - [ci] Add Oracle Developer Studio (former Sun Studio) based compiler - (#621) - - .circleci/config.yml | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -commit 8d55340593ce32e55cfbd86a17c0be8750e8fb72 -Author: Behdad Esfahbod -Date: Mon Nov 20 19:43:22 2017 -0800 - - Fix fallback positioning of double diacritic marks - - Fixes https://bugzilla.gnome.org/show_bug.cgi?id=787284 - - src/hb-ot-shape-fallback.cc | 4 ++-- - .../sha1sum/856ff9562451293cbeff6f396d4e3877c4f0a436.ttf | Bin 0 -> - 892 bytes - test/shaping/tests/fallback-positioning.tests | 1 + - 3 files changed, 3 insertions(+), 2 deletions(-) - -commit bb7cc4eada06839a3892cea5919f0c310cbaf7c3 -Author: Behdad Esfahbod -Date: Mon Nov 20 19:39:47 2017 -0800 - - Minor - - util/options.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a0ad0d5bb8260cb297ff114adca7c8d05b6128bb -Author: Behdad Esfahbod -Date: Mon Nov 20 15:07:48 2017 -0800 - - [docs] s/Harfbuzz/HarfBuzz/g - - docs/harfbuzz-docs.xml | 2 +- - ...anual-buffers-language-script-and-direction.xml | 10 +++---- - docs/usermanual-fonts-and-faces.xml | 2 +- - docs/usermanual-hello-harfbuzz.xml | 34 - +++++++++++----------- - docs/usermanual-install-harfbuzz.xml | 2 +- - docs/usermanual-what-is-harfbuzz.xml | 20 ++++++------- - 6 files changed, 35 insertions(+), 35 deletions(-) - -commit 87d74605f5f9db685bef7329f498437b4d868e6f -Author: David Corbett -Date: Mon Nov 20 13:19:34 2017 -0500 - - Categorize U+0C80 as Consonant_Placeholder - - src/hb-ot-shape-complex-indic.cc | 1 + - .../sha1sum/81c368a33816fb20e9f647e8f24e2180f4720263.ttf | Bin 0 -> - 1152 bytes - test/shaping/tests/indic-syllable.tests | 1 + - 3 files changed, 2 insertions(+) - -commit 7c6937e7c7b62602fef10ac4b2e164d0c67c932b -Author: ebraminio -Date: Mon Nov 20 14:49:22 2017 -0500 - - Move all references of old url to the new address (#622) - - .travis.yml | 2 +- - BUILD.md | 2 +- - CMakeLists.txt | 2 +- - NEWS | 20 ++++++++++---------- - README | 8 ++++---- - RELEASING.md | 2 +- - configure.ac | 2 +- - docs/HarfBuzz.png | Bin 3419 -> 12710 bytes - docs/harfbuzz-docs.xml | 2 +- - docs/usermanual-install-harfbuzz.xml | 2 +- - harfbuzz.doap | 2 +- - src/gen-use-table.py | 4 ++-- - src/hb-coretext.cc | 2 +- - src/hb-debug.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 22 +++++++++++----------- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-layout-private.hh | 8 ++++---- - src/hb-ot-shape-complex-arabic.cc | 4 ++-- - src/hb-ot-shape-complex-hebrew.cc | 2 +- - src/hb-ot-shape-complex-indic-private.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 8 ++++---- - src/hb-ot-shape-complex-use-machine.rl | 2 +- - src/hb-ot-shape.cc | 2 +- - src/hb-private.hh | 2 +- - src/hb-unicode-private.hh | 2 +- - src/sample.py | 2 +- - test/api/test-set.c | 2 +- - test/fuzzing/README | 2 +- - 28 files changed, 57 insertions(+), 57 deletions(-) - -commit baf7779d2d6e4810168a8f036bbf8f9e6493dd1a -Author: Behdad Esfahbod -Date: Tue Nov 14 21:53:48 2017 -0800 - - Limit how much recursion GSUB/GPOS does - - This only counts recursions right now. Good start. - - Hopefully... - Fixes https://github.com/behdad/harfbuzz/issues/429 - - src/Makefile.am | 5 ++++- - src/hb-buffer-private.hh | 15 +++++++++++++-- - src/hb-buffer.cc | 2 ++ - src/hb-ot-layout-gsubgpos-private.hh | 5 ++++- - src/hb-ot-shape.cc | 10 ++++++++-- - test/shaping/tests/fuzzed.tests | 2 +- - 6 files changed, 32 insertions(+), 7 deletions(-) - -commit 173dab6300d9b492f2d1c68f9e8f7817211a3462 -Author: Behdad Esfahbod -Date: Tue Nov 14 21:27:24 2017 -0800 - - Minor move - - src/hb-buffer-private.hh | 26 ++++++++++++++------------ - 1 file changed, 14 insertions(+), 12 deletions(-) - -commit c6173a392cfaa3d339c768836e8cddf3ae4adc53 -Author: Behdad Esfahbod -Date: Tue Nov 14 21:09:03 2017 -0800 - - Add Offset16 and Offset32 - - src/hb-open-type-private.hh | 5 ++++- - src/hb-ot-layout-common-private.hh | 4 ++-- - src/hb-ot-name-table.hh | 2 +- - src/hb-ot-var-fvar-table.hh | 2 +- - 4 files changed, 8 insertions(+), 5 deletions(-) - -commit 6f335ed1e52c6161fa0b0295776856fc07f7f46f -Author: Behdad Esfahbod -Date: Tue Nov 14 21:06:07 2017 -0800 - - Replace USHORT/SHORT/ULONG/etc with UINT16/INT16/UINT32/etc - - src/hb-open-file-private.hh | 6 +- - src/hb-open-type-private.hh | 67 ++++++------ - src/hb-ot-cbdt-table.hh | 78 +++++++------- - src/hb-ot-cmap-table.hh | 90 ++++++++-------- - src/hb-ot-glyf-table.hh | 10 +- - src/hb-ot-head-table.hh | 28 ++--- - src/hb-ot-hhea-table.hh | 18 ++-- - src/hb-ot-kern-table.hh | 36 +++---- - src/hb-ot-layout-common-private.hh | 118 ++++++++++---------- - src/hb-ot-layout-gdef-table.hh | 22 ++-- - src/hb-ot-layout-gpos-table.hh | 94 ++++++++-------- - src/hb-ot-layout-gsub-table.hh | 30 +++--- - src/hb-ot-layout-gsubgpos-private.hh | 172 - +++++++++++++++--------------- - src/hb-ot-math-table.hh | 26 ++--- - src/hb-ot-maxp-table.hh | 2 +- - src/hb-ot-name-table.hh | 16 +-- - src/hb-ot-os2-table.hh | 70 ++++++------ - src/hb-ot-post-table.hh | 16 +-- - src/hb-ot-shape-complex-arabic-win1256.hh | 32 +++--- - src/hb-ot-var-avar-table.hh | 4 +- - src/hb-ot-var-fvar-table.hh | 20 ++-- - src/hb-ot-var-hvar-table.hh | 8 +- - src/hb-ot-var-mvar-table.hh | 10 +- - 23 files changed, 486 insertions(+), 487 deletions(-) - -commit a130ee6df50a50f541d0e8018deea9cee8c6738a -Author: Behdad Esfahbod -Date: Tue Nov 14 20:30:03 2017 -0800 - - Remove a couple of unused consts - - src/hb-ot-hhea-table.hh | 5 ----- - src/hb-ot-layout-gsubgpos-private.hh | 3 --- - src/main.cc | 4 ++-- - 3 files changed, 2 insertions(+), 10 deletions(-) - -commit e20e47eaa1b7dd33ac63ab0eaa8f5ea1bf7775c2 -Author: Behdad Esfahbod -Date: Tue Nov 14 20:25:29 2017 -0800 - - [glyf] Try fixing undefined-behavior - - Might fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1463 - - src/hb-ot-glyf-table.hh | 17 ++++++++--------- - 1 file changed, 8 insertions(+), 9 deletions(-) - -commit 7b40876a58d331200e1d7cda1dec72578139ff9c -Author: Behdad Esfahbod -Date: Tue Nov 14 20:22:05 2017 -0800 - - [ot] Remove unneeded TODO item - - Looks like hb-ot-font is complete after all! - - CFF font names and CFF glyph metrics don't work though... - - src/hb-ot-font.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit eab4feb5e221b8219c071ea882de79405aca4e84 -Author: Behdad Esfahbod -Date: Tue Nov 14 20:16:45 2017 -0800 - - [hmtx] Use curiously recurring template pattern - - https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern - - src/hb-ot-font.cc | 11 ++++------- - src/hb-ot-hmtx-table.hh | 29 +++++++++++++++-------------- - 2 files changed, 19 insertions(+), 21 deletions(-) - -commit 977ddff1f1e0f0f71a46c60ba713d160b96f5a3c -Author: Behdad Esfahbod -Date: Tue Nov 14 20:06:19 2017 -0800 - - [ot] Move hb_ot_face_cmap_accelerator_t - - src/hb-ot-cmap-table.hh | 149 - +++++++++++++++++++++++++++++++++++++++++++++--- - src/hb-ot-font.cc | 130 +----------------------------------------- - 2 files changed, 142 insertions(+), 137 deletions(-) - -commit a7f15959b5e6e14e5241a3155c413ff70e7d1eb3 -Author: Behdad Esfahbod -Date: Tue Nov 14 20:02:24 2017 -0800 - - Shuffle - - src/hb-ot-hmtx-table.hh | 76 - ++++++++++++++++++++++++------------------------- - 1 file changed, 38 insertions(+), 38 deletions(-) - -commit a85d7ead04aff81d2f9df9110316892dbbefe1c2 -Author: Behdad Esfahbod -Date: Tue Nov 14 20:00:34 2017 -0800 - - [ot] Move hb_ot_face_metrics_accelerator_t - - src/hb-ot-font.cc | 108 - +----------------------------------------------- - src/hb-ot-hmtx-table.hh | 108 - +++++++++++++++++++++++++++++++++++++++++++++++- - 2 files changed, 109 insertions(+), 107 deletions(-) - -commit f00a94e1ec73c08d4bde1f50bff57d2dc9583ca8 -Author: Behdad Esfahbod -Date: Tue Nov 14 19:54:48 2017 -0800 - - Adjust privacy for recent changes - - src/hb-ot-cbdt-table.hh | 6 ++++-- - src/hb-ot-glyf-table.hh | 6 ++++-- - 2 files changed, 8 insertions(+), 4 deletions(-) - -commit 7e2839c438beea216c7c8a3881e88961940e67be -Author: Behdad Esfahbod -Date: Tue Nov 14 19:52:09 2017 -0800 - - [ot] Move hb_ot_face_glyf_accelerator_t - - src/hb-ot-font.cc | 75 +---------------------------------- - src/hb-ot-glyf-table.hh | 103 - +++++++++++++++++++++++++++++++++++++++++------- - 2 files changed, 90 insertions(+), 88 deletions(-) - -commit c4e18e54dc5ffecac7b327bde9f52dd0927d6a08 -Author: Behdad Esfahbod -Date: Tue Nov 14 19:47:31 2017 -0800 - - [ot] Move hb_ot_face_cbdt_accelerator_t - - src/hb-ot-cbdt-table.hh | 85 - +++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-font.cc | 87 - +------------------------------------------------ - src/hb-ot-post-table.hh | 1 + - 3 files changed, 87 insertions(+), 86 deletions(-) - -commit 9b04b0384fe746bdb1885c57e1ce73c4c6cae9e5 -Author: Behdad Esfahbod -Date: Tue Nov 14 19:31:50 2017 -0800 - - [ot] Fold hb_ot_face_post_accelerator_t - - src/hb-ot-font.cc | 35 +---------------------------------- - src/hb-ot-post-table.hh | 9 +++++++-- - 2 files changed, 8 insertions(+), 36 deletions(-) - -commit 702d86ba6b4a2e41cbee46fea18b3f8eb8986dc9 -Author: Behdad Esfahbod -Date: Tue Nov 14 19:25:38 2017 -0800 - - [ot] Fold hb_ot_face_kern_accelerator_t - - src/hb-ot-font.cc | 23 +---------------------- - src/hb-ot-kern-table.hh | 13 +++++++++---- - 2 files changed, 10 insertions(+), 26 deletions(-) - -commit 909de95a112ffe4d05ddcfed97a235763e8af068 -Author: Behdad Esfahbod -Date: Tue Nov 14 16:22:52 2017 -0800 - - Minor build fix - - src/Makefile.am | 3 +++ - 1 file changed, 3 insertions(+) - -commit b9c96b5d7cce80ef75cbdf0f0c47d1db62797c55 -Author: Behdad Esfahbod -Date: Tue Nov 14 15:56:21 2017 -0800 - - Add test for previous commit - - At some point we should run tests under valgrind... - - .../sha1sum/dd9f0c7c7c36f75a18be0cab1cddf8f3ab0f366b.ttf | Bin 0 -> - 2786 bytes - test/shaping/tests/fuzzed.tests | 3 ++- - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit e5930722d485207ca158612a2b08816337fed7e8 -Author: Behdad Esfahbod -Date: Tue Nov 14 15:47:55 2017 -0800 - - Fix invalid buffer access in OOM times - - Hopefully fully fixes - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1856 - - src/hb-ot-layout-gsubgpos-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit fcd6c338ff4968a0d7fc297da1c6d8058823aaa1 -Author: Behdad Esfahbod -Date: Tue Nov 14 14:40:21 2017 -0800 - - Fix more compiler warnings - - src/hb-debug.hh | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit 7fdf16b2ceb709b78654f99e6513fa878cd4d575 -Author: Behdad Esfahbod -Date: Tue Nov 14 14:40:11 2017 -0800 - - Fix compiler warning - - src/hb-string-array.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 87f0ad183c489ef3208cf454d43c448638316092 -Author: David Corbett -Date: Thu Nov 2 10:59:25 2017 -0400 - - Allow U+20F0 in USE clusters - - src/gen-use-table.py | 4 +++ - src/hb-ot-shape-complex-use-table.cc | 34 - +++++++++++++-------- - .../074a5ae6b19de8f29772fdd5df2d3d833f81f5e6.ttf | Bin 0 -> 2296 bytes - test/shaping/tests/use-syllable.tests | 1 + - 4 files changed, 26 insertions(+), 13 deletions(-) - -commit f93c6f8bfa228e95311d8d6d02dcc64b603c6e36 -Author: Behdad Esfahbod -Date: Tue Nov 14 11:09:19 2017 -0800 - - 1.7.1 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit 93f7c1652a05e806c2e3ac7edf498d2f4a508a3a -Author: Behdad Esfahbod -Date: Tue Nov 14 10:59:54 2017 -0800 - - Revert "[glib/ucdn/icu/ft/ot] Make returned funcs inert" - - This reverts commit 5daf3bd4494cce6b4fb074533be9e99c4d9e0edd. - - If other atexit callbacks try to destruct the objects we destruct - in atexit callbacks, bad things will happen. - - I'll come up with some other way to catch premature destruction - of HB-owned objects. - - Fixes https://github.com/behdad/harfbuzz/issues/618 - - src/hb-ft.cc | 3 --- - src/hb-glib.cc | 3 --- - src/hb-icu.cc | 3 --- - src/hb-object-private.hh | 37 ++++++------------------------------- - src/hb-ot-font.cc | 3 --- - src/hb-ucdn.cc | 3 --- - 6 files changed, 6 insertions(+), 46 deletions(-) - -commit c48475f33ab88be6664d41b039f7be7c3e56a5a7 -Author: Behdad Esfahbod -Date: Mon Nov 13 20:26:29 2017 -0800 - - Whitespace - - src/hb-open-type-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 83d68027360ff655d3b59371fb606fc9e40df4ac -Author: Behdad Esfahbod -Date: Mon Nov 13 20:25:02 2017 -0800 - - Clean up GlyphID - - After 4a27c17ea0234dfe33e62f5830d9f92c26d48d30 we do not need - the special GlyphID.cmp(hb_codepoint_t), so just make GlyphID - a typedef. - - Fixes https://github.com/behdad/harfbuzz/issues/612 - - src/hb-open-type-private.hh | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -commit 7f39f576148643b4790fd70361e328b4b4da3149 -Author: Behdad Esfahbod -Date: Mon Nov 13 15:04:13 2017 -0800 - - Implement strtod_l() on MSVC - - Patch from Jean Ghali on mailing list. - - src/hb-common.cc | 21 +++++++++++++++------ - 1 file changed, 15 insertions(+), 6 deletions(-) - -commit e5d709889200571b62a611e0f44a410591983f8a -Author: Behdad Esfahbod -Date: Mon Nov 13 09:42:37 2017 -0800 - - 1.7.0 - - NEWS | 12 ++++++++++++ - configure.ac | 2 +- - 2 files changed, 13 insertions(+), 1 deletion(-) - -commit e4da38020021a92afa4062ed676f286945070dc4 -Author: Behdad Esfahbod -Date: Fri Nov 10 17:14:27 2017 -0800 - - [coretext/uniscribe/directwrite/graphite/fallback] Update for - unsafe-to-break - - Fixes https://github.com/behdad/harfbuzz/issues/615 - - We'll see which bots I broke. - - src/hb-buffer-private.hh | 17 +++++++++++++++-- - src/hb-coretext.cc | 2 ++ - src/hb-directwrite.cc | 3 +-- - src/hb-fallback-shape.cc | 2 ++ - src/hb-graphite2.cc | 2 ++ - src/hb-uniscribe.cc | 2 ++ - 6 files changed, 24 insertions(+), 4 deletions(-) - -commit 4de03a1585cf735e3ac09847af761ff85fca5a02 -Author: Martin Hosken -Date: Fri Nov 10 13:47:38 2017 +0700 - - Fix graphite intergration reordered clusters problem - - src/hb-graphite2.cc | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit 8eed9cb11e28728a58e265fde5c13f519ccbdb4e -Author: Behdad Esfahbod -Date: Thu Nov 9 18:09:40 2017 -0800 - - [kern] Fix invalid memory access if offset is zero - - If offset is zero, we return Null() object. Wasn't prepared for that. - - Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4088 - - src/hb-ot-kern-table.hh | 9 +++++---- - .../sha1sum/243798dd281c1c77c065958e1ff467420faa9bde.ttf | Bin 0 -> - 225 bytes - test/shaping/tests/fuzzed.tests | 1 + - 3 files changed, 6 insertions(+), 4 deletions(-) - -commit b68fba4dc81ce2e7552c5d50a93013281889a65b -Author: Khaled Hosny -Date: Fri Nov 3 14:27:33 2017 +0200 - - [test] Use glyph ids instead of forcing ft funcs - - We were using ft funcs because these are CFF fonts, but we can avoid - glyph names instead and keep testing both ot and ft. - - test/shaping/tests/indic-consonant-with-stacker.tests | 8 ++++---- - test/shaping/tests/indic-script-extensions.tests | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 2fcfbcf8052bba0db7590a5f057730075fdbd5e1 -Author: Khaled Hosny -Date: Thu Nov 2 09:45:06 2017 +0200 - - [test] Fix another instance of component rounding - - See https://github.com/behdad/harfbuzz/pull/590#issuecomment-341194673 - - .../sha1sum/7ef276fc886ea502a03b9b0e5c8b547d5dc2b61c.ttf | Bin 784 -> - 0 bytes - .../sha1sum/8228d035fcd65d62ec9728fb34f42c63be93a5d3.ttf | Bin 0 -> - 784 bytes - test/shaping/tests/fallback-positioning.tests | 3 +-- - 3 files changed, 1 insertion(+), 2 deletions(-) - -commit c4f4c0a2faab0635dd2ab3078243994ad3066287 -Author: Behdad Esfahbod -Date: Wed Nov 8 17:04:31 2017 -0800 - - Fix indexing in unsafe-to-break marking for 'stch' feature - - Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=4099 - - src/hb-ot-shape-complex-arabic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 822035ce73931ccd5d2455584aad603037892498 -Author: Behdad Esfahbod -Date: Wed Nov 8 17:03:55 2017 -0800 - - [tests/arabic-stch.tests] Don't show flags - - We don't need to test the actual flag values. For unsafe-to-break, - the --verify in run-tests.sh checks what we are interested in. - - test/shaping/tests/arabic-stch.tests | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 53f0c27ddca92af1af27b6ffa9dcd0949afed664 -Author: Behdad Esfahbod -Date: Wed Nov 8 17:02:54 2017 -0800 - - Minor - - test/shaping/run-tests.sh | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit 5a9cba9744876dfc56bdc9aed805f571bd0d4b0a -Author: David Corbett -Date: Wed Nov 8 13:15:27 2017 -0500 - - Mark non-initial left matras as unsafe to break - - src/hb-ot-shape-complex-indic.cc | 14 - +++++++++----- - test/shaping/Makefile.am | 1 + - .../sha1sum/1a3d8f381387dd29be1e897e4b5100ac8b4829e1.ttf | Bin 0 -> - 1380 bytes - test/shaping/tests/indic-init.tests | 1 + - 4 files changed, 11 insertions(+), 5 deletions(-) - -commit a6150306838b168475a9aa661ad569b0405c9f91 -Author: Behdad Esfahbod -Date: Mon Nov 6 15:40:07 2017 -0500 - - [kern] Implement format-2 kern subtable - - src/hb-ot-kern-table.hh | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit 82a38d1f7a65537a4ef540af08c489512d6297ac -Author: Behdad Esfahbod -Date: Mon Nov 6 15:28:24 2017 -0500 - - [kern] Allow subtables longer than 64kb - - Apparently calibri.ttf does this: - https://github.com/fonttools/fonttools/pull/1094#discussion_r148933791 - - src/hb-ot-font.cc | 23 ++++++++++++++++++++++- - src/hb-ot-kern-table.hh | 41 +++++++++++++++++++++++++++++------------ - 2 files changed, 51 insertions(+), 13 deletions(-) - -commit 625ae08fcee747fbdc33a3a6865fb3aa425662ca -Author: Behdad Esfahbod -Date: Sat Nov 4 12:01:11 2017 -0400 - - [kern] Towards implementing format-2 - - src/hb-open-type-private.hh | 4 +-- - src/hb-ot-kern-table.hh | 69 - +++++++++++++++++++++++++++------------------ - 2 files changed, 42 insertions(+), 31 deletions(-) - -commit 74e82adaea08ced18493e3341823dbd5b6cd493e -Author: David Corbett -Date: Mon Nov 6 14:41:55 2017 -0500 - - Mark glyphs involved in 'stch' as unsafe to break - - src/hb-ot-shape-complex-arabic.cc | 1 + - test/shaping/Makefile.am | 1 + - .../sha1sum/d9b8bc10985f24796826c29f7ccba3d0ae11ec02.ttf | Bin 0 -> - 1420 bytes - test/shaping/tests/arabic-stch.tests | 1 + - 4 files changed, 3 insertions(+) - -commit 601126ad401d05b9c7fe4a34e870f1d1a1b057c8 -Author: Behdad Esfahbod -Date: Fri Nov 3 20:34:11 2017 -0400 - - [configure] Fix gobject default value in help output - - Fixes https://github.com/behdad/harfbuzz/issues/607 - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5aad81943329df199501e9473e2cc39f9d4421a1 -Author: Behdad Esfahbod -Date: Fri Nov 3 17:16:26 2017 -0400 - - Simplify tracing code when tracing is disabled - - Fixes https://github.com/behdad/harfbuzz/pull/605 - - src/hb-debug.hh | 58 - +++++++++++++++++++++++++++++------- - src/hb-ot-layout-gsubgpos-private.hh | 10 +++---- - 2 files changed, 52 insertions(+), 16 deletions(-) - -commit 40ec3bbb55b8af1668bb3d5f6232a85b15cff136 -Author: Behdad Esfahbod -Date: Fri Nov 3 16:57:30 2017 -0400 - - Consolidate debug stuff into hb-debug.hh - - Part of fixing https://github.com/behdad/harfbuzz/pull/605 - - src/Makefile.sources | 1 + - src/hb-blob.cc | 7 +- - src/hb-coretext.cc | 8 +- - src/hb-debug.hh | 383 - +++++++++++++++++++++++++++++++++++ - src/hb-directwrite.cc | 6 +- - src/hb-ft.cc | 7 +- - src/hb-object-private.hh | 8 +- - src/hb-open-type-private.hh | 21 +- - src/hb-ot-layout-common-private.hh | 8 +- - src/hb-ot-layout-gsubgpos-private.hh | 46 +---- - src/hb-ot-shape-complex-arabic.cc | 7 +- - src/hb-private.hh | 260 +----------------------- - src/hb-shape-plan.cc | 7 +- - src/hb-uniscribe.cc | 7 +- - 14 files changed, 404 insertions(+), 372 deletions(-) - -commit 384862d7ee2e27e6678844feafab69f03f77ac9a -Author: Behdad Esfahbod -Date: Fri Nov 3 16:31:47 2017 -0400 - - Remove NO_COPY() - - src/hb-ot-shape-private.hh | 4 +++- - src/hb-private.hh | 8 -------- - 2 files changed, 3 insertions(+), 9 deletions(-) - -commit 97145df2496f90e1ea4a41784f3224c60e973fd4 -Author: Unknown -Date: Fri Nov 3 09:05:00 2017 -0400 - - Trivial typos - - Found using `codespell -i 3 -w -I '../harf-whitelist.txt'` - whereas the whitelist contents were: - ``` - beng - iff - pres - ot - te - teh - ``` - - NEWS | 2 +- - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape-fallback.cc | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit 4a591a0e515f5c15c807fe648c073d249820e5ec -Author: ebraminio -Date: Thu Nov 2 09:33:12 2017 -0700 - - [ci] Add ArchLinux (#604) - - .circleci/config.yml | 13 +++++++++++-- - 1 file changed, 11 insertions(+), 2 deletions(-) - -commit d18ee5afe8b1992d234402cd71f809cd904113a5 -Author: ebraminio -Date: Thu Nov 2 07:56:25 2017 -0700 - - Copy dummy docs/circle.yml to gh-pages branch (#603) - - .ci/deploy-docs.sh | 1 + - 1 file changed, 1 insertion(+) - -commit 1955cbecc98ee88ba8a62df1d8c77a09ed5d2c75 -Author: ebraminio -Date: Thu Nov 2 04:55:46 2017 -0700 - - Add a dummy CircleCI config to gh-pages branch (#602) - - docs/circle.yml | 3 +++ - 1 file changed, 3 insertions(+) - -commit 4b3278ef8dc71ad4f744d763068d9a2e02d3d75d -Author: Behdad Esfahbod -Date: Wed Nov 1 19:41:29 2017 -0600 - - [ot] Hook up horizontal kerning to kern table - - Seems to work. Yay! - - Still to do: run kerning if GPOS doesn't have 'kern' feature. - - src/hb-ot-font.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 77acc1106e6d984ee74ec606e145f455e6e55509 -Author: Behdad Esfahbod -Date: Wed Nov 1 19:33:09 2017 -0600 - - [kern] More... - - Almost there. - - src/hb-ot-font.cc | 14 +++++++++ - src/hb-ot-kern-table.hh | 75 - ++++++++++++++++++++++++++++++++++++++++++++++++- - 2 files changed, 88 insertions(+), 1 deletion(-) - -commit 49c0f35580946c74bc64dae2d2c65c7834e46ab2 -Author: Behdad Esfahbod -Date: Wed Nov 1 18:16:07 2017 -0600 - - [kern] See if this helps with making VS bot happy - - src/hb-ot-kern-table.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 2c439210c9734cd21b08beba07d21147a6eb6d8a -Author: Behdad Esfahbod -Date: Wed Nov 1 18:13:35 2017 -0600 - - [uniscribe] Fix a couple of VS warnings - - src/hb-uniscribe.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4c43a23bf479b42d42192bab56df6075c8ae0090 -Author: Behdad Esfahbod -Date: Wed Nov 1 18:12:26 2017 -0600 - - [kern] Implement Format0 - - src/hb-ot-kern-table.hh | 51 - +++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 45 insertions(+), 6 deletions(-) - -commit ac3d937c6cb0e2c7e019aa391b02da25aa6970de -Author: Behdad Esfahbod -Date: Wed Nov 1 17:54:56 2017 -0600 - - [kern] Implement some more - - src/hb-ot-kern-table.hh | 98 - ++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 77 insertions(+), 21 deletions(-) - -commit 2a16f647ae4c5115a356ba82245c77e0d01fcebf -Author: Behdad Esfahbod -Date: Wed Nov 1 17:31:29 2017 -0600 - - [kern] Start implementing kern table - - Pushing this out early to catch bot errors since I'm using template - tricks - we were not using in HarfBuzz before. - - src/Makefile.sources | 1 + - src/hb-ot-font.cc | 1 + - src/hb-ot-kern-table.hh | 184 - ++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 186 insertions(+) - -commit 292ef2675edb2cb579210183e77ac30335318a21 -Author: ebraminio -Date: Wed Nov 1 16:24:46 2017 -0700 - - [ci] minor cleanup (#600) - - .circleci/config.yml | 4 ---- - 1 file changed, 4 deletions(-) - -commit 260246a279699d313a45583c6a61e4bab717f739 -Author: ebraminio -Date: Wed Nov 1 14:10:55 2017 -0700 - - [ci] Add Fedora builder (#598) - - .circleci/config.yml | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 0e63cbed9cceb1d0238974ddfa9bc68d25d9c616 -Author: Khaled Hosny -Date: Wed Nov 1 20:49:42 2017 +0200 - - [test] Fix difference between ft and ot font funcs - - See - https://github.com/behdad/harfbuzz/pull/590#issuecomment-341194673. - - I simply removed the composite glyph and use the referenced simple - glyph directly. - - .../sha1sum/4fac3929fc3332834e93673780ec0fe94342d193.ttf | Bin 0 -> - 804 bytes - .../sha1sum/6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttf | Bin 824 -> - 0 bytes - test/shaping/tests/cluster.tests | 2 +- - 3 files changed, 1 insertion(+), 1 deletion(-) - -commit 0b8f8dd869212ed2889cbdb79c4c4b639b8eff7a -Author: Khaled Hosny -Date: Wed Nov 1 20:33:43 2017 +0200 - - Revert "[test] We don’t care about glyph positions here" - - This reverts commit 70137e2b4b46918d9608f824a4b4b5cef2819158. - - test/shaping/tests/cluster.tests | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f1245013bf7e9d490b43d9b8bebd467b2c1d14cc -Author: Khaled Hosny -Date: Wed Nov 1 12:06:59 2017 +0200 - - [test] Run shaping tests with both ot and ft funcs - - test/shaping/run-tests.sh | 21 ++++++++++++++++----- - 1 file changed, 16 insertions(+), 5 deletions(-) - -commit 70137e2b4b46918d9608f824a4b4b5cef2819158 -Author: Khaled Hosny -Date: Wed Nov 1 12:03:39 2017 +0200 - - [test] We don’t care about glyph positions here - - Freetype and OT font functions give different positions for some - glyphs - in this font (OT seems to be correct), but that is not what we are - interested in in this test. - - See - https://github.com/behdad/harfbuzz/pull/590#issuecomment-341045223. - - test/shaping/tests/cluster.tests | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 9234b364b178d44a11148d5c613169731667a2ae -Author: Khaled Hosny -Date: Wed Nov 1 10:34:36 2017 +0200 - - [test] Use ft functions for this test - - https://github.com/behdad/harfbuzz/pull/590#issuecomment-340967271 - - test/shaping/tests/vertical.tests | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit afbfb9279cbebcd0a85ab2fcc822a3fdbb035272 -Author: Khaled Hosny -Date: Mon Oct 30 22:02:50 2017 +0200 - - [test] Always use ft font funcs for these tests - - These are CFF fonts and ot functions don’t support CFF glyph - names yet. - The next commit will run all tests with ot functions. - - test/shaping/tests/indic-consonant-with-stacker.tests | 8 ++++---- - test/shaping/tests/indic-script-extensions.tests | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 33e62636f739680ffbc1875391f05e80039a3259 -Author: ebraminio -Date: Wed Nov 1 03:05:46 2017 -0700 - - [ci] Add FreeBSD9 (gcc4) (#595) - - .circleci/config.yml | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -commit 102f5ead493ad2eac6c11c3fc8f2e793d3d57058 -Author: ebraminio -Date: Wed Nov 1 02:10:18 2017 -0700 - - Enable PSVita (arm-none-eabi) compile again and add it to CI (#594) - - .circleci/config.yml | 17 ++++++++++++++--- - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 4 ++-- - src/hb-open-file-private.hh | 2 +- - 4 files changed, 18 insertions(+), 7 deletions(-) - -commit 65d4e5bcda543c17e09867418365ba44b441d5d6 -Author: Behdad Esfahbod -Date: Wed Nov 1 01:15:27 2017 -0600 - - [CircleCI] Ignore gh-pages branch - - https://github.com/behdad/harfbuzz/pull/592 - - .circleci/config.yml | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 92bb5086424d7454d666732e39117a7d32490646 -Author: Behdad Esfahbod -Date: Tue Oct 31 22:58:03 2017 -0600 - - [indic] Use mutable for virama_glyph - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 6c04dcb28dcafc7d97799c80c0bc714c76d51d1c -Author: Behdad Esfahbod -Date: Tue Oct 31 20:11:00 2017 -0600 - - Use bsearch() for large SFNT table directories - - src/hb-open-file-private.hh | 21 +++++++++------------ - 1 file changed, 9 insertions(+), 12 deletions(-) - -commit b0e33da02d062200dd41e4503ecc21fb4bd636e6 -Author: Behdad Esfahbod -Date: Tue Oct 31 20:05:37 2017 -0600 - - Add BinSearchArrayOf<> - - src/hb-open-file-private.hh | 25 +++++++++++-------------- - src/hb-open-type-private.hh | 33 ++++++++++++++++++++++++++++++++- - src/hb-ot-font.cc | 2 +- - 3 files changed, 44 insertions(+), 16 deletions(-) - -commit aca378f51ecf682ea1454071f671bbc7eef808bd -Author: Behdad Esfahbod -Date: Tue Oct 31 18:11:10 2017 -0600 - - Sanitize (Headless)ArrayOf()::len to ensure it doesn't use offsets - - src/hb-open-type-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 5f047113142349ecf0dd6d00384f7ef7b3d1a85e -Author: Behdad Esfahbod -Date: Tue Oct 31 18:10:40 2017 -0600 - - Fix HeadlessArrayOf::sanitize_shallow() - - src/hb-open-type-private.hh | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -commit 7ce9f397d1e5fe68c49375ad904d4fce2c7ccc0a -Author: Behdad Esfahbod -Date: Tue Oct 31 15:34:01 2017 -0600 - - Rename hb-sort-r.hh -> hb-dsalgs.hh - - src/Makefile.sources | 2 +- - src/{hb-sort-r.hh => hb-dsalgs.hh} | 14 +++++++------- - src/hb-ot-post-table.hh | 2 +- - 3 files changed, 9 insertions(+), 9 deletions(-) - -commit 8eaff980fc6d15856fa853479454b58668809c7a -Author: Behdad Esfahbod -Date: Tue Oct 31 15:30:06 2017 -0600 - - Remove HB_TAG_CHAR4 - - src/hb-common.cc | 2 +- - src/hb-ot-tag.cc | 2 +- - src/hb-private.hh | 5 ----- - 3 files changed, 2 insertions(+), 7 deletions(-) - -commit d016c5bdb94704e726b104c318262b47c6a4b7c8 -Author: David Corbett -Date: Fri Oct 27 12:14:00 2017 -0400 - - Categorize Grantha candrabindu for use in Tamil - - src/hb-ot-shape-complex-indic.cc | 2 +- - .../sha1sum/b151cfcdaa77585d77f17a42158e0873fc8e2633.ttf | Bin 0 -> - 1120 bytes - test/shaping/tests/indic-script-extensions.tests | 1 + - 3 files changed, 2 insertions(+), 1 deletion(-) - -commit b902605133ef4a411afdaa8abda194e81facf525 -Author: Behdad Esfahbod -Date: Tue Oct 31 14:25:46 2017 -0600 - - [CircleCI] Fix build - - Fixes https://github.com/behdad/harfbuzz/issues/589 - - .circleci/config.yml | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 0f78d78aae604cb8e61bd21785adb915da74626e -Merge: b7982c9e 0feff4ba -Author: Behdad Esfahbod -Date: Tue Oct 31 14:13:31 2017 -0600 - - Merge commit '0feff4ba7b16501341c575e06b4c98a6e1bd2809' - -commit 0feff4ba7b16501341c575e06b4c98a6e1bd2809 -Author: Behdad Esfahbod -Date: Tue Oct 31 14:02:32 2017 -0600 - - Simplify hb-sort-r.hh - - See https://github.com/behdad/harfbuzz/pull/592 - - src/hb-sort-r.hh | 147 - ++++++------------------------------------------------- - 1 file changed, 14 insertions(+), 133 deletions(-) - -commit b7982c9e65e0b58616cc8264dd52cac37753ef79 -Author: ebraminio -Date: Tue Oct 31 12:42:08 2017 -0700 - - [ci] Add CircleCI for cross-compiling (#592) - - .circleci/config.yml | 61 - ++++++++++++++++++++++++++++++++++++++++++++++++++++ - README | 1 + - 2 files changed, 62 insertions(+) - -commit c290ba5b7d4e9e4a5f02340a22e6c9c46564906b -Author: Behdad Esfahbod -Date: Tue Oct 31 13:18:21 2017 -0600 - - Define _GNU_SOURCE - - Might help with https://github.com/behdad/harfbuzz/pull/592 - Ie. bringing in qsort_r() prototype always. - - src/hb-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 98acdde3c6bd0745c3cbfb510e82fbd87ebd1a33 -Author: Behdad Esfahbod -Date: Tue Oct 31 11:17:43 2017 -0600 - - [coretext/uniscribe] Fix build - - https://travis-ci.org/behdad/harfbuzz/jobs/295039536#L3468 - https://ci.appveyor.com/project/behdad/harfbuzz/build/1.0.697/job/dr1ujlntxafeqbej#L142 - - src/hb-coretext.cc | 8 ++++++-- - src/hb-uniscribe.cc | 8 ++++++-- - 2 files changed, 12 insertions(+), 4 deletions(-) - -commit ec86cc5e552e9e8d64101feb1f540a9dc94a9025 -Author: Behdad Esfahbod -Date: Mon Oct 30 14:11:59 2017 -0600 - - Fix Windows build - - (And prevent it from happening in the future.) - - src/hb-ot-layout.cc | 1 + - src/hb-ot-name-table.hh | 4 +++- - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit e35a763c07b60da6e5fbdb6edd9d25f575cd3d8b -Author: Behdad Esfahbod -Date: Mon Oct 30 13:15:05 2017 -0600 - - [post] Implement glyph_from_name() - - This concludes https://github.com/behdad/harfbuzz/pull/568 - - src/hb-ot-post-table.hh | 119 - ++++++++++++++++++++++++++++++++++++------------ - src/hb-private.hh | 10 ++-- - src/hb-sort-r.hh | 2 +- - 3 files changed, 96 insertions(+), 35 deletions(-) - -commit 6c738f353ec4ab5974414fbb8ff1fb9383c4bde6 -Author: Behdad Esfahbod -Date: Mon Oct 30 12:21:44 2017 -0600 - - Make string-array return hb_string_t - - src/hb-ot-post-table.hh | 17 ++--------------- - src/hb-string-array.hh | 11 +++++++++-- - 2 files changed, 11 insertions(+), 17 deletions(-) - -commit e1a37f3db4f2364e98ff057209a94aa9b23e5c9d -Author: Behdad Esfahbod -Date: Mon Oct 30 11:42:28 2017 -0600 - - Add hb_string_t - - src/hb-ot-post-table.hh | 25 ++++++++----------------- - src/hb-private.hh | 27 +++++++++++++++++++++++++++ - 2 files changed, 35 insertions(+), 17 deletions(-) - -commit 21ac5678583259e673d961a26fadaad2bf33f1f8 -Author: Behdad Esfahbod -Date: Mon Oct 30 09:48:09 2017 -0600 - - Fix tests - - src/check-includes.sh | 2 +- - src/hb-sort-r.hh | 32 ++++++++++++++++++++++++++++++-- - 2 files changed, 31 insertions(+), 3 deletions(-) - -commit 0f8b5aa1bc2c831044a35fc8e52df58652cec86b -Author: Behdad Esfahbod -Date: Mon Oct 30 09:46:36 2017 -0600 - - [post] Minor; towards implementing get_glyph_from_name() - - src/hb-ot-post-table.hh | 56 - +++++++++++++++++++++++++++---------------------- - 1 file changed, 31 insertions(+), 25 deletions(-) - -commit 977679f229a10868dc668294082bd82125e4fe48 -Author: Behdad Esfahbod -Date: Sun Oct 29 17:33:32 2017 -0600 - - Add hb_bsearch_r() - - src/hb-ot-post-table.hh | 1 + - src/hb-sort-r.hh | 25 +++++++++++++++++++++++++ - 2 files changed, 26 insertions(+) - -commit 0712e915b4814e350aa1d833c1dee5010cdbd8f9 -Author: Behdad Esfahbod -Date: Sun Oct 29 17:01:47 2017 -0600 - - Remove hb_compare_func_t - - src/hb-ot-map-private.hh | 18 +++++++++++++----- - src/hb-ot-name-table.hh | 2 +- - src/hb-ot-tag.cc | 8 +++++--- - src/hb-ot-var-mvar-table.hh | 10 +++++++--- - src/hb-private.hh | 9 ++------- - 5 files changed, 28 insertions(+), 19 deletions(-) - -commit 538da7496d70c86b41070ecf52592e52920d8808 -Author: Behdad Esfahbod -Date: Sun Oct 29 16:38:58 2017 -0600 - - Add hb-sort-r, a portable qsort_r() replacement - - src/Makefile.sources | 1 + - src/hb-sort-r.hh | 227 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 228 insertions(+) - -commit 923a8f520addba095384b975ba8934e5a18fb696 -Author: Behdad Esfahbod -Date: Sun Oct 29 15:00:54 2017 -0600 - - Fix up 5de83fab947e23cc729d69f8d44a28311298af9d - - src/hb-ot-post-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b98c7c3f1fc8581ce9a0f40ae25aee5e1b2b3106 -Author: Behdad Esfahbod -Date: Sun Oct 29 14:52:52 2017 -0600 - - [post] Minor - - src/hb-ot-post-table.hh | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -commit 5de83fab947e23cc729d69f8d44a28311298af9d -Author: Behdad Esfahbod -Date: Sat Oct 28 19:54:04 2017 -0600 - - [ot] Speed up get_glyph_name() - - get_glyph_from_name() coming soon. - - src/hb-ot-font.cc | 13 ++-- - src/hb-ot-post-table.hh | 160 - +++++++++++++++++++------------------------ - src/test-buffer-serialize.cc | 4 +- - 3 files changed, 81 insertions(+), 96 deletions(-) - -commit feadee079e09e43e5f712a66816605e19155594e -Author: Behdad Esfahbod -Date: Sat Oct 28 16:58:56 2017 -0600 - - [post] Refactor a bit, use our data types - - src/hb-ot-post-table.hh | 25 ++++++++++--------------- - 1 file changed, 10 insertions(+), 15 deletions(-) - -commit 5014c60afaab51a7a4813cf427a3d6053458279b -Author: Behdad Esfahbod -Date: Sat Oct 28 12:00:49 2017 -0600 - - More nullptr fix - - Fixes https://github.com/behdad/harfbuzz/issues/585 - - src/test.cc | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 5daf3bd4494cce6b4fb074533be9e99c4d9e0edd -Author: Behdad Esfahbod -Date: Fri Oct 27 16:34:01 2017 -0600 - - [glib/ucdn/icu/ft/ot] Make returned funcs inert - - Such that client cannot accidentally destroy them, even though that - will be a bug in their code... - - src/hb-ft.cc | 3 +++ - src/hb-glib.cc | 3 +++ - src/hb-icu.cc | 3 +++ - src/hb-object-private.hh | 37 +++++++++++++++++++++++++++++++------ - src/hb-ot-font.cc | 3 +++ - src/hb-ucdn.cc | 3 +++ - 6 files changed, 46 insertions(+), 6 deletions(-) - -commit bfa7f37a73508ca185cf2f3e06755db8c8258ddf -Author: Behdad Esfahbod -Date: Fri Oct 27 16:03:51 2017 -0600 - - Fix previous commit - - Oops. - - src/hb-glib.cc | 2 +- - src/hb-icu.cc | 2 +- - src/hb-ucdn.cc | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit 8864864b624590d95ae5dca61956695cbff1269a -Author: Behdad Esfahbod -Date: Fri Oct 27 15:26:45 2017 -0600 - - [glib/icu/ucdn] Make the funcs object allocated on demand - - src/hb-glib.cc | 36 +++++++++++++++++++++++++++++------- - src/hb-icu.cc | 51 +++++++++++++++++++++++++++++++++++++-------------- - src/hb-ucdn.cc | 37 +++++++++++++++++++++++++++++-------- - 3 files changed, 95 insertions(+), 29 deletions(-) - -commit af3f72f9eb7d7b80ea827976a3303390b5deae8d -Author: Behdad Esfahbod -Date: Fri Oct 27 15:13:50 2017 -0600 - - Correctly mark NullPool const - - Saves some more code size as well! - - src/hb-open-type-private.hh | 2 +- - src/hb-ot-layout.cc | 2 +- - src/main.cc | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit 51f4d4d5cd5a0dd1a581bee5b55b3cc0a74cbea3 -Author: Behdad Esfahbod -Date: Fri Oct 27 15:09:22 2017 -0600 - - Reduce prealloced number of user-data items from 2 to 1 - - Even 1 is too many but putting 0 breaks compile. Saves 3k in .so - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3205de7906abab9d12e614e86e2c182a41420698 -Author: Behdad Esfahbod -Date: Fri Oct 27 15:01:40 2017 -0600 - - Make the NullPool HB_INTERNAL shared - - Saves 2k of .bss section. - - src/hb-open-type-private.hh | 10 ++++++---- - src/hb-ot-layout.cc | 3 +++ - src/main.cc | 1 + - 3 files changed, 10 insertions(+), 4 deletions(-) - -commit 7036f1d22c4001b79d3205c16aac3fefbfcaae24 -Author: Behdad Esfahbod -Date: Fri Oct 27 14:42:59 2017 -0600 - - [ot] Remove shaper name - - In ten years we never used them... - - src/hb-ot-shape-complex-arabic.cc | 1 - - src/hb-ot-shape-complex-default.cc | 1 - - src/hb-ot-shape-complex-hangul.cc | 1 - - src/hb-ot-shape-complex-hebrew.cc | 1 - - src/hb-ot-shape-complex-indic.cc | 1 - - src/hb-ot-shape-complex-myanmar.cc | 2 -- - src/hb-ot-shape-complex-private.hh | 2 -- - src/hb-ot-shape-complex-thai.cc | 1 - - src/hb-ot-shape-complex-tibetan.cc | 1 - - src/hb-ot-shape-complex-use.cc | 1 - - 10 files changed, 12 deletions(-) - -commit 4a27c17ea0234dfe33e62f5830d9f92c26d48d30 -Author: Behdad Esfahbod -Date: Fri Oct 27 14:29:12 2017 -0600 - - Fix IntType.cmp() to avoid narrowing down integer types - - Fixes https://github.com/behdad/harfbuzz/issues/571 - - src/hb-open-type-private.hh | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 919b4b76a7b1f9dd7c71310a729982242f9060a5 -Author: Behdad Esfahbod -Date: Fri Oct 27 10:29:25 2017 -0600 - - Make c++11 optional - - Fixes https://github.com/behdad/harfbuzz/issues/585 - - configure.ac | 4 +- - m4/ax_cxx_compile_stdcxx.m4 | 982 - ++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 983 insertions(+), 3 deletions(-) - -commit 6c4689704071a76c49be819b8034feaf93e26a42 -Author: Behdad Esfahbod -Date: Fri Oct 27 10:24:58 2017 -0600 - - [m4] Update ax_pthread.m4 - - m4/ax_pthread.m4 | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 2e025507634e54a64fa5d0cbfefc4b65177c06c5 -Author: Behdad Esfahbod -Date: Fri Oct 27 10:23:01 2017 -0600 - - [git.mk] Update - - git.mk | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 55 insertions(+), 2 deletions(-) - -commit 62e312ead808cec055049592b0d40aa3a8882bc9 -Author: Behdad Esfahbod -Date: Fri Oct 27 09:29:20 2017 -0600 - - Use NULL instead of polyfill, if nullptr is not available - - Part of fixing https://github.com/behdad/harfbuzz/issues/585 - - src/hb-private.hh | 22 +++------------------- - 1 file changed, 3 insertions(+), 19 deletions(-) - -commit 17f40b7cad240eadeccdf23eb11da7ed52252ca2 -Author: Behdad Esfahbod -Date: Fri Oct 27 09:22:30 2017 -0600 - - Include hb-private.hh more consistently - - Part of fixing https://github.com/behdad/harfbuzz/issues/585 - - src/test-buffer-serialize.cc | 4 +--- - src/test-size-params.cc | 4 +--- - src/test-would-substitute.cc | 4 +--- - util/ansi-print.hh | 1 + - util/helper-cairo-ansi.hh | 5 +++-- - util/helper-cairo.hh | 7 ++++--- - util/main-font-text.hh | 5 +++-- - util/options.hh | 11 +---------- - util/shape-consumer.hh | 5 +++-- - util/view-cairo.hh | 7 ++++--- - 10 files changed, 22 insertions(+), 31 deletions(-) - -commit 42d518513c683fd5e932898ceec891c3003d75e1 -Author: Behdad Esfahbod -Date: Fri Oct 27 00:25:11 2017 -0600 - - Towards compiling with pre-C++11 compilers and nullptr fallback - - https://github.com/behdad/harfbuzz/issues/585 - - src/hb-atomic-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0e9256984e76f055f1868ecc497724977caba11d -Author: Behdad Esfahbod -Date: Thu Oct 26 20:34:04 2017 -0600 - - [post] Make format1 names array avoid relocations - - src/Makefile.sources | 1 + - src/hb-ot-post-macroman.hh | 294 - +++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-post-table.hh | 55 ++------- - 3 files changed, 305 insertions(+), 45 deletions(-) - -commit 2a749680441bbe6b4aa8134bb6ce9f21a8b1bc3c -Author: Behdad Esfahbod -Date: Thu Oct 26 19:48:33 2017 -0600 - - Add hb-string-array.hh - - Used to build static string arrays that use no relocation. - - src/Makefile.sources | 1 + - src/hb-private.hh | 6 ++-- - src/hb-string-array.hh | 74 - ++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 79 insertions(+), 2 deletions(-) - -commit 6f08b12bc38166dee2f9740d396d617b32e887a3 -Author: Behdad Esfahbod -Date: Thu Oct 26 18:23:03 2017 -0600 - - Minor - - src/hb-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 223686d64f5e149ba8aa334a2a54bd5b22017d9e -Author: Behdad Esfahbod -Date: Thu Oct 26 12:52:02 2017 -0600 - - 1.6.3 - - NEWS | 9 +++++++++ - configure.ac | 2 +- - 2 files changed, 10 insertions(+), 1 deletion(-) - -commit 729c9e13355eefafdc0fdef9aa68bd792ca4dba4 -Author: David Corbett -Date: Thu Oct 26 10:29:28 2017 -0400 - - Include all relevant glyphs in the subsetted font - - test/shaping/record-test.sh | 2 ++ - 1 file changed, 2 insertions(+) - -commit cb6c6b0c425e560f32b297c15dc6775e297d5b1d -Author: Behdad Esfahbod -Date: Thu Oct 26 11:43:33 2017 -0600 - - Fix warning - - https://github.com/behdad/harfbuzz/commit/49a41dc75931cc2d2f7e74b7801f8cc327039e8e#commitcomment-25203194 - - test/api/test-set.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit dfd234a97d2e2f9908eaf0598de765f76ba86c82 -Author: Jonathan Kew -Date: Thu Oct 26 16:59:50 2017 +0100 - - [set] Fix page_map[] indexing in backward loop. - - Fixes https://github.com/behdad/harfbuzz/issues/579. - - src/hb-set-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 7339926525416620aa7922371775ed65eed4eae4 -Author: Jonathan Kew -Date: Thu Oct 26 12:55:36 2017 +0100 - - [test] Extend hb_set test for issue 579 (currently failing) - - test/api/test-set.c | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -commit 3d6f7df42a87ef366197581cb4696c5f30c3bcbb -Author: Jonathan Kew -Date: Thu Oct 26 17:54:55 2017 +0100 - - [test] Additional coverage in test_set_iter. - - This adds a couple extra entries to the set used, such that iteration - would fail in 1.6.2 due to the bug in hb_set_t::page_t::next(). - - test/api/test-set.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit d511cfb5577a58e31d8dd4214750b0ad4efa625a -Author: Jonathan Kew -Date: Thu Oct 26 15:08:29 2017 +0100 - - [set] Bugfix for hb_set_next - - src/hb-set-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 92bac64bd2d5fffe70229790be27d335aa6c6de3 -Author: Behdad Esfahbod -Date: Wed Oct 25 18:22:47 2017 -0600 - - [post] Oops! - - https://ci.appveyor.com/project/behdad/harfbuzz/build/1.0.668/job/ikfj8peowgrp059t - - src/hb-ot-post-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 543bd58d7a4fbe285ec9304ff3223a728dbdbb76 -Author: Behdad Esfahbod -Date: Wed Oct 25 17:40:50 2017 -0600 - - [post] Touch up and fixes - - The get_glyph_from_name() is incorrect; needs fixing. - - src/hb-ot-font.cc | 9 ++-- - src/hb-ot-post-table.hh | 139 - +++++++++++++++++++++++++++--------------------- - 2 files changed, 81 insertions(+), 67 deletions(-) - -commit d9e166f74c3ba3128c9ef3ccd8d7799e67f14eab -Author: Khaled Hosny -Date: Wed Oct 18 20:49:16 2017 +0200 - - [ot-font] Implement hb_ot_get_glyph_from_name - - src/hb-ot-font.cc | 22 ++++++++++++++++++- - src/hb-ot-post-table.hh | 58 - +++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 79 insertions(+), 1 deletion(-) - -commit 9d4d2fb9af446d5d41058fbb1da8117b3af048d3 -Author: Khaled Hosny -Date: Mon Oct 16 10:05:42 2017 +0200 - - [ot-font] Implement hb_ot_get_glyph_name - - Turns out we already have support for “post” table, it just - needed to be - activated and put in use. - - src/hb-ot-font.cc | 46 ++++++++++++- - src/hb-ot-post-table.hh | 96 - +++++++++++++++++++++++++++ - test/shaping/tests/fallback-positioning.tests | 2 +- - test/shaping/tests/indic-syllable.tests | 2 +- - test/shaping/tests/use.tests | 2 +- - 5 files changed, 143 insertions(+), 5 deletions(-) - -commit bf133497e53e8b1dcd22df62080d33e7f3d85b68 -Merge: fd786c76 49a41dc7 -Author: Behdad Esfahbod -Date: Wed Oct 25 17:23:20 2017 -0600 - - Merge commit '49a41dc75931cc2d2f7e74b7801f8cc327039e8e' - -commit 49a41dc75931cc2d2f7e74b7801f8cc327039e8e -Author: Behdad Esfahbod -Date: Wed Oct 25 16:17:45 2017 -0600 - - [test] Add more hb-set tests - - https://github.com/behdad/harfbuzz/issues/579 - - test/api/test-set.c | 40 ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) - -commit fd786c768f838ab61090004dd46b8cefeb270dfd -Author: David Corbett -Date: Wed Oct 25 14:31:22 2017 -0400 - - Use `mktemp -d` instead of `mktemp --directory` - - test/shaping/record-test.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c4944920c0c11d6424d600ebc9130c9055382f80 -Author: David Corbett -Date: Wed Oct 25 16:06:40 2017 -0400 - - Fix and run indic-script-extensions.tests - - test/shaping/Makefile.am | 1 + - test/shaping/tests/indic-script-extensions.tests | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit d8df714251c61e13d7d12eb3f7393dd3a75a3719 -Author: David Corbett -Date: Wed Oct 25 16:06:01 2017 -0400 - - Fix code point iteration in narrow Python - - test/shaping/hb_test_tools.py | 27 ++++++++++++++++++++++++++- - 1 file changed, 26 insertions(+), 1 deletion(-) - -commit 33ca3b67bfb5d9ae4e490c796c93793a7e03ef2c -Author: Behdad Esfahbod -Date: Wed Oct 25 12:09:11 2017 -0400 - - Check for headers in builddir first, in check-*.sh - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=103346 - - src/check-c-linkage-decls.sh | 4 ++-- - src/check-externs.sh | 2 +- - src/check-header-guards.sh | 2 +- - src/check-includes.sh | 4 ++-- - 4 files changed, 6 insertions(+), 6 deletions(-) - -commit 9ac2e5c6c01db3ebe419e3aa07f4d1a3777d2bb6 -Author: Behdad Esfahbod -Date: Tue Oct 24 10:06:25 2017 -0400 - - check-externs.sh: Make output more verbose - - Trying to figure out why this is failing on some Debian bots: - https://bugs.freedesktop.org/show_bug.cgi?id=103346 - - Maybe I should check for GNU grep specifically now that I'm using - -n as well. - - src/check-externs.sh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 3b7388aab6889b5d1fc602b5780a7b29da84e100 -Author: Behdad Esfahbod -Date: Mon Oct 23 14:35:16 2017 -0400 - - 1.6.2 - - NEWS | 10 ++++++++++ - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit 30a591e3cef67818ef1ffec92c6a022b5a5f5e77 -Author: Behdad Esfahbod -Date: Mon Oct 23 14:28:35 2017 -0400 - - [set] Rewrite another way :P - - src/hb-set-private.hh | 25 +++++++++++++------------ - 1 file changed, 13 insertions(+), 12 deletions(-) - -commit 8170801d78a5bf9480d8c06ade849b30bc4e2956 -Author: Behdad Esfahbod -Date: Mon Oct 23 14:26:48 2017 -0400 - - [set] Fix crash - - Ouch! That's what happens when one plays with increment/decrement - operators! - - Fixes https://github.com/behdad/harfbuzz/issues/578 - - src/hb-set-private.hh | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit 61d1c60a1c555c58205964df4e449ee57125a739 -Author: Behdad Esfahbod -Date: Mon Oct 23 13:10:21 2017 -0400 - - [RELEASING] Format - - RELEASING.md | 67 - +++++++++++++++++++++++++++++++++++++++++++----------------- - 1 file changed, 48 insertions(+), 19 deletions(-) - -commit 6a2e1649debd992211bf96ef80d075d2d04a49ed -Author: Behdad Esfahbod -Date: Mon Oct 23 13:01:34 2017 -0400 - - [doap] Switch to github issues - - https://github.com/behdad/harfbuzz/pull/575#issuecomment-338514596 - - harfbuzz.doap | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8a898c1929cf7ffc9b0011461b34281ecc98705c -Author: Behdad Esfahbod -Date: Mon Oct 23 13:00:36 2017 -0400 - - [RELEASING] Minor - - https://github.com/behdad/harfbuzz/pull/575 - - RELEASING.md | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2ee710e02fad1a8a4b94589bb6f0b90e2aeb7121 -Author: Behdad Esfahbod -Date: Mon Oct 23 08:37:48 2017 -0400 - - Minor - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dd33e4e96b9345a6b1a9051a6aa4b7d114c74f1e -Author: Behdad Esfahbod -Date: Mon Oct 23 08:36:40 2017 -0400 - - [set] Don't use major() - - Fixes https://github.com/behdad/harfbuzz/issues/577 - - src/hb-set-private.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit d0f0ff85b9fe959ef4b90f8daf58be73fca49dd0 -Author: Behdad Esfahbod -Date: Mon Oct 23 08:34:30 2017 -0400 - - [set] Don't use PAGE_SIZE - - Fixes https://github.com/behdad/harfbuzz/issues/576 - - src/hb-set-private.hh | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 57cf978fa314bd87405a2b133e58fcb116e574a6 -Merge: ce979454 6cc49762 -Author: Behdad Esfahbod -Date: Sun Oct 22 18:24:59 2017 -0400 - - Merge commit '6cc49762c4fdfd0e2770a84d1b1f055acf42376f' - -commit ce979454400c3870717ba40b1065a2f3727cfb93 -Author: Behdad Esfahbod -Date: Sun Oct 22 18:23:38 2017 -0400 - - [icu] Fix error check - - src/hb-icu.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 6cc49762c4fdfd0e2770a84d1b1f055acf42376f -Merge: 8b9d9b71 19923279 -Author: ebraminio -Date: Mon Oct 23 01:48:22 2017 +0330 - - Merge pull request #575 from behdad/releasing-edit - - Clarify the last step of release - -commit 19923279abd4c7615e8b02e05a02ba18f5c0b298 -Author: ebraminio -Date: Mon Oct 23 01:47:51 2017 +0330 - - Clarify the last step of release - - RELEASING.md | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8b9d9b71b04c9d5698ec146658b31381060c700d -Author: Behdad Esfahbod -Date: Sun Oct 22 17:48:06 2017 -0400 - - Fix set initialization issues - - src/hb-ot-layout-gsubgpos-private.hh | 12 ++++++------ - src/hb-ot-shape.cc | 17 +++++++++-------- - src/hb-set-private.hh | 9 --------- - src/hb-set.cc | 6 ++++-- - 4 files changed, 19 insertions(+), 25 deletions(-) - -commit 0ca915efc3734111a57ff71f05d9cbf0e8af3de9 -Author: Behdad Esfahbod -Date: Sun Oct 22 17:38:33 2017 -0400 - - 1.6.1 - - NEWS | 13 +++++++++++++ - configure.ac | 2 +- - 2 files changed, 14 insertions(+), 1 deletion(-) - -commit d59d5dc7d339deb45cc84cffd084b52752765a08 -Merge: ced86da7 3ee15a60 -Author: Behdad Esfahbod -Date: Sun Oct 22 17:08:29 2017 -0400 - - Merge commit '3ee15a60358f4d894bbf2431d7a7df38b7acc4ce' - -commit ced86da7ddbbd0d64f8ba1290b8e67600b1db2d4 -Author: Behdad Esfahbod -Date: Sun Oct 22 17:03:36 2017 -0400 - - Another try at fixing mingw32 build bot fail - - src/hb-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit bc1183aa6ba45a527084d391d6e7f801d6196060 -Merge: d45a2138 bfe0faf1 -Author: Behdad Esfahbod -Date: Sun Oct 22 17:06:00 2017 -0400 - - Merge commit 'bfe0faf1a2d39302129a7202994456afd96694ca' - -commit 3ee15a60358f4d894bbf2431d7a7df38b7acc4ce -Author: Behdad Esfahbod -Date: Sun Oct 22 17:03:36 2017 -0400 - - Another try at fixing mingw32 build bot fail - - src/hb-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit bfe0faf1a2d39302129a7202994456afd96694ca -Author: Behdad Esfahbod -Date: Sun Oct 22 15:54:50 2017 -0400 - - [docs] Deprecate hb_set_invert() - - docs/harfbuzz-sections.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d45a2138d9d54eab158046d6503f1bb104efce25 -Merge: d8adaa97 41b18251 -Author: ebraminio -Date: Sat Oct 21 10:19:55 2017 +0330 - - Merge pull request #572 from fanc999/master.msvc - - builds: Support HarfBuzz-GObject and introspection in CMake builds - -commit d8adaa97fbf33071b8a4b5c05c3f2f15f2fd22ea -Author: Behdad Esfahbod -Date: Fri Oct 20 13:57:43 2017 -0400 - - Another try at fixing build bots - - hb-ot-shape.cc:287:18: error: comparison of constant 32 with - expression of type 'hb_unicode_general_category_t' is always true - [-Werror,-Wtautological-constant-out-of-range-compare] - - src/hb-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 6058f98825e8f134893a1bbfb402e45d85b56ff0 -Author: Behdad Esfahbod -Date: Thu Oct 19 11:39:52 2017 -0700 - - Remove FLAG_SAFE() - - No flag is safe, over time... See previous commit. - - src/hb-ot-shape-complex-arabic.cc | 4 ++-- - src/hb-ot-shape-complex-indic.cc | 12 ++++++------ - src/hb-ot-shape-complex-use.cc | 2 +- - src/hb-private.hh | 5 ++--- - src/hb-unicode-private.hh | 4 ++-- - 5 files changed, 13 insertions(+), 14 deletions(-) - -commit 7c561dacc3c5fb9306db8bda27b7289331bd523f -Author: Behdad Esfahbod -Date: Thu Oct 19 11:35:51 2017 -0700 - - [myanmar] Fix unsafe usage of FLAG_SAFE() - - The commit f559c633073f63b9d87cb2440048b4413cfa1c05 caused - "undefined-shift" errors in Myanmar shaper as we changed the - numeric value of type D from 19 to 32 there, making the - "FLAG_SAFE (info.myanmar_category())" wrong. - - Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3546 - - src/hb-ot-shape-complex-myanmar.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 41b1825196235d4337c76f97e09f0b7c6d6c56ae -Author: Chun-wei Fan -Date: Thu Oct 19 18:36:32 2017 +0800 - - CMake builds: Support introspection builds - - This adds support for introspection builds on Windows that is - enabled by - the HB_HAVE_INTROSPECTION option, which will also enable - HB_HAVE_GOBJECT - (and so HB_HAVE_GLIB) as they are required for introspection. - - In order for this to work one must ensure that the Python installation - listed in PYTHON_EXECUTABLE is the same Python release series that was - used to build _giscanner.pyd (the Python module that is used by - g-ir-scanner), with the same architecture. PKG_CONFIG_PATH and PATH - must be set correctly if $(PREFIX)\bin and/or $(PREFIX)\lib\pkgconfig - are not in the standard PATH and PKG_CONFIG_PATH, which is actually - in-line with the *NIX builds. - - CMakeLists.txt | 161 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 154 insertions(+), 7 deletions(-) - -commit 53db221259b5eea4d2244321b2fe96beb39aef7d -Author: Chun-wei Fan -Date: Wed Oct 18 15:43:57 2017 +0800 - - CMake: Support building HarfBuzz-GObject - - This adds support to the CMake build files to support building - HarfBuzz-GObject, which is actually a little bit complicated, - as we need to: - - -Run glib-mkenums, which is a Python (for newer GLib/GObject) or PERL - (for older, pre 2.53.4, GLib/GObject) script. This matters more for - Visual Studio builds as shebang lines are not supported, so we - need to - test-run it with PERL or Python to determine which is the correct - interpretor to use. - - -Next, we need to replace strings in the sources that we obtain from - running glib-mkenums. So, the solution here is to use a small - utility - CMake script for our purposes here, to maintain maximum - compatibility. - - -Ensure that things do work in the Visual Studio IDE builds. - - CMakeLists.txt | 128 - +++++++++++++++++++++++++++++++++++++++++++++ - Makefile.am | 1 + - replace-enum-strings.cmake | 21 ++++++++ - 3 files changed, 150 insertions(+) - -commit 162575f2c69f519aae1b18ff1c501e7e4c2cdd4b -Author: Chun-wei Fan -Date: Wed Oct 18 22:27:28 2017 +0800 - - CMake builds: Fix builds - - Include the fallback sources in the build, and update - src/Makefile.sources so that it can be read by the CMake build files. - - Fix a typo in the DirectWrite configure option so that we can properly - enable DirectWrite builds. - - Also, when building the utility program, install them as well. - - CMakeLists.txt | 21 ++++++++++++++++++++- - src/Makefile.sources | 4 +++- - 2 files changed, 23 insertions(+), 2 deletions(-) - -commit d6f612fac800c31989c298b5101845baed2297b1 -Author: Behdad Esfahbod -Date: Tue Oct 17 16:32:12 2017 -0700 - - [bsearch] Micro-optimization - - src/hb-open-type-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 41b1984be946cc2f53313dd48eac392cc8a3ad2b -Author: Fredrik Roubert -Date: Tue Oct 17 15:06:31 2017 -0700 - - Switch from ICU deprecated unorm_normalize to unorm2_normalize. (#569) - - The new unorm2_normalize has been public API since ICU 4.4, while - the old unorm_normalize has been deprecated since ICU 56. - - Now, beginning with ICU 60, unorm_normalize will also be annotated - U_DEPRECATED and trigger the compiler -Wdeprecated-declarations - warning. - - src/hb-icu.cc | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit b98adefbb9ee45fc1e800a52f701bf4224e9bb81 -Author: Behdad Esfahbod -Date: Tue Oct 17 12:00:34 2017 -0700 - - Update docs symbols - - docs/harfbuzz-sections.txt | 2 ++ - 1 file changed, 2 insertions(+) - -commit ba8b56960733b25bbb88fbdb60e7e244127d6e0c -Author: Behdad Esfahbod -Date: Tue Oct 17 11:16:36 2017 -0700 - - Try fixing build on VC - - c:\projects\harfbuzz\src\hb-set-private.hh(151): error C2327: - 'hb_set_t::page_t::v': is not a type name, static, or enumerator - [C:\projects\harfbuzz\build\harfbuzz.vcxproj] - - src/hb-set-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 80cc0a7e3e05fb7fcfbdc0188cb60b115ad47d04 -Author: Behdad Esfahbod -Date: Tue Oct 17 11:14:48 2017 -0700 - - [coretext] Fix build - - error: static_assert expression is not an integral constant expression - - src/hb-coretext.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a11249ee93439856ea2410524b993ac1f1379961 -Author: Behdad Esfahbod -Date: Mon Oct 16 01:33:32 2017 -0400 - - [set] Fix merge logic - - src/hb-set-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ab8f327eb47184409d9e9208ca46b631d1afd0d4 -Author: Behdad Esfahbod -Date: Sun Oct 15 18:21:35 2017 -0400 - - Ouch. - - src/hb-set-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bb9917913f735855aea54f41f10e0c7be3632e88 -Author: Behdad Esfahbod -Date: Sun Oct 15 18:20:25 2017 -0400 - - [set] Disable vectorization - - Fixes clang "non-const reference cannot bind to vector element" error. - - src/hb-set-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 221ce6c18f2a1e878b68eb0a97f235efa4c044d3 -Author: Behdad Esfahbod -Date: Sun Oct 15 17:58:58 2017 -0400 - - Fix bots - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0cf7d957b7ffb17c4cec75b631c9829327ab5d52 -Author: Behdad Esfahbod -Date: Sun Oct 15 17:01:31 2017 -0400 - - [set] Remove TODO items not worth pursuing - - src/hb-set-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit 10d43658e7655b36cb86e674dde8af4036b7cc52 -Author: Behdad Esfahbod -Date: Sun Oct 15 16:56:05 2017 -0400 - - [set] Speed up intersects() - - src/hb-set-private.hh | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -commit 56ef4e0c52d5b474518bf0c1e4adba80f2ae6946 -Author: Behdad Esfahbod -Date: Sun Oct 15 16:38:29 2017 -0400 - - Simplify hb_prealloced_array_t initialization - - src/hb-private.hh | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -commit 7737e87ac4582d57945f3ffbbae1012f62c6b482 -Author: Behdad Esfahbod -Date: Sun Oct 15 16:21:03 2017 -0400 - - Properly detect vector_size attribute and use fallback otherwise - - src/hb-private.hh | 67 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-set-private.hh | 62 - ++--------------------------------------------- - 2 files changed, 69 insertions(+), 60 deletions(-) - -commit f8a0ec50e23264fdfe9e3a5a2e0453a87f415b3d -Author: Behdad Esfahbod -Date: Sun Oct 15 16:10:35 2017 -0400 - - [set] Add fallback implementation of int-vector type - - src/hb-set-private.hh | 64 - ++++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 45 insertions(+), 19 deletions(-) - -commit deed4a48d15d4a475f8695aa3269547adf63867a -Author: Behdad Esfahbod -Date: Sun Oct 15 16:53:09 2017 +0200 - - Faster hb_set_t - - Fixes https://github.com/behdad/harfbuzz/pull/23 - - src/hb-private.hh | 56 ++++--- - src/hb-set-private.hh | 431 - +++++++++++++++++++++++++++++++++++++++++--------- - test/api/test-set.c | 6 - - 3 files changed, 391 insertions(+), 102 deletions(-) - -commit 1d3971200be5b1c949d3eca185654e48584a0868 -Author: Behdad Esfahbod -Date: Sun Oct 15 16:15:24 2017 +0200 - - Deprecate hb_set_invert() - - src/hb-deprecated.h | 4 ++++ - src/hb-set.cc | 3 ++- - src/hb-set.h | 3 --- - 3 files changed, 6 insertions(+), 4 deletions(-) - -commit 5e74044b6bd78c495561eb7d2981415d2c3336f4 -Author: Behdad Esfahbod -Date: Sun Oct 15 16:15:06 2017 +0200 - - Add bfind() to prealloaced_array_t - - src/hb-private.hh | 31 ++++++++++++++++--------------- - 1 file changed, 16 insertions(+), 15 deletions(-) - -commit db5f7ef18916abb0907bc8b569a65c9c6bbd4015 -Author: Behdad Esfahbod -Date: Sun Oct 15 16:00:22 2017 +0200 - - Inline another bsearch() - - src/hb-ot-map-private.hh | 4 ++-- - src/hb-private.hh | 32 ++++++++++++++++++++++++++++---- - 2 files changed, 30 insertions(+), 6 deletions(-) - -commit 6fb4ac73f94636d19fcac143472b84f9d91985c9 -Author: Behdad Esfahbod -Date: Sun Oct 15 16:00:09 2017 +0200 - - Add popcount for 64bit ints - - src/hb-private.hh | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 473b17af4d421f4ce7ac18c769731bb2aa4088f8 -Author: Behdad Esfahbod -Date: Sun Oct 15 14:10:34 2017 +0200 - - Remove unused hb_cache_t - - src/Makefile.sources | 1 - - src/hb-cache-private.hh | 74 - ------------------------------------------------- - src/hb-ft.cc | 2 -- - 3 files changed, 77 deletions(-) - -commit a433e60a43c4594c41a82c3741d3f870f6eec247 -Author: Behdad Esfahbod -Date: Sun Oct 15 14:09:46 2017 +0200 - - Remove unused hb_frozen_set_t - - src/hb-set-private.hh | 55 - --------------------------------------------------- - 1 file changed, 55 deletions(-) - -commit 826a1daf2f2075459ff25a20ed8abec030d95c52 -Author: Behdad Esfahbod -Date: Sun Oct 15 14:09:05 2017 +0200 - - Move set-digests into their own header file - - src/Makefile.sources | 1 + - src/hb-ot-layout-private.hh | 2 +- - src/hb-set-digest-private.hh | 144 - +++++++++++++++++++++++++++++++++++++++++++ - src/hb-set-private.hh | 113 --------------------------------- - 4 files changed, 146 insertions(+), 114 deletions(-) - -commit 3c13e153fe89d559d33027c0a5b30a19a6de1bad -Author: Behdad Esfahbod -Date: Sun Oct 15 14:02:58 2017 +0200 - - Try fixing AppVeyor bots - - src/hb-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 7e3015a315afe2312134ac33b9cb2d73689a044f -Author: Behdad Esfahbod -Date: Sun Oct 15 12:13:19 2017 +0200 - - Fix warnings - - src/hb-font.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2075008f3e0b1cfbd7006f1d8c1fa22ac014f4bb -Author: Behdad Esfahbod -Date: Sun Oct 15 12:12:10 2017 +0200 - - Use C++11 - - configure.ac | 3 +++ - 1 file changed, 3 insertions(+) - -commit dbdbfe3d7b36613d893832dcb1884c756c20bfda -Author: Behdad Esfahbod -Date: Sun Oct 15 12:11:08 2017 +0200 - - Use nullptr instead of NULL - - src/hb-blob.cc | 12 ++-- - src/hb-buffer-serialize.cc | 16 ++--- - src/hb-buffer.cc | 10 +-- - src/hb-common.cc | 18 ++--- - src/hb-coretext.cc | 66 ++++++++--------- - src/hb-directwrite.cc | 28 ++++---- - src/hb-face.cc | 10 +-- - src/hb-font.cc | 32 ++++----- - src/hb-ft.cc | 56 +++++++-------- - src/hb-glib.cc | 2 +- - src/hb-gobject-structs.cc | 2 +- - src/hb-graphite2.cc | 26 +++---- - src/hb-icu.cc | 4 +- - src/hb-mutex-private.hh | 2 +- - src/hb-object-private.hh | 2 +- - src/hb-open-type-private.hh | 32 ++++----- - src/hb-ot-cbdt-table.hh | 4 +- - src/hb-ot-cmap-table.hh | 2 +- - src/hb-ot-font.cc | 42 +++++------ - src/hb-ot-layout-common-private.hh | 14 ++-- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 54 +++++++------- - src/hb-ot-layout-jstf-table.hh | 4 +- - src/hb-ot-layout.cc | 30 ++++---- - src/hb-ot-map-private.hh | 6 +- - src/hb-ot-map.cc | 4 +- - src/hb-ot-math-table.hh | 8 +-- - src/hb-ot-shape-complex-arabic-fallback.hh | 8 +-- - src/hb-ot-shape-complex-arabic.cc | 32 ++++----- - src/hb-ot-shape-complex-default.cc | 22 +++--- - src/hb-ot-shape-complex-hangul.cc | 12 ++-- - src/hb-ot-shape-complex-hebrew.cc | 18 ++--- - src/hb-ot-shape-complex-indic.cc | 12 ++-- - src/hb-ot-shape-complex-myanmar.cc | 40 +++++------ - src/hb-ot-shape-complex-private.hh | 26 +++---- - src/hb-ot-shape-complex-thai.cc | 22 +++--- - src/hb-ot-shape-complex-tibetan.cc | 20 +++--- - src/hb-ot-shape-complex-use.cc | 16 ++--- - src/hb-ot-shape-private.hh | 2 +- - src/hb-ot-shape.cc | 8 +-- - src/hb-ot-tag.cc | 2 +- - src/hb-ot-var.cc | 2 +- - src/hb-private.hh | 37 +++++----- - src/hb-set-private.hh | 2 +- - src/hb-shape-plan.cc | 24 +++---- - src/hb-shape.cc | 8 +-- - src/hb-shaper-private.hh | 6 +- - src/hb-shaper.cc | 6 +- - src/hb-ucdn.cc | 2 +- - src/hb-unicode.cc | 4 +- - src/hb-uniscribe.cc | 50 ++++++------- - src/main.cc | 4 +- - src/test-buffer-serialize.cc | 8 +-- - src/test-size-params.cc | 6 +- - src/test-would-substitute.cc | 8 +-- - src/test.cc | 12 ++-- - util/ansi-print.cc | 2 +- - util/hb-fc.cc | 6 +- - util/hb-ot-shape-closure.cc | 10 +-- - util/hb-shape.cc | 14 ++-- - util/helper-cairo.cc | 12 ++-- - util/main-font-text.hh | 4 +- - util/options.cc | 110 - ++++++++++++++--------------- - util/options.hh | 56 +++++++-------- - util/shape-consumer.hh | 10 +-- - 65 files changed, 563 insertions(+), 568 deletions(-) - -commit fbb937b6807597c9ae002280c6a6278a97b701f3 -Author: Behdad Esfahbod -Date: Sun Oct 15 12:04:16 2017 +0200 - - Don't use NULL in public headers - - src/hb-buffer.h | 4 ++-- - src/hb-common.h | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit c3448e8d21963eb7fc357a37a7a426a4bf130ef3 -Author: Behdad Esfahbod -Date: Sun Oct 15 12:02:00 2017 +0200 - - Use static_assert instead of custom ASSERT_STATIC - - src/hb-buffer-private.hh | 4 ++-- - src/hb-buffer.cc | 2 +- - src/hb-cache-private.hh | 4 ++-- - src/hb-coretext.cc | 2 +- - src/hb-open-type-private.hh | 6 +++--- - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gdef-table.hh | 6 +++--- - src/hb-ot-layout.cc | 14 ++++++------ - src/hb-ot-map.cc | 2 +- - src/hb-ot-math-table.hh | 4 ++-- - src/hb-ot-shape-complex-arabic-fallback.hh | 6 +++--- - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape-complex-use.cc | 2 +- - src/hb-private.hh | 34 - +++++++++++++----------------- - src/hb-set-private.hh | 8 +++---- - src/hb-uniscribe.cc | 2 +- - util/options.cc | 3 ++- - 17 files changed, 50 insertions(+), 53 deletions(-) - -commit 76dcbf8b23475b25f8f1918f982bfd8f0dd3456e -Author: Behdad Esfahbod -Date: Sun Oct 15 11:24:35 2017 +0200 - - Add polyfill for static_assert and nullptr - - Also fix hb_assert_constant_t. - - src/hb-private.hh | 38 ++++++++++++++++++++++++++++++++++---- - 1 file changed, 34 insertions(+), 4 deletions(-) - -commit dad431e75bf998dcb09cff795c0f1083b3bd5449 -Author: Behdad Esfahbod -Date: Sun Oct 15 10:55:32 2017 +0200 - - [util] Include hb-private.hh - - Simplifies compatibility issues by centralizing all boilerplate code - in hb-private.hh. - - util/options.hh | 31 +++++-------------------------- - 1 file changed, 5 insertions(+), 26 deletions(-) - -commit 81e2b9b8a959cb7d7503f58fca70761238697fc1 -Author: Behdad Esfahbod -Date: Sun Oct 15 10:48:19 2017 +0200 - - Never skip over CGJ - - We might want to tweak this some more. For now, never skipping over - it is better behavior than always skipping. - - Part of https://github.com/behdad/harfbuzz/issues/554 - - src/hb-ot-layout-private.hh | 19 - +++++++++++-------- - .../bf962d3202883a820aed019d9b5c1838c2ff69c6.ttf | Bin 0 -> - 2468 bytes - test/shaping/tests/default-ignorables.tests | 1 + - 3 files changed, 12 insertions(+), 8 deletions(-) - -commit 25846cc39fb8a9516b8de4333f909851d471156f -Author: Behdad Esfahbod -Date: Fri Oct 13 16:30:33 2017 +0200 - - 1.6.0 - - NEWS | 35 +++++++++++++++++++++++++++++++++++ - configure.ac | 2 +- - docs/harfbuzz-docs.xml | 4 ++++ - 3 files changed, 40 insertions(+), 1 deletion(-) - -commit 74f1b88e3720103562552780af7058131c5492d5 -Author: Behdad Esfahbod -Date: Fri Oct 13 11:01:55 2017 +0200 - - [ucdn] Fix compiler warnings - - src/hb-ucdn.cc | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - -commit c2cf68dbdffcbf45297dd161b4b6b2de667b5ae4 -Author: Behdad Esfahbod -Date: Fri Oct 13 10:30:19 2017 +0200 - - [coretext] Fix build - - src/hb-coretext.cc | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -commit 95883fc5d486ecd194253bb223802f930de73e28 -Author: Behdad Esfahbod -Date: Fri Oct 13 10:21:07 2017 +0200 - - [coretext] Pass correct font size to CoreText - - CoreText "point"s are not typographic points, but CSS pixels. Ie. - they are 96 per inch, not 72 per inch. - - src/hb-coretext.cc | 18 +++++++++++------- - 1 file changed, 11 insertions(+), 7 deletions(-) - -commit 4f9a83ec2109b754a75c962e88117d063e6fed43 -Merge: fa48ccbe 40b05d7b -Author: Behdad Esfahbod -Date: Thu Oct 12 14:08:58 2017 +0200 - - Merge remote-tracking branch 'origin/master' - -commit fa48ccbe127a2e61ab316f3638e4056940964dae -Author: Behdad Esfahbod -Date: Thu Oct 12 14:07:37 2017 +0200 - - [indic] Special-case Kannada Ra,H,ZWJ sequence - - Fixes https://github.com/behdad/harfbuzz/issues/435 - - src/hb-ot-shape-complex-indic.cc | 15 - +++++++++++++++ - test/shaping/Makefile.am | 1 + - .../sha1sum/3cae6bfe5b57c07ba81ddbd54c02fe4f3a1e3bf6.ttf | Bin 0 -> - 2984 bytes - test/shaping/tests/indic-special-cases.tests | 3 +++ - 4 files changed, 19 insertions(+) - -commit 40b05d7b770b8045f176f66231c412b32482d874 -Author: n8willis -Date: Thu Oct 12 12:48:48 2017 +0100 - - Replacing 'cluster' with 'syllable' when comments describe certain - Indic shaping behavior (#563) - - * Clarified wording of syllable/cluster behavior in Uniscribe in - final_reordering; changed one other probable typo. - - * Additional syllable/cluster swap in comments for final reordering - and for initial-reordering matra decomposition. - - src/hb-ot-shape-complex-indic.cc | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 6bac4ac2bebb612debecc8ec10b845e977c0afe1 -Author: ebraminio -Date: Thu Oct 12 15:15:49 2017 +0330 - - Minor BUILD.md fix (#565) - - BUILD.md | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8923033eb2dab75e9361e9ea1333deb1213393ce -Author: Behdad Esfahbod -Date: Thu Oct 12 12:01:48 2017 +0200 - - [coretext] Use fabs() to silence compiler warning - - src/hb-coretext.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit dd4b321b4a429c6e6a28441ea9ae52f8f9dd1dad -Author: Dominik Röttsches -Date: Thu Oct 12 11:49:37 2017 +0200 - - [coretext] Activate tracking for system fonts - - Another attempt at fully fixing - https://github.com/behdad/harfbuzz/issues/360 - - src/hb-coretext.cc | 28 +++++++++++++++++++++++++++- - 1 file changed, 27 insertions(+), 1 deletion(-) - -commit 6760021d6f4beef852c6560607b32090bcfa5acb -Author: Khaled Hosny -Date: Thu Oct 12 12:05:08 2017 +0300 - - CMakelists.txt fix for Freetype builds (#564) - - Instead of searching for freetype using pkg-config, use the - FindFreetype - feature of CMake. This allows for better integration with other - projects - that make use of CMake. - - Fixes https://github.com/behdad/harfbuzz/issues/518 - - CMakeLists.txt | 24 +++++++----------------- - 1 file changed, 7 insertions(+), 17 deletions(-) - -commit 6a2cbc6ef51680309eb3970ed9c66ff766dc8040 -Author: Behdad Esfahbod -Date: Thu Oct 12 10:46:09 2017 +0200 - - [coretext] Use fabsf() instead of abs() - - Fixes bots. - - Link libharfbuzz.so with -lm. Surprising that we survived without - it so far! - - src/Makefile.am | 2 +- - src/harfbuzz.pc.in | 2 +- - src/hb-coretext.cc | 5 +++-- - 3 files changed, 5 insertions(+), 4 deletions(-) - -commit dfeccd073a5e78f6a2c630355c04121b70d2b4aa -Author: ebraminio -Date: Thu Oct 12 12:11:47 2017 +0330 - - Remove nmake port of harfbuzz (#562) - - BUILD.md | 12 ++- - Makefile.am | 2 +- - appveyor.yml | 30 ------ - configure.ac | 2 - - win32/Makefile.am | 18 ---- - win32/Makefile.vc | 67 ------------ - win32/README.txt | 97 ----------------- - win32/build-rules-msvc.mak | 130 ----------------------- - win32/config-msvc.mak | 230 - ---------------------------------------- - win32/config.h.win32.in | 158 --------------------------- - win32/create-lists-msvc.mak | 147 ------------------------- - win32/create-lists.bat | 42 -------- - win32/detectenv-msvc.mak | 146 ------------------------- - win32/generate-msvc.mak | 39 ------- - win32/hb-introspection-msvc.mak | 42 -------- - win32/info-msvc.mak | 162 ---------------------------- - win32/install.mak | 25 ----- - win32/introspection-msvc.mak | 73 ------------- - win32/pc_base.py | 124 ---------------------- - win32/replace.py | 115 -------------------- - win32/sed-enums-srcs.py | 36 ------- - win32/setup.py | 62 ----------- - 22 files changed, 9 insertions(+), 1750 deletions(-) - -commit 4e4781319b36bba154f3e5d4eb678945d8f6b4fc -Author: Behdad Esfahbod -Date: Thu Oct 12 10:33:16 2017 +0200 - - [ft] Add hb_ft_font_changed() - - When the font size or variations settings on underlying FT_Face - change, - one can call hb_ft_font_changed() and continue using hb_font - created using - hb_ft_font_create(). - - Fixes https://github.com/behdad/harfbuzz/issues/559 - - New API: - hb_ft_font_changed() - - docs/harfbuzz-sections.txt | 1 + - src/hb-ft.cc | 15 +++++++++++++-- - src/hb-ft.h | 8 +++++++- - 3 files changed, 21 insertions(+), 3 deletions(-) - -commit 94b3cafc3a042aea69ee7040227557fe98a21d87 -Author: Behdad Esfahbod -Date: Wed Oct 11 17:22:44 2017 +0200 - - Add hb_face_get_table_tags() - - New API: - hb_face_get_table_tags() - - Fixes https://github.com/behdad/harfbuzz/issues/560 - - src/hb-face.cc | 29 +++++++++++++++++++++++++++++ - src/hb-face.h | 5 +++++ - src/hb-open-file-private.hh | 18 ++++++++++++++++++ - 3 files changed, 52 insertions(+) - -commit e1b6d923021f68713784e2fd68f631c053ef3497 -Author: Behdad Esfahbod -Date: Wed Oct 11 15:51:31 2017 +0200 - - Remove cast of functions to (hb_destroy_func_t) - - Fixes https://github.com/behdad/harfbuzz/issues/474 - - src/hb-blob.cc | 8 +++++++- - src/hb-coretext.cc | 10 ++++++++-- - src/hb-face.cc | 6 ++++-- - src/hb-ft.cc | 20 +++++++++++--------- - src/hb-glib.cc | 9 ++++++++- - src/hb-ot-font.cc | 6 ++++-- - 6 files changed, 42 insertions(+), 17 deletions(-) - -commit 717fcb51dd051ca27d8537e5cf3a32d0447f78b5 -Author: Behdad Esfahbod -Date: Wed Oct 11 15:38:21 2017 +0200 - - [coretext] Minor - - src/hb-coretext.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 374bb48d902025e8b8d8acbe525ff43540daee36 -Author: Behdad Esfahbod -Date: Wed Oct 11 15:37:50 2017 +0200 - - Change ptem API to make 0 mean unset - - src/hb-font.cc | 5 ++--- - src/hb-font.h | 2 +- - 2 files changed, 3 insertions(+), 4 deletions(-) - -commit 06c14225b20aa43ae88d362be2de577f6cf3f7b9 -Author: Behdad Esfahbod -Date: Wed Oct 11 15:29:53 2017 +0200 - - [coretext] Minor - - src/hb-coretext.cc | 1 + - 1 file changed, 1 insertion(+) - -commit a4b46212c5e76494cfde5af6f299e08902aff0d5 -Author: Behdad Esfahbod -Date: Wed Oct 11 15:29:22 2017 +0200 - - [coretext] Adjust font size check for 0 - - src/hb-coretext.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 269cf1ca82c34c6f6ea126e7333743e5c381453b -Author: Behdad Esfahbod -Date: Wed Oct 11 15:24:22 2017 +0200 - - Correctly initialize ptem - - src/hb-font.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 84686bf4c75c001e7cfb2eabdf391b2e76cae335 -Author: Behdad Esfahbod -Date: Wed Oct 11 15:02:48 2017 +0200 - - [coretext-aat] Also pass through CoreText if font has kerx table - - SFNSText has kerx table which apparently is applied. - - src/hb-coretext.cc | 20 +++++++++----------- - src/hb-coretext.h | 1 + - 2 files changed, 10 insertions(+), 11 deletions(-) - -commit 296d0134c9d04c82cc0bffd545b0fd9a308a2530 -Author: Behdad Esfahbod -Date: Wed Oct 11 14:09:30 2017 +0200 - - [coretext] Change default point size to 12 - - src/hb-coretext.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7b23c286a71883ac3e5777a2dee262af48c76854 -Merge: 8d450dd1 a5ebe1d4 -Author: Behdad Esfahbod -Date: Wed Oct 11 13:35:32 2017 +0200 - - Merge branch 'coretext-optical-sizing' - - Should fix https://github.com/behdad/harfbuzz/issues/360 - -commit a5ebe1d4aec41bc5e289a7969e5e5f7bb57733b6 -Author: Dominik Röttsches -Date: Wed Oct 11 13:32:38 2017 +0200 - - [coretext] Recreate CTFont if pt size changed - - Attempt at fixing #360 - - src/hb-coretext.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit db7a73ce0781d1fec0235e419ac448565dcfc8ca -Author: Dominik Röttsches -Date: Wed Oct 11 13:24:39 2017 +0200 - - [coretext] Fix build - - src/hb-coretext.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit f33413075655e6383cd16bc31f0bf804dcec1c64 -Author: Behdad Esfahbod -Date: Wed Oct 11 13:17:46 2017 +0200 - - [coretext] Another try - - src/hb-coretext.cc | 32 +++++++++++++------------------- - 1 file changed, 13 insertions(+), 19 deletions(-) - -commit a8e466c3c12a3499028cb576721e5f85ff4cbf2d -Author: Behdad Esfahbod -Date: Wed Oct 11 13:05:59 2017 +0200 - - [coretext] Move CT_Font to font data - - Towards implementing optical sizing. Untested; won't compile. - - https://github.com/behdad/harfbuzz/issues/360 - - src/hb-coretext.cc | 85 - ++++++++++++++++++++++++------------------------------ - 1 file changed, 37 insertions(+), 48 deletions(-) - -commit f9b4c6570a4725eec5393f86e6468a189ac8c6be -Author: Behdad Esfahbod -Date: Wed Oct 11 12:51:25 2017 +0200 - - [coretext] Move font size to a macro - - src/hb-coretext.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 8d450dd188dea2d63a03f74d903a76741de8a217 -Author: Behdad Esfahbod -Date: Wed Oct 11 12:43:46 2017 +0200 - - Infrastructure for creating CTFont with correct font size - - https://github.com/behdad/harfbuzz/issues/360 - - src/hb-shaper-private.hh | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 16d02a58cf187dbcecc1c796acdc5d3a70ca288e -Author: Behdad Esfahbod -Date: Wed Oct 11 12:28:06 2017 +0200 - - [coretext] Change default font size from 36 to 18 - - src/hb-coretext.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c0c2dbc871667c32ac8eedb11de64078ef24a429 -Author: Behdad Esfahbod -Date: Wed Oct 11 12:23:35 2017 +0200 - - Remove dirty tracking - - Turns out I don't need this to resolve CoreText optical sizing - issue after all. - - https://github.com/behdad/harfbuzz/issues/360 - - src/hb-face-private.hh | 9 --------- - src/hb-face.cc | 17 ----------------- - src/hb-font-private.hh | 13 ------------- - src/hb-font.cc | 39 --------------------------------------- - 4 files changed, 78 deletions(-) - -commit b57f18da700837a57df9606290160ea6e96accc8 -Author: Behdad Esfahbod -Date: Wed Oct 11 11:47:47 2017 +0200 - - Add hb_font_[sg]et_ptem() to set/get point size on font - - New API: - hb_font_set_ptem() - hb_font_get_ptem() - - Needed for hb-coretext optical sizing: - https://github.com/behdad/harfbuzz/issues/360 - - docs/harfbuzz-sections.txt | 2 ++ - src/hb-font-private.hh | 5 ++++- - src/hb-font.cc | 41 +++++++++++++++++++++++++++++++++++++++++ - src/hb-font.h | 10 ++++++++++ - 4 files changed, 57 insertions(+), 1 deletion(-) - -commit 3f9370d9e5051b1abf2fc94be2e10a39c8069f75 -Author: Behdad Esfahbod -Date: Wed Oct 11 11:34:53 2017 +0200 - - Fix TODO item - - src/hb-font.cc | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -commit 5f50f8837f918ca1d176355d1538e0e6c9703f41 -Author: Behdad Esfahbod -Date: Sat Oct 7 13:17:33 2017 +0200 - - [arabic] Fix cluster merging - - src/hb-ot-shape-complex-arabic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c2545b921523538e8237ff6a2591f6cb75ee79f1 -Author: Behdad Esfahbod -Date: Sat Oct 7 12:56:53 2017 +0200 - - Add check for HB_EXTERNs - - https://github.com/behdad/harfbuzz/pull/555 - - src/Makefile.am | 1 + - src/check-externs.sh | 21 +++++++++++++++++++++ - 2 files changed, 22 insertions(+) - -commit 48a9406839f086735a05a2f1a07987b8a6bd6d33 -Author: fanc999 -Date: Sat Oct 7 18:57:14 2017 +0800 - - Fix build of HarfBuzz tools and HarfBuzz-GObject on Visual Studio - (#555) - - * hb-buffer.h: Mark hb_buffer_diff() for export - - This will fix the tools builds on Visual Studio, as the symbol is used - by the tools. - - * build: Adapt NMake Makefiles for GLib 2.53.4 or later - - glib-mkenums was ported from a PERL script to a Python script, so we - need to update how we generate the enum sources for HarfBuzz-GObject - in - the NMake builds. Let this be known in the build documentation - for MSVC - builds. - - One of the problems with the underlying cmd.exe that the NMake - Makefiles - run on is that shebang lines are not recognized, so we need to to test - run the script with Python and see whether it succeeded by outputing a - source file that is larger than 0 in file size (since running the PERL - version of the script will clearly fail and cause an empty file to be - created). - - If it succeeds, we then run a small Python utility script that - makes the - necessary string replacements, and we are done. If that fails, - then we - run the glib-mkenums script with PERL, and do the replacements - with the - PERL one-liners as we did before. - - We need to make replace.py use latin-1 encoding when using Python - 3.x to - cope with the copyright sign that is in the generated enum sources. - - src/hb-buffer.h | 2 +- - win32/Makefile.am | 4 +++- - win32/README.txt | 5 +++-- - win32/generate-msvc.mak | 17 ++++++++++++----- - win32/info-msvc.mak | 5 ++++- - win32/replace.py | 2 +- - win32/sed-enums-srcs.py | 36 ++++++++++++++++++++++++++++++++++++ - 7 files changed, 60 insertions(+), 11 deletions(-) - -commit c9e2cf6f55c7682b8e7020654945ddd074ebfd24 -Author: Behdad Esfahbod -Date: Wed Oct 4 16:59:22 2017 +0200 - - [ot] Remove 'mal' and 'gle' lang tags - - Fixes https://github.com/behdad/harfbuzz/issues/477 - - src/hb-ot-tag.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 621c49cb8657a79ee6897c4d313d0e825b2b228f -Author: Behdad Esfahbod -Date: Wed Oct 4 15:06:48 2017 +0200 - - Improve performance of ligature component matching - - This O(N^2) was introduced in - 8b2c94c43fd335b944d5e5487265706b8e0f9041. - Make it O(N). - - src/hb-ot-layout-gsubgpos-private.hh | 37 - +++++++++++++++++++++++------------- - 1 file changed, 24 insertions(+), 13 deletions(-) - -commit ab8d70ec7023e51ba6fd7267d2b41c5f95ef0787 -Author: Behdad Esfahbod -Date: Wed Oct 4 14:47:10 2017 +0200 - - [arabic] Implement Unicode Arabic Mark Ordering Algorithm UTR#53 - - Fixes https://github.com/behdad/harfbuzz/issues/509 - - src/hb-ot-shape-complex-arabic.cc | 75 - +++++++++++++++++++++ - src/hb-ot-shape-complex-default.cc | 1 + - src/hb-ot-shape-complex-hangul.cc | 1 + - src/hb-ot-shape-complex-hebrew.cc | 1 + - src/hb-ot-shape-complex-indic.cc | 1 + - src/hb-ot-shape-complex-myanmar.cc | 2 + - src/hb-ot-shape-complex-private.hh | 12 ++++ - src/hb-ot-shape-complex-thai.cc | 1 + - src/hb-ot-shape-complex-tibetan.cc | 1 + - src/hb-ot-shape-complex-use.cc | 1 + - src/hb-ot-shape-normalize.cc | 8 ++- - test/shaping/Makefile.am | 1 + - .../24b8d24d00ae86f49791b746da4c9d3f717a51a8.ttf | Bin 0 -> 7160 bytes - .../94a5d6fb15a27521fba9ea4aee9cb39b2d03322a.ttf | Bin 0 -> 6816 bytes - test/shaping/record-test.sh | 2 +- - test/shaping/tests/arabic-mark-order.tests | 2 + - 16 files changed, 106 insertions(+), 3 deletions(-) - -commit b6fe0ab636ffac0a246e160b3508cc4841cb1823 -Author: Behdad Esfahbod -Date: Wed Oct 4 13:37:08 2017 +0200 - - Add info_cc() convenience macro - - src/hb-ot-layout-private.hh | 2 ++ - src/hb-ot-shape-normalize.cc | 6 +++--- - 2 files changed, 5 insertions(+), 3 deletions(-) - -commit 7f9e7f8689e1d260596f5256947dfbd474afb1ec -Author: Behdad Esfahbod -Date: Wed Oct 4 13:20:33 2017 +0200 - - Adjust normalizer for out-of-order marks - - We are going to implement Unicode Arabic Mark Ordering Algorithm: - - http://www.unicode.org/reports/tr53/tr53-1.pdf - - which will reorder marks out of their sorted ccc order. Adjust - normalizer to stop combining as soon as dangerous ordering is - detected. - - src/hb-ot-shape-normalize.cc | 62 - ++++++++++++++++++++++++++------------------ - 1 file changed, 37 insertions(+), 25 deletions(-) - -commit a252ad61f077c3b7bbfd8335e1b105a57beb58ce -Author: Behdad Esfahbod -Date: Wed Oct 4 13:07:08 2017 +0200 - - Minor - - src/hb-unicode-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4c05a405acc25c4ef0d70a97c0ae59013abca2df -Author: Behdad Esfahbod -Date: Wed Oct 4 13:06:51 2017 +0200 - - Revert "Treat HAMZA ABOVE similar to SHADD for sorting purposes" - - This reverts commit 5a330575768f5a213072230b9ec8faabac9c5737. - - Proper fix coming soon. - - src/hb-unicode-private.hh | 4 ---- - 1 file changed, 4 deletions(-) - -commit d695cacbf4dd5f77b5e7134cf60553775c515ef1 -Author: Behdad Esfahbod -Date: Wed Oct 4 11:33:47 2017 +0200 - - Shorthand format controls should not be ignored - - Fixes https://github.com/behdad/harfbuzz/issues/503 - - src/hb-unicode-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 50e95229d79bd258ad1d3f6392bfffa128f6df2a -Author: Behdad Esfahbod -Date: Wed Oct 4 11:28:04 2017 +0200 - - Add Chinantec language tags - - Fixes https://github.com/behdad/harfbuzz/issues/516 - - src/hb-ot-tag.cc | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -commit 9786fcd8fdc0adbe8b6269ddd174ee2818d6fa9e -Author: Behdad Esfahbod -Date: Tue Oct 3 17:22:43 2017 +0200 - - Fix GPOS v_origin ordering - - This should affect mark attachment in vertical text. I have no font - to test, - but this sounds the right order. - - Noticed while debugging https://github.com/behdad/harfbuzz/issues/532 - - src/hb-ot-shape.cc | 44 ++++++++++++++++++++------------------------ - 1 file changed, 20 insertions(+), 24 deletions(-) - -commit 63db692fa9efcd760f2e90f93f4e1428d79a3433 -Author: Behdad Esfahbod -Date: Tue Oct 3 16:00:18 2017 +0200 - - [indic] Fix shaping of U+0AFB GUJARATI SIGN SHADDA - - Fixes https://github.com/behdad/harfbuzz/issues/552 - - src/hb-ot-shape-complex-indic-private.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -commit f559c633073f63b9d87cb2440048b4413cfa1c05 -Author: Behdad Esfahbod -Date: Tue Oct 3 15:20:07 2017 +0200 - - [indic] Implement Consonent_With_Stacker - - Fixes https://github.com/behdad/harfbuzz/issues/528 - - src/hb-ot-shape-complex-indic-machine.rl | 5 +++-- - src/hb-ot-shape-complex-indic-private.hh | 7 ++++--- - src/hb-ot-shape-complex-myanmar-machine.rl | 5 +++-- - src/hb-ot-shape-complex-myanmar.cc | 6 +++--- - 4 files changed, 13 insertions(+), 10 deletions(-) - -commit e07669fc43c0e23d337ad984aa128c3a08c9c1bb -Author: Behdad Esfahbod -Date: Tue Oct 3 14:57:14 2017 +0200 - - [use] Implement Consonant_With_Stacker - - Related to https://github.com/behdad/harfbuzz/issues/528 - - src/gen-use-table.py | 7 ++++--- - src/hb-ot-shape-complex-use-machine.rl | 5 +++-- - src/hb-ot-shape-complex-use-private.hh | 3 ++- - src/hb-ot-shape-complex-use-table.cc | 6 ++++-- - 4 files changed, 13 insertions(+), 8 deletions(-) - -commit 3ca9c92aa68956889642690e176c9161ff52edfe -Author: David Corbett -Date: Tue Oct 3 08:07:02 2017 -0400 - - Test Consonant_With_Stacker in Kannada (#530) - - test/shaping/Makefile.am | 1 + - test/shaping/fonts/COPYING | 100 - +++++++++++++++++++++ - .../341421e629668b1a1242245d39238ca48432d35d.ttf | Bin 0 -> 1084 bytes - .../55c88ebbe938680b08f92c3de20713183e0c7481.ttf | Bin 0 -> 3300 bytes - .../663aef6b019dbf45ffd74089e2b5f2496ceceb18.ttf | Bin 0 -> 1204 bytes - .../a014549f766436cf55b2ceb40e462038938ee899.ttf | Bin 0 -> 2720 bytes - .../tests/indic-consonant-with-stacker.tests | 4 + - 7 files changed, 105 insertions(+) - -commit 5d98de1f382254a8a21fd9a04b642268a21be16f -Author: Behdad Esfahbod -Date: Tue Oct 3 13:46:25 2017 +0200 - - Tweak mark-base attachment - - Apparently a base glyph can also become an attached component of a - ligature if the ligature-forming lookup used IgnoreBase. This was - being confused with a non-first component of a MultipleSubst and - hence not matched for mark-attachment. Tweak test to fix. - - Fixes https://github.com/behdad/harfbuzz/issues/543 - - src/hb-ot-layout-gpos-table.hh | 4 +++- - test/shaping/Makefile.am | 1 + - .../sha1sum/98b7887cff91f722b92a8ff800120954606354f9.ttf | Bin 0 -> - 1168 bytes - test/shaping/tests/mark-attachment.tests | 1 + - 4 files changed, 5 insertions(+), 1 deletion(-) - -commit ea772932d2430ebc7ea712a8c46ec2500966225d -Merge: 771970ef c44657a0 -Author: Behdad Esfahbod -Date: Tue Oct 3 13:25:44 2017 +0200 - - Merge commit 'c44657a05d565ec5f2c32ac15d4ecfbee00ac5f7' - -commit 771970efa15fc0b77841b7f0a3e266cdcf51246e -Author: Behdad Esfahbod -Date: Tue Oct 3 13:23:31 2017 +0200 - - Minor - - .travis.yml | 2 +- - appveyor.yml | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 09cbeb2246217dce61ccc0638edb6211facca4b0 -Author: Behdad Esfahbod -Date: Tue Oct 3 13:22:07 2017 +0200 - - Make bots happy - - Fixes https://github.com/behdad/harfbuzz/issues/551 - - test/shaping/tests/indic-syllable.tests | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c44657a05d565ec5f2c32ac15d4ecfbee00ac5f7 -Author: Behdad Esfahbod -Date: Tue Oct 3 13:14:17 2017 +0200 - - Tweak input matching some more - - Followup to 8b2c94c43fd335b944d5e5487265706b8e0f9041 - - Allow matching sequences of marks attached to different ligatures, - as supposedly the base of the subsequent marks were already jumped - over. - - src/hb-ot-layout-gsubgpos-private.hh | 3 --- - 1 file changed, 3 deletions(-) - -commit bbe94777c94637da1bcf944124b5079662618a1e -Author: Khaled Hosny -Date: Mon Oct 2 22:36:14 2017 +0200 - - Print test-suite.log when CI builds fail - - .travis.yml | 2 +- - appveyor.yml | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 1633513996f902e95642fcaf9205dded55f509ff -Author: Behdad Esfahbod -Date: Mon Oct 2 20:28:56 2017 +0200 - - Add test for U+0A51 - - New Indic numbers are: - - BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%) - DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) - GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%) - GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%) - KANNADA: 951201 out of 951913 tests passed. 712 failed (0.0747968%) - KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%) - MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed - (0.0188871%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%) - TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - - Before 71c0a1429db7c7e7e32507be248c9457e1cbfc7d GURMUKHI used to be - at 15, - because Uniscribe seems to allow this character standalone, but - that looks - wrong. - - .../sha1sum/1735326da89f0818cd8c51a0600e9789812c0f94.ttf | Bin 0 -> - 1008 bytes - test/shaping/tests/indic-syllable.tests | 2 ++ - 2 files changed, 2 insertions(+) - -commit 8b2c94c43fd335b944d5e5487265706b8e0f9041 -Author: Behdad Esfahbod -Date: Mon Oct 2 20:02:45 2017 +0200 - - Tweak ligature component matching for ligature formation - - If two marks want to ligate and they belong to different components - of the - same ligature glyph, and said ligature glyph is to be ignored - according to - mark-filtering rules, then allow. - - Example Burmese senquence: - - U+1004,U+103A,U+1039,U+101B,U+103D,U+102D - - Test font provided by Norbert Lindenberg. - - Fixes https://github.com/behdad/harfbuzz/issues/545 - - src/hb-ot-layout-gsubgpos-private.hh | 59 - +++++++++++++++++---- - .../a6c76d1bafde4a0b1026ebcc932d2e5c6fd02442.ttf | Bin 0 -> 1384 bytes - test/shaping/tests/ligature-id.tests | 1 + - 3 files changed, 51 insertions(+), 9 deletions(-) - -commit 71c0a1429db7c7e7e32507be248c9457e1cbfc7d -Author: Behdad Esfahbod -Date: Mon Oct 2 18:56:10 2017 +0200 - - [indic] Fix shaping of U+0A51 - - Mark it as matra below to allow the sequence U+0A15, U+0A51, U+0A47. - Oh well... - - Fixes https://github.com/behdad/harfbuzz/issues/524 - - src/hb-ot-shape-complex-indic.cc | 6 ++++++ - .../sha1sum/85fe0be440c64ac77699e21c2f1bd933a919167e.ttf | Bin 0 -> - 1224 bytes - test/shaping/tests/indic-syllable.tests | 1 + - 3 files changed, 7 insertions(+) - -commit 6eb8950e6265b23d88ba35daab1cff4fc3fe8753 -Author: Behdad Esfahbod -Date: Mon Oct 2 18:30:05 2017 +0200 - - [ucdn] Oops! - - src/hb-ucdn/{unicodedata_db.h => ucdn_db.h} | 4324 - ++++++++++++++------------- - 1 file changed, 2175 insertions(+), 2149 deletions(-) - -commit cbec0cd65e1787b20ea55dd5583a7444938bd381 -Author: Behdad Esfahbod -Date: Mon Oct 2 18:26:52 2017 +0200 - - Remove some really old cruft - - src/hb-common.h | 14 -------------- - src/hb-ucdn/ucdn.h | 14 -------------- - 2 files changed, 28 deletions(-) - -commit b3dff7720c1fac8ca9bdd7087ac368a0af4349e8 -Author: Behdad Esfahbod -Date: Mon Oct 2 18:22:51 2017 +0200 - - [ucdn] Update README - - src/hb-ucdn/README | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 57c55ef8341c760145170dedd002c5afb380e6c8 -Author: Behdad Esfahbod -Date: Mon Oct 2 18:21:27 2017 +0200 - - [ot] Improve shaper selection heuristic - - src/hb-ot-shape-complex-private.hh | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit 5680ef884cf31ab9b42c587ffa260e390c88b8eb -Author: Behdad Esfahbod -Date: Mon Oct 2 18:20:51 2017 +0200 - - [use] Hack to fix shaping of U+1A7F - - Fixes https://github.com/behdad/harfbuzz/issues/525 - - src/gen-use-table.py | 3 +++ - src/hb-ot-shape-complex-use-table.cc | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit 0faa16a25349906ee0ab98b73d9a3d96327a0955 -Author: Behdad Esfahbod -Date: Mon Oct 2 17:15:46 2017 +0200 - - [ucdn] Update to Unicode 10 - - Update to commit c000ebf79c095a7d58cf90090bde5715592c4834 - plus this bug-fix: https://github.com/grigorig/ucdn/issues/18 - - src/hb-ucdn.cc | 4 +++ - src/hb-ucdn/Makefile.sources | 2 +- - src/hb-ucdn/ucdn.c | 69 - ++++++++++++++++++++++---------------------- - src/hb-ucdn/ucdn.h | 7 +++++ - 4 files changed, 47 insertions(+), 35 deletions(-) - -commit ea535a1dfa63f82280607273cd282a6134c334da -Author: Behdad Esfahbod -Date: Mon Oct 2 17:02:39 2017 +0200 - - [use] Update to Unicode 10 - - src/gen-use-table.py | 5 +-- - src/hb-ot-shape-complex-use-table.cc | 69 - ++++++++++++++++++++++++++---------- - 2 files changed, 54 insertions(+), 20 deletions(-) - -commit 29c244aff6e3c359796bb033496c14ad5537dbe0 -Author: Behdad Esfahbod -Date: Mon Oct 2 16:36:21 2017 +0200 - - Minor - - src/gen-use-table.py | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 1535f8c67216e8559fa48691fe6d9c2726c08973 -Author: Behdad Esfahbod -Date: Mon Oct 2 16:12:18 2017 +0200 - - Add Unicode 10 scripts - - src/hb-common.h | 8 ++++++++ - src/hb-ot-shape-complex-private.hh | 5 +++++ - 2 files changed, 13 insertions(+) - -commit bdbe974f525d33b8c735fb5d7fd76c236c4dd0ea -Author: Behdad Esfahbod -Date: Mon Oct 2 10:00:31 2017 -0400 - - [indic] Update table to Unicode 10 - - src/hb-ot-shape-complex-indic-table.cc | 70 - +++++++++++++++++----------------- - 1 file changed, 36 insertions(+), 34 deletions(-) - -commit cc79b666bc4a81a0342ed1e706dd7db109739dc5 -Author: Behdad Esfahbod -Date: Mon Oct 2 09:19:15 2017 -0400 - - [indic] Add test for 1a0a356a0f2b2932581e4fd0437c01c058f4f6d1 - - https://github.com/behdad/harfbuzz/issues/538 - - .../sha1sum/87f85d17d26f1fe9ad28d7365101958edaefb967.ttf | Bin 0 -> - 1000 bytes - test/shaping/tests/indic-syllable.tests | 1 + - 2 files changed, 1 insertion(+) - -commit 819cc360499a5f136325b5a1a18098ebc2aee081 -Author: Behdad Esfahbod -Date: Mon Oct 2 09:03:16 2017 -0400 - - [indic] Move manual code out of generated table - - src/hb-ot-shape-complex-indic-table.cc | 7 ------- - src/hb-ot-shape-complex-indic.cc | 5 +++++ - 2 files changed, 5 insertions(+), 7 deletions(-) - -commit da4866f7177a4e2836cc70b844e2e64ab671761f -Author: Behdad Esfahbod -Date: Mon Oct 2 08:57:06 2017 -0400 - - [arabic] Update table to Unicode 10 data - - src/hb-ot-shape-complex-arabic-table.hh | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -commit 1a0a356a0f2b2932581e4fd0437c01c058f4f6d1 -Author: Behdad Esfahbod -Date: Mon Oct 2 08:49:23 2017 -0400 - - [indic] Categorize U+0980 BENGALI ANJI as placeholder - - Fixes https://github.com/behdad/harfbuzz/issues/538 - - src/hb-ot-shape-complex-indic.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 19e77e01bc13f44138e1d50533327d314dd0a018 -Author: jfkthame -Date: Mon Oct 2 13:08:49 2017 +0100 - - [shape-plan] Don't look for a cached plan if variation coords are - specified. Fixes #549. (#550) - - This is a temporary hack just to avoid incorrect shaping results, - pending proper support - for caching shape-plans with variation coordinates. - - src/hb-shape-plan.cc | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -commit db446cce4ef4cd1a4f1652e3aa3e5e5ed1881d39 -Author: Behdad Esfahbod -Date: Sun Oct 1 12:06:00 2017 -0400 - - Add RELEASING.md to dist - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 933a81d74fee0d5856fc7b15b58a16e0e0168e48 -Author: ebraminio -Date: Sun Oct 1 19:35:24 2017 +0330 - - Add release checklist (#529) - - RELEASING.md | 96 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 96 insertions(+) - -commit 66128d3cfb12705530141b5a4bd2706f0cbb9fc5 -Author: mhosken -Date: Wed Sep 27 01:29:45 2017 +0700 - - Fix missing xscale in rtl graphite unpacking (#541) - - * Fix missing xscale in rtl graphite unpacking - - * Oops didn't need to mess with yscale - - src/hb-graphite2.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3ca69c8c32b8408dd9f8e6e866cd07e58c0d79b7 -Author: Behdad Esfahbod -Date: Thu Sep 14 20:50:35 2017 -0400 - - Use strtod_l() to correctly parse decimal numbers in French & - other locales - - Test with, eg.: - $ LC_ALL=fr_FR.utf-8 ./hb-view NotoSansArabic-VF.ttf بهداد - --variations wght=1.2 - - configure.ac | 4 ++-- - src/hb-common.cc | 53 - +++++++++++++++++++++++++++++++++++++++++++++++++++-- - 2 files changed, 53 insertions(+), 4 deletions(-) - -commit 9355218f582a6c2425cadcb868204f81b17d5767 -Author: Behdad Esfahbod -Date: Sat Sep 9 11:21:07 2017 -0700 - - [util] Add a few shorthand forms for commandline options - - -o, -O, -u, -v, -V - - util/options.cc | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit a984e0c4d921a6dff82cc1b5c686cc957215bc7e -Author: Behdad Esfahbod -Date: Tue Sep 5 11:18:35 2017 -0700 - - 1.5.1 - - NEWS | 13 +++++++++++++ - configure.ac | 2 +- - 2 files changed, 14 insertions(+), 1 deletion(-) - -commit d03f11f246efec13e48fd68a9ce136db771b22bf -Author: Behdad Esfahbod -Date: Mon Sep 4 20:14:13 2017 -0700 - - Fix buffer_diff for empty buffers - - If buffers are empty, content type should be ignored. - - This fixes last of the failing tests: fuzzed.tests. Green again! - - src/hb-buffer.cc | 2 +- - src/hb-buffer.h | 4 ++-- - util/options.hh | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit 7cc348041d0b026ca6d2c240134e8f9100600e99 -Author: Behdad Esfahbod -Date: Mon Sep 4 20:04:59 2017 -0700 - - [unsafe-to-break] Fix unsafe-to-break for cluster-level=1 - - Fixes tests/shaping/tests/cluster.tests - - src/hb-ot-shape.cc | 17 +++++++++++------ - 1 file changed, 11 insertions(+), 6 deletions(-) - -commit 61a9d7e6d0e6df7b48f58fa1679f0f93407993b2 -Author: Behdad Esfahbod -Date: Mon Sep 4 19:48:52 2017 -0700 - - Minor - - test/shaping/run-tests.sh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 03a5a6f873e5a50011f1c2418f5ceab86d9c2931 -Author: Behdad Esfahbod -Date: Fri Sep 1 19:09:54 2017 -0700 - - [util] Add --unicodes to hb-view / hb-shape - - Fixes https://github.com/behdad/harfbuzz/issues/154 - - test/shaping/hb_test_tools.py | 2 +- - util/options.cc | 65 - ++++++++++++++++++++++++++++++++++++++++++- - 2 files changed, 65 insertions(+), 2 deletions(-) - -commit 0e5b475d98dd67e927534508fe2cd8dc9765e24e -Author: Behdad Esfahbod -Date: Fri Sep 1 18:28:47 2017 -0700 - - Minor - - test/shaping/run-tests.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3e1fc6d18ba0019bbeede78b95070a6e7156c314 -Author: Behdad Esfahbod -Date: Fri Sep 1 10:46:48 2017 -0700 - - Minor - - test/shaping/run-tests.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 04f009f84891b513087830c7aa1b755addd016d9 -Author: Behdad Esfahbod -Date: Fri Sep 1 10:38:25 2017 -0700 - - Add test accidentally removed in previous commit - - test/shaping/tests/indic-syllable.tests | 1 + - 1 file changed, 1 insertion(+) - -commit 06cb162cd79cc922b572e5f532ca867223b6dc4c -Author: Behdad Esfahbod -Date: Fri Sep 1 10:34:21 2017 -0700 - - [indic] Treat Consonant_With_Stacker as consonant - - Fixes https://github.com/behdad/harfbuzz/issues/528 - "Kannada JIHVAMULIYA and UPADHMANIYA insert dotted circles" - - src/hb-ot-shape-complex-indic-private.hh | 2 +- - .../sha1sum/3d0b77a2360aa6faa1385aaa510509ab70dfbeff.ttf | Bin 0 -> - 988 bytes - test/shaping/tests/indic-syllable.tests | 3 ++- - 3 files changed, 3 insertions(+), 2 deletions(-) - -commit c449d2d8c9e27502380faa0b568a374c838ac9a7 -Author: Behdad Esfahbod -Date: Wed Aug 30 17:28:22 2017 -0700 - - [unsafe-to-break] Mark during fraction-slash formation - - Fixes tests/automatic-fractions.tests - - src/hb-ot-shape.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit b262ebcc9c9539076d17751e9bae06a8fd5001ff -Author: Behdad Esfahbod -Date: Wed Aug 30 17:25:10 2017 -0700 - - [util] Fix cluster sweeping during --verify - - If *I* get this wrong in 2017, I have no idea how others get their - head around - cluster math... - - Fixes tests/arabic-fallback-shaping.tests - - util/options.hh | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -commit 69d701b02e5ebc3597b0d0576dbab8e1ece51944 -Author: Behdad Esfahbod -Date: Wed Aug 30 17:07:29 2017 -0700 - - [util] When --verify fails, return reconstructed shape results - - util/options.hh | 8 +++----- - util/view-cairo.hh | 2 +- - 2 files changed, 4 insertions(+), 6 deletions(-) - -commit 099472e08bf81d6dd8ca1647999592df6b7fdfb9 -Author: Behdad Esfahbod -Date: Wed Aug 30 16:45:06 2017 -0700 - - hb_buffer_diff() tweak - - I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE - are not - returned. Abused a value of -1 for that. hb-shape now uses it. - Fixes two - of the six tests failing with --verify in test/shaping/run-tests.sh. - - src/hb-buffer.cc | 16 ++++++++-------- - test/shaping/run-tests.sh | 4 ++-- - util/options.hh | 2 +- - 3 files changed, 11 insertions(+), 11 deletions(-) - -commit e8b364b86023731e0416ab4eb433467c4b7a0ec2 -Author: Behdad Esfahbod -Date: Wed Aug 23 15:00:45 2017 -0700 - - 1.5.0 - - NEWS | 44 ++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 45 insertions(+), 1 deletion(-) - -commit 224d20e4e1c62416ff842a81188dfeff069f895b -Author: Behdad Esfahbod -Date: Wed Aug 23 14:41:48 2017 -0700 - - [docs] Minor - - docs/harfbuzz-docs.xml | 12 ++++++++++++ - docs/harfbuzz-sections.txt | 10 ++++++++++ - src/hb-buffer.cc | 8 +++++++- - 3 files changed, 29 insertions(+), 1 deletion(-) - -commit 4387b059a0603b17024de48d57bee6a3b5e9e56c -Author: Behdad Esfahbod -Date: Wed Aug 23 14:35:58 2017 -0700 - - [test] Add --verify to hb-shape - - Disabled for now. Will enable and fix failures after next release. - - test/shaping/run-tests.sh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit b2dd0c1c32ba30714355baca1857d64c1608b4c2 -Author: Behdad Esfahbod -Date: Wed Aug 23 13:12:54 2017 -0700 - - Add hb_glyph_info_get_glyph_flags() - - New API. - - src/hb-buffer.cc | 17 +++++++++++++++++ - src/hb-buffer.h | 9 ++++++++- - 2 files changed, 25 insertions(+), 1 deletion(-) - -commit 3e8f4f145255a905029c6b5cb8f40e6dcca096f3 -Author: Behdad Esfahbod -Date: Tue Aug 22 17:56:25 2017 -0700 - - Rename HB_BUFFER_DIFF_FLAG_MASK_MISMATCH to - HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH - - src/hb-buffer.cc | 2 +- - src/hb-buffer.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit a9e52a1af4c039bc53090a9c1e4c1136fc542605 -Author: Behdad Esfahbod -Date: Tue Aug 15 17:30:18 2017 -0700 - - [util] Prefix trace lines with "trace:", and error lines with "error:" - - util/hb-shape.cc | 12 ++++++------ - util/options.cc | 4 ++-- - util/options.hh | 1 + - 3 files changed, 9 insertions(+), 8 deletions(-) - -commit 7ea10c35a34c894e87ee6576d6d4ba3e78535a27 -Author: Behdad Esfahbod -Date: Tue Aug 15 17:12:28 2017 -0700 - - [util] Respect eot/bot in safe-to-break test; hook up hb_buffer_diff() - - util/options.hh | 38 ++++++++++++++++++++++++++------------ - 1 file changed, 26 insertions(+), 12 deletions(-) - -commit 8820ba29dfd2e1302377da62a0527939a0d7d9fb -Author: Behdad Esfahbod -Date: Tue Aug 15 17:12:21 2017 -0700 - - Fix warning about "may be used uninitialized" - - src/hb-ot-layout-common-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 91770e1c567d87fc513e8d39576e51c3853b1f23 -Author: Emil A Eklund (eae) -Date: Tue Aug 15 16:25:18 2017 -0700 - - Fix signed/unsigned warning (#522) - - Change hb_buffer_diff to explicitly cast result of abs to unsigned - when - comparing with position_fuzz to avoid unsafe signed/unsigned - comparions - warnings on windows. - - src/hb-buffer.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 587f15ece316df7c86f386518aba48a6a44c061d -Author: Behdad Esfahbod -Date: Mon Aug 14 15:23:10 2017 -0700 - - Minor - - src/hb-face-private.hh | 8 ++++---- - src/hb-face.cc | 8 ++++---- - src/hb-font-private.hh | 14 +++++++------- - src/hb-font.cc | 14 +++++++------- - 4 files changed, 22 insertions(+), 22 deletions(-) - -commit a88e2a73f34067381a81577c3f60bc5c2a6f2eea -Author: Behdad Esfahbod -Date: Mon Aug 14 14:49:21 2017 -0700 - - [util] Fix leaks - - util/options.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 338e61ad1b40110a70c4fb497b117bcb07548467 -Author: Behdad Esfahbod -Date: Mon Aug 14 12:36:38 2017 -0700 - - Fix typo - - src/hb-buffer.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 331d66c7fe27a7649454486000827f0c36d6eb36 -Author: Jonathan Kew -Date: Sat Jul 19 23:09:09 2014 +0100 - - Add function to compare two buffers - - Based on patch from Jonathan Kew. - - Needs more cleaning up and documentation. - - New API: - hb_buffer_diff_flags_t - hb_buffer_diff() - - src/hb-buffer-private.hh | 1 + - src/hb-buffer-serialize.cc | 4 +-- - src/hb-buffer.cc | 82 - ++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-buffer.h | 39 ++++++++++++++++++++++ - 4 files changed, 124 insertions(+), 2 deletions(-) - -commit 219af509ef8269e51f1396b18521c75b000d8dda -Author: Behdad Esfahbod -Date: Sun Aug 13 15:10:26 2017 -0700 - - [graphite2] Fix warning - - src/hb-graphite2.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 239119a631fee7701be4d444adeda808b915863a -Author: Behdad Esfahbod -Date: Sun Aug 13 15:08:34 2017 -0700 - - [unsafe-to-break] Mark all positions as unsafe in alternative shapers - - src/hb-coretext.cc | 6 ++++++ - src/hb-directwrite.cc | 2 ++ - src/hb-graphite2.cc | 1 + - src/hb-uniscribe.cc | 2 ++ - 4 files changed, 11 insertions(+) - -commit 05fabbd03eae7b84ebbce7abbdc55c1d67ceacf9 -Author: Behdad Esfahbod -Date: Fri Aug 11 19:51:06 2017 -0700 - - [unsafe-to-break] Towards verifying unsafe-to-break in --verify - - We break and shape fragments and reconstruct shape result from them. - Remains to compare to original buffer. Going to add some buffer - comparison API and use here, instead of open-coding. - - src/hb-buffer.cc | 5 ++- - util/options.hh | 131 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++- - 2 files changed, 133 insertions(+), 3 deletions(-) - -commit 6ce25f57c663f86326262a5ff7a42288f358ed51 -Author: Behdad Esfahbod -Date: Fri Aug 11 19:31:05 2017 -0700 - - Fix hb_buffer_append() - - Ouch! - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1c17c2bde5bdf74a652b78d71b64e3aaa75ec43d -Author: Behdad Esfahbod -Date: Fri Aug 11 19:06:07 2017 -0700 - - [unsafe-to-break] Copy flag to all glyphs in a cluster - - Makes consumption easier. - - src/hb-buffer-private.hh | 46 - +++++++++++++++++++++++++++++++++++++++++++++ - src/hb-buffer.cc | 28 ++++++--------------------- - src/hb-ot-layout-private.hh | 3 +-- - src/hb-ot-shape.cc | 27 ++++++++++++++++++++++++++ - 4 files changed, 80 insertions(+), 24 deletions(-) - -commit ec104e5912417c0fdc8c7cb004c684aea26eb1dc -Author: Behdad Esfahbod -Date: Fri Aug 11 18:24:27 2017 -0700 - - [unsafe-to-break] Mark unsafe is cluster merging is disabled - - We were relying on cluster merges not requiring unsafe flagging - because - they get merged. If cluster level requests no merging, then we flag - unsafe when merge would have happened. - - src/hb-buffer.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 39a97494304a7e6b8999e59a92ce4d24ba9b881a -Author: Behdad Esfahbod -Date: Fri Aug 11 15:52:06 2017 -0700 - - New API: hb_buffer_append() - - src/hb-buffer.cc | 52 - +++++++++++++++++++++++++++++++++++++++++++++++++++- - src/hb-buffer.h | 6 ++++++ - 2 files changed, 57 insertions(+), 1 deletion(-) - -commit d2052278f24b3279503d5fa215a7834c2d21f91c -Author: Behdad Esfahbod -Date: Fri Aug 11 15:12:25 2017 -0700 - - [util] Add --verify to hb-shape / hb-view that verifies shape results - - Right now it checks for monotone cluster values. Other checks to - be added. - - util/hb-shape.cc | 7 ++----- - util/options.cc | 2 ++ - util/options.hh | 42 +++++++++++++++++++++++++++++++++++++++--- - util/shape-consumer.hh | 12 ++++++++---- - util/view-cairo.hh | 7 ++----- - 5 files changed, 53 insertions(+), 17 deletions(-) - -commit 14a639ea592cba971e5548f0942dd395c602c7a8 -Author: Behdad Esfahbod -Date: Fri Aug 11 11:30:39 2017 -0700 - - [unsafe-to-break] Fix Use-of-uninitialized-value in - unsafe_to_break_set_mask - - Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3011 - - src/hb-ot-shape-complex-hangul.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e43aad55524cc1d4008ce337c2863a8546706d2e -Author: Behdad Esfahbod -Date: Thu Aug 10 20:54:15 2017 -0700 - - [unsafe-to-break] Flag in Thai PUA shaping - - src/hb-ot-shape-complex-thai.cc | 1 + - 1 file changed, 1 insertion(+) - -commit eae009602b5503c53a7f8ab053912563a97bbfa4 -Author: Behdad Esfahbod -Date: Thu Aug 10 20:50:48 2017 -0700 - - [unsafe-to-break] Flag in Hangul shaper - - src/hb-ot-shape-complex-hangul.cc | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit b65aa1cd4778e0103a2a1ed0e1b1012a09cf1f48 -Author: Behdad Esfahbod -Date: Thu Aug 10 20:32:02 2017 -0700 - - [unsafe-to-break] Flag during mark attachment - - src/hb-ot-layout-gpos-table.hh | 1 + - 1 file changed, 1 insertion(+) - -commit c4712f8e372ee42749cda56cc7c28dc110a07ea9 -Author: Behdad Esfahbod -Date: Thu Aug 10 20:27:21 2017 -0700 - - Fix test - - test/api/test-buffer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 882ebdadd6b3420ef2d3f296cd7416c76ee9901f -Author: Behdad Esfahbod -Date: Thu Aug 10 20:23:17 2017 -0700 - - [unsafe-to-break] Flag during cursive positioning - - src/hb-ot-layout-gpos-table.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 2d158ca37673f2b262f2381854559d6872d8fb45 -Author: Behdad Esfahbod -Date: Thu Aug 10 20:19:15 2017 -0700 - - [unsafe-to-break] Flag during kerning - - src/hb-ot-layout-gpos-table.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit a7c4972ccefaaf48dfd6f0f4588df0c785aa33d2 -Author: Behdad Esfahbod -Date: Thu Aug 10 20:16:15 2017 -0700 - - [unsafe-to-break] Flag during fallback positioning - - src/hb-ot-shape-fallback.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit e2a2b5b229c92f1de3b9c3ea111cd1ffa75b18fc -Author: Behdad Esfahbod -Date: Thu Aug 10 20:10:12 2017 -0700 - - [unsafe-to-break] Be careful with flag propagation when merging - clusters - - src/hb-buffer-private.hh | 13 +++++++++++++ - src/hb-buffer.cc | 17 ++++++++++------- - src/hb-ot-shape.cc | 3 ++- - 3 files changed, 25 insertions(+), 8 deletions(-) - -commit f2868c200896a96a34fc1bba4d43eddc03789da2 -Author: Behdad Esfahbod -Date: Thu Aug 10 19:58:05 2017 -0700 - - Set mask to 0, instead of 1, by default - - This shouldn't matter. - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9e005c5d86cd4c19383093f76a237cc8f5f12fb7 -Author: Behdad Esfahbod -Date: Thu Aug 10 18:45:33 2017 -0700 - - [unsafe-to-break] Mark Indic-like clusters as unsafe-to-break - - src/hb-ot-shape-complex-indic.cc | 2 ++ - src/hb-ot-shape-complex-myanmar.cc | 2 ++ - src/hb-ot-shape-complex-use.cc | 2 ++ - 3 files changed, 6 insertions(+) - -commit 5287ccc935c86b6f5e6867592b64bc2461384f45 -Author: Behdad Esfahbod -Date: Thu Aug 10 14:25:53 2017 -0700 - - [unsafe-to-break] Allocate public bits from 0 - - src/hb-buffer.h | 5 +++-- - src/hb-ot-map.cc | 15 +++++++++------ - 2 files changed, 12 insertions(+), 8 deletions(-) - -commit 91ce0c45d6782057a2736f7b76a3c49cadbea070 -Author: Behdad Esfahbod -Date: Thu May 5 16:13:03 2016 +0100 - - [safe-to-break] Fix logic when there is no out-buffer - - src/hb-buffer.cc | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit a043c99f778ffdde15d212fe23468cb9f51036bc -Author: Behdad Esfahbod -Date: Wed May 4 19:51:22 2016 +0200 - - [unsafe-to-break] Simplify logic - - Always use the algorithm for non-monotone case. It's more robust. - - src/hb-buffer.cc | 57 - +++++++++++++------------------------------------------- - 1 file changed, 13 insertions(+), 44 deletions(-) - -commit 40bd7e9a1cf422b17f15d0f66547bde9098e6ef3 -Author: Behdad Esfahbod -Date: Mon May 2 14:47:45 2016 +0200 - - [unsafe-to-break] Add UNSAFE_TO_BREAK flag - - Not all shapers code is updated to set this properly. - GSUB and Arabic shaper are updated. - GPOS and other shapers are NOT. - - Fixes https://github.com/behdad/harfbuzz/issues/224 - - src/hb-buffer-private.hh | 26 ++++++++------ - src/hb-buffer-serialize.cc | 24 +++++++++---- - src/hb-buffer.cc | 67 - ++++++++++++++++++++++++++++++++++++ - src/hb-buffer.h | 10 ++++-- - src/hb-ot-layout-gsub-table.hh | 7 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 27 ++++++++++----- - src/hb-ot-map.cc | 2 ++ - src/hb-ot-shape-complex-arabic.cc | 3 ++ - util/hb-shape.cc | 2 ++ - util/options.cc | 1 + - util/options.hh | 2 ++ - 11 files changed, 142 insertions(+), 29 deletions(-) - -commit 3e44748ebe1524aef6feb01c42d342e8a2d77d34 -Author: Behdad Esfahbod -Date: Wed Aug 9 22:09:01 2017 -0700 - - [util] Fix two other Coverity warnings - - util/options.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 356f93b64b6005f44bcfc329f6f9e150ec32fc26 -Author: Behdad Esfahbod -Date: Wed Aug 9 22:06:53 2017 -0700 - - [util] Fix warning - - util/shape-consumer.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit ac8c4e56d8b8c2e7a8f4802f83deb935bd6bbbd3 -Author: Behdad Esfahbod -Date: Wed Aug 9 22:05:08 2017 -0700 - - [ft] Fix theoretical leak - - src/hb-ft.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 5a330575768f5a213072230b9ec8faabac9c5737 -Author: Behdad Esfahbod -Date: Wed Aug 9 17:23:28 2017 -0700 - - Treat HAMZA ABOVE similar to SHADD for sorting purposes - - Part of https://github.com/behdad/harfbuzz/issues/509 - - src/hb-unicode-private.hh | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 68af14d5cc666ebf0596766cbed87cc9404fd50f -Author: Behdad Esfahbod -Date: Wed Aug 9 17:09:21 2017 -0700 - - Protect against div-by-zero in CBDT extent code - - Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1452#c5 - - CC https://github.com/behdad/harfbuzz/issues/139 - - src/hb-ft.cc | 4 ++-- - src/hb-ot-font.cc | 6 +++--- - src/hb-shape-plan.cc | 4 ++-- - 3 files changed, 7 insertions(+), 7 deletions(-) - -commit 3b54d0337e6119a4397573f5589b771a68b2ecd9 -Author: Behdad Esfahbod -Date: Tue Aug 8 18:37:03 2017 -0700 - - Add tests for 'avar' fix 5dc30451b80f6bb0079424a130875c10486e4d34 - - test/shaping/Makefile.am | 1 + - .../d23d76ea0909c14972796937ba072b5a40c1e257.ttf | Bin 0 -> 1812 bytes - test/shaping/record-test.sh | 1 + - test/shaping/tests/variations-rvrn.tests | 100 - +++++++++++++++++++++ - 4 files changed, 102 insertions(+) - -commit 7917792f01603f91b703d12e12d8baced655a615 -Author: Behdad Esfahbod -Date: Tue Aug 8 13:17:03 2017 -0700 - - 1.4.8 - - NEWS | 9 +++++++++ - configure.ac | 2 +- - 2 files changed, 10 insertions(+), 1 deletion(-) - -commit 5dc30451b80f6bb0079424a130875c10486e4d34 -Author: Behdad Esfahbod -Date: Mon Aug 7 21:37:07 2017 -0700 - - Two fixes to avar mapping - - 1. Handle segment with two entries correctly, - - 2. Fix rounding math. Ouch! - - Fixes https://github.com/behdad/harfbuzz/issues/521 - - src/hb-ot-var-avar-table.hh | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -commit dc2c418e397bf251faf03d824fc780ac19bb1dee -Author: Behdad Esfahbod -Date: Thu Aug 3 12:34:15 2017 +0100 - - [check-defs/symbols.sh] Drop empty-symbol lines - - Fixes https://github.com/behdad/harfbuzz/issues/510 - - src/check-defs.sh | 2 +- - src/check-symbols.sh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 6f38845d9c6852812eb1963a1fd7e5ec771e5ce3 -Author: Behdad Esfahbod -Date: Wed Jul 19 17:20:55 2017 -0700 - - [hb-shape] Rename --show-messages to --trace - - https://github.com/behdad/harfbuzz/issues/506 - - util/hb-shape.cc | 2 +- - util/options.cc | 2 +- - util/options.hh | 4 ++-- - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit e60350551addbd945491f662e98464c9e3e9fec5 -Author: Behdad Esfahbod -Date: Tue Jul 18 19:14:19 2017 -0700 - - [hb-shape] Improve shaping-debug output - - Before, that was printed using --debug (and in both hb-shape and - hb-view). - Changed it, now hb-shape has a new command-line argument called - --show-messages. - When invoked, it also respects other output formatting options. - The messages - are better formatted and printed to te same place that hb-shape - output is - directed to. Previously they were written to stderr. - - Fixes https://github.com/behdad/harfbuzz/issues/506 - - util/hb-ot-shape-closure.cc | 10 +++++++--- - util/hb-shape.cc | 33 +++++++++++++++++++++++++++++++-- - util/main-font-text.hh | 27 ++++----------------------- - util/options.cc | 10 +++++++--- - util/options.hh | 2 ++ - util/shape-consumer.hh | 18 ++++++++++++------ - util/view-cairo.hh | 4 ++-- - 7 files changed, 65 insertions(+), 39 deletions(-) - -commit 65f64d14005e4d0808e818b3c97bd3d600628011 -Author: Ebrahim Byagowi -Date: Wed Jul 19 02:42:53 2017 +0430 - - Unbreak arm-none-eabi build again (#514) - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fc15e60eadfc89aca5b8815262b8ee888f285169 -Author: Behdad Esfahbod -Date: Tue Jul 18 11:24:42 2017 -0700 - - 1.4.7 - - NEWS | 10 ++++++++++ - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit c1432bce3cfc1156d19b21892d4083afa8838d94 -Author: Behdad Esfahbod -Date: Fri Jul 14 17:34:47 2017 +0100 - - [arabic] Adjust feature order again - - Fixes https://github.com/behdad/harfbuzz/issues/505 - - src/hb-ot-shape-complex-arabic.cc | 7 ++++++- - .../sha1sum/bf39b0e91ef9807f15a9e283a21a14a209fd2cfc.ttf | Bin 0 -> - 7312 bytes - test/shaping/tests/arabic-feature-order.tests | 1 + - 3 files changed, 7 insertions(+), 1 deletion(-) - -commit 9813be3d1212eef5a525d64978e0bb2032cd44d9 -Author: Cosimo Lupo -Date: Fri Jul 14 17:11:46 2017 +0100 - - [coretext] Allow to disable kern (#508) - - * Minor - - * [coretext] Fix leak - - * [coretext] Do not reset num_features - - * [coretext] allow to disable kern; re-enabling doesn't seem to - be working - - src/hb-coretext.cc | 41 ++++++++++++++++++++++++++++++++--------- - 1 file changed, 32 insertions(+), 9 deletions(-) - -commit 9dd29c681e8e856c139f20f405d7c0e04928aa70 -Author: Behdad Esfahbod -Date: Fri Jul 14 17:01:27 2017 +0100 - - [use] Allow up to two medial-below letters - - Fixes https://github.com/behdad/harfbuzz/issues/376 - - src/hb-ot-shape-complex-use-machine.rl | 3 ++- - .../sha1sum/e68a88939e0f06e34d2bc911f09b70890289c8fd.ttf | Bin 0 -> - 2192 bytes - test/shaping/tests/use-syllable.tests | 3 +++ - 3 files changed, 5 insertions(+), 1 deletion(-) - -commit 216b003c914d2209a6846b1ce61fe7a3421c789c -Author: Behdad Esfahbod -Date: Fri Jul 14 16:38:51 2017 +0100 - - [use] Fix shaping of U+AA29 CHAM VOWEL SIGN AA - - Part of https://github.com/behdad/harfbuzz/issues/376 - Also see https://github.com/roozbehp/unicode-data/issues/6 - - Test added, using NotoSansCham built from Noto Phase III sources. - - src/gen-arabic-table.py | 2 +- - src/gen-indic-table.py | 2 +- - src/gen-use-table.py | 8 +++++--- - src/hb-ot-shape-complex-use-table.cc | 4 ++-- - test/shaping/Makefile.am | 1 + - .../sha1sum/96490dd2ff81233b335a650e7eb660e0e7b2eeea.ttf | Bin 0 -> - 1368 bytes - test/shaping/tests/use-syllable.tests | 1 + - 7 files changed, 11 insertions(+), 7 deletions(-) - -commit f1cd7ca89306ff252816e9747177d8dab00524f6 -Author: Behdad Esfahbod -Date: Fri Jul 14 15:59:40 2017 +0100 - - [indic] Add github URL - - src/hb-ot-shape-complex-indic.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 3cc84f45b995b243fca82ce18481f11d69846eb5 -Author: Behdad Esfahbod -Date: Fri Jul 14 15:50:22 2017 +0100 - - [indic] Fix https://github.com/behdad/harfbuzz/issues/478 - - src/hb-ot-shape-complex-indic-private.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 8 ++++++++ - test/shaping/Makefile.am | 1 + - .../sha1sum/54674a3111d209fb6be0ed31745314b7a8d2c244.ttf | Bin 0 -> - 1352 bytes - test/shaping/tests/indic-syllable.tests | 1 + - 5 files changed, 11 insertions(+), 1 deletion(-) - -commit e359a4b8f57bbc778843f233c4f5d6fb07ff11d9 -Author: Behdad Esfahbod -Date: Fri Jul 14 14:14:35 2017 +0100 - - [indic] Disable automatic ZWNJ handling for Indic features - - Fixes https://github.com/behdad/harfbuzz/issues/294 - - Also fixes a bunch of other Indic issues. Test results after: - - BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%) - DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) - GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%) - GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) - KANNADA: 951201 out of 951913 tests passed. 712 failed (0.0747968%) - KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%) - MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed - (0.0188871%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%) - TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - - Before: - - BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%) - DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) - GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) - GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) - KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%) - KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) - MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed - (0.0188871%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%) - TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - test/shaping/Makefile.am | 1 + - .../sha1sum/f443753e8ffe8e8aae606cfba158e00334b6efb1.ttf | Bin 0 -> - 3972 bytes - test/shaping/tests/indic-joiners.tests | 2 ++ - 4 files changed, 5 insertions(+), 2 deletions(-) - -commit cdf1fd0627c5517c948ca05d2e9427c3e441adf9 -Author: Behdad Esfahbod -Date: Fri Jul 14 12:43:34 2017 +0100 - - [indic] Add infrastructure to disable ZWNJ-skipping in - context-matching - - Not used yet. - - src/hb-ot-layout-gsubgpos-private.hh | 45 - ++++++++++++++++++++---------------- - src/hb-ot-layout.cc | 1 + - src/hb-ot-map-private.hh | 10 +++++--- - src/hb-ot-map.cc | 8 +++++-- - 4 files changed, 39 insertions(+), 25 deletions(-) - -commit 3a73e0d5e17b87ac7e307d855c2cb43d040bd195 -Author: Dominik Schlösser -Date: Fri Jul 14 13:14:55 2017 +0200 - - Shaping tests for Tibetan vowels (#446) - - * Shaping tests for Tibetan vowels - - * Test-cases for the Dzongkha contractions with multiple vowel-signs - added. - - * going to be removed - - * Extended contraction-test-cases to all test cases in - contractions.txt that actually use multiple-vowels (113 cases) - - test/shaping/Makefile.am | 3 ++ - .../2de1ab4907ab688c0cfc236b0bf51151db38bf2e.ttf | Bin 0 -> 125256 - bytes - .../82f4f3b57bb55344e72e70231380202a52af5805.ttf | Bin 0 -> 11116 bytes - .../a02a7f0ad42c2922cb37ad1358c9df4eb81f1bca.ttf | Bin 0 -> 106096 - bytes - test/shaping/tests/tibetan-contractions-1.tests | 60 - +++++++++++++++++++++ - test/shaping/tests/tibetan-contractions-2.tests | 53 - ++++++++++++++++++ - test/shaping/tests/tibetan-vowels.tests | 11 ++++ - 7 files changed, 127 insertions(+) - -commit 4e21ec546932c2a982aa52fce718c1a0d90a71d6 -Author: Dominik Schlösser -Date: Fri Jul 14 13:14:23 2017 +0200 - - Fix for reordering of Tibetan vowel u (#443) - - * Undone change for Tibetan vowel u - - * removed comment on reordering that became invalid with roll-back - - * Support for Dzongkha contractions with multiple vowel-signs - - * Removed non-functional and unnecessary defines for - HB_MODIFIED_COMBINING_CLASS_CCC138,140 - - src/hb-unicode-private.hh | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit ad52e044bcf733bcc6c0373bafcd78a8c0beb400 -Author: fanc999 -Date: Wed Jun 21 22:19:57 2017 +0800 - - Win32/NMake builds: Support builds from GIT (#498) - - Add Python scripts to generate the full win32/config.h.win32 and - src/hb-version.h which can be used to build directly from a GIT - checkout. Since the scripts are currently intended for building - from a - GIT checkout, these are not distributed in the release tarballs. - - Also, support the re-build of Ragel-generated .hh headers using - the NMake - build system, and allow one to specify the path of the Ragel - executable - if a suitable one cannot be found in the PATH. - - Update the Win32/NMake build documentation to let people know - about how - these mechanisms can be utilized. - - win32/README.txt | 20 ++++++- - win32/build-rules-msvc.mak | 5 +- - win32/config-msvc.mak | 7 +++ - win32/create-lists-msvc.mak | 9 ++++ - win32/generate-msvc.mak | 6 +++ - win32/info-msvc.mak | 8 ++- - win32/pc_base.py | 124 - ++++++++++++++++++++++++++++++++++++++++++++ - win32/replace.py | 115 - ++++++++++++++++++++++++++++++++++++++++ - win32/setup.py | 62 ++++++++++++++++++++++ - 9 files changed, 353 insertions(+), 3 deletions(-) - -commit 3b0e47ca006b8fe6a24ace72dd931e3649bb8e6f -Author: Ebrahim Byagowi -Date: Mon Jun 19 14:47:09 2017 +0430 - - Fix arm-none-eabi build (fixes #451) (#496) - - CMakeLists.txt | 4 ++-- - src/hb-buffer.cc | 4 ++-- - src/hb-common.cc | 28 ++++++++++++++++++++-- - src/hb-ot-font.cc | 2 +- - src/hb-ot-layout.cc | 2 +- - src/hb-ot-shape-complex-arabic-table.hh | 14 +++++------ - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape-complex-hangul.cc | 16 ++++++------- - src/hb-ot-shape-complex-indic-table.cc | 22 ++++++++--------- - src/hb-ot-shape-complex-indic.cc | 12 +++++----- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - src/hb-ot-shape-complex-thai.cc | 12 +++++----- - src/hb-ot-shape-complex-use-table.cc | 42 - ++++++++++++++++----------------- - src/hb-unicode-private.hh | 16 ++++++------- - src/hb-utf-private.hh | 18 +++++++------- - 15 files changed, 110 insertions(+), 86 deletions(-) - -commit 76c4873e8cad2871d2d547318d371b9a89d8c806 -Author: Ebrahim Byagowi -Date: Fri Jun 2 21:53:10 2017 +0430 - - Support branch prediction helpers on clang compiles (#491) - - src/hb-private.hh | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit 7dba30639a6f62803dfc21706bc7c654799f373e -Author: Behdad Esfahbod -Date: Thu Jun 1 11:44:42 2017 -0400 - - Handle allocation failure in hb-language code - - src/hb-common.cc | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -commit 92e2c4baafa0401cb8d7dd2bbd70acfaeaf2aabf -Author: Sebastian Rasmussen -Date: Mon May 29 12:53:30 2017 -0500 - - Avoid using strdup inside library. (#488) - - If an application provides a malloc replacement through - hb_malloc_impl() it is important that it is used to allocate - everything, but the use of strdup() circumvents this and - causes system malloc() to be called instead. This pairs - badly with the custom hb_free_impl() being called later. - - src/hb-common.cc | 8 +++++++- - src/hb-private.hh | 4 ---- - 2 files changed, 7 insertions(+), 5 deletions(-) - -commit 06cfe3f7369684fc05fa16da7f6778350f8bcba5 -Author: Khaled Hosny -Date: Wed May 17 21:32:47 2017 +0300 - - Do not skip TAG characters in glyph substitution (#487) - - Hide them like Mongolian Free Variation Selectors instead. - - Fixes https://github.com/behdad/harfbuzz/issues/463 - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-layout-private.hh | 13 - +++++++++---- - test/shaping/Makefile.am | 1 + - .../sha1sum/53374c7ca3657be37efde7ed02ae34229a56ae1f.ttf | Bin 0 -> - 5044 bytes - test/shaping/tests/emoji-flag-tags.tests | 2 ++ - 5 files changed, 13 insertions(+), 5 deletions(-) - -commit 1817221620dce713aae67352568ebcc231ab9512 -Author: Behdad Esfahbod -Date: Tue May 16 14:26:28 2017 -0700 - - Minor - - src/hb-atomic-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 152736981d5bb9e098c1a8b86fcf8fe577a4a9ec -Author: Ebrahim Byagowi -Date: Sat May 13 21:32:56 2017 +0430 - - [cmake] Add framework build support (#484) - - CMakeLists.txt | 46 +++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 39 insertions(+), 7 deletions(-) - -commit bf50ddaf2b416bd80ae8849593bc745b578193d9 -Author: Ebrahim Byagowi -Date: Thu May 4 20:31:42 2017 +0430 - - [cmake] minor (#482) - - CMakeLists.txt | 30 +++++++++++++++++++----------- - 1 file changed, 19 insertions(+), 11 deletions(-) - -commit 141b33de9a141248e2f034d55f48460159536cb9 -Author: Behdad Esfahbod -Date: Sun Apr 23 16:19:13 2017 -0700 - - 1.4.6 - - NEWS | 9 +++++++++ - configure.ac | 2 +- - 2 files changed, 10 insertions(+), 1 deletion(-) - -commit 74b99ef2249107e7cd01bd1ee522a5d9ce61e05f -Author: mhosken -Date: Thu Apr 20 19:13:22 2017 +0100 - - Fix graphite2 rtl conversion (#475) - - src/hb-graphite2.cc | 32 ++++++++++++++------------------ - 1 file changed, 14 insertions(+), 18 deletions(-) - -commit 696641314e7eb60a5a2e08c1c4fd1e5e41022148 -Author: ebraminio -Date: Wed Apr 19 22:59:46 2017 +0430 - - [cmake] Final touches (#473) - - CMakeLists.txt | 113 - +++++++++++++++++++++++++++------------------------------ - 1 file changed, 54 insertions(+), 59 deletions(-) - -commit aacca37590656e235218557ea509eb5624dfbff9 -Author: Chris Peterson -Date: Mon Apr 17 23:25:24 2017 -0700 - - Fix clang -Wcomma warnings (#471) (#472) - - clang's new -Wcomma compiler option warns about possible misuse of the - comma operator such as between two statements. - - hb-common.cc:190:9 [-Wcomma] possible misuse of comma operator here - hb-ot-layout-gsubgpos-private.hh:345:30 [-Wcomma] possible misuse of - comma operator here - hb-shape-plan.cc:438:26 [-Wcomma] possible misuse of comma operator - here - - src/hb-common.cc | 6 ++++-- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-shape-plan.cc | 7 ++++--- - 3 files changed, 9 insertions(+), 6 deletions(-) - -commit 4d7c52066b5b205b20ba2679cb57a4e593942102 -Author: ebraminio -Date: Mon Apr 17 15:53:46 2017 +0430 - - [cmake] Remove HB_DISABLE_DEPRECATED as it seems needed for pango - build (#470) - - CMakeLists.txt | 2 -- - 1 file changed, 2 deletions(-) - -commit 5ecf96e3a22e896184710a9f146a8bf149af6ca4 -Author: William Hua -Date: Mon Apr 17 01:33:42 2017 -0400 - - Use absolute paths of ragel generated headers (#467) - - https://github.com/behdad/harfbuzz/issues/455 - - src/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit c42869eb713f53504e1b77a679cff2f88ebd0c20 -Author: Dominik Schlösser -Date: Sat Apr 15 21:17:05 2017 +0200 - - Small doc fix: `make check` runs the tests (#469) - - test/shaping/README.md | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 75931427aa4344cd75321c618b8373ffcf1ffc33 -Author: ebraminio -Date: Fri Apr 14 05:08:11 2017 +0430 - - [cmake] Fix try compile link issues (#466) - - CMakeLists.txt | 2 ++ - 1 file changed, 2 insertions(+) - -commit cb021e14ab345def326fb58ce486515af179b2cf -Author: ebraminio -Date: Fri Apr 14 04:31:17 2017 +0430 - - [cmake] typo (#465) - - CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit a41d5ea4453995dfd7c523427c6017623164c6ff -Author: ebraminio -Date: Fri Apr 14 04:25:50 2017 +0430 - - [cmake] Add atomic ops availability detection (#464) - - CMakeLists.txt | 30 ++++++++++++++++++++++++++++++ - 1 file changed, 30 insertions(+) - -commit 8568588202dd718b089e43cd6d46f689c706f665 -Author: ebraminio -Date: Thu Apr 13 02:17:16 2017 +0430 - - [cmake] Remove NO_MT flag (#462) - - CMakeLists.txt | 1 - - 1 file changed, 1 deletion(-) - -commit c04c1fe86ee4b9b58ad88dad5593239ade4c75b8 -Author: jfkthame -Date: Tue Apr 11 22:29:13 2017 +0100 - - Blacklist GDEF table in additional Tahoma versions. (#459) - - There are more broken versions of Tahoma out there on various - Windows releases, - so we need to add them to our blacklist to avoid broken rendering. - See https://bugzilla.mozilla.org/show_bug.cgi?id=1279925 for details. - - src/hb-ot-layout.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit adfd4ae1cf6c4abe66aecf1eb0a05c7183a0f4e2 -Author: ebraminio -Date: Tue Apr 11 23:18:18 2017 +0430 - - [cmake] Improve third party libraries support (#461) - - CMakeLists.txt | 57 - ++++++++++++++++++++++++++++++++++++-------- - src/hb-ucdn/Makefile.sources | 5 +++- - 2 files changed, 51 insertions(+), 11 deletions(-) - -commit 3a8bc572115a28741d5a80f3f1e28e6756b9abfa -Author: ebraminio -Date: Tue Apr 11 21:32:14 2017 +0430 - - [cmake] Add utils build support (#460) - - CMakeLists.txt | 150 - +++++++++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 108 insertions(+), 42 deletions(-) - -commit bc1244e2395f844b2b41315cb1eef29570e46b29 -Author: Chun-wei Fan -Date: Thu Apr 6 18:44:28 2017 +0800 - - NMake Makefiles: Fix ICU builds - - Fix the check conditions in config-msvc.mak and info-msvc.mak so that - the ICU items does indeed get built into the HarfBuzz main DLL, - and that - the correct configuration info is displayed. - - Also update the checks in detectenv-msvc.mak so that we can detect - that - we are using Visual Studio 2017 (although the 2015-built binaries use - the same CRT DLL as the 2017 ones). - - win32/config-msvc.mak | 22 ++++++++++++---------- - win32/detectenv-msvc.mak | 4 +++- - win32/info-msvc.mak | 12 ++++++++---- - 3 files changed, 23 insertions(+), 15 deletions(-) - -commit a4471d0c2cc4baa81e2cea695f9bd15e03d0f15e -Author: Behdad Esfahbod -Date: Wed Apr 5 15:42:11 2017 +0200 - - Move list of ragel sources to Makefile.sources as well - - src/Makefile.am | 14 ++++---------- - src/Makefile.sources | 9 +++++++++ - 2 files changed, 13 insertions(+), 10 deletions(-) - -commit d2acaf6d729727f47c5aacf7ee40097580b6f18d -Author: ebraminio -Date: Wed Apr 5 02:21:23 2017 -0700 - - Split ragel generated files lists and remove hardcoded rl files lists - (#453) - - CMakeLists.txt | 126 - +++++++++++++++++++++----------------------------- - src/Makefile.am | 2 + - src/Makefile.sources | 16 +++++-- - win32/config-msvc.mak | 8 ++-- - 4 files changed, 71 insertions(+), 81 deletions(-) - -commit 7d64c0ef37dd930e9807bd80d398491aa9c4428c -Author: ebraminio -Date: Tue Apr 4 15:03:51 2017 +0430 - - Add CMake build support (#444) - - CMakeLists.txt | 254 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - Makefile.am | 1 + - appveyor.yml | 61 +++++++++----- - 3 files changed, 295 insertions(+), 21 deletions(-) - -commit 740fdbcd0e6d25c1d6f12537ca2aa559650b9d52 -Author: jfkthame -Date: Mon Apr 3 12:22:39 2017 +0100 - - avoid UBSan warning in get_stage_lookups (#450) - - See https://bugzilla.mozilla.org/show_bug.cgi?id=1336600 - - src/hb-ot-map-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8d256841ca7462fd596329abf6f71bafb56fd621 -Author: Dominik Schloesser -Date: Sun Mar 26 09:22:34 2017 +0200 - - Current fonttools (3.9.1) generate subset-file called font.subset.ttf - instead of older font.ttf.subset - - test/shaping/record-test.sh | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit c2a9de15f5d9477c6f1c143ed8265f71fdb04584 -Author: Dominik Schloesser -Date: Sun Mar 26 09:21:13 2017 +0200 - - Updated samples: record-it.sh is now record-test.sh - - test/shaping/README.md | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f2e6c7ce51283809033d08692a2dee7cf04aefc5 -Author: Khaled Hosny -Date: Sun Mar 26 10:48:53 2017 +0200 - - [tools] Make hb-unicode-code work with Python 3 - - Related to https://github.com/behdad/harfbuzz/pull/445 - - test/shaping/hb_test_tools.py | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -commit edcf6344bc62af9ea726a633468c9243e127fa13 -Author: Behdad Esfahbod -Date: Fri Mar 24 10:24:52 2017 -0700 - - Blacklist more versions of Padauk - - Patch from Phil Race. - - src/hb-ot-layout.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit e693ba77980d5ded65bf773d48b6b58274933fb7 -Author: Khaled Hosny -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. - - appveyor.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 91570a1eeb1eca425372e203656369f39ede5c61 -Author: Khaled Hosny -Date: Wed Mar 22 23:07:15 2017 +0200 - - Just always use strtod here - - src/hb-common.cc | 4 ---- - 1 file changed, 4 deletions(-) - -commit 539571c1a9cb5d443d029247874af37fed75432f -Author: Chun-wei Fan -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. - - src/hb-common.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit b90fb83ea6067802e62af9e1ea0c61c7ac79e9a9 -Author: Chun-wei Fan -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. - - win32/Makefile.vc | 15 +++++++++++++++ - win32/config-msvc.mak | 2 +- - 2 files changed, 16 insertions(+), 1 deletion(-) - -commit f0aa167e447e8aa818a63a4a325be57844bf0353 -Author: Chun-wei Fan -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. - - win32/README.txt | 6 +++--- - win32/config-msvc.mak | 28 +++++++++++++++------------- - win32/config.h.win32.in | 2 +- - win32/info-msvc.mak | 43 +++++++++++++++++++++++++------------------ - 4 files changed, 44 insertions(+), 35 deletions(-) - -commit 60e2586f7652aaa0ee908eb8f54b1498e2ad299e -Author: Behdad Esfahbod -Date: Fri Mar 10 23:02:28 2017 -0800 - - 1.4.5 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit 47e7a1800fba9b8bf042a1f4976a15ab012ebfc7 -Author: Behdad Esfahbod -Date: Fri Mar 10 13:23:02 2017 -0800 - - Revert "Fix Context lookup application when moving back after a - glyph delete" - - This reverts commit b9b005f3a44ccf78a45b212b126287b69b9f4b40. - - This introduced invalid access cases. Revert until I fix correctly. - - src/hb-ot-layout-gsubgpos-private.hh | 7 ++++--- - .../sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf | Bin 6400 -> - 0 bytes - test/shaping/tests/context-matching.tests | 1 - - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit 3c080a7a0aefec1e9620e3fb399ad280ea4ee5a2 -Author: Behdad Esfahbod -Date: Tue Mar 7 18:13:28 2017 -0800 - - Fix buffer serialize of empty buffer - - Ouch! - - src/hb-buffer-serialize.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 8e42c3cb2bb81351d0a28f213cb4f6d35f4b5e46 -Author: Behdad Esfahbod -Date: Sun Mar 5 13:54:56 2017 -0800 - - 1.4.4 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit 9ac9af725c781f4597e8db46cf330d595c072739 -Author: Behdad Esfahbod -Date: Sun Mar 5 13:51:01 2017 -0800 - - Add TODO item - - src/hb-ot-layout-gsubgpos-private.hh | 24 +++++++++++++++++++++++- - 1 file changed, 23 insertions(+), 1 deletion(-) - -commit 3ebcd5a381e2de27a0cfb5af3359331f0b7e7108 -Author: Elie Roux -Date: Sun Mar 5 16:26:01 2017 +0100 - - first working version! - - src/hb-ot-layout.cc | 2 ++ - src/hb-ot.h | 1 + - 2 files changed, 3 insertions(+) - -commit e65aaaa00a3b5ac811b5c73b5186cd7d65731f7b -Author: Elie Roux -Date: Sun Mar 5 14:53:39 2017 +0100 - - BASE: start api - - src/Makefile.sources | 2 ++ - src/hb-ot-base.cc | 58 - ++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-base.h | 56 - ++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout-base-table.hh | 15 ++--------- - 4 files changed, 118 insertions(+), 13 deletions(-) - -commit 5aec2fb8d0a4db52ae414d980b66018ca5ce1e9c -Author: Behdad Esfahbod -Date: Thu Mar 2 11:46:33 2017 -0800 - - Remove TODO item that is not going to happen - - src/hb-ot-shape.cc | 1 - - 1 file changed, 1 deletion(-) - -commit b9b005f3a44ccf78a45b212b126287b69b9f4b40 -Author: Behdad Esfahbod -Date: Wed Mar 1 14:27:23 2017 -0800 - - Fix Context lookup application when moving back after a glyph delete - - This was broken forever, since days that we did not allow moving - tape backwards. Works now. Reported by Doug Felt. - - src/hb-ot-layout-gsubgpos-private.hh | 7 +++---- - .../sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf | Bin 0 -> - 6400 bytes - test/shaping/tests/context-matching.tests | 1 + - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit f72726c52b104a71ebf5b39fa1e3eb9febd446fc -Author: Elie Roux -Date: Sun Feb 26 15:08:43 2017 +0100 - - BASE: add function in main BASE object - - src/hb-ot-layout-base-table.hh | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -commit 3963315f1b2eae2504bc683760245c827cd1ef16 -Author: Elie Roux -Date: Sun Feb 26 15:07:53 2017 +0100 - - BASE: first complete version - - src/hb-ot-layout-base-table.hh | 444 - +++++++++++++++++++++++++++++------------ - 1 file changed, 317 insertions(+), 127 deletions(-) - -commit a11501444cfc4854bfe2b1d3ce0fc5a957e959d8 -Author: Behdad Esfahbod -Date: Sat Feb 25 13:37:54 2017 -0800 - - Add few tests found by libFuzzer and oss-fuzz - - .../sha1sum/a34a9191d9376bda419836effeef7e75c1386016.ttf | Bin 0 -> - 1010 bytes - .../sha1sum/a69118c2c2ada48ff803d9149daa54c9ebdae30e.ttf | Bin 0 -> - 820 bytes - .../sha1sum/b6acef662e0beb8d5fcf5b61c6b0ca69537b7402.ttf | Bin 0 -> - 3301 bytes - .../sha1sum/e88c339237f52d21e01c55f01b9c1b4cc14a0467.ttf | Bin 0 -> - 515 bytes - test/shaping/tests/fuzzed.tests | 4 ++++ - 5 files changed, 4 insertions(+) - -commit 85630996b8afa699f7b5d19346cdf5c72fcd6e2d -Author: Behdad Esfahbod -Date: Sat Feb 25 13:30:38 2017 -0800 - - Fix buffer-overrun with Bengali reph positioning code - - This has no security implications whatsoever since we always keep - and extra element at the end of buffer, just in case. - - Discovered by oss-fuzz - CC https://github.com/behdad/harfbuzz/issues/139 - Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=660 - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d34e35b47457e757781b1769a1fbaf107ec6e32f -Author: Elie Roux -Date: Sat Feb 25 20:41:05 2017 +0100 - - BASE: WIP: more access functions - - src/hb-ot-layout-base-table.hh | 212 - +++++++++++++++++++++++++++++++++++++---- - 1 file changed, 191 insertions(+), 21 deletions(-) - -commit 6685d281d6f50bf046bbfef4a5263e15d15f2f02 -Author: Behdad Esfahbod -Date: Sat Feb 25 11:35:05 2017 -0800 - - 1.4.3 - - NEWS | 12 ++++++++++++ - configure.ac | 2 +- - 2 files changed, 13 insertions(+), 1 deletion(-) - -commit bd15567ed6a3667e6f8332b7374aece6a6f2361b -Author: Elie Roux -Date: Sat Feb 25 17:08:01 2017 +0100 - - BASE: align member's names - - src/hb-ot-layout-base-table.hh | 70 - +++++++++++++++++++++--------------------- - 1 file changed, 35 insertions(+), 35 deletions(-) - -commit 499b4bef2a5b6d49374ab4977509d1fbf7bd6038 -Author: Elie Roux -Date: Sat Feb 25 16:48:22 2017 +0100 - - BASE: more consistent naming (with spec and Harfbuzz code base) - - src/hb-ot-layout-base-table.hh | 44 - +++++++++++++++++++++--------------------- - 1 file changed, 22 insertions(+), 22 deletions(-) - -commit a0bdd546c584eb7c7ea3ca7e19a178723e6fe77f -Author: Elie Roux -Date: Sat Feb 25 16:34:58 2017 +0100 - - factorize horiz+vertAxis - - src/hb-ot-layout-base-table.hh | 31 +++++-------------------------- - 1 file changed, 5 insertions(+), 26 deletions(-) - -commit 1d30c6d935535743c73b2d18abcc6ae86a1cfc5b -Author: Elie Roux -Date: Sat Feb 25 16:19:35 2017 +0100 - - BASE: sanitize - - src/hb-ot-layout-base-table.hh | 151 - ++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 148 insertions(+), 3 deletions(-) - -commit a657f23ca31237d652b5c101ed24194b6aeadaf8 -Author: Dominik Röttsches -Date: Mon Feb 20 21:52:07 2017 +0200 - - Blacklist another instance of Padauk (#419) - - In https://crbug.com/681813 another instance of Padauk was identified - triggering collapsed glyphs. Blacklist this version by patching - hb-ot-layout.cc to print out gdef, gsub, and gpos table length, then - adding those to the list of blacklisted versions. - - src/hb-ot-layout.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit f131f00b1779b44633223915e17cbce358ad063a -Author: Elie Roux -Date: Sun Feb 19 10:12:22 2017 +0100 - - compile, move into hb-ot-layout.cc - - src/hb-ot-font.cc | 1 - - src/hb-ot-layout-base-table.hh | 57 - +++++++++++++++++++++++++++++++----------- - src/hb-ot-layout.cc | 1 + - 3 files changed, 43 insertions(+), 16 deletions(-) - -commit d0b97353e930d9b258f42f1cc1ac1a75306b76a8 -Author: Elie Roux -Date: Sun Feb 19 08:48:22 2017 +0100 - - hb-ot-base-table.hh -> hb-ot-layout-base-table.hh - - per - https://github.com/behdad/harfbuzz/issues/418#issuecomment-280873811 - - src/Makefile.sources | 2 +- - src/hb-ot-font.cc | 2 +- - src/{hb-ot-base-table.hh => hb-ot-layout-base-table.hh} | 0 - 3 files changed, 2 insertions(+), 2 deletions(-) - -commit f748e11645a3361f94d6fb10ce59febbaa5ba8ca -Author: Elie Roux -Date: Sat Feb 18 19:54:33 2017 +0100 - - bootstraping structure - - src/Makefile.sources | 1 + - src/hb-ot-base-table.hh | 238 - ++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-font.cc | 1 + - src/hb-ot-layout-private.hh | 2 + - 4 files changed, 242 insertions(+) - -commit 70202983f57fe85b2d3b56a9c205effeee66222d -Author: ebraminio -Date: Sat Feb 18 10:37:36 2017 +0330 - - [ci] Disable vcpkg freetype installation and fix Appveyor CI (#422) - - appveyor.yml | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit 44f7d6ecde9bf7427a05cbe73ed5d668b8a72b2a -Author: jfkthame -Date: Fri Feb 17 03:03:24 2017 +0000 - - Guard against underflow when adjusting length (#421) - - * Guard against underflow when adjusting length - - With the fuzz-testcase in mozilla bug 1295299, we end up with a - recursed lookup that removes 3 items, when `match_positions[idx]` - is 0, which results in (unsigned) `end` wrapping to a huge value. - - Making `end` a signed int is probably the simplest route to a fix. - - Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1295299. - - * Add testcase for #421. - - src/hb-ot-layout-gsubgpos-private.hh | 6 +++--- - .../sha1sum/558661aa659912f4d30ecd27bd09835171a8e2b0.ttf | Bin 0 -> - 1358 bytes - test/shaping/tests/fuzzed.tests | 1 + - 3 files changed, 4 insertions(+), 3 deletions(-) - -commit 45766b673f427bb791c9d5886cadedfac0447066 -Author: jfkthame -Date: Thu Feb 16 17:40:21 2017 +0000 - - [indic] Add support for Grantha marks that may be used in Tamil to - th… (#401) - - * [indic] Add support for Grantha marks that may be used in Tamil - to the Indic table. - - See https://bugzilla.mozilla.org/show_bug.cgi?id=1331339. - - Testcase: U+0BA4,U+0BC6,U+1133c,U+0BAA,U+1133c,U+0BC6,U+1133c - - * [indic] Add test for Grantha nukta that is allowed in Tamil by - ScriptExtensions.txt - - src/hb-ot-shape-complex-indic-table.cc | 7 +++++++ - .../sha1sum/3493e92eaded2661cadde752a39f9d58b11f0326.ttf | Bin 0 -> - 1400 bytes - test/shaping/tests/indic-script-extensions.tests | 1 + - 3 files changed, 8 insertions(+) - -commit d4bb52b9fd8a5bc4af13752ea3e464eccfe3223b -Author: Behdad Esfahbod -Date: Thu Feb 9 14:13:25 2017 -0800 - - Unbreak hb-coretext build - - src/hb-coretext.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit c8dfed8e1ee4ab64b6936f5c8561db0666e37647 -Merge: 7c47474f b435c7c4 -Author: Behdad Esfahbod -Date: Wed Feb 8 14:36:18 2017 -0800 - - Merge pull request #357 from khaledhosny/graphite-scale - - [graphite] Fix shaping with varying font sizes - -commit 7c47474f209bdf84cf87844c277ed711cad78196 -Author: Behdad Esfahbod -Date: Wed Feb 8 14:33:28 2017 -0800 - - Set LC_ALL instead of LANG when creating harfbuzz.def - - Hopefully fixes Travis faliure? - https://github.com/behdad/harfbuzz/pull/413#issuecomment-278481882 - https://travis-ci.org/khaledhosny/harfbuzz/jobs/199785332#L1065 - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ffde3c9f9effcd2b47f5fd76df45551e68c0b1ec -Author: Philip Withnall -Date: Wed Feb 8 21:56:57 2017 +0000 - - hb-font: Fix a potentially undefined use of memcmp() (#413) - - While it’s fine to call memcmp(x, 0, 0) in practice, the C99 - standard - explicitly says that this is not allowed: even if the length is zero, - the pointer arguments must be valid. - - http://stackoverflow.com/a/16363034 - - Coverity ID: 141178 - - Signed-off-by: Philip Withnall - - src/hb-font.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 09594df1aecbb7d37093055147c25cc7d7b7fef6 -Author: Behdad Esfahbod -Date: Tue Feb 7 18:25:12 2017 -0800 - - Update ax_pthread.m4 to latest upstream version - - Might help with https://github.com/behdad/harfbuzz/issues/399 - - m4/ax_pthread.m4 | 394 - ++++++++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 285 insertions(+), 109 deletions(-) - -commit a6ced90efccf869defc0b310effca220f01cf318 -Author: Philip Withnall -Date: Wed Feb 8 02:18:33 2017 +0000 - - test: Fix some memory leaks in test-font.c (#409) - - Coverity IDs: 141039, 141040, 141041 - - test/api/test-font.c | 35 ++++++++++++++++++++++++++++++----- - 1 file changed, 30 insertions(+), 5 deletions(-) - -commit 925ceacfed45c44dd2a025c32bebb1358b560741 -Author: Philip Withnall -Date: Wed Feb 8 02:17:48 2017 +0000 - - util: Add missing field initialisers in constructor (#410) - - Coverity ID: 141042 - - util/hb-shape.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 73c6dcbb45269186f204b2212288b6384ce42c9d -Author: Behdad Esfahbod -Date: Tue Feb 7 16:53:21 2017 -0800 - - Silence Coverity warning - - Fixes https://github.com/behdad/harfbuzz/issues/408 - - src/hb-ot-shape-complex-arabic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 466b3e58bdc64229dab08c6e0e0079c789540370 -Author: Behdad Esfahbod -Date: Fri Feb 3 16:43:25 2017 -0800 - - Shuffle things around a bit - - src/hb-coretext.cc | 4 ++-- - src/hb-directwrite.cc | 4 ++-- - src/hb-fallback-shape.cc | 4 ++++ - src/hb-graphite2.cc | 4 ++-- - src/hb-ot-layout-private.hh | 1 - - src/hb-ot-layout.cc | 2 -- - src/hb-ot-math.cc | 3 +-- - src/hb-ot-shape.cc | 4 ++++ - src/hb-ot-var.cc | 2 -- - src/hb-shape-plan.cc | 7 ------- - src/hb-shaper-private.hh | 11 +++++++---- - src/hb-uniscribe.cc | 4 ++-- - 12 files changed, 24 insertions(+), 26 deletions(-) - -commit fc8189b63931f03c5d2e70dde198e9c856bd78f5 -Author: Behdad Esfahbod -Date: Fri Feb 3 16:17:08 2017 -0800 - - Minor - - src/hb-shaper-private.hh | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit d3d3691806aaa6aed93a88c845d472e727e7f850 -Author: Behdad Esfahbod -Date: Fri Feb 3 15:42:03 2017 -0800 - - Add dirty-state tracking to hb_face_t - - src/hb-face-private.hh | 9 +++++++++ - src/hb-face.cc | 19 ++++++++++++++++++- - src/hb-font.cc | 2 +- - 3 files changed, 28 insertions(+), 2 deletions(-) - -commit 2171f48b4b1e66a3c16a83cc00b0006d32ae9738 -Author: Behdad Esfahbod -Date: Fri Feb 3 10:58:09 2017 -0800 - - Add dirty-state tracking to hb_font_t - - src/hb-font-private.hh | 12 ++++++++++++ - src/hb-font.cc | 30 ++++++++++++++++++++++++++++++ - 2 files changed, 42 insertions(+) - -commit 95808bad2c17a9ef41c58c04faf1b4706fb7d72e -Author: Behdad Esfahbod -Date: Fri Feb 3 10:39:40 2017 -0800 - - Add new API hb_font_set_face() - - For completeness. - - src/hb-font.cc | 29 +++++++++++++++++++++++++++++ - src/hb-font.h | 4 ++++ - 2 files changed, 33 insertions(+) - -commit 4ec19319ab195d852708661e12da2a6485fce544 -Author: jfkthame -Date: Thu Feb 2 18:48:23 2017 +0000 - - Add Win10 Anniversary Update version of Tahoma to GDEF - blacklist. (#412) - - src/hb-ot-layout.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 1dd630a7f2c2cec780fee507367341bc9050cdb3 -Author: Behdad Esfahbod -Date: Wed Feb 1 11:57:21 2017 -0800 - - Minor - - Fixes https://github.com/behdad/harfbuzz/issues/411 - - src/hb-fallback-shape.cc | 2 +- - src/hb-ot-shape-normalize.cc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit e888f642db16f52836cbfec29de43ff20236dc85 -Author: Behdad Esfahbod -Date: Thu Jan 26 14:50:14 2017 -0800 - - Route Adlam through Arabic shaper - - Fixes joined Adlam rendering. - - Fixes https://github.com/googlei18n/noto-fonts/issues/828 - - src/hb-ot-shape-complex-private.hh | 3 +++ - test/shaping/Makefile.am | 1 + - .../5dfad7735c6a67085f1b90d4d497e32907db4c78.ttf | Bin 0 -> - 21160 bytes - test/shaping/tests/arabic-like-joining.tests | 1 + - 4 files changed, 5 insertions(+) - -commit 72c754873c6b15cecb32d9e491c98495f804347a -Author: jfkthame -Date: Thu Jan 26 22:35:41 2017 +0000 - - Add Win7 version of himalaya.ttf to the GDEF table blacklist. (#407) - - src/hb-ot-layout.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 22af28a3f14c6d748ed589f8980b168152116c8c -Author: Behdad Esfahbod -Date: Mon Jan 23 23:42:53 2017 -0800 - - [var] Implement MVAR table - - Unhooked. Untested. - - src/Makefile.sources | 1 + - src/hb-font.cc | 2 +- - src/hb-ot-var-mvar-table.hh | 110 - ++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-var.cc | 1 + - 4 files changed, 113 insertions(+), 1 deletion(-) - -commit 67a191164dec2cfcab97363175c58e459f6ff8f9 -Author: Behdad Esfahbod -Date: Mon Jan 23 23:21:30 2017 -0800 - - [var] Whitespace - - src/hb-ot-var-hvar-table.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 6af6c1114a3495584ac4197c62592741c407b5a2 -Author: Behdad Esfahbod -Date: Mon Jan 23 18:35:00 2017 -0800 - - 1.4.2 - - NEWS | 31 +++++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 32 insertions(+), 1 deletion(-) - -commit 79e8e27ffd3da29ca27d3aebd2ef425bf1cb7f9d -Author: Behdad Esfahbod -Date: Mon Jan 23 17:55:31 2017 -0800 - - [var] Hook up advance variations to hb-ot-font - - Yay, works! - - src/hb-ot-font.cc | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 607434037199ccca422287e4d097487f17f3cfb5 -Author: Behdad Esfahbod -Date: Mon Jan 23 17:55:16 2017 -0800 - - [var] Fix bug in HVAR/VVAR impl - - src/hb-ot-var-hvar-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit bd3b11d92663343350813ca29606b369f691af03 -Author: Behdad Esfahbod -Date: Mon Jan 23 17:34:44 2017 -0800 - - [var] Prepare for hooking up advance variations to hb-ot-font - - src/hb-ot-font.cc | 28 +++++++++++++++++----------- - src/hb-ot-var-hvar-table.hh | 8 ++++---- - 2 files changed, 21 insertions(+), 15 deletions(-) - -commit a4fca9f0051dbc177390a4e555b2d0fe642f724e -Author: Behdad Esfahbod -Date: Mon Jan 23 11:56:08 2017 -0800 - - [var] Implement DeltaSetIndexMap and advance delta fetching - - Not hooked up to hb-ot-font yet. - - src/hb-ot-layout-common-private.hh | 8 ++++++ - src/hb-ot-var-hvar-table.hh | 56 - ++++++++++++++++++++++++++++++++++++-- - 2 files changed, 61 insertions(+), 3 deletions(-) - -commit 7b399f73efa76cd97131fd123a9a1566f8639cfd -Author: Behdad Esfahbod -Date: Mon Jan 23 11:41:43 2017 -0800 - - [var] Start adding HVAR/VVAR - - src/Makefile.sources | 1 + - src/hb-ot-font.cc | 1 + - src/hb-ot-var-avar-table.hh | 1 - - src/hb-ot-var-fvar-table.hh | 1 - - src/hb-ot-var-hvar-table.hh | 115 - ++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 117 insertions(+), 2 deletions(-) - -commit b732c53eb5bd0c2cc86f35a9d9623c92579a0b8c -Author: Behdad Esfahbod -Date: Sun Jan 22 20:31:53 2017 -0800 - - Add LArrayOf<> - - src/hb-open-type-private.hh | 1 + - src/hb-ot-cbdt-table.hh | 4 ++-- - src/hb-ot-layout-common-private.hh | 2 +- - 3 files changed, 4 insertions(+), 3 deletions(-) - -commit 5e156fa5ed33cd1a8ff388833563f15930bb12f9 -Author: Behdad Esfahbod -Date: Sun Jan 22 20:28:56 2017 -0800 - - Add LOffsetTo<> - - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 1 + - src/hb-ot-cbdt-table.hh | 4 ++-- - src/hb-ot-cmap-table.hh | 6 +++--- - src/hb-ot-layout-common-private.hh | 10 +++++----- - src/hb-ot-layout-gdef-table.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 7 files changed, 15 insertions(+), 14 deletions(-) - -commit d6bdbbca307d1a4aed60a78133eea40a1a9d5bf3 -Author: Behdad Esfahbod -Date: Sun Jan 22 20:16:51 2017 -0800 - - [var] Remove HB_OT_TAG_fvar/avar - - We're not going to define public macros for tags for tables. - There's little use to those and they are implementation detail. - - docs/harfbuzz-sections.txt | 2 -- - src/hb-ot-var-avar-table.hh | 2 ++ - src/hb-ot-var-fvar-table.hh | 2 ++ - src/hb-ot-var.h | 3 --- - 4 files changed, 4 insertions(+), 5 deletions(-) - -commit a11d9a0466e480efebd69a34827675387cd2ca34 -Author: Behdad Esfahbod -Date: Sun Jan 22 20:09:47 2017 -0800 - - Minor - - src/hb-ot-font.cc | 6 +++--- - src/hb-ot-hmtx-table.hh | 8 +++----- - 2 files changed, 6 insertions(+), 8 deletions(-) - -commit 7a860f656e4aec45c45e0f5fb28c49a91dc5eef2 -Author: Behdad Esfahbod -Date: Sun Jan 22 19:52:09 2017 -0800 - - [var] Add macros for standard axes - - docs/harfbuzz-sections.txt | 7 +++++++ - src/hb-ot-var.h | 6 ++++++ - 2 files changed, 13 insertions(+) - -commit a484e237b11650d00092329855d33dd2f67980e4 -Author: Behdad Esfahbod -Date: Sun Jan 22 19:41:33 2017 -0800 - - [var] Implement 'avar' table mapping - - Untested! - - src/hb-ot-math.cc | 2 -- - src/hb-ot-var-avar-table.hh | 46 - ++++++++++++++++++++++++++++++++++++++++++++- - src/hb-ot-var.cc | 23 +++++++++++++++-------- - 3 files changed, 60 insertions(+), 11 deletions(-) - -commit a42909057207cbed1ef95716170434c05beb0002 -Author: Behdad Esfahbod -Date: Sun Jan 22 19:01:07 2017 -0800 - - [var] Flesh out --variations documentation - - util/options.cc | 53 - ++++++++++++++--------------------------------------- - 1 file changed, 14 insertions(+), 39 deletions(-) - -commit 5ec96d30cad1592b5e468bd8ad1832dbaf0ad32b -Author: Behdad Esfahbod -Date: Sun Jan 22 18:52:00 2017 -0800 - - [var] Adjust API in prep for 'avar' implementation - - The 'avar' table does not allow random access to axis maps, - so change API to avoid quadratic-time implementation. - - Removed -hb_ot_var_normalize_axis_value(), added - +hb_ot_var_normalize_variations() and - +hb_ot_var_normalize_coords() instead. - - docs/harfbuzz-sections.txt | 3 ++- - src/Makefile.sources | 1 + - src/hb-font.cc | 20 +++++--------------- - src/hb-ot-var.cc | 45 - +++++++++++++++++++++++++++++++++++++++------ - src/hb-ot-var.h | 16 ++++++++++++---- - 5 files changed, 59 insertions(+), 26 deletions(-) - -commit 8a577aaa0dd760409bcad1ae3d4f5fb561a62a4b -Author: Behdad Esfahbod -Date: Sun Jan 22 18:22:40 2017 -0800 - - [var] Stub implementation of avar table - - src/hb-ot-var-avar-table.hh | 99 - +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 99 insertions(+) - -commit 7647a05a0b37c53465560952b412db4e590f2716 -Author: Behdad Esfahbod -Date: Sun Jan 22 17:47:49 2017 -0800 - - Minor - - src/hb-font.cc | 5 ++++- - src/hb-font.h | 2 +- - src/hb-ft.cc | 2 +- - util/helper-cairo.cc | 14 +++++++++----- - 4 files changed, 15 insertions(+), 8 deletions(-) - -commit d2f249e745a9179943ee39c719b73e1057acbc13 -Author: Behdad Esfahbod -Date: Sun Jan 22 17:42:33 2017 -0800 - - Stub out doc comments for new symbols - - docs/harfbuzz-docs.xml | 2 +- - docs/harfbuzz-sections.txt | 35 +++++++++++++++++++++++++++++++++-- - src/hb-common.cc | 10 ++++++++++ - src/hb-common.h | 5 +++++ - src/hb-directwrite.cc | 2 +- - src/hb-directwrite.h | 2 +- - src/hb-font.cc | 20 ++++++++++++++++++++ - src/hb-ot-var.cc | 24 ++++++++++++++++++++++-- - src/hb-ot-var.h | 12 +++++------- - src/hb-set.cc | 2 +- - 10 files changed, 99 insertions(+), 15 deletions(-) - -commit 5dfd341f51543279039ddafe883c0a1de205fb8a -Author: Behdad Esfahbod -Date: Sun Jan 22 16:55:40 2017 -0800 - - Minor - - src/hb-directwrite.cc | 4 ++-- - src/hb-shape.cc | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 825e40407da74576f8e83ce0bacad5b0459b83c8 -Author: Behdad Esfahbod -Date: Sun Jan 22 16:41:45 2017 -0800 - - [hb-ft] Remove use of variable-length array - - Hopefully also fixes build failure on msvc. - - src/hb-ft.cc | 33 +++++++++++++++++++++------------ - 1 file changed, 21 insertions(+), 12 deletions(-) - -commit 47ee34e84745756a9aaeb964772377b6c1417ed1 -Author: Behdad Esfahbod -Date: Sat Jan 21 18:10:08 2017 -0800 - - [var] Hook up variations to FreeType face - - hb-view correctly renders variations with ft font-funcs now. - hb-ot-font needs HVAR implementation. - - src/hb-ft.cc | 10 ++++++++++ - util/helper-cairo.cc | 16 +++++++++++++++- - 2 files changed, 25 insertions(+), 1 deletion(-) - -commit 111f3e55178f7cd5a8ae4e8ae111cb48aea4acb5 -Author: Behdad Esfahbod -Date: Sat Jan 21 17:51:41 2017 -0800 - - [util] Add --variations - - Is hooked up to the font, but not to FreeType, so raster doesn't - show yet. - - Documentation needs to be done. - - util/options.cc | 91 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - util/options.hh | 8 ++++- - 2 files changed, 98 insertions(+), 1 deletion(-) - -commit bb1e19268f02d4aad2240c52852e72afcf0f79ad -Author: Behdad Esfahbod -Date: Sat Jan 21 17:41:37 2017 -0800 - - [var] Rename var_coord to variation - - Looks much better. - - src/hb-common.cc | 36 ++++++++++++++++++------------------ - src/hb-common.h | 10 +++++----- - src/hb-font.cc | 20 ++++++++++---------- - src/hb-font.h | 6 +++--- - 4 files changed, 36 insertions(+), 36 deletions(-) - -commit 64fe92bf2d43a0ea31743d774e073f202021dbd1 -Author: Behdad Esfahbod -Date: Sat Jan 21 15:36:35 2017 -0800 - - [var] Remove use of variable-length arrays - - src/hb-font.cc | 30 +++++++++++++++++++++--------- - 1 file changed, 21 insertions(+), 9 deletions(-) - -commit 2491134b386507f611a47e43e3f7c2766d0d288b -Author: Behdad Esfahbod -Date: Sat Jan 21 15:21:50 2017 -0800 - - [var] Add hb_font_set_var_coords() - - src/hb-font.cc | 38 ++++++++++++++++++++++++++++++++++++-- - src/hb-font.h | 8 ++++++-- - 2 files changed, 42 insertions(+), 4 deletions(-) - -commit 113393efec5e0c4c10c141a6d4b801d50fcd8ab8 -Author: Behdad Esfahbod -Date: Sat Jan 21 15:12:03 2017 -0800 - - Remove a few unused includes - - src/hb-face.cc | 6 +----- - src/hb-font.cc | 7 ------- - src/hb-ot-layout.cc | 5 +---- - src/hb-ot-tag.cc | 3 --- - 4 files changed, 2 insertions(+), 19 deletions(-) - -commit 2d40923ca914c90304d07d6e7b9b1040c79c76fe -Author: Behdad Esfahbod -Date: Sat Jan 21 15:06:15 2017 -0800 - - Minor - - src/hb-ot-math.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8b2a58047095604dcdc576ecbe3e8c2ebb8f48f0 -Author: Behdad Esfahbod -Date: Sat Jan 21 15:05:00 2017 -0800 - - [var] Add hb_font_set_var_coords_design() - - src/hb-font.cc | 21 +++++++++++++++++++-- - src/hb-font.h | 7 ++++++- - 2 files changed, 25 insertions(+), 3 deletions(-) - -commit 0dcc7b49a830e2680d3e6d86d953efab85cef6ff -Author: Behdad Esfahbod -Date: Sat Jan 21 14:50:22 2017 -0800 - - [var] Minor lifecycle adjustment - - src/hb-font.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit bf0d3a665baac9e33c0f774b22197c321b864c80 -Author: Behdad Esfahbod -Date: Sat Jan 21 14:48:46 2017 -0800 - - [var] Add hb_font_get_var_coords_normalized() - - src/hb-font.cc | 10 ++++++++++ - src/hb-font.h | 4 ++++ - 2 files changed, 14 insertions(+) - -commit b3c0714b4bbb726b2b3e5e0416ac84cb5c6eb34e -Author: Behdad Esfahbod -Date: Fri Jan 20 20:30:03 2017 -0800 - - [var] Add hb_var_coord_t and parsing routines - - src/hb-common.cc | 94 - +++++++++++++++++++++++++++++++++++++++++++++++++++++--- - src/hb-common.h | 15 ++++++++- - 2 files changed, 103 insertions(+), 6 deletions(-) - -commit 72364103bc9d910d19f23a3764d045af79d076d5 -Author: Behdad Esfahbod -Date: Fri Jan 20 20:16:53 2017 -0800 - - Move code around - - src/hb-common.cc | 250 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-common.h | 18 ++++ - src/hb-shape.cc | 248 - ------------------------------------------------------ - src/hb-shape.h | 16 ---- - 4 files changed, 268 insertions(+), 264 deletions(-) - -commit 785982bf830723552270db5649abcb9f9f0b46b1 -Author: Behdad Esfahbod -Date: Fri Jan 20 19:57:27 2017 -0800 - - [var] Flesh out some more - - src/Makefile.am | 2 ++ - src/hb-ot-var-fvar-table.hh | 69 - ++++++++++++++++++++++++++++++++------------- - src/hb-ot-var.cc | 39 ++++++++++++++++++++++++- - src/hb-ot-var.h | 21 +++++++++----- - 4 files changed, 104 insertions(+), 27 deletions(-) - -commit 422c0c36c80145a2d993f80d5c7d3265e3d8357a -Author: Behdad Esfahbod -Date: Fri Jan 20 19:14:54 2017 -0800 - - [var] Flesh out a bit - - src/hb-ot-var-fvar-table.hh | 72 - ++++++++++++++++++++++++++++++++++++--------- - src/hb-ot-var.h | 10 ++++++- - 2 files changed, 67 insertions(+), 15 deletions(-) - -commit b8376b10904e1772b8d34d852d1100ca7e2185e2 -Author: Behdad Esfahbod -Date: Fri Jan 20 18:19:28 2017 -0800 - - Minor - - src/hb-ft.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f2e73d37e77ccea8b948d1ecf5f11e7a699386dc -Author: Behdad Esfahbod -Date: Fri Jan 20 17:42:18 2017 -0800 - - [var] Remove over-optimization - - src/hb-font.cc | 4 ---- - 1 file changed, 4 deletions(-) - -commit 469926cc45760cb681d44e5757b18b9bdd736189 -Author: Behdad Esfahbod -Date: Fri Jan 20 17:40:46 2017 -0800 - - [var] Change double to float in API - - src/hb-ot-var.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 55d42fd667b9c34a1109bb850bf2ea7322c01040 -Author: Behdad Esfahbod -Date: Thu Jan 19 19:35:48 2017 -0800 - - Start adding hb-ot-var.h and implementation - - Supports enumerating variation axes, normalizing values, etc. - - src/Makefile.sources | 3 + - src/hb-ot-layout-private.hh | 6 ++ - src/hb-ot-layout.cc | 4 ++ - src/hb-ot-var-fvar-table.hh | 133 - ++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-var.cc | 63 +++++++++++++++++++++ - src/hb-ot-var.h | 81 +++++++++++++++++++++++++++ - src/hb-ot.h | 1 + - 7 files changed, 291 insertions(+) - -commit 272b5115325b785e92ff5500d4bfc3a67490b6f8 -Author: Behdad Esfahbod -Date: Thu Jan 19 19:33:07 2017 -0800 - - Minor - - src/hb-ot-math.cc | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit a8a5e81a52f56f5f8bf975dc4d9f79bede5d895b -Author: Behdad Esfahbod -Date: Thu Jan 19 16:55:04 2017 -0800 - - [test-ot-math] Add test with nil face/font - - test/api/test-ot-math.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 331d07bd40a3d9ff30db5cdf85fdc4f10f0fcb99 -Author: Behdad Esfahbod -Date: Thu Jan 19 16:51:36 2017 -0800 - - Minor - - test/api/test-ot-math.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit b5ecf1bfa459a755e36bc4c7f545c7f803b7d016 -Author: Behdad Esfahbod -Date: Thu Jan 19 16:50:29 2017 -0800 - - Fix warnings - - test/api/test-ot-math.c | 18 ++++++++++-------- - 1 file changed, 10 insertions(+), 8 deletions(-) - -commit 2f2ceee1853649d1b2ad4315a38cd9c07659932a -Author: Behdad Esfahbod -Date: Thu Jan 19 16:48:01 2017 -0800 - - Minor - - test/api/test-ot-math.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 2452543fdd383e62b8c4bc44b11bfd6796fc9963 -Author: Khaled Hosny -Date: Wed Jan 18 22:48:13 2017 +0200 - - [ot] Fix automatic fraction for RTL scripts (#405) - - The numbers for right-to-left scripts are processed also from right to - left, so the order of applying “numr” and “dnom” features - should be - reversed in such case. - - Fixes https://github.com/behdad/harfbuzz/issues/395 - - src/hb-ot-shape.cc | 16 - ++++++++++++++-- - test/shaping/Makefile.am | 1 + - .../15dfc433a135a658b9f4b1a861b5cdd9658ccbb9.ttf | Bin 0 -> - 4936 bytes - test/shaping/tests/automatic-fractions.tests | 3 +++ - 4 files changed, 18 insertions(+), 2 deletions(-) - -commit 1337428e4f8a2a4c78312c581bf4e96cd49d783f -Author: Sascha Brawer -Date: Wed Jan 18 13:51:02 2017 +0100 - - Update language tags to OpenType 1.8.1 (#403) - - Resolves https://github.com/behdad/harfbuzz/issues/324 - - src/hb-ot-tag.cc | 77 - ++++++++++++++++++++++++++++++++++++++++++++------ - test/api/test-ot-tag.c | 58 +++++++++++++++++++++++++++++++++++++ - 2 files changed, 126 insertions(+), 9 deletions(-) - -commit 784d1180de19fbf4948f08ee2124277cc06066dd -Author: Behdad Esfahbod -Date: Wed Jan 11 11:58:13 2017 -0800 - - Fix build with clang - - src/hb-open-type-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 1f810daf1640f279c2f7aad8c312664cf2293987 -Author: Behdad Esfahbod -Date: Mon Jan 9 23:50:56 2017 -0800 - - Port math table to hb_lazy_table_loader_t - - src/hb-open-type-private.hh | 22 +++++++++++++++++----- - src/hb-ot-layout-private.hh | 4 ++-- - src/hb-ot-layout.cc | 7 +++---- - src/hb-ot-math.cc | 17 +---------------- - 4 files changed, 23 insertions(+), 27 deletions(-) - -commit ebbcc1112229cde9ed469efdfeac7ef79dfcd834 -Author: Behdad Esfahbod -Date: Mon Jan 9 22:45:25 2017 -0800 - - Add hb_lazy_table_loader_t - - src/hb-open-type-private.hh | 40 ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) - -commit 1af9d924a474f210fda10b5e8ab6b388241aa0b5 -Author: Behdad Esfahbod -Date: Mon Jan 9 22:22:37 2017 -0800 - - Move lazy-loader to more generic place - - src/hb-open-type-private.hh | 47 - ++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-font.cc | 48 - ++------------------------------------------- - 2 files changed, 49 insertions(+), 46 deletions(-) - -commit ac274331c285e1b42632870e150e1d66a9e21933 -Author: Behdad Esfahbod -Date: Mon Jan 9 22:20:38 2017 -0800 - - In lazy-loading, remember allocation failure - - src/hb-ot-font.cc | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 29fb0cb727555ea60460d794a3c6f30179546af9 -Author: Behdad Esfahbod -Date: Mon Jan 9 21:18:55 2017 -0800 - - Minor - - src/hb-face-private.hh | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit 93ef684b9bc411b7642df3adeb2248ad6010ee66 -Author: Behdad Esfahbod -Date: Mon Jan 9 21:11:00 2017 -0800 - - Rename hb-ot-layout-math-table.hh to hb-ot-math-table.hh - - src/Makefile.sources | 2 +- - src/{hb-ot-layout-math-table.hh => hb-ot-math-table.hh} | 6 +++--- - src/hb-ot-math.cc | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit 3b5263b0e9e23e56e14ce6a8498c21c5ce95cc35 -Author: Behdad Esfahbod -Date: Mon Jan 9 15:49:08 2017 -0800 - - Typo - - src/hb-ot-layout-math-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ebf927d3d4394159e480fec2042a0456df8dd0f4 -Author: ebraminio -Date: Mon Jan 9 13:12:09 2017 +0330 - - Make UCDN default enabled (fixes #389) (#391) - - win32/config-msvc.mak | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 00adf9c8a4573a2b3ef61991197821af03bca310 -Author: Behdad Esfahbod -Date: Mon Jan 9 00:00:49 2017 -0800 - - Minor - - Should be enough to get -hangul.cc out of SOURCES in Firefox build: - https://dxr.mozilla.org/mozilla-central/source/gfx/harfbuzz/src/moz.build - - No one else should care! - - src/hb-ot-shape-complex-hangul.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7cf9952e7fc015d0b08d3de6c95357662d57ad8d -Author: Behdad Esfahbod -Date: Sun Jan 8 23:55:54 2017 -0800 - - [USE] Remove non-canonical decompositions - - We have had added this in Indic shaper to assist shaping these - scripts. - In Universal Shaping Engine however, it is up to font designer to - decompose them. Hence moving them from Indic shaper to USE was - wrong. - - Fixup for f6ba63b2e8eb577385f70758efdd3b8408c8a9cb - - Part of fixing https://github.com/behdad/harfbuzz/issues/387 - - src/hb-ot-shape-complex-use.cc | 22 ---------------------- - 1 file changed, 22 deletions(-) - -commit b435c7c46a46350771e837e87fee448fd9dc06d3 -Author: Khaled Hosny -Date: Fri Nov 11 02:16:39 2016 +0200 - - [graphite] Stop creating unused gr_face - - It is unused after previous commit, hb_graphite2_font_get_gr_font() - makes no sense now so deprecating it. - - src/hb-graphite2.cc | 22 +++++----------------- - src/hb-graphite2.h | 4 ++++ - 2 files changed, 9 insertions(+), 17 deletions(-) - -commit 1b00a3b0488a5d1c6ede141ae0545e2eb9af0ed8 -Author: Khaled Hosny -Date: Sun Oct 30 20:16:41 2016 +0200 - - [graphite] Fix shaping with varying font sizes - - Shape using design units and scale the output. - - See https://bugs.documentfoundation.org/show_bug.cgi?id=103403#c7 - - src/hb-graphite2.cc | 27 +++++++++++++++------------ - 1 file changed, 15 insertions(+), 12 deletions(-) - -commit af596a5655ee2ed09da17a7de79f619e1547dcd9 -Author: Behdad Esfahbod -Date: Thu Jan 5 20:24:41 2017 -0800 - - 1.4.1 - - NEWS | 10 ++++++++++ - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit 31f7b1bb94c2cef7ce58df52ddd1b09b42e8f596 -Author: Behdad Esfahbod -Date: Thu Jan 5 20:20:06 2017 -0800 - - Add tests for USE using Marchen font and text - - From http://www.babelstone.co.uk/Fonts/Marchen.html - - test/shaping/Makefile.am | 1 + - .../85414f2552b654585b7a8d13dcc3e8fd9f7970a3.ttf | Bin 0 -> 66936 bytes - test/shaping/tests/use-marchen.tests | 35 - +++++++++++++++++++++ - 3 files changed, 36 insertions(+) - -commit 53543f8b3e19456279c86f711feba42ce976668c -Author: Behdad Esfahbod -Date: Thu Jan 5 20:12:32 2017 -0800 - - Ship UCDN and use it by default - - So we are not relying on version of Unicode data in glib... - - Fixes https://github.com/behdad/harfbuzz/issues/386 - Fixes https://github.com/behdad/harfbuzz/issues/388 - - configure.ac | 12 ++++++++---- - src/hb-unicode.cc | 6 +++--- - 2 files changed, 11 insertions(+), 7 deletions(-) - -commit f3397069479cae34e6bdc658e2875fb178b03e43 -Author: Behdad Esfahbod -Date: Thu Jan 5 01:27:49 2017 -0800 - - 1.4.0 - - NEWS | 34 ++++++++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 35 insertions(+), 1 deletion(-) - -commit ae00af4a47587308969dfaf7baa93164d7842710 -Author: Frédéric Wang -Date: Tue Jan 3 05:55:09 2017 +0100 - - Move math-specific code from hb-ot-layout to hb-ot-math #235 (#384) - - src/Makefile.sources | 1 + - src/hb-ot-layout.cc | 244 --------------------------------------------- - src/hb-ot-math.cc | 272 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 273 insertions(+), 244 deletions(-) - -commit e053ccc5bb7268fe5900dd364d906638c58b2908 -Author: Behdad Esfahbod -Date: Wed Dec 28 15:51:57 2016 -0500 - - Remove Android.mk - - Android uses its own file these days and third-party developers should - be using the autotools-based system against Android NDK. - - Android.mk | 107 - ------------------------------------------------------------ - Makefile.am | 1 - - 2 files changed, 108 deletions(-) - -commit 6cff75394192a1ab0dda82981752ade532838333 -Author: Behdad Esfahbod -Date: Wed Dec 28 13:46:21 2016 -0500 - - Remove Tibetan decomposition rules from Indic shaper - - The decomposition is very obscure and unlikely to help - any fonts. Just remove it since Uniscribe probably doesn't - do this either. - - Fixes https://github.com/behdad/harfbuzz/issues/382 - - src/hb-ot-shape-complex-indic.cc | 4 ---- - 1 file changed, 4 deletions(-) - -commit f6ba63b2e8eb577385f70758efdd3b8408c8a9cb -Author: Behdad Esfahbod -Date: Wed Dec 28 13:45:32 2016 -0500 - - Port decompositions from Indic to USE shaper - - Part of https://github.com/behdad/harfbuzz/issues/382 - - src/hb-ot-shape-complex-indic.cc | 16 ---------------- - src/hb-ot-shape-complex-use.cc | 22 ++++++++++++++++++++++ - 2 files changed, 22 insertions(+), 16 deletions(-) - -commit e678b537f77954615721abd65fef28854f95dc5d -Author: Behdad Esfahbod -Date: Mon Dec 26 14:11:59 2016 -0500 - - [indic] Remove Chakma decomposition rule from Indic shaper - - This is now added to USE: - https://github.com/behdad/harfbuzz/pull/383 - - See: - https://github.com/behdad/harfbuzz/issues/381 - https://github.com/behdad/harfbuzz/issues/382 - - src/hb-ot-shape-complex-indic.cc | 4 ---- - 1 file changed, 4 deletions(-) - -commit 49ba698124399373cea000d08e0e9fe5fc2396e8 -Author: jfkthame -Date: Wed Dec 28 18:00:51 2016 +0000 - - [use] Special-case Chakma split-vowel decomp in the USE shaper. (#383) - - src/hb-ot-shape-complex-use.cc | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - -commit c4ca49d55b49c65e04f0b2acecacd6a5c70978f4 -Author: Behdad Esfahbod -Date: Mon Dec 26 14:52:08 2016 -0500 - - Revert "[indic] Remove redundant Chakma decomposition rule" - - This reverts commit 805f76fc002d703acfcc4c5727f0b4d1baecefaa. - - Need to investigate why having this rule (with the reversed order) - fixes decomposition as reported by punchcutter: - https://github.com/behdad/harfbuzz/issues/381#issuecomment-269237796 - - src/hb-ot-shape-complex-indic.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 805f76fc002d703acfcc4c5727f0b4d1baecefaa -Author: Behdad Esfahbod -Date: Mon Dec 26 14:11:59 2016 -0500 - - [indic] Remove redundant Chakma decomposition rule - - This was not used BTW since Chakma doesn't go through Indic shaper - anymore. - - See: - https://github.com/behdad/harfbuzz/issues/381 - https://github.com/behdad/harfbuzz/issues/382 - - src/hb-ot-shape-complex-indic.cc | 4 ---- - 1 file changed, 4 deletions(-) - -commit 3cc48a46b56be06e6734aaabf37a4b521606380c -Author: Behdad Esfahbod -Date: Mon Dec 26 13:10:31 2016 -0500 - - [indix] Comment - - src/hb-ot-shape-complex-indic.cc | 25 ++++++++++++++++++++++--- - 1 file changed, 22 insertions(+), 3 deletions(-) - -commit 7d1c5d8281b05a5c178ea3ae048b0062145968aa -Author: nvelinov -Date: Sat Dec 24 02:46:37 2016 +0100 - - Compilation Error for ASSERT_STATIC on Some Compilers (#380) - - * this pointer in type definitions is not interpreted as a constant. - This rule is not enforced strictly by all compilers, but the Green - Hills Software compiler will regard this as an error. - - * Merging branches for the DEFINE_SIZE_UNION macro - Adding check for the existence of static_size field in the tested - member. - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e2b878055bb1c0b84e1f7cfbf3d3f80bfc6811ea -Author: Behdad Esfahbod -Date: Thu Dec 22 14:40:19 2016 -0600 - - Disable OTL processing for Hebrew if GPOS doesn't have Hebrew subtable - - New approach to fix this: - https://github.com/behdad/harfbuzz/commit/69f9fbc4200442a35484d3c790ae8f4979be5d60 - - Previous approach was reverted as it was too broad. See context: - https://github.com/behdad/harfbuzz/issues/347#issuecomment-267838368 - - With U+05E9,U+05B8,U+05C1,U+05DC and Arial Unicode, we now (correctly) - disable - GDEF and GPOS, so we get results very close to Uniscribe, but - slightly different - since our fallback position logic is not exactly the same: - - Before: [gid1166=3+991|gid1142=0+737|gid5798=0+1434] - After: [gid1166=3+991|gid1142=0@402,-26+0|gid5798=0+1434] - Uniscribe: [gid1166=3+991|gid1142=0@348,0+0|gid5798=0+1434] - - src/hb-ot-shape-complex-arabic.cc | 1 + - src/hb-ot-shape-complex-default.cc | 1 + - src/hb-ot-shape-complex-hangul.cc | 1 + - src/hb-ot-shape-complex-hebrew.cc | 13 +++++++++++++ - src/hb-ot-shape-complex-indic.cc | 1 + - src/hb-ot-shape-complex-myanmar.cc | 2 ++ - src/hb-ot-shape-complex-private.hh | 8 ++++++++ - src/hb-ot-shape-complex-thai.cc | 1 + - src/hb-ot-shape-complex-tibetan.cc | 1 + - src/hb-ot-shape-complex-use.cc | 1 + - src/hb-ot-shape.cc | 29 ++++++++++++++++------------- - 11 files changed, 46 insertions(+), 13 deletions(-) - -commit 1a0f4aa6dfee69236b422f7c8825eff940f45c19 -Author: Behdad Esfahbod -Date: Thu Dec 22 13:33:54 2016 -0600 - - Revert "Synthesize GDEF glyph class for any glyph that does not have - one in GDEF" - - This reverts commit 69f9fbc4200442a35484d3c790ae8f4979be5d60. - - See - https://github.com/behdad/harfbuzz/issues/347#issuecomment-268873401 - Fixes https://github.com/behdad/harfbuzz/issues/347 - - src/hb-ot-layout-gsub-table.hh | 22 ++-------------------- - src/hb-ot-shape.cc | 29 +++++++++++++++++++++++++++++ - 2 files changed, 31 insertions(+), 20 deletions(-) - -commit 4b4a1b9f235598b04ce9ae1f9670fc978ab7620d -Author: Behdad Esfahbod -Date: Wed Dec 21 23:10:43 2016 -0600 - - Fix assert fail with contextual matching - - As discovered by libFuzzer / Chromium fuzzing. - - Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=659496 - CC https://github.com/behdad/harfbuzz/issues/139 - - src/hb-ot-layout-gsubgpos-private.hh | 6 +++++- - .../sha1sum/217a934cfe15c548b572c203dceb2befdf026462.ttf | Bin 0 -> - 1384 bytes - test/shaping/tests/fuzzed.tests | 1 + - 3 files changed, 6 insertions(+), 1 deletion(-) - -commit df98ce5fc8cf1dafd58c329975f07aafbeee3263 -Author: Behdad Esfahbod -Date: Wed Dec 21 19:27:30 2016 -0600 - - Improve debug output with really deep nesting - - src/hb-private.hh | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -commit eab418c5e6fa34b90133862cc8ce11e617ce08bf -Author: Behdad Esfahbod -Date: Wed Dec 21 15:51:28 2016 -0600 - - Avoid infinite loop in CoverageFormat2 iteration with bad fonts - - Fixes https://github.com/behdad/harfbuzz/issues/363 - - src/hb-ot-layout-common-private.hh | 29 ++++++++++++++++++----------- - 1 file changed, 18 insertions(+), 11 deletions(-) - -commit a0688e8e7b58c156f5809c272b5884bfe75f68ae -Author: Behdad Esfahbod -Date: Tue Dec 20 20:52:50 2016 -0600 - - Ouch, finish previous change - - test/fuzzing/Makefile.am | 3 ++- - test/fuzzing/hb-fuzzer.cc | 30 ++++-------------------------- - 2 files changed, 6 insertions(+), 27 deletions(-) - -commit de14c19d14be90367a1231de56dd347e3f54931c -Author: Behdad Esfahbod -Date: Tue Dec 20 20:50:38 2016 -0600 - - [fuzzer] Separate main() into a new file - - test/fuzzing/hb-fuzzer.hh | 4 ++++ - test/fuzzing/main.cc | 21 +++++++++++++++++++++ - 2 files changed, 25 insertions(+) - -commit 7ed71eb347c894c5b4b012bcca0816922c3052c2 -Author: Behdad Esfahbod -Date: Tue Dec 20 15:01:16 2016 -0600 - - Protect collect_glyphs() and closure() against malicious DDOS fonts - - Fixes https://github.com/behdad/harfbuzz/issues/363 - - src/hb-ot-layout-gsub-table.hh | 58 - ++++++++++++++++++++++++++++++++++-------- - 1 file changed, 48 insertions(+), 10 deletions(-) - -commit 1c98ff87c76536553e53c131e75aba33033ee3a0 -Author: Mike Hommey -Date: Fri Sep 30 18:15:37 2016 +0900 - - Support building with older glib versions - - It is desirable to be able to build against older versions of glib. - - fd7a245 changed the configure check to require glib > 2.38 for - G_TEST_DIST. Before that, version 2.16 was required, but in fact, - since aafe395, G_PASTE is being used, which was introduced in 2.19.1. - And since 0ef179e2, hb-glib uses GBytes, which were introduced in - 2.31.10. - - 2.19.1 is rather old, but 2.38 is rather new. For Firefox, building - against 2.22 is still supported, although we could probably get away - with bumping that to 2.28. Either way, GBytes is not available. - - Arguably, if you build against a glib that doesn't support GBytes, - you're not going to use the hb_glib_blob_create function, so we hide - the function when building against such a glib. - - As for G_TEST_DIST, when building against versions of glib that don't - support it, we can fallback to the previous behavior, which, AIUI, was - just making the test not work when building in a separate directory. - - configure.ac | 2 +- - src/hb-glib.cc | 2 ++ - src/hb-glib.h | 3 ++- - test/api/test-ot-math.c | 4 ++++ - 4 files changed, 9 insertions(+), 2 deletions(-) - -commit ad273881c597a95929ce3b84f63865f9d7dcdb7e -Author: Volker H. Simonis -Date: Wed Dec 14 18:56:17 2016 +0100 - - Minor fixes to pacify Coverity code scan - - Fixes https://github.com/behdad/harfbuzz/pull/377 - - src/hb-ot-font.cc | 6 +++++- - src/hb-ot-layout-gpos-table.hh | 14 +++++++------- - 2 files changed, 12 insertions(+), 8 deletions(-) - -commit 1e1825bf47aa29968f75a78305d4541ce2c9d40c -Author: ebraminio -Date: Sat Dec 17 10:30:40 2016 +0330 - - [dwrite] Provide an experimental API for justification (#279) - - src/hb-directwrite.cc | 48 - ++++++++++++++++++++++++++++++++++++++++-------- - src/hb-directwrite.h | 4 ++++ - 2 files changed, 44 insertions(+), 8 deletions(-) - -commit 4cd0cd67914db1da10906e40335faea7dbec1d0a -Author: elmarb -Date: Wed Dec 7 11:50:27 2016 +0100 - - NMake ICU option builds with builtin ICU (#375) - - win32/build-rules-msvc.mak | 13 ------------- - win32/config-msvc.mak | 37 ++++++++++++++++++++----------------- - win32/create-lists-msvc.mak | 13 ------------- - win32/detectenv-msvc.mak | 4 +++- - win32/generate-msvc.mak | 2 +- - win32/info-msvc.mak | 12 +++++------- - win32/install.mak | 4 ---- - 7 files changed, 29 insertions(+), 56 deletions(-) - -commit 75fa884f925c203a839b5874f30bf9ebf025b6e4 -Author: Khaled Hosny -Date: Mon Dec 5 23:20:47 2016 +0200 - - [win32] Fix wrong description of the ICU option (#372) - - win32/README.txt | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 219cb29c5d230ecc6ee154b447fabd7b59fbe089 -Author: Behdad Esfahbod -Date: Wed Sep 28 17:16:06 2016 +0200 - - Fix build after rebasing opentype-gx branch on top of MATH table - - src/hb-ot-layout-common-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0aedfd59be54972e61a952753ffc0d12631771fe -Author: Behdad Esfahbod -Date: Wed Sep 28 17:05:43 2016 +0200 - - [GX] Apply 'rvrn' feature before any other feature - - src/hb-ot-shape.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 42c81425316190f6424ecb9b19d5a886aa1e4136 -Author: Behdad Esfahbod -Date: Tue Sep 13 23:49:46 2016 +0200 - - [GX] Fix build with older FreeType - - configure.ac | 4 ++++ - src/hb-ft.cc | 12 ++++++++---- - 2 files changed, 12 insertions(+), 4 deletions(-) - -commit 72873cf522a6e3bec1b6508d8d20d3d2ce233cd6 -Author: Sascha Brawer -Date: Tue Sep 13 18:40:07 2016 +0200 - - Call hb_font_set_var_coords_normalized() from FT_Face coords - - src/hb-ft.cc | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -commit 4ebbeb7c50e5c1e934d230ceacf792602c6eb9b9 -Author: Behdad Esfahbod -Date: Sat Sep 10 04:52:34 2016 -0700 - - [GX] Make FeatureVariations actually work - - Yay!!!! - - src/hb-ot-layout-common-private.hh | 19 +++++++------------ - src/hb-ot-layout-gsubgpos-private.hh | 3 ++- - 2 files changed, 9 insertions(+), 13 deletions(-) - -commit 72ada4f0c6998fc2a282efc2a573733e37db8be5 -Author: Behdad Esfahbod -Date: Sat Sep 10 03:57:24 2016 -0700 - - [GX] Hook up feature variations - - Shape-plan caching is not implemented. - - src/hb-coretext.cc | 8 +++- - src/hb-directwrite.cc | 6 ++- - src/hb-fallback-shape.cc | 4 +- - src/hb-font.cc | 6 +-- - src/hb-graphite2.cc | 4 +- - src/hb-ot-map-private.hh | 17 +++++--- - src/hb-ot-map.cc | 25 ++++++++--- - src/hb-ot-shape-private.hh | 6 ++- - src/hb-ot-shape.cc | 9 ++-- - src/hb-shape-plan-private.hh | 9 +++- - src/hb-shape-plan.cc | 102 - +++++++++++++++++++++++++++++++++++++++---- - src/hb-shape-plan.h | 19 ++++++++ - src/hb-shape.cc | 5 ++- - src/hb-uniscribe.cc | 4 +- - 14 files changed, 183 insertions(+), 41 deletions(-) - -commit ec87ba9ba32a374d49dd3e40137f75f4f4232aee -Author: Behdad Esfahbod -Date: Sat Sep 10 03:53:11 2016 -0700 - - [GX] Add hb_ot_layout_feature_with_variations_get_lookups() - - src/hb-ot-layout-common-private.hh | 30 +++++++++++++++++++++++++++++- - src/hb-ot-layout-gsubgpos-private.hh | 12 ++++++++++++ - src/hb-ot-layout.cc | 28 ++++++++++++++++++++++++---- - src/hb-ot-layout.h | 9 +++++++++ - 4 files changed, 74 insertions(+), 5 deletions(-) - -commit 30c42b644eb33551aa0986287182a46f2d8c32ed -Author: Behdad Esfahbod -Date: Sat Sep 10 03:32:39 2016 -0700 - - [GX] Add hb_ot_layout_table_find_feature_variations() - - src/hb-ot-layout-common-private.hh | 18 +++++++++++------- - src/hb-ot-layout-gsubgpos-private.hh | 6 +++--- - src/hb-ot-layout.cc | 15 +++++++++++++++ - src/hb-ot-layout.h | 10 ++++++++++ - 4 files changed, 39 insertions(+), 10 deletions(-) - -commit 7ceadbe981aa50481163bb365f0fe3f994266165 -Author: Behdad Esfahbod -Date: Sat Sep 10 02:44:20 2016 -0700 - - Shuffle code around - - src/hb-ot-map.cc | 81 - ++++++++++++++++++++++++++++---------------------------- - 1 file changed, 41 insertions(+), 40 deletions(-) - -commit bde5e3959c0ffdb92db87668035b01aaee9b2352 -Author: Behdad Esfahbod -Date: Sat Sep 10 02:43:20 2016 -0700 - - Move add_lookups from map to map-builder - - In prep for more changes. - - src/hb-ot-map-private.hh | 15 ++++++++------- - src/hb-ot-map.cc | 29 +++++++++++++++-------------- - 2 files changed, 23 insertions(+), 21 deletions(-) - -commit 26648cebcd14bd26142ccfe5ac8c0be08a213671 -Author: Behdad Esfahbod -Date: Sat Sep 10 02:11:05 2016 -0700 - - [GX] Remove (partial) support for anisotropic variations - - It doesn't always work, not part of FreeType, and we were not going - to expose it in the API anyway. Can always be added later. - - src/hb-font-private.hh | 3 +-- - src/hb-font.cc | 17 ++++++----------- - src/hb-ot-layout-common-private.hh | 9 ++++----- - 3 files changed, 11 insertions(+), 18 deletions(-) - -commit c22176d4bac720b4c9121b3d6629595831f19fb0 -Author: Behdad Esfahbod -Date: Sat Sep 10 01:58:27 2016 -0700 - - [GX] Handle setting var coords to NULL - - src/hb-font.cc | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 59055b5494f802013ca3613a15e565ae1ca0c589 -Author: Behdad Esfahbod -Date: Sat Sep 10 01:24:28 2016 -0700 - - [GX] Implement Feature Variations - - Not hooked up to shaper yet. - - src/hb-ot-layout-common-private.hh | 168 - ++++++++++++++++++++++++++++++++++- - src/hb-ot-layout-gdef-table.hh | 1 - - src/hb-ot-layout-gpos-table.hh | 2 - - src/hb-ot-layout-gsub-table.hh | 2 - - src/hb-ot-layout-gsubgpos-private.hh | 15 +++- - 5 files changed, 180 insertions(+), 8 deletions(-) - -commit 85ec4944346a1ac111217698e1424669a9732280 -Author: Behdad Esfahbod -Date: Sat Sep 10 00:25:16 2016 -0700 - - [GX] Fix another x/y thinko - - Thanks Werner! - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cf3de4d8f79fc6e8413957cdef034e975343ce30 -Author: Behdad Esfahbod -Date: Sat Sep 10 00:22:24 2016 -0700 - - [GX] Rename VarStore to VariationStore - - src/hb-ot-layout-common-private.hh | 12 ++++++------ - src/hb-ot-layout-gdef-table.hh | 14 +++++++------- - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 4 files changed, 15 insertions(+), 15 deletions(-) - -commit 1f6ed356e0a849b61ce98b6a2f38d04d98c2191e -Author: Behdad Esfahbod -Date: Sat Sep 10 00:01:10 2016 -0700 - - [GX] Fix build with some compilers - - Eg. - https://ci.appveyor.com/project/behdad/harfbuzz/build/1.0.48/job/o9mnd33kcdeeg30r - - hb-open-type-private.hh:103:29: error: static data member - 'OT::Device::::::static_size' - in unnamed class [-fpermissive] - - src/hb-ot-layout-common-private.hh | 19 ++++++++++++------- - 1 file changed, 12 insertions(+), 7 deletions(-) - -commit 250bcd6fb691d6f15fa9ca71b475ce419d0b5e37 -Author: Behdad Esfahbod -Date: Fri Sep 9 23:12:14 2016 -0700 - - [GX] Skip tail zero entries when setting variation coordinates - - src/hb-font.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 1124d2ece55e323ed934357b30e68df75829cfaa -Author: Behdad Esfahbod -Date: Fri Sep 9 22:48:27 2016 -0700 - - [GX] Fix thinko - - src/hb-ot-layout-common-private.hh | 1 - - src/hb-ot-layout-gpos-table.hh | 2 +- - 2 files changed, 1 insertion(+), 2 deletions(-) - -commit ad69e8f07c6e3e47fe7e7103c2ff7c053d272b1a -Author: Behdad Esfahbod -Date: Fri Sep 9 22:23:34 2016 -0700 - - [GX] Add new API hb_font_set_var_coords_normalized() - - Will probably change. - - src/hb-font.cc | 23 +++++++++++++++++++++++ - src/hb-font.h | 5 +++++ - 2 files changed, 28 insertions(+) - -commit 151d93de8a595924a8dcb00fcba648b4b3df0bf5 -Author: Behdad Esfahbod -Date: Fri Sep 9 17:03:11 2016 -0700 - - [GX] Hook up GPOS to Variation Store stored in GDEF - - Untested. - - src/hb-ot-layout-common-private.hh | 22 ++++++++++---------- - src/hb-ot-layout-gdef-table.hh | 27 +++++++++++++++--------- - src/hb-ot-layout-gpos-table.hh | 40 - ++++++++++++++++-------------------- - src/hb-ot-layout-gsubgpos-private.hh | 2 ++ - 4 files changed, 48 insertions(+), 43 deletions(-) - -commit dcfd309533ac83e44369dea7204d668623b08207 -Author: Behdad Esfahbod -Date: Fri Sep 9 16:51:07 2016 -0700 - - [GX] Change GDEF API to return varStore - - src/hb-ot-layout-gdef-table.hh | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 49cb87850c2692be45b201168c8ce10b263168cc -Author: Behdad Esfahbod -Date: Fri Sep 9 16:27:03 2016 -0700 - - [GX] Pass apply-context down to get_anchor() - - Needed to access GDEF for varStore. - - src/hb-ot-layout-gpos-table.hh | 57 - ++++++++++++++++++++++-------------------- - 1 file changed, 30 insertions(+), 27 deletions(-) - -commit f0c3fd8c9ab402be923fe0845fb51d99841829b6 -Author: Behdad Esfahbod -Date: Fri Sep 9 16:22:45 2016 -0700 - - [GX] Add varStore member to GDEF - - Still not hooked up from GPOS. - - src/hb-ot-layout-gdef-table.hh | 17 ++++++++++++++--- - 1 file changed, 14 insertions(+), 3 deletions(-) - -commit 5c971f8dbc823dbad4a2869cf9e835095ab6ddb2 -Author: Behdad Esfahbod -Date: Fri Sep 9 16:05:17 2016 -0700 - - Minor change to GDEF, in prep for new version - - src/hb-ot-layout-gdef-table.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit dc9f2297998b4cbc4f9e4c2591fc2bb5f92986d1 -Author: Behdad Esfahbod -Date: Fri Sep 9 15:40:15 2016 -0700 - - [GX] Port variation stuff to Variation Store design - - Not hooked up to GDEF yet. - - src/hb-ot-layout-common-private.hh | 294 - +++++++++++++++++++++++-------------- - src/hb-ot-layout-gpos-table.hh | 2 +- - 2 files changed, 184 insertions(+), 112 deletions(-) - -commit a7edeb6f02cbc4418285fdfc58ef8a8740a380e9 -Author: Behdad Esfahbod -Date: Fri Sep 9 15:39:52 2016 -0700 - - Make OffsetArrayOf take OffsetType template argument - - src/hb-open-type-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 8dddc231cf9d934eb93a39f2657717cbdad43a64 -Author: Behdad Esfahbod -Date: Fri Sep 9 13:17:33 2016 -0700 - - [GX] Revert "[GX] Add VariationAlternates, to allow conditional - lookups in GSUB/GPOS" - - This reverts commit 2859f1c7174d6f7ae5dcf0db5411bc0182b21594. - We are going in a different direction. - - src/hb-open-type-private.hh | 1 - - src/hb-ot-layout-common-private.hh | 99 - +------------------------------------- - 2 files changed, 2 insertions(+), 98 deletions(-) - -commit bb4d2e6ed562c248fff15313a013d49e38a18789 -Author: Behdad Esfahbod -Date: Fri Sep 9 13:08:52 2016 -0700 - - [GX] Free GX coordinates - - src/hb-font.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit baa329c6a12c7ffd56feed32351d9405b7d1651b -Author: Behdad Esfahbod -Date: Fri Mar 18 15:52:24 2016 -0700 - - [GX] Add compact VariationDevice implementation - - Add compact format that uses signed bytes instead of shorts. - - src/hb-open-type-private.hh | 1 + - src/hb-ot-layout-common-private.hh | 35 - ++++++++++++++++++++++++----------- - 2 files changed, 25 insertions(+), 11 deletions(-) - -commit 71b06fd392680b6fcfece60d8a83ba6c56eada09 -Author: Behdad Esfahbod -Date: Sat Mar 12 23:49:09 2016 -0800 - - [GX] Add VariationAlternates, to allow conditional lookups in - GSUB/GPOS - - Not hooked up to runtime yet. - - src/hb-open-type-private.hh | 1 + - src/hb-ot-layout-common-private.hh | 99 - +++++++++++++++++++++++++++++++++++++- - 2 files changed, 98 insertions(+), 2 deletions(-) - -commit 976eeb8e025e2b7601a91e661d6e9a88bf8afbd2 -Author: Behdad Esfahbod -Date: Sat Mar 12 23:28:12 2016 -0800 - - [GX] Minor - - src/hb-ot-layout-common-private.hh | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit ed8a9067ca0fe51ac4b80dab55db596763df72bb -Author: Behdad Esfahbod -Date: Wed Mar 2 12:54:35 2016 -0800 - - [GX] Minor - - src/hb-ot-layout-common-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 15c5ee67473a17859a919104c5e6fed1f813aa65 -Author: Behdad Esfahbod -Date: Wed Mar 2 12:41:49 2016 +0900 - - [GX] Minor rename - - src/hb-ot-layout-common-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 4c535a822f16b23a4e41e14d1b17fe179b83eabc -Author: Behdad Esfahbod -Date: Wed Mar 2 12:21:36 2016 +0900 - - [GX] Hookup VariationDevice to Device table implementation - - src/hb-ot-layout-common-private.hh | 65 - +++++++++++++++++++++++++++++++++++++- - 1 file changed, 64 insertions(+), 1 deletion(-) - -commit a0c2366075fcb894212b9bf137e4dd34bb65537c -Author: Behdad Esfahbod -Date: Tue Mar 1 19:42:24 2016 +0900 - - [GX] Break out early if factor is zero - - Also disable sanity-checking of variation records. - - src/hb-ot-layout-common-private.hh | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit ca286703164caf1eda665f6f27ef83bf04e2f8ba -Author: Behdad Esfahbod -Date: Tue Mar 1 19:29:36 2016 +0900 - - [GX] Towards anisotropic interpolation - - Also hookup to ValueRecord and Anchors. - - src/hb-font-private.hh | 5 +++-- - src/hb-font.cc | 9 +++++++-- - src/hb-ot-layout-common-private.hh | 4 ++-- - src/hb-ot-layout-gpos-table.hh | 20 ++++++++++---------- - 4 files changed, 22 insertions(+), 16 deletions(-) - -commit 6d9d3c55bbd4209ba339ccd2b925bb4a6c97f622 -Author: Behdad Esfahbod -Date: Tue Mar 1 19:12:08 2016 +0900 - - [GX] Add data types for encoding numerical variations - - src/hb-font-private.hh | 10 ++++ - src/hb-font.cc | 3 + - src/hb-ot-layout-common-private.hh | 113 - +++++++++++++++++++++++++++++++++++++ - 3 files changed, 126 insertions(+) - -commit b843c6d8b66c2833cd35407ee494546465e6d775 -Author: Behdad Esfahbod -Date: Mon Dec 5 13:42:28 2016 -0800 - - 1.3.4 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit 8c842e4a44908cce0f416481c73dc0866a0a9c95 -Author: Behdad Esfahbod -Date: Sun Dec 4 20:28:38 2016 -0800 - - [hb-fuzzer] Get glyph extents for output glyphs - - To exercise glyph-extents codepaths (glyf / CBLC+CBDT). - - test/fuzzing/hb-fuzzer.cc | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit 9f6144cdb9dd2bc8cd147306e678d76ae82663d8 -Author: Behdad Esfahbod -Date: Sun Dec 4 19:55:17 2016 -0800 - - [CBDT] Add test for fetching glyph extents - - test/shaping/Makefile.am | 1 + - .../sha1sum/ee39587d13b2afa5499cc79e45780aa79293bbd4.ttf | Bin 0 -> - 3724 bytes - test/shaping/tests/color-fonts.tests | 1 + - 3 files changed, 2 insertions(+) - -commit e4bfccfb2a0f425ff69b0a50ca8a4731c4001069 -Author: Behdad Esfahbod -Date: Sun Dec 4 19:43:33 2016 -0800 - - [CBDT] Minor - - src/hb-ot-cbdt-table.hh | 21 ++++++++++++++------- - src/hb-ot-font.cc | 38 ++++++++++++++++++++------------------ - 2 files changed, 34 insertions(+), 25 deletions(-) - -commit b7068af423dba30fd831041aabf4b805d26fe349 -Author: Behdad Esfahbod -Date: Sun Dec 4 19:36:30 2016 -0800 - - [CBDT] Fix thinko! - - src/hb-ot-cbdt-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a141d1da9bb0f91521a9a7749f9533c75cfe6a2f -Author: Behdad Esfahbod -Date: Sun Dec 4 19:26:54 2016 -0800 - - [CBDT] Implement IndexSubtableFormat3 - - src/hb-ot-cbdt-table.hh | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 9eda74c92c9024ffb8ec6e9344c99d51dd763f0c -Author: Behdad Esfahbod -Date: Sun Dec 4 19:12:52 2016 -0800 - - [cbdt] Move some more code around - - src/hb-ot-cbdt-table.hh | 61 - ++++++++++++++++++++++++++++++++++--------------- - src/hb-ot-font.cc | 18 ++++++--------- - 2 files changed, 49 insertions(+), 30 deletions(-) - -commit 654f9ab0d8d5ee032b5da763e34e7b1f454416b9 -Author: Behdad Esfahbod -Date: Sun Dec 4 18:56:24 2016 -0800 - - [cbdt] Fix sign bug - - Was introduced in d495fc5e38038f4cfb20425b1109324fa70bf2f9 - - src/hb-ot-cbdt-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c27d6fcf8db6f02e075dd1868ae67d878fff39d4 -Author: Behdad Esfahbod -Date: Fri Dec 2 22:43:05 2016 -0800 - - [cbdt] Last of sanitization fixes - - Should be all good now.. - - src/hb-ot-font.cc | 23 ++++++++++++++++------- - 1 file changed, 16 insertions(+), 7 deletions(-) - -commit d495fc5e38038f4cfb20425b1109324fa70bf2f9 -Author: Behdad Esfahbod -Date: Fri Dec 2 21:36:42 2016 -0800 - - [cbdt] Clean up some more - - Almost there.. - - src/hb-ot-cbdt-table.hh | 134 - +++++++++++++++++++++++++++++++++++++++++++----- - src/hb-ot-font.cc | 38 ++++---------- - 2 files changed, 131 insertions(+), 41 deletions(-) - -commit ce09e90e1502d5f944bafd64e51c29e365a963ae -Author: Behdad Esfahbod -Date: Fri Dec 2 20:12:57 2016 -0800 - - [cbdt] More sanitize work - - src/hb-ot-cbdt-table.hh | 65 - +++++++++++++++++++++++++++++-------------------- - src/hb-ot-font.cc | 46 ++++++++++++++++++---------------- - 2 files changed, 63 insertions(+), 48 deletions(-) - -commit 70eb2ff682344688635cebb716fee0b73557c925 -Author: Behdad Esfahbod -Date: Fri Dec 2 19:51:23 2016 -0800 - - Check for offset overflows during sanitize - - src/hb-open-type-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 4b58c9e326acde09d389c699014e4e7f6259f50a -Author: Behdad Esfahbod -Date: Fri Dec 2 19:25:54 2016 -0800 - - [cbdt] Start fixing sanitization (or lack thereof) - - src/hb-ot-cbdt-table.hh | 77 - ++++++++++++++++++++++++++++++++++++------------- - src/hb-ot-font.cc | 22 +++++++------- - 2 files changed, 68 insertions(+), 31 deletions(-) - -commit b92ba7bafcd9545a401fb871eb342e6284032c47 -Author: Behdad Esfahbod -Date: Fri Dec 2 15:21:43 2016 -0800 - - [CBDT] Use CHAR instead of int8_t - - src/hb-open-type-private.hh | 1 + - src/hb-ot-cbdt-table.hh | 28 ++++++++++++++-------------- - 2 files changed, 15 insertions(+), 14 deletions(-) - -commit efca7bf97f9967af4fa399a6665b723af643cecd -Author: Behdad Esfahbod -Date: Fri Dec 2 15:11:37 2016 -0800 - - Rename 'ebdt' to 'cbdt' since we only support the PNG format - - src/Makefile.sources | 2 +- - src/{hb-ot-ebdt-table.hh => hb-ot-cbdt-table.hh} | 6 +++--- - src/hb-ot-font.cc | 12 ++++++------ - 3 files changed, 10 insertions(+), 10 deletions(-) - -commit 831852594b777f250efedb76d19bee1cfc8eeaa4 -Author: Seigo Nonaka -Date: Fri Dec 2 15:03:50 2016 -0800 - - Introduce get_extent support for color bitmap font. (#351) - - hb_font_get_glyph_extents now works for color bitmap fonts. - Currently only font having index format 1 and image format 17 - is supported. - - src/Makefile.sources | 1 + - src/hb-ot-ebdt-table.hh | 193 - ++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-font.cc | 96 ++++++++++++++++++++++++ - 3 files changed, 290 insertions(+) - -commit 261837e7202ec584f653f379851e1c6457396b07 -Author: Ebrahim Byagowi -Date: Fri Oct 28 21:49:11 2016 +0330 - - Fix "nmake install" when ADDITIONAL_LIB_DIR is provided and test it - on CI (#356) - - appveyor.yml | 1 + - win32/detectenv-msvc.mak | 4 ++-- - win32/generate-msvc.mak | 2 +- - 3 files changed, 4 insertions(+), 3 deletions(-) - -commit d163cd956246449e3e48b54ce6eb5cdb14e3a0a6 -Author: Behdad Esfahbod -Date: Wed Oct 26 18:27:48 2016 +0200 - - [tests] Add tests for vertical origin with ft and ot font-funcs - - .../sha1sum/f9b1dd4dcb515e757789a22cb4241107746fd3d0.ttf | Bin 0 -> - 1004 bytes - test/shaping/tests/vertical.tests | 2 ++ - 2 files changed, 2 insertions(+) - -commit 2b117720c03869c7714304fd7fbfb2b01199bb3a -Author: Behdad Esfahbod -Date: Wed Oct 26 18:12:50 2016 +0200 - - Use horizontal ascent as fallback vertical origin - - src/hb-font-private.hh | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit a7b32f2057098012b3ab43121397766ae45b3559 -Author: Behdad Esfahbod -Date: Wed Oct 26 18:08:41 2016 +0200 - - Move code around - - src/hb-font-private.hh | 38 +++++++++++++++++++++++--------------- - 1 file changed, 23 insertions(+), 15 deletions(-) - -commit 63635c763dd9393df236f49d491510cca18a1ccc -Author: Behdad Esfahbod -Date: Wed Oct 26 17:54:04 2016 +0200 - - [hb-ot-font] Use ascent+descent as fallback vertical advance - - src/hb-ot-font.cc | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 9ee23c49a7a7b2479ae0d36a64720e92eb8a36e7 -Author: Behdad Esfahbod -Date: Wed Oct 26 17:44:16 2016 +0200 - - Fix vertical glyph origin with hb-ot-font - - src/hb-font-private.hh | 51 - ++++++++++++++++++++++++++++---------------------- - 1 file changed, 29 insertions(+), 22 deletions(-) - -commit b3b0816d5fc00298621f738cf400de60f8a42c5d -Author: Behdad Esfahbod -Date: Wed Oct 26 17:19:07 2016 +0200 - - Fix vertical font metrics - - Ouch! - - src/hb-font-private.hh | 4 ++-- - src/hb-ot-font.cc | 8 ++++++-- - 2 files changed, 8 insertions(+), 4 deletions(-) - -commit 966ac7ecd3d0128a3adacdd26aacef2bd8afa4d4 -Author: Behdad Esfahbod -Date: Wed Oct 26 16:17:15 2016 +0200 - - 1.3.3 - - NEWS | 24 ++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 25 insertions(+), 1 deletion(-) - -commit 118164293cc7eb18ba03896f602aff816400134b -Author: Behdad Esfahbod -Date: Wed Oct 26 16:04:30 2016 +0200 - - Fix "make distcheck" - - configure.ac | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit b6c765871b752c9436ec993e47b48f9d4fecaed5 -Author: Behdad Esfahbod -Date: Wed Oct 26 10:33:33 2016 +0200 - - [ci] Fix appveyor.yml syntax error - - appveyor.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0e79ebb3ca9b7b6d238a0007e5ca022845ee9afc -Author: Behdad Esfahbod -Date: Sun Oct 23 14:39:43 2016 +0200 - - [gobject] Update for new MATH structs - - src/hb-gobject-structs.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 8c854dc023b1f9e081a3bbd16416b88a4671c267 -Merge: bb9805f5 c3fa5d0e -Author: Khaled Hosny -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 -Date: Mon Oct 24 21:42:04 2016 +0200 - - Remove inexistent file ttx file from test/api/Makefile.am - - test/api/Makefile.am | 1 - - 1 file changed, 1 deletion(-) - -commit bb9805f5419f18c7f5cab32d660fd4109c30f7cc -Merge: 702d9f52 755a0c20 -Author: Ebrahim Byagowi -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 -Date: Fri Oct 21 11:48:58 2016 +0330 - - [ci] Enable freetype on msvc using vcpkg - - appveyor.yml | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -commit 4631d84c2bb51395efe3156f9c9f1a6b0e277947 -Author: Ebrahim Byagowi -Date: Tue Oct 18 14:30:00 2016 +0330 - - Merge back @vlj's local patches of vcpkg - - win32/config-msvc.mak | 7 +++++++ - win32/detectenv-msvc.mak | 3 +++ - 2 files changed, 10 insertions(+) - -commit 702d9f522d1ac4797700f0ea056f69169b8d1a78 -Merge: 331c46c7 d8e2eb9e -Author: Ebrahim Byagowi -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 -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. - - appveyor.yml | 2 +- - win32/README.txt | 13 +++++++------ - win32/config-msvc.mak | 18 +++++++++++++----- - win32/config.h.win32.in | 2 +- - win32/info-msvc.mak | 11 +++++++++-- - 5 files changed, 31 insertions(+), 15 deletions(-) - -commit 331c46c79b4d18cb4948be12c78ebb71a143e7ac -Author: Behdad Esfahbod -Date: Tue Oct 11 13:45:22 2016 -0700 - - Fix configure on iOS - - Fixes https://github.com/behdad/harfbuzz/issues/342 - - configure.ac | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit f6e194e77a2c34cd118b47c0d73a22afde85dfda -Merge: 7201fdd0 bef240b3 -Author: Ebrahim Byagowi -Date: Tue Oct 11 17:23:41 2016 +0330 - - Merge pull request #344 from ebraminio/fixmacci - - [ci] Whitelist more symbols and unbreak mac CI - -commit bef240b36ee9086b0d92e351e4c5118c0bbb5df6 -Author: Ebrahim Byagowi -Date: Mon Oct 10 17:27:52 2016 +0330 - - [ci] Whitelist more symbols and unbreak mac CI - - Thanks to @khaledhosny, actually this is his work :) - - src/check-symbols.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 7201fdd0a8e26d49b13e289b53de375d5b1c9fcb -Author: Behdad Esfahbod -Date: Tue Oct 4 14:53:17 2016 -0700 - - LFS (large file system?) support in hb-*shap*, hb-view - - Fixes https://github.com/behdad/harfbuzz/issues/336 - - configure.ac | 3 +++ - 1 file changed, 3 insertions(+) - -commit 34fc4a2cfa61089b7ec2d9510d99cdc4c13bceb4 -Author: Behdad Esfahbod -Date: Wed Sep 28 19:17:27 2016 +0200 - - Fix dist - - test/api/Makefile.am | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit d1c62370a0c2bdb365a1468dc8d782b9a7245946 -Author: Behdad Esfahbod -Date: Wed Sep 28 19:11:22 2016 +0200 - - Aim math API for 1.3.3 instead of 1.4.0 - - docs/harfbuzz-docs.xml | 6 +++--- - docs/harfbuzz-sections.txt | 12 ++++++------ - src/hb-ot-layout.cc | 18 +++++++++--------- - src/hb-ot-math.h | 10 +++++----- - 4 files changed, 23 insertions(+), 23 deletions(-) - -commit 7adbc5dd62ca03a65d1886e0f32e7026964dc5e5 -Author: Khaled Hosny -Date: Fri Sep 30 04:01:24 2016 -0700 - - Fix building math docs (#335) - - src/hb-ot-layout.cc | 9 --------- - 1 file changed, 9 deletions(-) - -commit fd7a245d3525905ffbce57472b52900fcb0e330b -Author: Behdad Esfahbod -Date: Tue Sep 27 17:56:35 2016 +0200 - - Require glib >= 2.38.0 for G_TEST_DIST - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6d3e6abf0c6ad55dabae96c76b4da9ab14bf16ef -Merge: f73a87d9 c3e21a66 -Author: Behdad Esfahbod -Date: Tue Sep 27 17:15:59 2016 +0200 - - Merge branch 'math' - - Supercedes https://github.com/behdad/harfbuzz/pull/326 - Fixes https://github.com/behdad/harfbuzz/pull/331 - -commit c3e21a6620c35500afa350d11620f69802920df3 -Author: Behdad Esfahbod -Date: Tue Sep 27 16:51:38 2016 +0200 - - [MATH] Fix more docs - - src/hb-ot-layout.cc | 18 +++++++++--------- - src/hb-ot-math.h | 25 +++++++++++++++++++++++++ - 2 files changed, 34 insertions(+), 9 deletions(-) - -commit 46cc4a3a2a529c80677babe38ca1542f9c773ac0 -Author: Behdad Esfahbod -Date: Tue Sep 27 16:44:22 2016 +0200 - - [MATH] Rename hb_math_*_t types to hb_ot_math_*_t - - With this, I believe MATH table API is not ready to be merged. - - docs/harfbuzz-sections.txt | 6 +++--- - src/hb-ot-layout-math-table.hh | 12 ++++++------ - src/hb-ot-layout.cc | 8 ++++---- - src/hb-ot-math.h | 16 ++++++++-------- - test/api/test-ot-math.c | 4 ++-- - 5 files changed, 23 insertions(+), 23 deletions(-) - -commit db5ebcf10f8595d1f4a9df27befd6cb5e76ca94d -Author: Behdad Esfahbod -Date: Tue Sep 27 16:42:25 2016 +0200 - - Update docs - - docs/harfbuzz-docs.xml | 9 +++++++++ - docs/harfbuzz-sections.txt | 30 ++++++++++++++++++++++++++++-- - 2 files changed, 37 insertions(+), 2 deletions(-) - -commit 0762b35474c47171e5661904e93851eb73a44e5c -Author: Frédéric Wang -Date: Tue Sep 27 15:28:35 2016 +0200 - - Document API for MathVariants (#330) - - src/hb-ot-layout.cc | 56 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 56 insertions(+) - -commit 8d622f1114d6a0eca1786b94c7fc1a0bcd87f74b -Author: Frédéric Wang -Date: Tue Sep 27 13:53:34 2016 +0200 - - Add tests for get_mathvariant (#329) - - test/api/test-ot-math.c | 160 - ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 160 insertions(+) - -commit f73a87d9a8c76a181794b74b527ea268048f78e3 -Author: Behdad Esfahbod -Date: Tue Sep 27 13:50:54 2016 +0200 - - 1.3.2 - - NEWS | 7 +++++++ - configure.ac | 2 +- - 2 files changed, 8 insertions(+), 1 deletion(-) - -commit 485e4873fb7cacfa9d853272c2275bbc5826023e -Author: Frédéric Wang -Date: Tue Sep 27 13:18:00 2016 +0200 - - Add tests for hb_ot_math_get_glyph_variants (#328) - - test/api/test-ot-math.c | 126 - ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 126 insertions(+) - -commit f16bf6c2dacf5b9c82b2d1ffacc092cc396189a7 -Author: Phil Krylov -Date: Tue Sep 27 12:38:49 2016 +0200 - - Allow building with graphite2 without pkg-config (#318) - - configure.ac | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit a5629a2ed9c2e69f2b4ebb74d85fbe0b5ba2be67 -Author: Behdad Esfahbod -Date: Tue Sep 27 11:30:44 2016 +0200 - - [MATH] Simplify test - - test/api/test-ot-math.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit edcfa789bf92c18f5badad31c0ad04a6a77d7226 -Author: Frédéric Wang -Date: Tue Sep 27 11:02:08 2016 +0200 - - test-ot-math: Use different scales for vertical - and horizontal directions and add test for - hb_ot_math_get_min_connector_overlap. (#327) - - test/api/test-ot-math.c | 81 - ++++++++++++++++++++++++++++++------------------- - 1 file changed, 49 insertions(+), 32 deletions(-) - -commit bc19f7fe20e89823dba07a46c3d48c7406b781b6 -Author: Behdad Esfahbod -Date: Tue Sep 27 10:58:08 2016 +0200 - - [MATH] Add HB_OT_MATH_SCRIPT - - src/hb-ot-math.h | 3 +++ - 1 file changed, 3 insertions(+) - -commit cdc9eef7da934ae71578694f29665e439686c3bd -Author: Behdad Esfahbod -Date: Mon Sep 26 22:18:41 2016 +0200 - - [MATH] Enable tests for glyph-assembly italics-correction - - test/api/test-ot-math.c | 49 - ++++++++++++++++++++++++++++++------------------- - 1 file changed, 30 insertions(+), 19 deletions(-) - -commit 86106c7528d9bff8de6bc3e1487be780c31ea4fd -Author: Behdad Esfahbod -Date: Mon Sep 26 22:12:48 2016 +0200 - - [MATH] Rename all API to hb_ot_math_* - - src/hb-ot-layout-private.hh | 10 -- - src/hb-ot-layout.cc | 69 ++++---- - src/hb-ot-math.h | 56 +++--- - test/api/Makefile.am | 6 +- - test/api/test-ot-layout-math.c | 382 - ----------------------------------------- - test/api/test-ot-math.c | 381 - ++++++++++++++++++++++++++++++++++++++++ - 6 files changed, 447 insertions(+), 457 deletions(-) - -commit 1ba767cd4e3606beb9dc59806b83b1e61f5958d4 -Author: Behdad Esfahbod -Date: Mon Sep 26 21:57:14 2016 +0200 - - [MATH] Move API from hb-ot-layout.h to hb-ot-math.h - - src/hb-ot-layout.h | 52 - -------------------------------------------------- - src/hb-ot-math.h | 56 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot.h | 1 + - 3 files changed, 57 insertions(+), 52 deletions(-) - -commit 97b72da6006d8d6355ee90d514f627e6604a4936 -Author: Behdad Esfahbod -Date: Mon Sep 26 21:53:25 2016 +0200 - - Whitespace - - src/hb-ot-layout-math-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 559eb564472575ae4d87a241314b8a3ca24418c4 -Author: Behdad Esfahbod -Date: Mon Sep 26 21:46:05 2016 +0200 - - [MATH] Wire up get_glyph_assembly() - - src/hb-ot-layout-math-table.hh | 64 - ++++++++++++++++++++++++++++++++++++++---- - src/hb-ot-layout.cc | 26 +++++++++-------- - src/hb-ot-layout.h | 14 ++++----- - 3 files changed, 81 insertions(+), 23 deletions(-) - -commit 353f455af7ccbc1af8338dcb0c8ab87aef866c79 -Author: Behdad Esfahbod -Date: Mon Sep 26 21:22:48 2016 +0200 - - [MATH] Wire up get_glyph_variants() - - src/hb-font-private.hh | 11 ++- - src/hb-ot-layout-math-table.hh | 178 - +++++++++++++++++++---------------------- - src/hb-ot-layout.cc | 7 +- - src/hb-ot-layout.h | 2 +- - 4 files changed, 95 insertions(+), 103 deletions(-) - -commit 7fe0e28c22331a353d396f8bc1e3a60f1580a96d -Author: Behdad Esfahbod -Date: Mon Sep 26 17:51:47 2016 +0100 - - [MATH] Start fleshing out glyph variant API - - src/hb-font-private.hh | 4 +++ - src/hb-ot-layout-math-table.hh | 10 ++---- - src/hb-ot-layout.cc | 73 - +++++++++++++++--------------------------- - src/hb-ot-layout.h | 20 ++++++++++++ - src/hb-ot-math.h | 18 +++++++++++ - 5 files changed, 71 insertions(+), 54 deletions(-) - -commit 1f3327f21045df8a050a21a949b44b9ce186ceaa -Author: Behdad Esfahbod -Date: Mon Sep 26 16:10:08 2016 +0100 - - [MATH] Clean up math variants - - src/hb-ot-layout-math-table.hh | 35 +++++++++-------------------------- - 1 file changed, 9 insertions(+), 26 deletions(-) - -commit 51da7a1cd672aada84bdbb3a2a8dd77ab1134249 -Author: Frédéric Wang -Date: Thu Aug 25 11:17:50 2016 +0200 - - MATH table: Add API to access math variants. - - src/hb-ot-layout-math-table.hh | 253 - +++++++++++++++++++++++++++++++- - src/hb-ot-layout-private.hh | 10 ++ - src/hb-ot-layout.cc | 54 +++++++ - test/api/fonts/MathTestFontPartial4.otf | Bin 0 -> 14360 bytes - test/api/test-ot-layout-math.c | 51 +++++++ - 5 files changed, 364 insertions(+), 4 deletions(-) - -commit 722e620f20fa2225cf874f4aeb115a064142fcf1 -Author: Frédéric Wang -Date: Mon Sep 26 11:51:36 2016 +0200 - - Use G_TEST_DIST to build the path of math test fonts - - test/api/Makefile.am | 2 ++ - test/api/test-ot-layout-math.c | 8 ++++++-- - 2 files changed, 8 insertions(+), 2 deletions(-) - -commit 8d58e3433e242bd9dd18aa08f55ab0a406583fb0 -Author: Behdad Esfahbod -Date: Mon Sep 26 13:39:58 2016 +0100 - - [MATH] Fix get_kerning() with negative y-scale - - src/hb-ot-layout-math-table.hh | 36 +++++++++++++++++++++--------------- - 1 file changed, 21 insertions(+), 15 deletions(-) - -commit 94f5df5626b223ad92d0c167f560c1f2e2f19042 -Author: Behdad Esfahbod -Date: Mon Sep 26 13:31:47 2016 +0100 - - [MATH] Clean up get_kerning() - - src/hb-ot-layout-math-table.hh | 29 +++++++++++++++++------------ - src/hb-ot-layout.cc | 5 +---- - 2 files changed, 18 insertions(+), 16 deletions(-) - -commit 17ff30e9afde79e41c17786223293e867b49ebba -Author: Behdad Esfahbod -Date: Mon Sep 26 12:18:32 2016 +0100 - - [MATH] Clean up get_top_accent_attachment() - - Note, the function now returns "half of horizontal advance width" - if top accent attachment for glyph is not explicitly defined. - This is what the spec requires. Updated tests. - - src/hb-ot-layout-math-table.hh | 31 +++++++++++-------------------- - src/hb-ot-layout.cc | 7 +------ - test/api/test-ot-layout-math.c | 8 ++++---- - 3 files changed, 16 insertions(+), 30 deletions(-) - -commit 8bcf517fe59608d2247a8974445b3ff0f4b4b4ac -Author: Behdad Esfahbod -Date: Mon Sep 26 12:12:41 2016 +0100 - - [MATH] Clean up get_italics_correction() - - src/hb-ot-layout-math-table.hh | 16 ++++++++-------- - src/hb-ot-layout.cc | 17 ++++++----------- - src/hb-ot-layout.h | 4 ++-- - test/api/test-ot-layout-math.c | 18 +++++++++--------- - 4 files changed, 25 insertions(+), 30 deletions(-) - -commit 06003f71ba0d0327fb1a17098a9d7faa8fb336f0 -Author: Behdad Esfahbod -Date: Mon Sep 26 12:07:29 2016 +0100 - - [MATH] Clean up a bit more - - src/hb-ot-layout-math-table.hh | 12 +-------- - src/hb-ot-layout.cc | 57 - ++++++++++++++++-------------------------- - 2 files changed, 22 insertions(+), 47 deletions(-) - -commit 54c0cc38fba24fa4370231408ba121589b190a28 -Author: Behdad Esfahbod -Date: Mon Sep 26 11:56:40 2016 +0100 - - [MATH] Clean up get_math_constant implementation - - src/hb-ot-layout-math-table.hh | 10 +++++----- - src/hb-ot-layout.cc | 5 ++--- - 2 files changed, 7 insertions(+), 8 deletions(-) - -commit 8a8cfad9a0834fe278a747c1d755144bd78f564b -Author: Behdad Esfahbod -Date: Mon Sep 26 11:47:05 2016 +0100 - - [MATH] Cleanup previous commit a bit - - src/hb-ot-layout-math-table.hh | 186 - ++++++++++++++++++++--------------------- - src/hb-ot-layout.cc | 30 +++---- - src/hb-ot-layout.h | 14 ++-- - 3 files changed, 113 insertions(+), 117 deletions(-) - -commit d7182d129612c619b9026ee9b15f2dcfada132db -Author: Frédéric Wang -Date: Thu Aug 25 11:15:31 2016 +0200 - - MATH Table: Add API to access glyph info. - - src/hb-ot-layout-math-table.hh | 271 - +++++++++++++++++++++++++++++++- - src/hb-ot-layout.cc | 114 ++++++++++++++ - src/hb-ot-layout.h | 18 +++ - src/hb-ot-math.h | 7 + - test/api/fonts/MathTestFontPartial1.otf | Bin 0 -> 14348 bytes - test/api/fonts/MathTestFontPartial2.otf | Bin 0 -> 14356 bytes - test/api/fonts/MathTestFontPartial3.otf | Bin 0 -> 14380 bytes - test/api/test-ot-layout-math.c | 155 ++++++++++++++++++ - 8 files changed, 563 insertions(+), 2 deletions(-) - -commit 6fd2fe418dc838743f0d4a8a2222cdcaf587500c -Author: Behdad Esfahbod -Date: Mon Sep 26 11:24:39 2016 +0100 - - [MATH] Fixup math constants commit a bit more - - src/hb-ot-layout-math-table.hh | 24 +++++++++++------------- - 1 file changed, 11 insertions(+), 13 deletions(-) - -commit 1a381153a2e6a15bded1f8e31f6b0e0cadb078af -Author: Behdad Esfahbod -Date: Mon Sep 26 11:15:59 2016 +0100 - - [MATH] Fixups for math constants commit - - src/hb-ot-layout-math-table.hh | 19 +++++++++---------- - 1 file changed, 9 insertions(+), 10 deletions(-) - -commit 319ff59161e6b027391f8b9fdce0db6dd44cc20d -Author: Frédéric Wang -Date: Thu Aug 25 11:06:41 2016 +0200 - - MATH Table: Add API to access math contants. - - src/Makefile.sources | 1 + - src/hb-ot-layout-math-table.hh | 146 - +++++++++++++++++++++++++++++++++++- - src/hb-ot-layout.cc | 25 ++++++ - src/hb-ot-layout.h | 5 ++ - src/hb-ot-math.h | 100 ++++++++++++++++++++++++ - test/api/fonts/MathTestFontFull.otf | Bin 0 -> 25412 bytes - test/api/test-ot-layout-math.c | 72 ++++++++++++++++++ - 7 files changed, 345 insertions(+), 4 deletions(-) - -commit 4d3892e9b05a4df67b2f5cfd6dd3a1e0f5b38fc7 -Author: Behdad Esfahbod -Date: Mon Sep 26 10:45:58 2016 +0100 - - [MATH] Fixups for previous commit - - src/hb-ot-layout-math-table.hh | 8 ++++---- - src/hb-ot-layout.cc | 29 +++++++++++++++++++---------- - src/hb-ot-layout.h | 2 ++ - test/api/Makefile.am | 6 ++---- - test/api/test-ot-layout-math.c | 16 +++++++++------- - 5 files changed, 36 insertions(+), 25 deletions(-) - -commit 5fbcb992bd7887f95b1cf2ca045c9226de8148fc -Author: Frédéric Wang -Date: Thu Aug 25 10:47:15 2016 +0200 - - MATH Table: Add API to check availability of math data. - - src/Makefile.sources | 1 + - src/hb-ot-layout-math-table.hh | 60 +++++++++++++++++++++ - src/hb-ot-layout-private.hh | 3 ++ - src/hb-ot-layout.cc | 45 ++++++++++++++++ - src/hb-ot-layout.h | 7 +++ - test/api/Makefile.am | 14 ++++- - test/api/fonts/MathTestFontEmpty.otf | Bin 0 -> 14320 bytes - test/api/fonts/MathTestFontNone.otf | Bin 0 -> 14284 bytes - test/api/test-ot-layout-math.c | 98 - +++++++++++++++++++++++++++++++++++ - 9 files changed, 227 insertions(+), 1 deletion(-) - -commit 02bfd965af588640250c47f344ad3096c8a373e0 -Author: Gregory Morse -Date: Mon Sep 12 10:22:15 2016 +0200 - - Update detectenv-msvc.mak (#316) - - Windows x86 ARM capability - - win32/detectenv-msvc.mak | 3 +++ - 1 file changed, 3 insertions(+) - -commit fc4e671f311241e21c1cc3ed941b1fc651875a2e -Author: Ebrahim Byagowi -Date: Fri Sep 9 23:28:28 2016 +0430 - - [coretext] Use intended coretext version check logic (#315) - - src/hb-coretext.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 48677345281a93d8829dd37d0480a6062945416a -Author: Khaled Hosny -Date: Thu Sep 8 04:44:37 2016 +0300 - - Try to unbreak building on older macOS again (#314) - - src/hb-coretext.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d22ab6cf040467e7f17476ccdfe9cab4dce16639 -Author: Behdad Esfahbod -Date: Wed Sep 7 14:28:47 2016 -0700 - - 1.3.1 - - NEWS | 9 +++++++++ - configure.ac | 2 +- - 2 files changed, 10 insertions(+), 1 deletion(-) - -commit b717cd7be506217e466e32a456df9af4d2720c0c -Author: Dominik Röttsches -Date: Wed Sep 7 23:56:57 2016 +0300 - - Do reconfigure the cascade list for Emoji font on OS X 10.9.5 (#313) - - This seems to fix crash issues on 10.9.5 reported on Chrome, compare - crbug.com/549610 - - src/hb-coretext.cc | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -commit 67e9fdf427e8536f0a134f84ad3bf1740245fe12 -Author: Dominik Röttsches -Date: Mon Sep 5 11:27:25 2016 +0300 - - Blacklist Padauk 2.80 and 3.00 (#311) - - According to comments in issue #305 broken GDEF tables lead - to incorrect rendering of Latin characters. Blacklisting - this font. - - src/hb-ot-layout.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 17f0dd2dfb9a15aed9d1a229115940cc23bdbc97 -Author: Ebrahim Byagowi -Date: Fri Sep 2 01:21:48 2016 +0430 - - [ci] Add msys2 build to CI and run its testsuite on Windows (#310) - - appveyor.yml | 20 ++++++++++++++++---- - 1 file changed, 16 insertions(+), 4 deletions(-) - -commit 5362ce6a6455c539d615e7fb221a904ac744b74c -Author: Ebrahim Byagowi -Date: Thu Sep 1 20:05:45 2016 +0430 - - [dwrite] Minor, don't include unnecessary headers (#309) - - src/hb-directwrite.cc | 4 ---- - 1 file changed, 4 deletions(-) - -commit c4f36b04e32ae5111ef11d225e5d6e82c8216185 -Author: Ebrahim Byagowi -Date: Thu Sep 1 17:31:16 2016 +0430 - - [ci] Add Windows CI support, provided by AppVeyor (#308) - - README | 1 + - appveyor.yml | 28 ++++++++++++++++++++++++++++ - win32/generate-msvc.mak | 2 +- - 3 files changed, 30 insertions(+), 1 deletion(-) - -commit 3d976d20f1b97c771e64a9cfed2760ebec64037a -Author: Khaled Hosny -Date: Sat Aug 27 16:38:42 2016 +0300 - - Show the shaper name in the debug message (#306) - - src/hb-shape-plan.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 547ddb0721365dca985aef5b759d08718f7c5f82 -Merge: bd1aac9c e7ecbba2 -Author: Sascha Brawer -Date: Thu Aug 18 22:33:14 2016 +0200 - - Merge pull request #303 from behdad/fonnapa - - Support Americanist Phonetic Notation - -commit e7ecbba2cc3c9369c5e7dc7296cb210018aca3bb -Author: Sascha Brawer -Date: Thu Aug 18 12:48:38 2016 +0200 - - Support Americanist Phonetic Notation - - OpenType language system tag: `APPH` - https://www.microsoft.com/typography/otspec/languagetags.htm - - IETF BCP47 variant tag: `fonnapa` - http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry - - src/hb-ot-tag.cc | 14 ++++++++++++-- - test/api/test-ot-tag.c | 6 ++++++ - 2 files changed, 18 insertions(+), 2 deletions(-) - -commit bd1aac9c0021a936058637424a478abf792533dd -Merge: 18c19dd3 a0f1b44b -Author: Sascha Brawer -Date: Thu Aug 18 13:59:38 2016 +0200 - - Merge pull request #302 from khaledhosny/master - - [travis] Fix MacOS libtool issue - -commit a0f1b44b6c0e3b1e6a1ba63dde2be22e0425353f -Author: Khaled Hosny -Date: Tue Aug 16 03:09:04 2016 +0200 - - [coretext] Blind fix for build on MacOS 10.9 - - src/hb-coretext.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0634d5600e559a69a92d49173ffb8e715fe7576c -Author: Khaled Hosny -Date: Tue Aug 16 02:49:48 2016 +0200 - - [travis] Fix MacOS libtool issue - - Reveals another MacOS build breakage in the Core Text shaper. - - .travis.yml | 1 + - 1 file changed, 1 insertion(+) - -commit 18c19dd34dcdcaab0a6d47768339f8fb70c0d3f0 -Author: Behdad Esfahbod -Date: Tue Aug 9 13:03:14 2016 -0700 - - Fix build - - test/api/test-ot-tag.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 91f2585411aaf5565fcf0c991b9055b0b397f1cd -Author: Behdad Esfahbod -Date: Mon Aug 8 18:08:08 2016 -0700 - - Actually add test - - test/shaping/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit f1b76275da716a4174092e6389979e03c0e3be59 -Author: Behdad Esfahbod -Date: Mon Aug 8 18:06:09 2016 -0700 - - Add tests for Chinese language tags - - Using font from https://github.com/behdad/harfbuzz/issues/300 - - .../sha1sum/6991b13ce889466be6de3f66e891de2bc0f117ee.ttf | Bin 0 -> - 5596 bytes - test/shaping/tests/language-tags.tests | 12 - ++++++++++++ - 2 files changed, 12 insertions(+) - -commit 37f21bdbb75c98d741e749b7f1e0f367941aef4e -Author: Behdad Esfahbod -Date: Mon Aug 8 17:57:06 2016 -0700 - - Map Macao to ZHH lang tag - - Fixes https://github.com/behdad/harfbuzz/issues/300 - - src/hb-ot-tag.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 09c7a2d6bf00dc902343e999f92cac0e8146f949 -Author: Behdad Esfahbod -Date: Mon Aug 8 17:28:54 2016 -0700 - - Limit bits-per-feature to eight - - Limits number of alternatives per glyph per feature to 255, so be it. - That's better than possibly breaking shaping because of one bad - feature - value. - - src/hb-ot-map.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 333173103bb618f721bd25d0c565a3c3c9ea224e -Author: Behdad Esfahbod -Date: Mon Aug 8 17:24:04 2016 -0700 - - Fix sign of shift operators - - This one: - - map->mask = (1 << (next_bit + bits_needed)) - (1 << next_bit); - - before the fix, the shift was done as an int, causing overflow - if it ever got to 1 << 31. Sprinkle 'u's around. - - Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=634805 - - src/hb-buffer-private.hh | 6 +++--- - src/hb-cache-private.hh | 8 ++++---- - src/hb-coretext.cc | 2 +- - src/hb-directwrite.cc | 2 +- - src/hb-face.cc | 2 -- - src/hb-font.cc | 2 -- - src/hb-ft.cc | 6 ++++-- - src/hb-ot-map.cc | 4 ++-- - src/hb-set-private.hh | 4 ++-- - src/hb-uniscribe.cc | 4 ++-- - 10 files changed, 19 insertions(+), 21 deletions(-) - -commit 10a0d4aa2254f783758bb908175047df3a0b41fe -Author: Behdad Esfahbod -Date: Mon Aug 8 16:51:08 2016 -0700 - - Map zh-Hant-HK to ZHH - - Fixes https://github.com/behdad/harfbuzz/issues/300 - - src/hb-ot-tag.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit dd31fc9f7e6d23b414b22874de96eb3c002c80ba -Author: Khaled Hosny -Date: Fri Jul 22 02:26:54 2016 +0300 - - Don’t build UCDN support when building with GLib (#296) - - Regression from: b424b6c372dfe4c0ed75a49761eb34a416819446. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 489acf6c3180d3726158864fa0e1adeea3c23fae -Author: Behdad Esfahbod -Date: Fri Jul 22 17:41:43 2016 -0700 - - [coretext] "Fix" crashes on CoreText < 10.10 - - Fixes https://github.com/behdad/harfbuzz/issues/297 - - src/hb-coretext.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit a732e00ea4fffebaa85a89420f09df4c11d650e0 -Author: Behdad Esfahbod -Date: Thu Jul 21 01:58:00 2016 -0700 - - 1.3.0 - - NEWS | 15 +++++++++++++++ - configure.ac | 2 +- - 2 files changed, 16 insertions(+), 1 deletion(-) - -commit 08c08af2f9ed683ad20322c3ef1ba0f87ce15426 -Author: Behdad Esfahbod -Date: Thu Jul 21 01:23:33 2016 -0700 - - [ucdn] Update to Unicode 9.0.0 - - Fixes https://github.com/grigorig/ucdn/issues/12 - - src/hb-ucdn.cc | 6 + - src/hb-ucdn/README | 1 - - src/hb-ucdn/ucdn.c | 80 +- - src/hb-ucdn/ucdn.h | 98 +- - src/hb-ucdn/unicodedata_db.h | 4750 - +++++++++++++++++++++++------------------- - 5 files changed, 2783 insertions(+), 2152 deletions(-) - -commit f3f6c1ccbf89e15cda03e0c3a2df4297e98adf60 -Author: jfkthame -Date: Thu Jun 16 00:10:42 2016 +0100 - - Blacklist GDEF tables of more fonts - - This is based on bug reports that have been filed against Firefox - since it - updated to a version of harfbuzz that uses zeroing by GDEF rather - than by - Unicode. I'm sure there are a bunch more font versions that should - also be - included; these are just the ones I have on hand and have confirmed - as having - bad GDEF data. - - Given how the list here is growing, I think we should reconsider - the approach, - and perhaps revert to zeroing by Unicode instead. - - Fixes https://github.com/behdad/harfbuzz/issues/264 - Fixes https://github.com/behdad/harfbuzz/pull/266 - - src/hb-ot-layout.cc | 39 +++++++++++++++++++++++++++++++++++++++ - 1 file changed, 39 insertions(+) - -commit 34f9aa582c3a03b578c7eae3d2e8860a0bd5cb00 -Author: Behdad Esfahbod -Date: Wed Jul 20 02:35:54 2016 -0700 - - Implement symbol cmap in ft and ot fonts - - Fixes https://github.com/behdad/harfbuzz/issues/236 - Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=627953 - - src/hb-ft.cc | 27 +++++++++++++++++++++++---- - src/hb-ot-font.cc | 50 ++++++++++++++++++++++++++++++++++++++------------ - 2 files changed, 61 insertions(+), 16 deletions(-) - -commit 6363d7df28dc4307ef1abb9857d14c35e656b85a -Author: Behdad Esfahbod -Date: Wed Jul 20 01:43:56 2016 -0700 - - Clean up buffer area when rewinding - - Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=614647 - If allocation fails, we might be leaving junk behind. At least - clear it up. - - src/hb-buffer.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit f80c34eb556d12c45c961d6742c289baef58899d -Author: Behdad Esfahbod -Date: Tue Jul 12 11:18:26 2016 -0700 - - Whitespace - - src/hb-unicode-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 874421203e0161db2cbfb27be6c039cba57f7c63 -Author: Ebrahim Byagowi -Date: Tue Jul 12 03:49:21 2016 +0430 - - [coretext] Speculative fix for CoreText nullptr access (#288) - - src/hb-coretext.cc | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -commit 6bf9db4f1e1d51f9acb5e37b89caa8f4d275e7ce -Author: Birunthan Mohanathas -Date: Mon Jul 11 13:38:23 2016 -0700 - - [ft] Fix unsafe cast of FT_Done_Face in - hb_ft_{face,font}_create_referenced (#289) - - Prior to this change the function `FT_Error FT_Done_Face(FT_Face - *)` was - called through a pointer with the signature `void (void *)` - resulting in - undefined behaviour. - - src/hb-ft.cc | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -commit 0b8f3ab0220ca4731516313828515f26bb480645 -Author: Steve Lhomme -Date: Mon Jul 11 21:57:26 2016 +0200 - - clang in MSVC mode doesn't like when we redefine __attribute__ (#283) - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2f522fd485c2e946c9bce9e3828b6ff6247c59e4 -Merge: d3e2a06b e4d451ee -Author: Behdad Esfahbod -Date: Fri Jul 1 17:09:28 2016 -0700 - - Merge pull request #286 from khaledhosny/gi-tag_from_string - - [introspection] Fix hb_tag_from_string annotation - -commit e4d451ee55a57e1231b4076fcd1e87994f6b9528 -Author: Khaled Hosny -Date: Sat Jul 2 00:04:57 2016 +0200 - - [introspection] Fix hb_tag_from_string annotation - - src/hb-common.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d3e2a06b0f2587e913a9c3ff1a20c187f260db80 -Author: Behdad Esfahbod -Date: Thu Jun 30 11:01:22 2016 -0700 - - [python] Use utf-32 / utf-16 based on build of Python - - Fixes https://github.com/behdad/harfbuzz/pull/271 - - src/sample.py | 22 +++++++++++++++++++++- - 1 file changed, 21 insertions(+), 1 deletion(-) - -commit fc9de44a03a97f6e93bd98d804596cb1f9f4b5fd -Author: Behdad Esfahbod -Date: Thu Jun 30 09:46:52 2016 -0700 - - Comments - - src/hb-coretext.cc | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit 46809dee30232d493539519b1bb527fa816c37db -Merge: 70e72e5f 1bea49eb -Author: Behdad Esfahbod -Date: Thu Jun 30 09:41:03 2016 -0700 - - Merge pull request #268 from drott/conflictingFontFix - - Discard reconfigured CTFont if URL changes - -commit 1bea49eb4b7a94ab6222f9c3c40320cbdb247b2d -Merge: 7aa3631d 70e72e5f -Author: Dominik Röttsches -Date: Wed Jun 29 12:10:41 2016 +0200 - - Merge branch 'master' into conflictingFontFix - -commit 70e72e5f61d73c33d3c8f3bf07f5a9afd0db046a -Author: Behdad Esfahbod -Date: Tue Jun 28 21:00:37 2016 -0700 - - [gobject] Fix a few warnings - - Part of https://github.com/behdad/harfbuzz/issues/277 - - src/hb-buffer.cc | 2 +- - src/hb-gobject-structs.h | 12 ++++++++++++ - src/hb-shape.cc | 2 -- - src/hb-unicode.h | 15 --------------- - 4 files changed, 13 insertions(+), 18 deletions(-) - -commit d8273aac19771033c5064a2f079c29d09a86e7c0 -Merge: abae93fa ae9054c7 -Author: Behdad Esfahbod -Date: Tue Jun 28 21:15:28 2016 -0700 - - Merge pull request #280 from behdad/revert-271-patch-2 - - Revert "use utf32" - -commit ae9054c740631e36b7582b44c5afb42ff4509461 -Author: Behdad Esfahbod -Date: Tue Jun 28 21:14:38 2016 -0700 - - Revert "use utf32" - - src/sample.py | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 7aa3631dd06af74a1fa9f0bfaa5f721876be817f -Merge: f7da0486 abae93fa -Author: Dominik Röttsches -Date: Tue Jun 28 09:52:18 2016 +0200 - - Merge branch 'master' into conflictingFontFix - -commit abae93faef32562f34a72981d252c848cc4f7565 -Merge: 07461d06 8179ff5d -Author: Behdad Esfahbod -Date: Mon Jun 27 14:33:27 2016 -0400 - - Merge pull request #273 from ebraminio/master - - [dwrite] Use stream font loader instead GDI interop - -commit 8179ff5d7ba4a140cf6743729a22072800e98a79 -Author: Ebrahim Byagowi -Date: Mon Jun 27 03:54:15 2016 +0430 - - [dwrite] Don't allocate more than needed - - Addressing Nikolay Sivov reviews on harfbuzz mailing list - - src/hb-directwrite.cc | 15 ++++++--------- - 1 file changed, 6 insertions(+), 9 deletions(-) - -commit 5967eaba728ca3e4f5026142c25d455fa3a59764 -Author: Sascha Brawer -Date: Fri Jun 24 16:42:27 2016 +0200 - - [CPAL] Return 0xFFFF as name id for unnamed palettes - - The name id 0 is used as Copyright notice. It's quite unlikely that a - font supplies a color palette with the exact same name as the font's - copyright notice, but the API should not prevent this. - - Also, try to fix a problem with GObject introspection, where the - auto-generated Python bindings could not return palette colors. - - src/hb-ot-color.cc | 13 ++++++------- - test/api/test-ot-color.c | 14 +++++++------- - 2 files changed, 13 insertions(+), 14 deletions(-) - -commit 07b724f3419a28c479cd8a75ae0eecb841a6d2f3 -Author: Ebrahim Byagowi -Date: Fri Jun 24 12:23:25 2016 +0430 - - [dwrite] Delete remained objects - - No longer noticeable memory increase on create/destroy iterations, - highly better than current state of uniscribe backend - - src/hb-directwrite.cc | 33 ++++++++++++++++++++++++--------- - 1 file changed, 24 insertions(+), 9 deletions(-) - -commit be565d17141818e006aa1e4582f3ae14c726fa85 -Author: Ebrahim Byagowi -Date: Fri Jun 24 11:42:01 2016 +0430 - - [dwrite] Release allocated blob on face destroy - - This reduces memory consumption of my iterated font create/destroy - cycle test - significantly and makes it much better than uniscribe backend even - - src/hb-directwrite.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit f3f0ea980a359343ac0e3d359a95855c2cf7be25 -Author: Ebrahim Byagowi -Date: Thu Jun 23 16:41:37 2016 +0430 - - [dwrite] Remove ifdefs without breaking execution on old Windows - versions - - src/hb-directwrite.cc | 205 - +++++++++++++++++++++++++------------------------- - 1 file changed, 103 insertions(+), 102 deletions(-) - -commit 6b861dbd8b3662d0fa0e51fad1736d72192da868 -Author: Ebrahim Byagowi -Date: Tue Jun 21 13:57:26 2016 +0430 - - [dwrite] Use stream font loader instead GDI interop - - With help of - https://dxr.mozilla.org/mozilla-central/source/gfx/2d/NativeFontResourceDWrite.cpp - - src/hb-directwrite.cc | 350 - +++++++++++++++++++------------------------------- - src/hb-directwrite.h | 2 +- - 2 files changed, 135 insertions(+), 217 deletions(-) - -commit f7da0486ed8884481d477ce08fcf928c4da9a0a3 -Merge: a0223274 07461d06 -Author: Dominik Röttsches -Date: Mon Jun 20 10:25:43 2016 +0300 - - Merge branch 'master' into conflictingFontFix - -commit d34d3ac985a6c8c848ae49635b648a72e0c8f30d -Author: Sascha Brawer -Date: Mon Apr 25 18:20:57 2016 +0200 - - Support CPAL table - - NEWS | 6 +- - src/Makefile.am | 3 + - src/Makefile.sources | 3 + - src/hb-ot-color.cc | 213 ++++++++++++++ - src/hb-ot-color.h | 99 +++++++ - src/hb-ot-cpal-table.hh | 121 ++++++++ - src/hb-ot-layout-private.hh | 3 + - src/hb-ot-layout.cc | 7 + - src/hb-ot.h | 1 + - test/api/Makefile.am | 1 + - test/api/hb-test.h | 30 ++ - test/api/test-ot-color.c | 318 - +++++++++++++++++++++ - .../319f5d7ebffbefc5c5e6569f8cea73444d7a7268.ttf | Bin 0 -> 2128 bytes - .../e90374e5e439e00725b4fe7a8d73db57c5a97f82.ttf | Bin 0 -> 1948 bytes - 14 files changed, 804 insertions(+), 1 deletion(-) - -commit 07461d06d242cd5cfda7ccb891189f074a89b460 -Author: Kelvin -Date: Sat Jun 18 22:46:38 2016 +0000 - - Use UTF-32 in Python sample - - src/sample.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit fca0c61d67aa309fc824fb18f247493c2b7701ef -Merge: 4b8de1ea 98835058 -Author: Khaled Hosny -Date: Sun Jun 19 00:08:51 2016 +0300 - - Merge pull request #270 from khaledhosny/travis-failure - - Fix make check on Travis - -commit 988350586f607c7a46bbb658a2abecfd004f41fb -Author: Khaled Hosny -Date: Sat Jun 18 21:12:19 2016 +0200 - - [tests] Workaround Python 2 “narrow” builds - - The so-called Python 2 “narrow” builds support UCS2 only, this - is a - workaround to allow unichr to work with any Unicode character in such - builds. This fixes Travis-CI failure as it has narrow Python 2 builds. - - Copied from: - https://github.com/behdad/fonttools/blob/master/Lib/fontTools/misc/py23.py - - test/shaping/hb_test_tools.py | 38 +++++++++++++++++++++++++++++++++++++- - 1 file changed, 37 insertions(+), 1 deletion(-) - -commit a0223274b97e82fe02730fd45729172511fec459 -Author: Dominik Röttsches -Date: Thu Jun 16 14:19:39 2016 +0200 - - Discard reconfigured CTFont if URL changes - - Fixes https://github.com/behdad/harfbuzz/issues/267 - - src/hb-coretext.cc | 24 +++++++++++++++++++++--- - 1 file changed, 21 insertions(+), 3 deletions(-) - -commit 4b8de1ea804b225e8357422d0686aad76b05ccf3 -Author: Behdad Esfahbod -Date: Mon Jun 6 23:08:54 2016 -0700 - - Round, not truncate, when scaling values - - Fixes https://github.com/behdad/harfbuzz/issues/255 - - src/hb-font-private.hh | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit a93078a0ece6dcdea8c5b46cabd30854dd7cf593 -Author: Behdad Esfahbod -Date: Mon Jun 6 15:58:41 2016 -0700 - - Change bugreport URL to github - - That's where everything is happening these days. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bed201d2b839c1b1e727e17efc2e0c8f705b86c5 -Author: Behdad Esfahbod -Date: Mon Jun 6 14:14:24 2016 -0700 - - Update for latest Unicode 9 data files - - src/hb-ot-shape-complex-indic-table.cc | 10 +++++----- - src/hb-ot-shape-complex-indic.cc | 5 ----- - src/hb-ot-shape-complex-use-table.cc | 4 ++-- - 3 files changed, 7 insertions(+), 12 deletions(-) - -commit aba4b0ca52f490adfc2f3c6ec0accddd6596fdf6 -Author: Behdad Esfahbod -Date: Wed Jun 1 16:57:29 2016 -0700 - - Add TODO - - src/hb-font.cc | 1 + - 1 file changed, 1 insertion(+) - -commit a2b03de5b30b7e83f7fbf3457e9ba9c00eb88d00 -Author: Behdad Esfahbod -Date: Fri May 6 17:56:07 2016 +0100 - - [myanmar] Handle U+AA74..U+AA76 - - Fixes https://github.com/behdad/harfbuzz/issues/218 - - src/hb-ot-shape-complex-myanmar.cc | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 6c0aa9e92bbd22011c85d98c6db021012f7b4101 -Author: Behdad Esfahbod -Date: Fri May 6 17:50:06 2016 +0100 - - Fix build on droid.io - - test/shaping/tests/use.tests | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9b6312f9451db790db00dc2c2e27a5a1db852e72 -Author: Behdad Esfahbod -Date: Fri May 6 17:41:49 2016 +0100 - - [use] Update to draft spec from Andrew Glass from August 2015 - - src/gen-use-table.py | 29 +++-- - src/hb-ot-shape-complex-use-machine.rl | 15 +-- - src/hb-ot-shape-complex-use-private.hh | 1 - - src/hb-ot-shape-complex-use-table.cc | 142 - ++++++++++----------- - src/hb-ot-shape-complex-use.cc | 11 +- - .../6ff0fbead4462d9f229167b4e6839eceb8465058.ttf | Bin 0 -> 1148 bytes - test/shaping/tests/use.tests | 1 + - 7 files changed, 93 insertions(+), 106 deletions(-) - -commit 3e4e7616a8ca80a50a438601b84428b4ba4c8694 -Author: Behdad Esfahbod -Date: Fri May 6 17:28:25 2016 +0100 - - [use] Add a catch-all clause to the machine - - src/hb-ot-shape-complex-use-machine.rl | 2 ++ - src/hb-ot-shape-complex-use.cc | 2 ++ - 2 files changed, 4 insertions(+) - -commit d04e461fe3310ccaf8633efcb79b8eb6ca2201c3 -Author: Behdad Esfahbod -Date: Fri May 6 17:17:00 2016 +0100 - - [use] Fix 'Number-joiner terminated cluster' to use HN instead of H - - From draft update to USE. - - src/hb-ot-shape-complex-use-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 359dead960c825edeb4587915a511d323f1c1f2a -Author: Behdad Esfahbod -Date: Fri May 6 16:19:19 2016 +0100 - - Allow MultipleSubst to delete glyph - - Fixes https://github.com/behdad/harfbuzz/issues/253 - - Hopefully we got the logic right. - - src/hb-ot-layout-gsub-table.hh | 17 +++++++---------- - src/hb-ot-layout-gsubgpos-private.hh | 11 +++++++---- - 2 files changed, 14 insertions(+), 14 deletions(-) - -commit 3c1666cfb589275de96d54eecb95a13a98e3819e -Author: Behdad Esfahbod -Date: Fri May 6 16:05:07 2016 +0100 - - [indic] Remove more unused logic after Javanese is gone - - src/hb-ot-shape-complex-indic.cc | 50 - +++++++++++++++------------------------- - 1 file changed, 18 insertions(+), 32 deletions(-) - -commit 8b5d6e755b271d0d22b31a7726d5bfbf2aae8b2f -Author: Behdad Esfahbod -Date: Fri May 6 15:59:27 2016 +0100 - - [indic] Remove unused Javanese bits - - src/hb-ot-shape-complex-indic-machine.rl | 3 +-- - src/hb-ot-shape-complex-indic-private.hh | 5 ++--- - src/hb-ot-shape-complex-indic.cc | 4 ---- - 3 files changed, 3 insertions(+), 9 deletions(-) - -commit 30e6e29f0f0f77eb65bfd1c4576b38c2da555017 -Author: Behdad Esfahbod -Date: Fri May 6 15:52:27 2016 +0100 - - [indic/use] Move Javanese from Indic shaper to USE - - Fixes https://github.com/behdad/harfbuzz/issues/243 - - With javatext.ttf, the reodering medial Ra gets its advance width - zero'ed in Uniscribe implementation, and the font adds the advance - back. Our Indic shaper does not do that, but USE does. So, route - Javanese through USE. That's what Microsoft does anyway. Test: - - U+A9A5,U+A9BA - - This also seems to fix the following sequence, and variations thereof: - - U+A99F,U+A9C0,U+A9A2,U+A9BF - - src/gen-indic-table.py | 1 - - src/hb-ot-shape-complex-indic-table.cc | 23 - ++++------------------ - src/hb-ot-shape-complex-private.hh | 5 +---- - .../south-east-asian/script-javanese/misc.txt | 1 + - 4 files changed, 6 insertions(+), 24 deletions(-) - -commit c6ee5f5f06a27a6f147f63aaf51186622821f20b -Author: Behdad Esfahbod -Date: Fri May 6 15:39:02 2016 +0100 - - Add Javanese sample text - - .../south-east-asian/script-javanese/misc.txt | 53 - ++++++++++++++++++++++ - 1 file changed, 53 insertions(+) - -commit e21921a68a959b7e929f71a4260a6cbe055ab4e6 -Author: Behdad Esfahbod -Date: Fri May 6 15:24:39 2016 +0100 - - Minor - - BUILD.md | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 01a30a6aa9a5827c93245961e3392a1f361745fe -Author: Behdad Esfahbod -Date: Fri May 6 11:50:02 2016 +0100 - - [indic] Remove data for scripts that don't go thorough this shaper - - src/gen-indic-table.py | 29 +- - src/hb-ot-shape-complex-indic-table.cc | 604 - +-------------------------------- - 2 files changed, 43 insertions(+), 590 deletions(-) - -commit 7cd9269f4eba7b85cd72301a3fc39fab42a4e439 -Author: Behdad Esfahbod -Date: Fri May 6 11:34:46 2016 +0100 - - Update tables to Unicode 9.0.0 beta - - Fixes https://github.com/behdad/harfbuzz/issues/251 - - src/hb-ot-shape-complex-arabic-table.hh | 56 ++++++++----- - src/hb-ot-shape-complex-indic-table.cc | 137 - +++++++++++++++++++++++--------- - src/hb-ot-shape-complex-use-table.cc | 86 ++++++++++++++------ - 3 files changed, 196 insertions(+), 83 deletions(-) - -commit f718fe370ea89e8aeb407addaa6cc926d52a4cdb -Author: Behdad Esfahbod -Date: Fri May 6 11:21:12 2016 +0100 - - Minor - - src/gen-indic-table.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 691086f131cb6c9d97e98730c27673484bf93f87 -Author: Behdad Esfahbod -Date: Fri May 6 12:08:18 2016 +0100 - - Add Unicode 9 beta scripts - - These are frozen, so good time to add. - - src/hb-common.cc | 3 +++ - src/hb-common.h | 9 +++++++++ - src/hb-ot-shape-complex-private.hh | 9 +++++++++ - src/hb-ot-shape-complex-use.cc | 3 +++ - 4 files changed, 24 insertions(+) - -commit bc5198fe1277d662926a4f616913c085cd4fc8ee -Author: Behdad Esfahbod -Date: Fri May 6 11:59:05 2016 +0100 - - Whitespace - - src/hb-common.h | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -commit a5b7b0dd4508d8a1e7573b75c4cb8832c9e34e3f -Author: Behdad Esfahbod -Date: Mon May 2 10:44:13 2016 +0200 - - 1.2.7 - - NEWS | 12 ++++++++++++ - configure.ac | 2 +- - 2 files changed, 13 insertions(+), 1 deletion(-) - -commit 9879fc1db3cad684f412c2f3d6b49e0435697d0e -Author: Behdad Esfahbod -Date: Mon May 2 10:29:12 2016 +0200 - - [ot-font] Remove unused 'post' table include for now - - To make a release... - - src/hb-ot-font.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f8061ae7972462ad800c23be7cd7b3d7ab94b93b -Author: Behdad Esfahbod -Date: Mon May 2 10:28:24 2016 +0200 - - [tests] Fix test - - test/shaping/Makefile.am | - 2 +- - .../tests/{fallback-positioning.test => fallback-positioning.tests} - | 0 - 2 files changed, 1 insertion(+), 1 deletion(-) - -commit f00ab2a33ab34ba64f38cbbe65830c770a3e071e -Author: Behdad Esfahbod -Date: Mon May 2 10:24:00 2016 +0200 - - [hb-ot-font] Make 'glyf' table loading lazy - - Apparently some clients have reference-table callbacks that copy - the table. - As such, avoid loading 'glyf' table which is only needed if fallback - positioning - happens. - - src/hb-ot-font.cc | 45 - ++++++++++++++++++++- - test/shaping/Makefile.am | 1 + - .../7ef276fc886ea502a03b9b0e5c8b547d5dc2b61c.ttf | Bin 0 -> 784 bytes - test/shaping/tests/fallback-positioning.test | 2 + - 4 files changed, 46 insertions(+), 2 deletions(-) - -commit 587d46227a56940a7f5bb053cbeda6144394acf7 -Author: Behdad Esfahbod -Date: Sat Apr 30 19:20:56 2016 +0200 - - [ot-font] Start implementing 'post' table, for accessing glyph names - - src/Makefile.sources | 1 + - src/hb-open-type-private.hh | 12 ++++- - src/hb-ot-font.cc | 1 + - src/hb-ot-post-table.hh | 119 - ++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 132 insertions(+), 1 deletion(-) - -commit 9abaaac409b8e3a0a9182b67dc384133013f7878 -Merge: 2f560ee4 264b7a72 -Author: Behdad Esfahbod -Date: Wed Apr 27 03:38:24 2016 -0700 - - Merge commit '264b7a728a41becfbf23ce258fc2a3af19d0cbbe' into HEAD - -commit 2f560ee44b7b08683e8e6955fe3b95187e8bda32 -Author: Behdad Esfahbod -Date: Wed Apr 27 03:11:41 2016 -0700 - - [tibetan] Reorder marks to better match Uniscribe - - Fixes https://github.com/behdad/harfbuzz/issues/237 - - Note that Uniscribe enforces a certain syllable order. We don't. - But with this change, I get all of the tibetan contractions pass - with Microsoft Himalaya font. - - src/hb-unicode-private.hh | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit f68390f196216718c22c434e1d8921118e646824 -Author: Behdad Esfahbod -Date: Wed Apr 27 02:44:35 2016 -0700 - - [test] Add text for Tibetan shorthand contractions - - From http://www.babelstone.co.uk/Tibetan/Contractions.html - - .../script-tibetan/misc/contractions.txt | 612 - +++++++++++++++++++++ - 1 file changed, 612 insertions(+) - -commit 264b7a728a41becfbf23ce258fc2a3af19d0cbbe -Merge: 7e2da035 adafdcdd -Author: Khaled Hosny -Date: Wed Apr 27 03:48:23 2016 +0300 - - Merge pull request #247 from khaledhosny/update-opentype-language-tags - - Update opentype language tags - -commit adafdcddced076da4bfa3114a00e15a387aaf1f7 -Author: Arthur Reutenauer -Date: Sat Nov 7 23:37:21 2015 +0000 - - Mass-added “difficult” tags – to be curated. - - src/hb-ot-tag.cc | 69 - +++++++++++++++++++++++++++++--------------------------- - 1 file changed, 36 insertions(+), 33 deletions(-) - -commit 3d6a2c0d7d9f6c5b3097f78c1123f9e59dcc76e2 -Author: Arthur Reutenauer -Date: Sat Nov 7 22:59:13 2015 +0000 - - Initial import of missing OpenType 1.7 language tags. - - src/hb-ot-tag.cc | 67 - +++++++++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 61 insertions(+), 6 deletions(-) - -commit 7e2da035f68e46ce8f4759b67b4ed3a1b211d793 -Author: Behdad Esfahbod -Date: Tue Apr 26 16:42:25 2016 -0700 - - Undo accidental change - - src/hb-ot-shape-complex-arabic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b20305022a8235b19e6b640bc62651854e1336f1 -Author: Behdad Esfahbod -Date: Tue Apr 26 16:41:17 2016 -0700 - - Do NOT ignore Mongolian Free Variation Selectors during matching - - Fixes https://github.com/behdad/harfbuzz/issues/234 - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-layout-private.hh | 23 - +++++++++++++++++++-- - src/hb-ot-shape-complex-arabic.cc | 2 +- - .../a34a7b00f22ffb5fd7eef6933b81c7e71bc2cdfb.ttf | Bin 0 -> 3700 bytes - .../tests/mongolian-variation-selector.tests | 1 + - 5 files changed, 24 insertions(+), 4 deletions(-) - -commit 21ab5501f5f5267d20cf23256866dd9d82a667ef -Author: Behdad Esfahbod -Date: Tue Apr 26 16:02:04 2016 -0700 - - Move ZWJ/ZWNJ bits to top byte of unicode_props() - - To make room to remember Mongolian Free Variation Selectors. - Part of fixing https://github.com/behdad/harfbuzz/issues/234 - - src/hb-ot-layout-private.hh | 40 ++++++++++++++++++++++------------------ - 1 file changed, 22 insertions(+), 18 deletions(-) - -commit de508516cb06ddb064d75bd7be8e843a5ebcf70d -Author: Behdad Esfahbod -Date: Tue Apr 26 11:28:37 2016 -0700 - - [util] Print out --debug buffer to stderr - - util/main-font-text.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 29393884b9f045460fb65d6ad10a94461ba93430 -Author: Behdad Esfahbod -Date: Tue Apr 26 10:35:23 2016 -0700 - - Annotate blacklisted fonts with their sha1sum - - src/hb-ot-layout.cc | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -commit 14bb4a56971fd45063cd6c1288d911627088abb2 -Merge: 1c625dff 5069062d -Author: Sascha Brawer -Date: Tue Apr 26 11:38:16 2016 +0200 - - Merge pull request #245 from KonstantinRitt/fixes/ce - - Unbreak build on Windows CE - -commit 5069062d0a9342bb716eebf3ddc1efad91924caa -Author: Konstantin Ritt -Date: Tue Apr 26 12:02:26 2016 +0400 - - Unbreak build on Windows CE - - 0475ef2f97e3035a2eea9a0f96031331e07e8e29 broke the build by using - vsnprintf(), which is not defined on Windows CE - - src/hb-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 1c625dff2269c54ff429ca45be88893ff1fa6c34 -Author: Behdad Esfahbod -Date: Sat Apr 9 12:53:23 2016 -0700 - - Minor - - src/hb-ot-layout.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 851b0db36d1b724fc1e0db506445119c78186285 -Author: Behdad Esfahbod -Date: Fri Apr 8 23:46:55 2016 -0700 - - Minor. We should never get to this branch, but fix it anyway. - - src/hb-ot-layout-common-private.hh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 00ea66f35754a1e6e4d3b7b139d611a9a623a9d1 -Author: Behdad Esfahbod -Date: Fri Apr 8 13:51:01 2016 -0700 - - 1.2.6 - - NEWS | 10 ++++++++++ - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit 4f3d59a1877dcb94d09da48e9694a6c1b05a86fe -Author: Behdad Esfahbod -Date: Fri Apr 8 13:41:20 2016 -0700 - - Blacklist another set of timesi.ttf and timesbi.ttf - - src/hb-ot-layout.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit ef476be80d773332e0c768a3465d99381d76edd9 -Merge: a0331b55 d3134a66 -Author: Behdad Esfahbod -Date: Fri Apr 8 13:16:33 2016 -0700 - - Merge pull request #239 from ebraminio/dwfix - - Improve DirectWrite backend - -commit d3134a66ad551ded726db9528d3c25459088f105 -Author: Ebrahim Byagowi -Date: Tue Apr 5 21:01:05 2016 +0000 - - Fix when no feature is given - - src/hb-directwrite.cc | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit a0331b55f7b45437980e1fc323251f4091bf2c4e -Author: Behdad Esfahbod -Date: Mon Apr 4 16:25:32 2016 -0700 - - 1.2.5 - - NEWS | 7 +++++++ - configure.ac | 2 +- - 2 files changed, 8 insertions(+), 1 deletion(-) - -commit 6e55199b5f097ac93bad38f32e9813e2da14c5a7 -Author: Behdad Esfahbod -Date: Mon Apr 4 16:24:27 2016 -0700 - - Add test for 6dd80faf0dcb3e8a8915c3a25da44e2a67cb0cd8 - - test/shaping/Makefile.am | 1 + - .../f22416c692720a7d46fadf4af99f4c9e094f00b9.ttf | Bin 0 -> - 16736 bytes - test/shaping/tests/mark-filtering-sets.tests | 5 +++++ - 3 files changed, 6 insertions(+) - -commit 59089622dbb8dda783b1639c932123f125c3592d -Author: Behdad Esfahbod -Date: Mon Apr 4 14:54:32 2016 -0700 - - [coretext] Clarify comment - - src/hb-coretext.cc | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -commit 6dd80faf0dcb3e8a8915c3a25da44e2a67cb0cd8 -Author: Behdad Esfahbod -Date: Mon Apr 4 14:34:25 2016 -0700 - - Fix FixedVersion::to_int() - - Ouch. Had broken it in 9a13ed453ef96822a47d6e6f58332b87f38d5c59 - - Fixes https://github.com/behdad/harfbuzz/issues/238 - Will add test soon. - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4a104021697439fd21390a1f4cdc9310348882fa -Author: Ebrahim Byagowi -Date: Sat Apr 2 13:47:59 2016 +0000 - - Hide justification behind HB_DIRECTWRITE_EXPERIMENTAL_JUSTIFICATION - - src/hb-directwrite.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 63ee9ca5d81b53eb035972754ed95572821c393c -Author: Ebrahim Byagowi -Date: Fri Apr 1 15:47:07 2016 +0000 - - Use standard types instead Windows favourites ones - - src/hb-directwrite.cc | 100 - +++++++++++++++++++++++++------------------------- - 1 file changed, 50 insertions(+), 50 deletions(-) - -commit adf20ba0d18d1506e633dcd9b4827a6c93abcadd -Author: Ebrahim Byagowi -Date: Fri Apr 1 15:36:40 2016 +0000 - - Limit GetJustifiedGlyphs only to scripts with custom justification - character - - src/hb-directwrite.cc | 98 - +++++++++++++++++++++++++++++++-------------------- - 1 file changed, 60 insertions(+), 38 deletions(-) - -commit 32ae9d1b3ffbe7e26e654437a56a26a95fe9f5a6 -Author: Ebrahim Byagowi -Date: Fri Apr 1 06:39:57 2016 +0000 - - Add justification support - - src/hb-directwrite.cc | 321 - ++++++++++++++++++++++++++++++++------------------ - 1 file changed, 205 insertions(+), 116 deletions(-) - -commit 10c3d9e41520595c88dd2a8321590e03ce8fcf47 -Author: Ebrahim Byagowi -Date: Thu Mar 31 18:19:44 2016 +0000 - - Basic opentype features support - - src/hb-directwrite.cc | 62 - ++++++++++++++++++++++++++++++++++----------------- - 1 file changed, 42 insertions(+), 20 deletions(-) - -commit d129897120d3ad414220d603557c15a60aa69fa6 -Author: Ebrahim Byagowi -Date: Thu Mar 31 13:45:37 2016 +0000 - - Refactor and remove dupe getglyphs call - - src/hb-directwrite.cc | 106 - ++++++++++++++++++++++++-------------------------- - 1 file changed, 51 insertions(+), 55 deletions(-) - -commit 5f1a8961008b93f72acc47336109af3a64e248d0 -Author: Ebrahim Byagowi -Date: Thu Mar 31 12:26:16 2016 +0000 - - Better glyph offset support - - src/hb-directwrite.cc | 44 ++++++++++++++++++++++++-------------------- - 1 file changed, 24 insertions(+), 20 deletions(-) - -commit d691ba3f405738c6857450752b8cc0911dfcdb01 -Author: Ebrahim Byagowi -Date: Wed Mar 30 20:21:40 2016 +0000 - - Don't fail when language is not set - - src/hb-directwrite.cc | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 1c00a46c7a608ebc0b03c5abfcfe7f2b9881d0df -Author: Ebrahim Byagowi -Date: Wed Mar 30 20:15:09 2016 +0000 - - Make DirectWrite backend to work with different font sizes - - Actually copyedited same logic from Uniscribe to make it just work - - src/hb-directwrite.cc | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit 0251b0cc5c39272d2299d4b2ab802faaafe96837 -Author: Behdad Esfahbod -Date: Thu Mar 17 14:37:11 2016 -0700 - - 1.2.4 - - NEWS | 15 +++++++++++++++ - configure.ac | 2 +- - 2 files changed, 16 insertions(+), 1 deletion(-) - -commit 69f9fbc4200442a35484d3c790ae8f4979be5d60 -Author: Behdad Esfahbod -Date: Thu Mar 17 11:59:43 2016 -0700 - - Synthesize GDEF glyph class for any glyph that does not have one - in GDEF - - Previously we only synthesized GDEF glyph classes if the glyphClassDef - array in GDEF was null. This worked well enough, and is indeed what - OpenType requires: "If the font does not include a GlyphClassDef - table, - the client must define and maintain this information when using the - GSUB and GPOS tables." That sentence does not quite make sense since - one needs Unicode properties as well, but is close enough. - - However, looks like Arial Unicode as shipped on WinXP, does have GDEF - glyph class array, but defines no classes for Hebrew. This results - in Hebrew marks not getting their widths zeroed. So, with this - change, - we synthesize glyph class for any glyph that is not specified in the - GDEF glyph class table. Since, from our point of view, a glyph not - being listed in that table is a font bug, any unwanted consequence of - this change is a font bug :). - - Note that we still don't get the same rendering as Uniscribe, since - Uniscribe seems to do fallback positioning as well, even though the - font does have a GPOS table (which does NOT cover Hebrew!). We are - not going to try to match that though. - - Test string for Arial Unicode: - - U+05E9,U+05B8,U+05C1,U+05DC - - Before: [gid1166=3+991|gid1142=0+737|gid5798=0+1434] - After: [gid1166=3+991|gid1142=0+0|gid5798=0+1434] - Uniscribe: [gid1166=3+991|gid1142=0@348,0+0|gid5798=0+1434] - - Note that our new output matches what we were generating until July - 2014, because the Hebrew shaper used to zero mark advances based on - Unicode, NOT GDEF. That's 9e834e29e0b657f0555df1ab9cea79ff7abcf08d. - - Reported by Greg Douglas. - - src/hb-ot-layout-gsub-table.hh | 22 ++++++++++++++++++++-- - src/hb-ot-shape.cc | 29 ----------------------------- - 2 files changed, 20 insertions(+), 31 deletions(-) - -commit fef5dd9a72f326c160a7194f558749d24bac7283 -Merge: 01ea9eaa 5f995db1 -Author: Behdad Esfahbod -Date: Sat Mar 12 19:15:15 2016 -0800 - - Merge pull request #232 from c0nk/wip-icu - - Add --with-icu=builtin option; fix compile error - -commit 01ea9eaac373d9f3de6e56c1ca26cdcd259ecc8e -Author: Behdad Esfahbod -Date: Fri Mar 11 18:50:02 2016 -0800 - - [build] Use tar-ustar instead of tar-pax - - The default tar-v7 is not good enough for us (99 char filename - limit), so I have had bumped to tar-pax. We got one complaint - that someone's tar couldn't handle tar-pax. Set to tar-ustar - which is ~13 years earlier than tar-pax and is good enough for us. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3e10460a1dd41de32752e308771aa30d23565cc0 -Author: Behdad Esfahbod -Date: Fri Mar 11 18:45:19 2016 -0800 - - Minor comment - - src/hb-unicode-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d14fea4bdcc1423fe9a585af3abdefa9605d17e6 -Author: Behdad Esfahbod -Date: Tue Mar 8 12:16:41 2016 -0800 - - Remove default clause in minor switch statements - - Bending to clang warnings... - https://bugs.chromium.org/p/chromium/issues/detail?id=593057 - - src/hb-ot-shape-complex-indic.cc | 4 ---- - src/hb-ot-shape-complex-thai.cc | 1 - - 2 files changed, 5 deletions(-) - -commit ce8ae9970102f83b67bb1e8e8b2bf894a0e26c07 -Merge: 731a430c 71248a84 -Author: Behdad Esfahbod -Date: Fri Mar 4 17:20:35 2016 -0800 - - Merge pull request #231 from KonstantinRitt/post123buildfix - - Fix build with HB_DISABLE_DEPRECATED - -commit 731a430cd36caabcef04e099b21ebc6daedd536f -Author: Behdad Esfahbod -Date: Wed Mar 2 13:32:42 2016 -0800 - - Fix requiredFeature stage handling logic - - Originally the way Jonathan had written this was correct in - "continue"ing: - - https://github.com/jfkthame/harfbuzz/commit/35e28c7a733eaffcd9f062b18d7db9fbb3d990fc#diff-ead86a33a5cc9ad7f6e6381031a0baddR199 - - When I rewrote his patch, I messed it up: - - https://github.com/behdad/harfbuzz/commit/da132937989acb4d8ca9bd41c79f98750e7dda30#diff-ead86a33a5cc9ad7f6e6381031a0baddR209 - - the intended behavior was NOT to set found=TRUE and NOT to continue. - This was resulting in feature_index[table_index] being left unset. - Oops! - - src/hb-ot-map.cc | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -commit 68b6296d3333fd38bd5442d2ba087ced481603bc -Author: Behdad Esfahbod -Date: Tue Mar 1 16:41:53 2016 +0900 - - Add F2DOT14 type - - src/hb-open-type-private.hh | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 082b79fe9f06607998178dcdcbe817af28b017de -Author: Behdad Esfahbod -Date: Tue Mar 1 16:41:26 2016 +0900 - - Use FWORD and UFWORD when it makes sense - - I had forgotten about those types. - - src/hb-ot-glyf-table.hh | 8 ++++---- - src/hb-ot-hmtx-table.hh | 6 +++--- - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit 5f995db10381172ec63fd7ffbb0acf2c6b3dae5e -Author: Kal Conley -Date: Fri Feb 26 00:36:17 2016 +0100 - - Fix missing ICU #include - - Fix compile error in hb-icu.cc when ICU configured with - U_NO_DEFAULT_INCLUDE_UTF_HEADERS=1 - - src/hb-icu.cc | 1 + - 1 file changed, 1 insertion(+) - -commit b424b6c372dfe4c0ed75a49761eb34a416819446 -Author: Kal Conley -Date: Fri Feb 26 00:35:15 2016 +0100 - - Add --with-icu=builtin configure option - - configure.ac | 33 +++++++++++++++++++-------------- - src/Makefile.am | 7 +++++++ - 2 files changed, 26 insertions(+), 14 deletions(-) - -commit 71248a843f976c86022eb5bb8c6e8880b2499937 -Author: Konstantin Ritt -Date: Thu Feb 25 18:55:28 2016 +0400 - - Fix build with HB_DISABLE_DEPRECATED - - When HB_DISABLE_DEPRECATED is defined, no code from hb-deprecated.h - should be used, even from within HB itself. - - src/hb-font.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 0c7fb7419c20d04b803412945565562c32b42929 -Author: Behdad Esfahbod -Date: Thu Feb 25 14:40:09 2016 +0900 - - Speed up buffer variable allocation sanity check - - This makes defining HB_NDEBUG much less relevant, to the - point of irrelevance. Sorry about all the fuss in previous - release! - - src/hb-buffer-private.hh | 67 - ++++++++++++++++++++++++++++----------------- - src/hb-buffer.cc | 70 - ------------------------------------------------ - 2 files changed, 43 insertions(+), 94 deletions(-) - -commit 91dd11565221bdb108c138662ea013aac14bb968 -Author: Behdad Esfahbod -Date: Thu Feb 25 13:56:47 2016 +0900 - - Add HB_NDEBUG - - API changes: - - If NDEBUG is defined, define HB_NDEBUG - - Disable costlier sanity checks if HB_NDEBUG is defined. - - In 1.2.3 introduced some code to disable costly sanity checks if - NDEBUG is defined. NDEBUG, however, disables all assert()s as - well. With HB_NDEBUG, one can disable costlier checks but keep - assert()s. - - I'll probably add a way to define HB_NDEBUG automatically in - release tarballs. But for now, production systems that do NOT - define NDEBUG, are encouraged to define HB_NDEBUG for our build. - - src/Makefile.am | 2 +- - src/hb-buffer-private.hh | 4 ++-- - src/hb-buffer.cc | 4 ++-- - src/hb-private.hh | 9 +++++++++ - 4 files changed, 14 insertions(+), 5 deletions(-) - -commit 75568b0a7f811ea18e23037735ec8541a7431f88 -Author: Behdad Esfahbod -Date: Thu Feb 25 12:26:26 2016 +0900 - - 1.2.3 - - NEWS | 42 ++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 43 insertions(+), 1 deletion(-) - -commit 988165021f8d48dc7120b071d056491256569f4f -Author: Behdad Esfahbod -Date: Thu Feb 25 12:23:02 2016 +0900 - - Disable internal buffer variable bookkeeping in NDEBUG builds - - Saves some sweet time and binary size! - - src/Makefile.am | 1 + - src/hb-buffer-private.hh | 30 ++++++++++++++++++++---------- - src/hb-buffer.cc | 6 ++++-- - 3 files changed, 25 insertions(+), 12 deletions(-) - -commit 94dd0bb7e78125994cb7c833a5b03110f1ffc822 -Author: Behdad Esfahbod -Date: Thu Feb 25 11:31:03 2016 +0900 - - Add blacklist signature for Times New Roman (Bold) Italic on OS X - - src/hb-ot-layout.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit dd8598c1c7f29fc92253b0cd4e856c1941b1d0c0 -Author: Behdad Esfahbod -Date: Thu Feb 25 11:20:05 2016 +0900 - - [test] Pass closure to hb_font_set_glyph_func() - - Exercises fix in c335fd7986fe360ab8e1c032c9b988d0d30511eb - - test/api/test-shape.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e23cf902e91142a10229e3514be4ceee69efde04 -Author: Behdad Esfahbod -Date: Thu Feb 25 11:11:15 2016 +0900 - - Blacklist GDEF table of timesi.ttf and timesbi.ttf on Win 7 - - See discussion: - https://lists.freedesktop.org/archives/harfbuzz/2016-February/005489.html - - src/hb-ot-layout.cc | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -commit c335fd7986fe360ab8e1c032c9b988d0d30511eb -Author: Behdad Esfahbod -Date: Thu Feb 25 09:16:05 2016 +0900 - - In trampoline implementation of get_glyph(), don't destroy user - data twice! - - src/hb-font.cc | 41 +++++++++++++++++++++++++++-------------- - 1 file changed, 27 insertions(+), 14 deletions(-) - -commit 23335deaad9d4d9824ff41343264514d3f9f7e37 -Author: Behdad Esfahbod -Date: Wed Feb 24 20:27:13 2016 +0900 - - [ot-font] Accelerate cmap format4 get_glyph - - src/hb-ot-cmap-table.hh | 111 - ++++++++++++++++++++++++++++-------------------- - src/hb-ot-font.cc | 14 +++++- - 2 files changed, 77 insertions(+), 48 deletions(-) - -commit e0f16a715bc3e621ff21a8be88102e9672630574 -Author: Behdad Esfahbod -Date: Wed Feb 24 19:52:36 2016 +0900 - - [ot-font] Towards accelerating get_glyph() - - src/hb-ot-font.cc | 23 ++++++++++++++++++++--- - 1 file changed, 20 insertions(+), 3 deletions(-) - -commit 5473ebfb84c7b6059ac16e04676b363acc51aa00 -Author: Behdad Esfahbod -Date: Wed Feb 24 19:32:43 2016 +0900 - - [ot-font] Remove level of indirection in get_glyph_variant - - src/hb-ot-cmap-table.hh | 14 ++------------ - src/hb-ot-font.cc | 13 +++++++++---- - 2 files changed, 11 insertions(+), 16 deletions(-) - -commit 49fe6ecf19522413e79a11a29aa0ffc5bdfcd2f8 -Author: Behdad Esfahbod -Date: Wed Feb 24 19:10:06 2016 +0900 - - [TODO] Update - - This file is rather obsolete. Still, give it a refresh. - - TODO | 16 ++-------------- - 1 file changed, 2 insertions(+), 14 deletions(-) - -commit 8b5bc141cd3a6bfcea3c91a882a630426876ceb3 -Author: Behdad Esfahbod -Date: Wed Feb 24 19:05:23 2016 +0900 - - Add get_nominal_glyph() and get_variation_glyph() instead of - get_glyph() - - New API: - - hb_font_get_nominal_glyph_func_t - - hb_font_get_variation_glyph_func_t - - hb_font_funcs_set_nominal_glyph_func() - - hb_font_funcs_set_variation_glyph_func() - - hb_font_get_nominal_glyph() - - hb_font_get_variation_glyph() - - Deprecated API: - - hb_font_get_glyph_func_t - - hb_font_funcs_set_glyph_func() - - Clients that implement their own font-funcs are encouraged to replace - their get_glyph() implementation with a get_nominal_glyph() and - get_variation_glyph() pair. The variation version can assume that - variation_selector argument is not zero. - - src/hb-deprecated.h | 10 ++ - src/hb-fallback-shape.cc | 4 +- - src/hb-font-private.hh | 26 +++-- - src/hb-font.cc | 203 - ++++++++++++++++++++++++++++++++++--- - src/hb-font.h | 55 +++++++--- - src/hb-ft.cc | 38 ++++--- - src/hb-ot-font.cc | 57 +++++++---- - src/hb-ot-shape-complex-indic.cc | 8 +- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - src/hb-ot-shape-complex-use.cc | 2 +- - src/hb-ot-shape-fallback.cc | 6 +- - src/hb-ot-shape-normalize.cc | 18 ++-- - src/hb-ot-shape.cc | 6 +- - 13 files changed, 344 insertions(+), 91 deletions(-) - -commit b30a971bf792b9c683c345e1be25c5a5869a113c -Author: Behdad Esfahbod -Date: Wed Feb 24 17:32:22 2016 +0900 - - 1.2.2 - - NEWS | 14 +++++++++++++- - configure.ac | 2 +- - 2 files changed, 14 insertions(+), 2 deletions(-) - -commit af48e3d27c01c538f46f1dc376d994a0c24a8170 -Author: Behdad Esfahbod -Date: Wed Feb 24 16:06:40 2016 +0900 - - Fix recent test - - Not sure why the FT functions were returning advance 1024. This - caused failure on drone.io. Switch to hb-ot-font and disable - glyph names. - - test/shaping/tests/cursive-positioning.tests | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 17c831701756bb46300c412fd64b19d67f299c18 -Author: Behdad Esfahbod -Date: Wed Feb 24 16:06:23 2016 +0900 - - [tests] Fix for multiple options in test runner scripts - - test/shaping/run-tests.sh | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit ebd7431f824c718db6ce5b85e94f2b3911127af4 -Author: Behdad Esfahbod -Date: Wed Feb 24 15:53:40 2016 +0900 - - Partially revert 86c68c7a2c971efe8e35b1f1bd99401dc8b688d2 - - That commit moved the advance adjustment for mark positioning to - be applied immediately, instead of doing late before. This breaks - if mark advances are zeroed late, like in Arabic. Also, easier to - hit it in RTL scripts since a single mark with non-zero advance is - enough to hit the bug, whereas in LTR, at least two marks are needed. - - This reopens https://github.com/behdad/harfbuzz/issues/211 - The cursive+mark interaction is broken again. To be fixed in a - different way. - - src/hb-ot-layout-gpos-table.hh | 28 - ++++++++++++---------------- - test/shaping/tests/cursive-positioning.tests | 2 +- - 2 files changed, 13 insertions(+), 17 deletions(-) - -commit 284481b3120963353f5f34ed094f07ffc13480ef -Author: Behdad Esfahbod -Date: Wed Feb 24 15:52:37 2016 +0900 - - Add test for mark positioning in rtl with non-zero mark advance - - Apparently I broke this 86c68c7a2c971efe8e35b1f1bd99401dc8b688d2. - Fix coming. - - .../sha1sum/07f054357ff8638bac3711b422a1e31180bba863.ttf | Bin 0 -> - 848 bytes - test/shaping/tests/cursive-positioning.tests | 1 + - 2 files changed, 1 insertion(+) - -commit 56a84e8dd18c63782b8db3a86e94651dae5bb01b -Author: Behdad Esfahbod -Date: Wed Feb 24 15:50:33 2016 +0900 - - [tests] Allow commenting out tests to be skipped - - test/shaping/run-tests.sh | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 7cfd6cc486f2751d7f78c5008a636d677af4e12f -Author: Behdad Esfahbod -Date: Wed Feb 24 12:30:57 2016 +0900 - - [Android.mk] Update with warning flags - - Android.mk | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit dabf32a5ad706726412ba5c64e1ea614a707b928 -Author: Behdad Esfahbod -Date: Tue Feb 23 15:38:43 2016 +0900 - - 1.2.1 - - NEWS | 13 +++++++++++++ - configure.ac | 2 +- - 2 files changed, 14 insertions(+), 1 deletion(-) - -commit 525cc7d28cbe4e8149ddba677224f134dc0a3274 -Author: Behdad Esfahbod -Date: Tue Feb 23 15:19:27 2016 +0900 - - Add note re only adding tests with Free Software fonts - - test/shaping/README.md | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 6a09d7e34b949f9929f616ee53278b2edfd9b7ea -Author: Behdad Esfahbod -Date: Tue Feb 23 13:47:16 2016 +0900 - - [test] Add README about how to add shaping tests - - test/shaping/Makefile.am | 1 + - test/shaping/README.md | 37 +++++++++++++++++++++++++++++++++++++ - 2 files changed, 38 insertions(+) - -commit f8ee7906d0454d950081c621f2b04a6d08e1b92f -Author: Behdad Esfahbod -Date: Tue Feb 23 13:45:38 2016 +0900 - - Remove MANIFEST files - - They are unused currently. We can add later if we hook them up - to anything useful. - - test/shaping/fonts/sha1sum/MANIFEST | 52 - ---------------------- - test/shaping/tests/MANIFEST | 19 -------- - test/shaping/texts/MANIFEST | 1 - - test/shaping/texts/in-tree/MANIFEST | 9 ---- - test/shaping/texts/in-tree/shaper-arabic/MANIFEST | 6 --- - .../in-tree/shaper-arabic/script-arabic/MANIFEST | 3 -- - .../script-arabic/language-persian/MANIFEST | 1 - - .../script-arabic/language-urdu/MANIFEST | 1 - - .../script-arabic/language-urdu/crulp/MANIFEST | 1 - - .../language-urdu/crulp/ligatures/MANIFEST | 7 --- - .../shaper-arabic/script-arabic/misc/MANIFEST | 1 - - .../script-arabic/misc/diacritics/MANIFEST | 7 --- - .../in-tree/shaper-arabic/script-mandaic/MANIFEST | 1 - - .../shaper-arabic/script-mandaic/misc/MANIFEST | 0 - .../shaper-arabic/script-mongolian/MANIFEST | 1 - - .../shaper-arabic/script-mongolian/misc/MANIFEST | 4 -- - .../in-tree/shaper-arabic/script-nko/MANIFEST | 1 - - .../in-tree/shaper-arabic/script-nko/misc/MANIFEST | 1 - - .../in-tree/shaper-arabic/script-phags-pa/MANIFEST | 1 - - .../shaper-arabic/script-phags-pa/misc/MANIFEST | 1 - - .../in-tree/shaper-arabic/script-syriac/MANIFEST | 1 - - .../shaper-arabic/script-syriac/misc/MANIFEST | 2 - - test/shaping/texts/in-tree/shaper-default/MANIFEST | 5 --- - .../shaper-default/script-ethiopic/MANIFEST | 1 - - .../shaper-default/script-ethiopic/misc/MANIFEST | 1 - - .../in-tree/shaper-default/script-han/MANIFEST | 1 - - .../shaper-default/script-han/misc/MANIFEST | 1 - - .../shaper-default/script-hiragana/MANIFEST | 1 - - .../shaper-default/script-hiragana/misc/MANIFEST | 2 - - .../shaper-default/script-linear-b/MANIFEST | 1 - - .../shaper-default/script-linear-b/misc/MANIFEST | 1 - - .../shaper-default/script-tifinagh/MANIFEST | 1 - - .../shaper-default/script-tifinagh/misc/MANIFEST | 1 - - test/shaping/texts/in-tree/shaper-hangul/MANIFEST | 1 - - .../in-tree/shaper-hangul/script-hangul/MANIFEST | 1 - - .../shaper-hangul/script-hangul/misc/MANIFEST | 1 - - test/shaping/texts/in-tree/shaper-hebrew/MANIFEST | 1 - - .../in-tree/shaper-hebrew/script-hebrew/MANIFEST | 1 - - .../shaper-hebrew/script-hebrew/misc/MANIFEST | 1 - - test/shaping/texts/in-tree/shaper-indic/MANIFEST | 2 - - .../texts/in-tree/shaper-indic/indic/MANIFEST | 11 ----- - .../shaper-indic/indic/script-assamese/MANIFEST | 2 - - .../indic/script-assamese/misc/MANIFEST | 0 - .../indic/script-assamese/utrrs/MANIFEST | 3 -- - .../indic/script-assamese/utrrs/codepoint/MANIFEST | 7 --- - .../indic/script-assamese/utrrs/gpos/MANIFEST | 2 - - .../indic/script-assamese/utrrs/gsub/MANIFEST | 1 - - .../shaper-indic/indic/script-bengali/MANIFEST | 2 - - .../indic/script-bengali/misc/MANIFEST | 2 - - .../indic/script-bengali/utrrs/MANIFEST | 3 -- - .../indic/script-bengali/utrrs/codepoint/MANIFEST | 7 --- - .../indic/script-bengali/utrrs/gpos/MANIFEST | 2 - - .../indic/script-bengali/utrrs/gsub/MANIFEST | 1 - - .../shaper-indic/indic/script-devanagari/MANIFEST | 2 - - .../indic/script-devanagari/misc/MANIFEST | 6 --- - .../indic/script-devanagari/utrrs/MANIFEST | 3 -- - .../script-devanagari/utrrs/codepoint/MANIFEST | 9 ---- - .../indic/script-devanagari/utrrs/gpos/MANIFEST | 2 - - .../indic/script-devanagari/utrrs/gsub/MANIFEST | 1 - - .../shaper-indic/indic/script-gujarati/MANIFEST | 2 - - .../indic/script-gujarati/misc/MANIFEST | 0 - .../indic/script-gujarati/utrrs/MANIFEST | 3 -- - .../indic/script-gujarati/utrrs/codepoint/MANIFEST | 7 --- - .../indic/script-gujarati/utrrs/gpos/MANIFEST | 2 - - .../indic/script-gujarati/utrrs/gsub/MANIFEST | 1 - - .../shaper-indic/indic/script-gurmukhi/MANIFEST | 2 - - .../indic/script-gurmukhi/misc/MANIFEST | 1 - - .../indic/script-gurmukhi/utrrs/MANIFEST | 3 -- - .../indic/script-gurmukhi/utrrs/codepoint/MANIFEST | 7 --- - .../indic/script-gurmukhi/utrrs/gpos/MANIFEST | 2 - - .../indic/script-gurmukhi/utrrs/gsub/MANIFEST | 1 - - .../shaper-indic/indic/script-kannada/MANIFEST | 2 - - .../indic/script-kannada/misc/MANIFEST | 2 - - .../indic/script-kannada/utrrs/MANIFEST | 3 -- - .../indic/script-kannada/utrrs/codepoint/MANIFEST | 8 ---- - .../indic/script-kannada/utrrs/gpos/MANIFEST | 1 - - .../indic/script-kannada/utrrs/gsub/MANIFEST | 1 - - .../shaper-indic/indic/script-malayalam/MANIFEST | 2 - - .../indic/script-malayalam/misc/MANIFEST | 3 -- - .../indic/script-malayalam/utrrs/MANIFEST | 2 - - .../script-malayalam/utrrs/codepoint/MANIFEST | 7 --- - .../indic/script-malayalam/utrrs/gsub/MANIFEST | 1 - - .../shaper-indic/indic/script-oriya/MANIFEST | 2 - - .../shaper-indic/indic/script-oriya/misc/MANIFEST | 2 - - .../shaper-indic/indic/script-oriya/utrrs/MANIFEST | 2 - - .../indic/script-oriya/utrrs/codepoint/MANIFEST | 9 ---- - .../indic/script-oriya/utrrs/gsub/MANIFEST | 1 - - .../shaper-indic/indic/script-sinhala/MANIFEST | 2 - - .../indic/script-sinhala/misc/MANIFEST | 4 -- - .../indic/script-sinhala/utrrs/MANIFEST | 3 -- - .../indic/script-sinhala/utrrs/codepoint/MANIFEST | 5 --- - .../indic/script-sinhala/utrrs/gpos/MANIFEST | 1 - - .../indic/script-sinhala/utrrs/gsub/MANIFEST | 7 --- - .../shaper-indic/indic/script-tamil/MANIFEST | 2 - - .../shaper-indic/indic/script-tamil/misc/MANIFEST | 1 - - .../shaper-indic/indic/script-tamil/utrrs/MANIFEST | 3 -- - .../indic/script-tamil/utrrs/codepoint/MANIFEST | 10 ----- - .../indic/script-tamil/utrrs/gpos/MANIFEST | 2 - - .../indic/script-tamil/utrrs/gsub/MANIFEST | 1 - - .../shaper-indic/indic/script-telugu/MANIFEST | 2 - - .../shaper-indic/indic/script-telugu/misc/MANIFEST | 1 - - .../indic/script-telugu/utrrs/MANIFEST | 3 -- - .../indic/script-telugu/utrrs/codepoint/MANIFEST | 7 --- - .../indic/script-telugu/utrrs/gpos/MANIFEST | 1 - - .../indic/script-telugu/utrrs/gsub/MANIFEST | 1 - - .../in-tree/shaper-indic/south-east-asian/MANIFEST | 1 - - .../south-east-asian/script-khmer/MANIFEST | 1 - - .../south-east-asian/script-khmer/misc/MANIFEST | 3 -- - test/shaping/texts/in-tree/shaper-myanmar/MANIFEST | 1 - - .../in-tree/shaper-myanmar/script-myanmar/MANIFEST | 1 - - .../shaper-myanmar/script-myanmar/misc/MANIFEST | 3 -- - test/shaping/texts/in-tree/shaper-thai/MANIFEST | 2 - - .../texts/in-tree/shaper-thai/script-lao/MANIFEST | 1 - - .../in-tree/shaper-thai/script-lao/misc/MANIFEST | 1 - - .../texts/in-tree/shaper-thai/script-thai/MANIFEST | 1 - - .../in-tree/shaper-thai/script-thai/misc/MANIFEST | 4 -- - test/shaping/texts/in-tree/shaper-tibetan/MANIFEST | 1 - - .../in-tree/shaper-tibetan/script-tibetan/MANIFEST | 1 - - .../shaper-tibetan/script-tibetan/misc/MANIFEST | 1 - - test/shaping/texts/in-tree/shaper-use/MANIFEST | 6 --- - .../texts/in-tree/shaper-use/script-batak/MANIFEST | 1 - - .../in-tree/shaper-use/script-buginese/MANIFEST | 1 - - .../texts/in-tree/shaper-use/script-cham/MANIFEST | 1 - - .../in-tree/shaper-use/script-kaithi/MANIFEST | 1 - - .../in-tree/shaper-use/script-kharoshti/MANIFEST | 1 - - .../in-tree/shaper-use/script-tai-tham/MANIFEST | 2 - - 126 files changed, 381 deletions(-) - -commit 815bdd7700155efcffa9a4c3ca5bfc31833d0586 -Author: Behdad Esfahbod -Date: Mon Feb 22 18:22:44 2016 +0900 - - In cluster-level=0, group ZWJ/ZWNJ with previous cluster - - This better emulates Unicode grapheme clusters. - - Note that Uniscribe does NOT do this, but should be harmless with - most clients, - and improve fallback with clients that use HarfBuzz cluster as unit - of fallback. - - Fixes https://github.com/behdad/harfbuzz/issues/217 - - src/hb-ot-layout-private.hh | 6 ++++++ - src/hb-ot-shape.cc | 3 ++- - test/shaping/tests/indic-joiner-candrabindu.tests | 2 +- - test/shaping/tests/mongolian-variation-selector.tests | 2 +- - 4 files changed, 10 insertions(+), 3 deletions(-) - -commit 89137e325a19d62fb00979e1e8ab2ca59a2c1147 -Author: Behdad Esfahbod -Date: Mon Feb 22 16:00:59 2016 +0900 - - Minor - - src/hb-coretext.cc | 2 +- - src/hb-ot-shape.cc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 15063b12f7619d4f44981248e28f38c172d12e1f -Author: Behdad Esfahbod -Date: Mon Feb 22 15:56:29 2016 +0900 - - [coretext] Move CTFont construction to face_data - - src/hb-coretext.cc | 66 - +++++++++++++++++++++++++----------------------------- - 1 file changed, 30 insertions(+), 36 deletions(-) - -commit ba3d49d9a56932d341bf1916a30f322be665e3a6 -Author: Behdad Esfahbod -Date: Mon Feb 22 15:50:12 2016 +0900 - - [coretext] Move code around - - src/hb-coretext.cc | 70 - +++++++++++++++++++++++++++++++----------------------- - 1 file changed, 40 insertions(+), 30 deletions(-) - -commit 90194efb8480d58c55b7a19962624c7aadbdca63 -Author: Behdad Esfahbod -Date: Mon Feb 22 15:42:53 2016 +0900 - - [coretext] Move code around - - src/hb-coretext.cc | 46 ++++++++++++++++++++++++++-------------------- - 1 file changed, 26 insertions(+), 20 deletions(-) - -commit ca539e37a4b71e585a267a288db1a3975cbb99fc -Author: Behdad Esfahbod -Date: Mon Feb 22 15:37:18 2016 +0900 - - [build] git.mk fix for m4/gtk-doc.m4 - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 54788cb1ecc5a5ffd63d07cd1f0b07b2afa9a8ca -Author: Behdad Esfahbod -Date: Mon Feb 22 15:32:52 2016 +0900 - - [win32] Install git.mk - - win32/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit 9a13ed453ef96822a47d6e6f58332b87f38d5c59 -Author: Behdad Esfahbod -Date: Mon Feb 22 11:44:45 2016 +0900 - - Make FixedVersion a template - - src/hb-open-file-private.hh | 4 ++-- - src/hb-open-type-private.hh | 9 +++++---- - src/hb-ot-head-table.hh | 4 ++-- - src/hb-ot-hhea-table.hh | 2 +- - src/hb-ot-layout-gdef-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-layout-jstf-table.hh | 2 +- - src/hb-ot-maxp-table.hh | 2 +- - 8 files changed, 14 insertions(+), 13 deletions(-) - -commit 238b943e850ea1ab0093e12c74d2cd7c686f318e -Author: Behdad Esfahbod -Date: Mon Feb 22 15:31:22 2016 +0900 - - [coretext] Fix leak! - - src/hb-coretext.cc | 1 + - 1 file changed, 1 insertion(+) - -commit e561122856a50ed405d71cb1629317e7ae63f316 -Author: Behdad Esfahbod -Date: Mon Feb 22 15:28:37 2016 +0900 - - [coretext] Move code around - - src/hb-coretext.cc | 109 - ++++++++++++++++++++++++++++++----------------------- - 1 file changed, 62 insertions(+), 47 deletions(-) - -commit 04c64431530a4a6d9ebd33674c4665a8e6d25bdd -Author: Behdad Esfahbod -Date: Mon Feb 22 15:12:27 2016 +0900 - - [coretext] Ignore PPEM in font size selection - - src/hb-coretext.cc | 14 ++++---------- - 1 file changed, 4 insertions(+), 10 deletions(-) - -commit 62c2711121fe78f373c15c0f53090b62b52d11c1 -Author: Behdad Esfahbod -Date: Mon Feb 22 15:07:20 2016 +0900 - - [coretext] Limit grapheme-cluster forming to cluster-level=0 - - src/hb-coretext.cc | 1 + - src/hb-ot-shape.cc | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit 061105ec443eb7350ffe217305f9d8902c179e2f -Author: Behdad Esfahbod -Date: Mon Feb 22 14:59:39 2016 +0900 - - [coretext] Fix shaping with varying font size - - Fixes https://github.com/libass/libass/issues/212 - - src/hb-coretext.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 27847cab1264b4ce8342603f4626b4e0645979e4 -Author: Behdad Esfahbod -Date: Fri Feb 19 15:56:50 2016 +0700 - - 1.2.0 - - NEWS | 20 ++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 21 insertions(+), 1 deletion(-) - -commit c3731559042e1730e85d19574321ad850010f7de -Author: Behdad Esfahbod -Date: Fri Feb 19 15:13:07 2016 +0700 - - [fuzzing] Add test for recent fix - - Test from https://github.com/behdad/harfbuzz/issues/223 - - I forgot that we do run hb-fuzzer on tests in - shaping/tests/fuzzed.tests. - - .../sha1sum/205edd09bd3d141cc9580f650109556cc28b22cb.ttf | Bin 0 -> - 1966 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/fuzzed.tests | 1 + - 3 files changed, 2 insertions(+) - -commit aa33cb72ab29c31e87f0cca9a0e72fe3a68247b7 -Author: Behdad Esfahbod -Date: Fri Feb 19 15:12:24 2016 +0700 - - [fuzzing] Make test runner actually work - - test/fuzzing/Makefile.am | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 2735555c6b0c95db7dfc2b391f92a1a5c06084c4 -Author: Behdad Esfahbod -Date: Fri Feb 19 15:12:16 2016 +0700 - - [fuzzing] Add TODO item - - test/fuzzing/hb-fuzzer.cc | 1 + - 1 file changed, 1 insertion(+) - -commit b87e36f6f119fac80b8fd55f3abae563c2c5b798 -Author: Behdad Esfahbod -Date: Fri Feb 19 14:52:31 2016 +0700 - - Avoid buffer->move_to() in case of buffer error - - Fixes https://github.com/behdad/harfbuzz/issues/223 - - Right now we cannot test this because it has to be tested using - hb-fuzzer. - We should move all fuzzing tests from test/shaping/tests/fuzzed.tests - to - test/fuzzing/ and have its own test runner. At that point, should add - test from this issue as well. - - src/hb-buffer.cc | 2 ++ - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -commit 7e76bbabbaa56af314abff8ddba8866c634919cd -Author: Behdad Esfahbod -Date: Fri Feb 19 14:43:39 2016 +0700 - - [fuzzing] Make "make hb-fuzzer" build lib dependency - - Not going to do with util/, but is convenient here. - - test/fuzzing/Makefile.am | 3 +++ - 1 file changed, 3 insertions(+) - -commit 568a0c60e8695a6ad8a93ec60d55b137c48890cb -Author: Behdad Esfahbod -Date: Thu Feb 18 19:31:51 2016 +0700 - - Remove pointless overflow check in pointer math - - Fixes https://github.com/behdad/harfbuzz/issues/227 - - src/hb-blob.cc | 1 - - 1 file changed, 1 deletion(-) - -commit aae2847099cbf05bf0668fbe526fc58736837c1b -Author: Behdad Esfahbod -Date: Thu Feb 18 17:06:25 2016 +0700 - - Emoji skin tone modifiers need to be treated as combining marks - - Fixes https://github.com/behdad/harfbuzz/issues/169 - - src/hb-ot-layout-private.hh | 15 ++++++++++++++- - src/hb-unicode-private.hh | 5 +++-- - 2 files changed, 17 insertions(+), 3 deletions(-) - -commit da41e48f0a1a6af6d44ef25185d2421a29bd4166 -Author: Behdad Esfahbod -Date: Tue Feb 16 17:16:33 2016 +0700 - - [USE] Zero mark advances by GDEF early - - This is what Microsoft's implementation does. Marks that need advance - need to add it back using 'dist' or other feature in GPOS. - Update tests to - match. - - src/hb-ot-shape-complex-use.cc | 2 +- - test/shaping/fonts/sha1sum/MANIFEST | 1 + - .../sha1sum/f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf | Bin 0 -> - 1356 bytes - test/shaping/tests/context-matching.tests | 2 +- - test/shaping/tests/use.tests | 2 ++ - 5 files changed, 5 insertions(+), 2 deletions(-) - -commit 86c68c7a2c971efe8e35b1f1bd99401dc8b688d2 -Author: Behdad Esfahbod -Date: Tue Feb 16 16:07:20 2016 +0700 - - [GPOS] Fix interaction of mark attachments and cursive chaining - - Fixes https://github.com/behdad/harfbuzz/issues/211 - - What happens in that bug is that a mark is attached to base first, - then a second mark is cursive-chained to the first mark. This only - "works" because it's in the Indic shaper where mark advances are - not zeroed. - - Before, we didn't allow cursive to run on marks at all. Fix that. - We also where updating mark major offsets at the end of GPOS, such - that changes in advance of base will not change the mark attachment - position. That was superior to the alternative (which is what - Uniscribe - does BTW), but made it hard to apply cursive to the mark after it - was positioned. We could track major-direction offset changes and - apply that to cursive in the post process, but that's a much trickier - thing to do than the fix here, which is to immediately apply the - major-direction advance-width offsets... Ie.: - - https://github.com/behdad/harfbuzz/issues/211#issuecomment-183194739 - - If this breaks any fonts, the font should be fixed to do mark - attachment - after all the advances are set up first (kerning, etc). - - Finally, this, still doesn't make us match Uniscribe, for I explained - in that bug. Looks like Uniscribe applies minor-direction cursive - adjustment immediate as well. We don't, and we like it our way, at - least for now. Eg. the sequence in the test case does this: - - - The first subscript attaches with mark-to-base, moving in x only, - - The second subscript attaches with cursive attachment to first - subscript - moving in x only, - - A final context rule moves the first subscript up by 104 units. - - The way we do, the final shift-up, also shifts up the second subscript - mark because it's cursively-attached. Uniscribe doesn't. We get: - - [ttaorya=0+1307|casubscriptorya=0@-242,104+-231|casubscriptnarroworya=0@20,104+507] - - while Uniscribe gets: - - [ttaorya=0+1307|casubscriptorya=0@-242,104+-211|casubscriptnarroworya=0+487] - - note the different y-offset of the last glyph. In our view, - after cursive, - things move together, period. - - src/hb-ot-layout-gpos-table.hh | 31 - +++++++++++---------- - .../706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttf | Bin 0 -> 3868 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/cursive-positioning.tests | 1 + - 4 files changed, 18 insertions(+), 15 deletions(-) - -commit 80c8855cfeffa028d74a25df884d0e5577c95c6c -Author: Behdad Esfahbod -Date: Fri Feb 12 12:50:17 2016 +0700 - - Minor - - src/hb-common.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6ab920224c32e38072a0bec5e84d4b0d58b74167 -Author: Behdad Esfahbod -Date: Thu Feb 11 16:57:52 2016 +0700 - - [GPOS] Minor - - No effect. - - src/hb-ot-layout-gpos-table.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit cbc3a76c5a38ab24f72e80357377711bd3f54d56 -Author: Behdad Esfahbod -Date: Thu Feb 11 16:48:13 2016 +0700 - - [GPOS] Merge fixing of offsets for cursive and mark attachments - - Part of fixing https://github.com/behdad/harfbuzz/issues/211 - - src/hb-buffer-private.hh | 3 +- - src/hb-ot-layout-gpos-table.hh | 73 - ++++++++++++++++++------------------------ - 2 files changed, 33 insertions(+), 43 deletions(-) - -commit 7d8d58ac81fe267e29ea68cdc6f4a4fa8c22d40f -Author: Behdad Esfahbod -Date: Thu Feb 11 16:34:28 2016 +0700 - - [GPOS] Divide position_finish() into two phases, for advances - and offsets - - Right now the position_finish_advances() is empty. To be used for - spacing attachments proposal later. - - src/hb-ot-layout-gpos-table.hh | 11 +++++++++-- - src/hb-ot-layout-gsub-table.hh | 6 ------ - src/hb-ot-layout-private.hh | 19 +++++++++---------- - src/hb-ot-layout.cc | 16 ++++++++-------- - src/hb-ot-shape.cc | 7 +++---- - 5 files changed, 29 insertions(+), 30 deletions(-) - -commit 8474231567a08873cc5e0aa08fea60316a04c27e -Author: Behdad Esfahbod -Date: Thu Feb 11 16:27:41 2016 +0700 - - [ot] Minor shuffling code around - - src/hb-ot-layout-gpos-table.hh | 2 -- - src/hb-ot-shape.cc | 13 ++++++++----- - 2 files changed, 8 insertions(+), 7 deletions(-) - -commit b0b11614e9fb9ecd1faae28b0ed71ac6bf5c1266 -Author: Behdad Esfahbod -Date: Thu Feb 11 15:28:55 2016 +0700 - - [GPOS] Add harmless recursion in fix_mark_attachment() - - Will do nothing. Just useful for merging two functions. - - src/hb-ot-layout-gpos-table.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 686567baab5a32ffea843538643e01de2885fa4f -Author: Behdad Esfahbod -Date: Thu Feb 11 15:25:28 2016 +0700 - - [GPOS] Merge attach_chain() and cursive_chain() - - Differentiate, using new attach_type(). - - src/hb-ot-layout-gpos-table.hh | 50 - +++++++++++++++++++++++++++--------------- - 1 file changed, 32 insertions(+), 18 deletions(-) - -commit 806ad8dc65931ab7893bff7d5592a67a9bd237ca -Author: Behdad Esfahbod -Date: Thu Feb 11 14:53:11 2016 +0700 - - [GPOS] Minor shuffling - - src/hb-ot-layout-gpos-table.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 0f6278d1fbb75856132f1fa2d29648979f033316 -Author: Behdad Esfahbod -Date: Thu Feb 11 14:49:10 2016 +0700 - - [GPOS] Negate sign of attach_lookback(), and rename it to - attach_chain() - - No behavior change. Preparing to unify how cursive and mark - attachments - work. - - src/hb-ot-layout-gpos-table.hh | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -commit 5b5dc2c0406d8180e72d97a54334c722fda325b1 -Author: Behdad Esfahbod -Date: Thu Feb 11 12:15:38 2016 +0700 - - [tests] Add test for advance zeroing of an ASCII letter marked as - mark in GDEF - - test/shaping/fonts/sha1sum/MANIFEST | 1 + - .../sha1sum/a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttf | Bin 0 -> - 1016 bytes - test/shaping/tests/zero-width-marks.tests | 1 + - 3 files changed, 2 insertions(+) - -commit 660c9d3fc21172e8dc340b017122c084dac6334c -Author: Behdad Esfahbod -Date: Thu Feb 11 12:14:27 2016 +0700 - - Remove font-dependent ASCII-only perf hack - - Is confusing. I already hit it myself. Remove. We can optimize - ASCII based on Unicode properties. But should not do based on - assumptions on the font. - - src/hb-ot-shape.cc | 4 ---- - 1 file changed, 4 deletions(-) - -commit 3fe0cf10401875f1e9b8b5fbaf59826e64ea61d2 -Author: Behdad Esfahbod -Date: Wed Feb 10 18:43:43 2016 +0700 - - Fix previous commit! - - test/shaping/fonts/sha1sum/MANIFEST | 6 +++--- - test/shaping/tests/zero-width-marks.tests | 6 +++--- - 2 files changed, 6 insertions(+), 6 deletions(-) - -commit 293a210eee0a53b59f4b33298f42ec6e59d785e0 -Author: Behdad Esfahbod -Date: Wed Feb 10 18:39:59 2016 +0700 - - [tests] Fix fonts in cc4a78bf22c4a735b84c89b04be3bb531f42135e - - They had an invalid LookupFlag (32). - - .../sha1sum/0dd3a51c3ea50997cb1f72515d1060408f8b4b59.ttf | Bin 1412 -> - 0 bytes - .../sha1sum/56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttf | Bin 0 -> - 1412 bytes - .../sha1sum/828114d00931885bc25abf7cdb878b2914a2e743.ttf | Bin 1448 -> - 0 bytes - .../sha1sum/894e96a367f00c196d82e6243673a1d4414f4f6a.ttf | Bin 1448 -> - 0 bytes - .../sha1sum/cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttf | Bin 0 -> - 1448 bytes - .../sha1sum/ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttf | Bin 0 -> - 1448 bytes - 6 files changed, 0 insertions(+), 0 deletions(-) - -commit eaadcbbc53e02838c847e53ef214a55d6915d677 -Author: Behdad Esfahbod -Date: Wed Feb 10 18:29:54 2016 +0700 - - Remove now-unused mark zeroing BY_UNICODE - - src/hb-ot-shape-complex-private.hh | 2 -- - src/hb-ot-shape.cc | 29 ----------------------------- - 2 files changed, 31 deletions(-) - -commit cc4a78bf22c4a735b84c89b04be3bb531f42135e -Author: Behdad Esfahbod -Date: Wed Feb 10 18:24:08 2016 +0700 - - [tests] Add tests for Latin mark zeroing - - .../sha1sum/0dd3a51c3ea50997cb1f72515d1060408f8b4b59.ttf | Bin 0 -> - 1412 bytes - .../sha1sum/828114d00931885bc25abf7cdb878b2914a2e743.ttf | Bin 0 -> - 1448 bytes - .../sha1sum/894e96a367f00c196d82e6243673a1d4414f4f6a.ttf | Bin 0 -> - 1448 bytes - test/shaping/fonts/sha1sum/MANIFEST | 4 ++++ - .../sha1sum/fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttf | Bin 0 -> - 1344 bytes - test/shaping/tests/zero-width-marks.tests | 4 ++++ - 6 files changed, 8 insertions(+) - -commit 55ff34b9c157a839d026465af8f30424ce7f891b -Author: Behdad Esfahbod -Date: Wed Feb 10 18:20:02 2016 +0700 - - [tests] Add tests for Thai mark zeroing - - .../sha1sum/45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttf | Bin 0 -> - 1088 bytes - .../sha1sum/7a37dc4d5bf018456aea291cee06daf004c0221c.ttf | Bin 0 -> - 1080 bytes - .../sha1sum/8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttf | Bin 0 -> - 1024 bytes - test/shaping/fonts/sha1sum/MANIFEST | 4 ++++ - .../sha1sum/bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttf | Bin 0 -> - 976 bytes - test/shaping/tests/zero-width-marks.tests | 4 ++++ - 6 files changed, 8 insertions(+) - -commit b3582a8ee82942a931130a83b2867b239f8ca71a -Author: Behdad Esfahbod -Date: Wed Feb 10 18:10:15 2016 +0700 - - Change default mark advance zeroing behavior from Unicode to GDEF - - See thread at: - https://lists.freedesktop.org/archives/harfbuzz/2016-February/005462.html - - src/hb-ot-shape-complex-default.cc | 2 +- - src/hb-ot-shape-complex-thai.cc | 2 +- - src/hb-ot-shape-complex-tibetan.cc | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit 43bb2b8fb00705c3334730a58ade7984181018b2 -Author: Behdad Esfahbod -Date: Wed Feb 10 14:11:43 2016 +0700 - - Minor - - test/shaping/hb_test_tools.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bdaa784bb610ec65626d63cc068a0958ff5005fc -Merge: a168db47 f6ffba63 -Author: Behdad Esfahbod -Date: Wed Feb 10 11:11:36 2016 +0700 - - Merge pull request #164 from fanc999/msvc.build - - Enable Build of HarfBuzz under Visual Studio using NMake Makefiles - -commit a168db4739148459bc33c7dae88e73efa0153d72 -Author: Behdad Esfahbod -Date: Wed Feb 10 11:10:08 2016 +0700 - - [README] Add ABI Tracker link - - README | 1 + - 1 file changed, 1 insertion(+) - -commit f6ffba634bb33d6d4b051abce9c23fcae280c3fe -Author: Chun-wei Fan -Date: Wed Dec 9 14:57:15 2015 +0800 - - MSVC builds: Add support to build DirectWrite shaping backend - - Add into the NMake Makefiles to build the DirectWrite shaping backend, - but as PR #134 mentions, this is considered to be in an experimental - state, - so don't include this in the build by default for now. This is - most probably - going to replace the Uniscribe backend eventually, since DirectWrite - is meant - to be Uniscribe's replacement, and is needed for Windows Store apps - if a - system shaping API is to be used. - - win32/README.txt | 4 ++++ - win32/config-msvc.mak | 10 ++++++++++ - win32/config.h.win32.in | 3 +++ - win32/info-msvc.mak | 7 +++++++ - 4 files changed, 24 insertions(+) - -commit c6792854557ca104948e8f0b142c9384105b0d05 -Author: Chun-wei Fan -Date: Wed Feb 3 18:31:23 2016 +0800 - - build: Build the DirectWrite sources if requested - - This adds to the autotools build system so that the (experimental) - DirectWrite support for HarfBuzz is built (and dist'ed). - - configure.ac | 25 +++++++++++++++++++++++++ - src/Makefile.am | 7 +++++++ - src/Makefile.sources | 3 +++ - 3 files changed, 35 insertions(+) - -commit d7b6636e5ebf1ddf7d7a04007ffbc411cf7e462e -Author: Chun-wei Fan -Date: Tue Nov 3 19:00:42 2015 +0800 - - build: Support Visual Studio builds using NMake - - This adds a set of NMake Makefiles that can be used to build - HarfBuzz, from - the standard basic build building the minimal HarfBuzz DLL (consisting - of OpenType, fallback and Uniscribe support only), to a full - fledged build - consisting of GLib and FreeType support, as well as building the - utilities, - the test programs in src/ and test/api, and HarfBuzz-ICU and - HarfBuzz-GObject, and up to building the introspection files. - This means a - flexible build mechanism is supported here, so anything that is - supported - for a Windows build (code-wise), should all be supported by this build - system. - - As in an earlier commit, the source listings are shared with the - autotools - builds with the various Makefile.sources in src/, src/hb-ucdn and - util/, and - this set of NMake Makefiles will transform these lists into the - form they - want. - - In the current form, all the test programs in test/api pass, and - this has - been checked successfully with 'make -j8 distcheck'. - - BUILD.md | 4 +- - Makefile.am | 2 +- - configure.ac | 2 + - win32/Makefile.am | 14 +++ - win32/Makefile.vc | 52 +++++++++++ - win32/README.txt | 75 ++++++++++++++++ - win32/build-rules-msvc.mak | 140 ++++++++++++++++++++++++++++++ - win32/config-msvc.mak | 188 - ++++++++++++++++++++++++++++++++++++++++ - win32/create-lists-msvc.mak | 151 ++++++++++++++++++++++++++++++++ - win32/create-lists.bat | 42 +++++++++ - win32/detectenv-msvc.mak | 136 +++++++++++++++++++++++++++++ - win32/generate-msvc.mak | 26 ++++++ - win32/hb-introspection-msvc.mak | 42 +++++++++ - win32/info-msvc.mak | 130 +++++++++++++++++++++++++++ - win32/install.mak | 29 +++++++ - win32/introspection-msvc.mak | 73 ++++++++++++++++ - 16 files changed, 1104 insertions(+), 2 deletions(-) - -commit 5c3e7260bcb4999b8b7cb9afb26e6eaff867634b -Author: Chun-wei Fan -Date: Tue Nov 3 18:52:46 2015 +0800 - - MSVC builds: Add a pre-configured config.h(.win32) template - - This adds a pre-configured config.h template that can be used - for Visual - Studio builds, where autotools is not normally available. This has - the - configs that are suitable for Visual Studio builds, as well as all the - features used for Windows builds enabled (HAVE_OT, HAVE_FALLBACK and - HAVE_UNISCRIBE). - - Note that the optional features are not enabled here, they are - enabled by - /D's (or -D's) in the NMake Makefiles as requested. - - win32/config.h.win32.in | 155 - ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 155 insertions(+) - -commit 35ded3af74a5bc4b038a07308354d5f7501ae3c7 -Author: Chun-wei Fan -Date: Tue Nov 3 16:56:27 2015 +0800 - - build: Move source listings into separate Makefile snippets - - This moves all the source listings in src/Makefile.am, - src/hb-ucdn/Makefile.am and util/Makefile.am into separate Makefile - snippets, so that they may be shared between different Makefile-based - build systems, such as NMake for Visual Studio. - - src/Makefile.am | 165 - +++++++++---------------------------------- - src/Makefile.sources | 147 ++++++++++++++++++++++++++++++++++++++ - src/hb-ucdn/Makefile.am | 6 +- - src/hb-ucdn/Makefile.sources | 4 ++ - util/Makefile.am | 34 ++------- - util/Makefile.sources | 32 +++++++++ - 6 files changed, 223 insertions(+), 165 deletions(-) - -commit b894a85ad1e7c3ecfb6d3732a7c9779f5462fe70 -Author: Behdad Esfahbod -Date: Tue Feb 2 16:39:19 2016 +0800 - - Fix more hangs in case of buffer allocation errors - - Hopefully - fixes https://github.com/behdad/harfbuzz/issues/214 - - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - src/hb-ot-shape-complex-use.cc | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit b693992ea160b66541f678dc9be29b513c77a30b -Merge: 9a6a33cc 498574e6 -Author: Behdad Esfahbod -Date: Tue Feb 2 12:33:32 2016 +0800 - - Merge pull request #222 from n8willis/master - - Add usermanual chapter on cluster levels - -commit 498574e6c1a83bbd2768925af6e39806fe1ea8bb -Author: n8willis -Date: Thu Jan 28 12:21:32 2016 -0600 - - Update Makefile.am - - docs/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit e12fc666994573dbabb6928a8b2e8698667088ce -Author: n8willis -Date: Thu Jan 28 12:14:12 2016 -0600 - - Added initial usermanual chapter on cluster levels. - - docs/harfbuzz-docs.xml | 1 + - docs/usermanual-clusters.xml | 304 - +++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 305 insertions(+) - -commit 9a6a33ccbea8a2e23e779bd955958fa41974c1c7 -Merge: d05b7833 146fe252 -Author: Behdad Esfahbod -Date: Mon Jan 18 12:47:18 2016 +0100 - - Merge pull request #216 from mhosken/master - - Refactor graphite2 to make ovleraps into negative width spaces - -commit 146fe252c3ebd0253344ce20981554e40926497b -Author: Martin Hosken -Date: Sat Jan 16 17:24:00 2016 -0600 - - Refactor graphite2 to make ovleraps into negative width spaces - - src/hb-graphite2.cc | 71 - ++++++++++++++++++++++++++++++++--------------------- - 1 file changed, 43 insertions(+), 28 deletions(-) - -commit d05b783322d90208b2ddf06a5ebffc7c301be3d7 -Author: Behdad Esfahbod -Date: Tue Jan 12 16:17:21 2016 +0000 - - Fix compiler warning - - Fixes https://github.com/behdad/harfbuzz/issues/212 - - src/hb-ot-tag.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d163dc18e66c9e2f404d09310482464245cae704 -Author: Behdad Esfahbod -Date: Tue Jan 12 13:05:01 2016 +0000 - - Minor - - src/hb-ot-layout-common-private.hh | 30 +++++++++++++++--------------- - 1 file changed, 15 insertions(+), 15 deletions(-) - -commit 505b7d4732c6a8c423f43c0de46e05dc583e82c0 -Author: Behdad Esfahbod -Date: Mon Jan 11 18:31:04 2016 +0000 - - [fuzzing] Fuzz input text - - Very rudimentary right now, but will get kcc's bot going. - - From - https://github.com/behdad/harfbuzz/issues/139#issuecomment-163580783 - - test/fuzzing/hb-fuzzer.cc | 25 +++++++++++++++++++------ - 1 file changed, 19 insertions(+), 6 deletions(-) - -commit 3e704521f67e021fb51cda7319925fd39eba4f97 -Author: Behdad Esfahbod -Date: Mon Jan 11 17:38:41 2016 +0000 - - [OT] Get list of lookup subtables once and loop through them - - This speeds up shaping the Amiri font by over 15%. - - This was primarily needed for my work on OpenType GX, since - we will be collecting only sublookups that are "active" for - current font instance; but it's a nice boost in general as - well. - - We might, in the future, collect subtables in the lookup_accel. - That would also allow us to do a per-subtbale set-digest, which - should speed things up some more, specially for ContextChainFormat3 - lookups... Amiri, for example, contains one lookup with 53 - subtables! - - src/hb-ot-layout.cc | 120 - +++++++++++++++++++++++++++++++++++----------------- - 1 file changed, 81 insertions(+), 39 deletions(-) - -commit 11441291bbf4326dca9b14ec3e9cad3d4d229303 -Author: Behdad Esfahbod -Date: Mon Jan 11 13:16:35 2016 +0000 - - 1.1.3 - - NEWS | 29 +++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 30 insertions(+), 1 deletion(-) - -commit 97624d9244de0fdb9c03f60e03fe242028efa8a1 -Author: Behdad Esfahbod -Date: Mon Jan 11 12:58:45 2016 +0000 - - [docs] Minor fixes. - - src/hb-buffer.h | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -commit a39ff95fce39226e80850ff251cb34a7aad12bd7 -Author: Behdad Esfahbod -Date: Mon Jan 11 12:28:37 2016 +0000 - - [coretext] Speed up CoreText font fallback - - Fixes https://code.google.com/p/chromium/issues/detail?id=547912 - - src/hb-coretext.cc | 45 ++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 40 insertions(+), 5 deletions(-) - -commit 5afebbdcb2dab0e9a42d580df629d8e60b50d2f9 -Author: Behdad Esfahbod -Date: Thu Jan 7 22:53:59 2016 +0000 - - Add Homebrew build instructions - - BUILD.md | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit e8a27d79476a5d7a83cf2287d92ca291257546f4 -Author: Behdad Esfahbod -Date: Thu Jan 7 22:52:16 2016 +0000 - - Don't build hb-fuzzer in "make", only "make check" - - test/fuzzing/Makefile.am | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 25671466d245449187f8ab17e1a233f1d087d5ed -Author: Behdad Esfahbod -Date: Thu Jan 7 19:11:41 2016 +0000 - - Add 9 reserved entries to hb_font_extents_t - - Might add italic-angle, underline/strikethrough-position/thickness - in the future. Do this before new struct goes into a release. - - src/hb-font.h | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit e6d5e4c3106180cb22253c2c278b40f7c4c98f2f -Author: Behdad Esfahbod -Date: Wed Jan 6 12:29:50 2016 +0000 - - [uniscribe] Fix negative advance - - This happens with at least one test font I have. - - src/hb-uniscribe.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 99d34955762d0fff4b66a30e6fbe65fd1cf9976b -Author: Behdad Esfahbod -Date: Wed Jan 6 12:20:47 2016 +0000 - - [test] Add test text for Kaithi - - test/shaping/texts/in-tree/shaper-hangul/MANIFEST | 1 + - test/shaping/texts/in-tree/shaper-hebrew/MANIFEST | 1 + - test/shaping/texts/in-tree/shaper-tibetan/MANIFEST | 1 + - test/shaping/texts/in-tree/shaper-use/MANIFEST | 1 + - test/shaping/texts/in-tree/shaper-use/script-kaithi/MANIFEST | 1 + - test/shaping/texts/in-tree/shaper-use/script-kaithi/misc.txt | 6 ++++++ - 6 files changed, 11 insertions(+) - -commit 53c47c85827a7e3ca82000e3baa9aa87c5770ce9 -Author: Behdad Esfahbod -Date: Tue Jan 5 13:26:20 2016 +0000 - - Increase sanitize edit count from 8 to 32 - - See previous commit. - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit da2fcfdc51a2cc0d0a782efa6c91b733f7aa84ba -Author: Behdad Esfahbod -Date: Tue Jan 5 13:23:45 2016 +0000 - - Don't count fixing-up FeatureParams offset as error - - The font Garamond Premier Pro Caption (and possibly many other - Adobe fonts), have many FeatureParamsSize tables with the old - wrong offset. We handle fixing those up, but they were still - contributing to edit_count, and when I reduced HB_SANITIZE_MAX_EDIT - from 100 to 8 in 14c2de321826c36037adde859ccca3e2011325a9, these - fonts were now getting GPOS dropped and hence kerning disabled. - - Fix, by not counting edits made towareds offset fix-up. I'll - also increase edit count again, in the next commit. - - src/hb-ot-layout-common-private.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit d0adc80965506810820f9ec165b8df80cc8907e3 -Author: Behdad Esfahbod -Date: Sat Jan 2 13:25:18 2016 +0000 - - Check magicNumber in head table during sanitize - - src/hb-ot-head-table.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 3a48c776701a919e11b067129586e40372d90d54 -Merge: 9230911f 4b4948d3 -Author: Behdad Esfahbod -Date: Sat Jan 2 00:59:14 2016 +0000 - - Merge pull request #208 from khaledhosny/travis-trusty - - [travis] Try building on Trusty - -commit 4b4948d360a2141e0ffda2994aa308645dc32f59 -Author: Khaled Hosny -Date: Sat Jan 2 00:36:19 2016 +0400 - - [travis] Try building on Trusty - - Trusty has gtk-doc 1.20 which has better markdown support which should - fix some of the brokenness in the newly added documentation. The build - seems to be as fast as the current container-based build on Precise. - - .travis.yml | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 9230911facf90c06626e54023ca4d99f5e05f1a4 -Author: Behdad Esfahbod -Date: Fri Jan 1 19:06:43 2016 +0000 - - [travis] Only run coveralls if testing behdad/harfbuzz - - Fixes failures in others' forks, like: - https://travis-ci.org/khaledhosny/harfbuzz/jobs/99719710#L3912 - - .travis.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6f66f05757d3d5738571b3d4ee40afffb8f26ff9 -Merge: bfdf684f 9ab9f974 -Author: Behdad Esfahbod -Date: Fri Jan 1 16:44:01 2016 +0000 - - Merge pull request #207 from khaledhosny/docs-4 - - [docs] More buffers documentation - -commit 9ab9f974d42e0001966e243a23a64e6aefbd4764 -Author: Khaled Hosny -Date: Fri Jan 1 20:38:21 2016 +0400 - - [docs] More buffers documentation - - docs/harfbuzz-sections.txt | 4 +- - src/hb-buffer-serialize.cc | 85 - ++++++++++++++++++++++++++++++------------- - src/hb-buffer.cc | 91 - +++++++++++++++++++++++++++++++++++----------- - src/hb-buffer.h | 78 +++++++++++++++++++++++++-------------- - src/hb-shape.cc | 10 +++-- - 5 files changed, 187 insertions(+), 81 deletions(-) - -commit bfdf684f7957645dd016fbf76700c5911c4bee2d -Merge: d7ed6f50 85c2443b -Author: Behdad Esfahbod -Date: Wed Dec 30 22:20:14 2015 +0100 - - Merge pull request #205 from khaledhosny/more-docs - - More docs - -commit d7ed6f50b4ff13a94701131913d931f13a4d1266 -Merge: b758e5ea a7f0e25d -Author: Behdad Esfahbod -Date: Wed Dec 30 22:20:00 2015 +0100 - - Merge pull request #206 from nico/patch-3 - - Remove unused HB_SHAPER_DATA_ENSURE_DECLARE lines. - -commit a7f0e25dafa90bd21b01c38cb0782ade54b75cdc -Author: Nico Weber -Date: Wed Dec 30 16:05:52 2015 -0500 - - Remove unused HB_SHAPER_DATA_ENSURE_DECLARE lines. - - The coretext_aat shaper delegates to the regular coretext_..._ensure() - functions, so coretext_aat_..._ensure() functions defined by these - macros are unused. The compiler warns about them, which in turn can - confuse people to think that the coretext_aat_..._ensure() functions - weren't called by accident. - - src/hb-coretext.cc | 4 ---- - 1 file changed, 4 deletions(-) - -commit 85c2443b737335b77c7e9bb6fd6741912f70fcef -Author: Khaled Hosny -Date: Wed Dec 30 22:57:04 2015 +0400 - - [docs] Reduce gtkdoc-check errors - - Now it is just reporting one error about “503 undocumented or - incomplete - symbols”, that will be the easy part I guess. - - docs/harfbuzz-docs.xml | 74 - ++++++++++++++++++++++++++++++++++++++++++++++ - docs/harfbuzz-sections.txt | 40 +++++++++++++++++++++++++ - 2 files changed, 114 insertions(+) - -commit 9cffe329f15b3a74a3af4e68c1884f1dbda49666 -Author: Khaled Hosny -Date: Wed Dec 30 22:50:08 2015 +0400 - - [docs] Typo - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b758e5ea223eced0fde9a3e62d0fdf04c04914a1 -Merge: 266bfa37 8b1224f0 -Author: Behdad Esfahbod -Date: Wed Dec 30 16:44:19 2015 +0100 - - Merge pull request #203 from nico/patch-1 - - Remove unused `retry:` label. - -commit 266bfa3772e75fedcd93db22bf8672a13ad7a7d9 -Author: Behdad Esfahbod -Date: Wed Dec 30 16:25:48 2015 +0100 - - [docs] Minor - - .ci/deploy-docs.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d08035f8f15b7ddd89a318ea34bc386a9e33a8ea -Author: Behdad Esfahbod -Date: Wed Dec 30 16:15:36 2015 +0100 - - [docs] Fix up build, really - - .ci/deploy-docs.sh | 9 ++++----- - .travis.yml | 2 +- - 2 files changed, 5 insertions(+), 6 deletions(-) - -commit 0d45c3cf63692151166ca7071f755dfaa8922a67 -Author: Behdad Esfahbod -Date: Wed Dec 30 16:09:39 2015 +0100 - - [docs] Turn bash tracing on - - .ci/deploy-docs.sh | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 33b2d981a0b12ea165ef9282204a73f4a1ce0477 -Author: Behdad Esfahbod -Date: Wed Dec 30 15:56:56 2015 +0100 - - [docs] Another try, not sure why the bot isn't building - - .ci/deploy-docs.sh | 13 ++++--------- - 1 file changed, 4 insertions(+), 9 deletions(-) - -commit f3a051149b3b565b5ad4e489bf730c5203c3549e -Author: Behdad Esfahbod -Date: Wed Dec 30 15:45:43 2015 +0100 - - [docs] Shuffling code around in deploy-docs.sh - - Temporarily makes it rebuild docs on every change again. - - .ci/deploy-docs.sh | 46 +++++++++++++++++++++++++++------------------- - 1 file changed, 27 insertions(+), 19 deletions(-) - -commit 8f31d0a94b27bb658aabe600472fc10bc47885f6 -Merge: 9d280cf4 fb192c26 -Author: Behdad Esfahbod -Date: Wed Dec 30 15:13:37 2015 +0100 - - Merge pull request #202 from khaledhosny/doc-fixes - - Doc fixes - -commit fb192c263e17081c87f4cc971274d9be42f19513 -Author: Khaled Hosny -Date: Wed Dec 30 15:05:50 2015 +0400 - - [docs] A bit more buffers documentation - - docs/harfbuzz-sections.txt | 2 ++ - src/hb-buffer.cc | 7 +++--- - src/hb-buffer.h | 56 - ++++++++++++++++++++++++++++++++++++++++++++-- - 3 files changed, 60 insertions(+), 5 deletions(-) - -commit 8ab797c5b86c33eab6ee024471fd3c147325d26a -Author: Khaled Hosny -Date: Tue Dec 29 17:42:16 2015 +0400 - - [docs] A bit more buffers documentation - - docs/harfbuzz-sections.txt | 60 +++++++++++++++--------------- - src/hb-buffer.cc | 93 - +++++++++++++++++++++++++++++++--------------- - src/hb-buffer.h | 7 +++- - src/hb-common.cc | 43 +++++++++++++-------- - src/hb-common.h | 15 +++++--- - 5 files changed, 135 insertions(+), 83 deletions(-) - -commit f18d2226b62f20d29e6299c01ae8467c725ea971 -Author: Khaled Hosny -Date: Tue Dec 29 15:21:20 2015 +0400 - - [docs] Some documentation on buffers - - Some of it (create, reference, destroy) are adapted from Cairo docs. - - docs/harfbuzz-sections.txt | 55 +++++++------- - src/hb-buffer.cc | 174 - +++++++++++++++++++++++++++------------------ - 2 files changed, 132 insertions(+), 97 deletions(-) - -commit d7bf9d05c519a369a7b3a02e9ed5ecc05a20cd3e -Author: Khaled Hosny -Date: Tue Dec 29 02:23:24 2015 +0400 - - [docs] Fix comment syntax - - To lower the number of gtk-doc warnings. - - .travis.yml | 2 +- - src/hb-directwrite.cc | 4 ++-- - src/hb-ot-layout.cc | 14 ++++++++++++++ - src/hb-unicode.h | 16 ++++++++++++++++ - 4 files changed, 33 insertions(+), 3 deletions(-) - -commit 8b1224f0eece7a5b6846e206333e57ac4653a705 -Author: Nico Weber -Date: Mon Dec 28 21:31:28 2015 -0500 - - Remove unused `retry:` label. - - Fixes a -Wunused-label warning when building harfbuzz with clang - -Wall. - - src/hb-coretext.cc | 1 - - 1 file changed, 1 deletion(-) - -commit 1f5559293f9bb1b4e911f4bdecf276ff1f6ae01c -Author: Khaled Hosny -Date: Tue Dec 29 02:15:21 2015 +0400 - - [docs] Ignore the new HB_EXTERN decoration - - Otherwise, almost all API functions are not extracted. - - docs/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 9d280cf49f25181f64c978752f926b79e7c3746a -Author: Khaled Hosny -Date: Sat Dec 26 06:45:51 2015 +0400 - - Fix previous commit - - .ci/deploy-docs.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b789199f107912cfce5e4a95d6152f9a1a7993f2 -Author: Khaled Hosny -Date: Sat Dec 26 06:35:08 2015 +0400 - - [travis] Build docs only on tagged revisions - - Lets see if it works… - - .ci/deploy-docs.sh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit e5b90c08a4c1f475560209a5e47628f695606d89 -Author: Behdad Esfahbod -Date: Fri Dec 25 18:41:41 2015 +0100 - - [travis] Remove secure var - - I've set up a secure var for behdad/harfbuzz through Travis web - interface, no need - to set the var here. - - .ci/deploy-docs.sh | 2 +- - .travis.yml | 1 - - 2 files changed, 1 insertion(+), 2 deletions(-) - -commit e75c1ffdf548185ce1f1df7937f0d028e5e40efe -Merge: 6173c2a6 d25317f6 -Author: Behdad Esfahbod -Date: Fri Dec 25 18:21:08 2015 +0100 - - Merge pull request #199 from behdad/travis-docs - - Deploy docs to gh-pages branch from Travis builds - -commit 6173c2a6fc6ea0bf812f7f398770b5342974f9bf -Author: Behdad Esfahbod -Date: Fri Dec 25 18:18:23 2015 +0100 - - Fix flaky test - - This test font had a upem of 769, which results in rounding-related - errors with - the FreeType font funcs. Change the upem to 1024 to fix that. - - Fixes https://github.com/behdad/harfbuzz/issues/201 - - ...> 1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttf} | Bin 4064 -> - 4064 bytes - test/shaping/fonts/sha1sum/MANIFEST | 2 +- - test/shaping/tests/ligature-id.tests | 70 - ++++++++++----------- - 3 files changed, 36 insertions(+), 36 deletions(-) - -commit 3fcae6d82da389c9944386a8ab41eb1c13b99330 -Author: Behdad Esfahbod -Date: Fri Dec 25 18:18:02 2015 +0100 - - [tests] Add --reference, for re-recording tests - - test/shaping/run-tests.sh | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -commit d25317f67f3c5c77f9059961935b0f35cbaa9ac4 -Author: Khaled Hosny -Date: Wed Dec 23 01:29:48 2015 +0400 - - Move more docs from FreeDesktop page - - docs/Makefile.am | 1 + - docs/harfbuzz-docs.xml | 15 ++++---- - docs/usermanual-install-harfbuzz.xml | 70 - ++++++++++++++++++++++++++++++++++++ - 3 files changed, 80 insertions(+), 6 deletions(-) - -commit 493a92220844c8996be67c8a7a2c5447942fe2c1 -Author: Khaled Hosny -Date: Wed Dec 23 00:33:41 2015 +0400 - - Rename user manual files - - Use chapter ids instead of numbers, so that we can reorder them, - introduce new ones etc. without the numbers becoming out of date. - - docs/Makefile.am | 12 - ++++++------ - docs/harfbuzz-docs.xml | 12 - ++++++------ - ... => usermanual-buffers-language-script-and-direction.xml} | 0 - docs/{usermanual-ch04.xml => usermanual-fonts-and-faces.xml} | 0 - ...{usermanual-ch06.xml => usermanual-glyph-information.xml} | 0 - docs/{usermanual-ch02.xml => usermanual-hello-harfbuzz.xml} | 0 - ...{usermanual-ch05.xml => usermanual-opentype-features.xml} | 0 - .../{usermanual-ch01.xml => usermanual-what-is-harfbuzz.xml} | 0 - 8 files changed, 12 insertions(+), 12 deletions(-) - -commit 4dc2265918089ee08c6d82eed0cfd41e02d7d231 -Author: Khaled Hosny -Date: Wed Dec 23 00:26:20 2015 +0400 - - Intro from freedesktop.org/wiki/Software/HarfBuzz/ - - docs/HarfBuzz.png | Bin 0 -> 3419 bytes - docs/Makefile.am | 3 ++- - docs/harfbuzz-docs.xml | 31 ++++++++++++++++++++++++++++++- - 3 files changed, 32 insertions(+), 2 deletions(-) - -commit 22b07782ced6503a0bf33f2fe157b70540238f6d -Author: Khaled Hosny -Date: Mon Dec 14 23:33:51 2015 +0400 - - Deploy docs to gh-pages branch from Travis builds - - Build docs in Travis and push them to the gh-pages branch, which makes - them available at http://behdad.github.io/harfbuzz/ - - .ci/deploy-docs.sh | 25 +++++++++++++++++++++++++ - .travis.yml | 4 ++++ - 2 files changed, 29 insertions(+) - -commit fc38e6034c76d5450f5398d667184bc3696efcc4 -Author: Behdad Esfahbod -Date: Wed Dec 23 14:50:53 2015 +0100 - - [layout] Collect coverage glyphs in PairPos - - Apparently class=0 is used for ClassDef1. See: - https://github.com/adobe-type-tools/afdko/issues/90 - - src/hb-ot-layout-gpos-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8718dae818b22c3933c33bdfc8a7413ef4c3110a -Author: Behdad Esfahbod -Date: Fri Dec 18 19:53:40 2015 +0000 - - [python] Hook up sample debugger - - src/sample.py | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 0475ef2f97e3035a2eea9a0f96031331e07e8e29 -Author: Behdad Esfahbod -Date: Fri Dec 18 18:17:07 2015 +0000 - - [buffer] Add debugging, aka, message, API - - Currently just announces lookup applications. Message-API *will* - change. - hb-shape / hb-view are updated to print-out messages to stder - if --debug - is specified. - - src/hb-buffer-private.hh | 18 ++++++++++++++++++ - src/hb-buffer.cc | 44 - ++++++++++++++++++++++++++++++++++++++++++++ - src/hb-buffer.h | 15 +++++++++++++++ - src/hb-ot-layout.cc | 12 ++---------- - util/main-font-text.hh | 18 ++++++++++++++++++ - 5 files changed, 97 insertions(+), 10 deletions(-) - -commit 9ea0aa43ac5cf243b698aae0ec80241b5efd7488 -Author: Behdad Esfahbod -Date: Fri Dec 18 17:30:18 2015 +0000 - - Don't deserialize positions if buffer has no positions - - src/hb-buffer-serialize.cc | 3 +++ - src/hb-ot-layout.cc | 2 -- - 2 files changed, 3 insertions(+), 2 deletions(-) - -commit 862b1644e9469a7e70555141f53729409d50d0d2 -Author: Behdad Esfahbod -Date: Fri Dec 18 13:54:06 2015 +0000 - - [use] Only set syllable-based topographical features if not - Arabic-joining - - src/hb-ot-shape-complex-use.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 45b7ec365225109eb0854e6c417f48860b5f24af -Author: Behdad Esfahbod -Date: Fri Dec 18 13:47:16 2015 +0000 - - [indic] Followup fix for Malayalam context matching - - We regeressed Malayalam in 508cc3d3cfcfb0383df0fe795cc28db4e0fd5729 - This brings down the failures to 198 (from 750). - - BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%) - DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) - GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) - GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) - KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%) - KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) - MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed - (0.0188871%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%) - TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - MYANMAR: 1123865 out of 1123883 tests passed. 18 failed (0.00160159%) - - src/hb-ot-shape-complex-indic.cc | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -commit 2813e3049a69d64e5395f68c52c4690e1d256d55 -Author: Behdad Esfahbod -Date: Fri Dec 18 11:05:11 2015 +0000 - - [indic] Update data tables to Unicode 8.0 - - Test stats remain unchanged, except for Malayalam, which we - investigate: - - BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%) - DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) - GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) - GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) - KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%) - KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) - MALAYALAM: 1047584 out of 1048334 tests passed. 750 failed - (0.0715421%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%) - TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - - Myanmar, compared to Windows 10 mmrtext.ttf: - - MYANMAR: 1123865 out of 1123883 tests passed. 18 failed (0.00160159%) - - src/gen-indic-table.py | 1 + - src/hb-ot-shape-complex-indic-private.hh | 40 ++-- - src/hb-ot-shape-complex-indic-table.cc | 372 - ++++++++++++++++++------------- - src/hb-ot-shape-complex-indic.cc | 23 +- - src/hb-ot-shape-complex-myanmar.cc | 4 + - 5 files changed, 244 insertions(+), 196 deletions(-) - -commit fc06cff40f136440f6402d0a5e735e2a4a3c062a -Author: Behdad Esfahbod -Date: Thu Dec 17 17:47:35 2015 +0000 - - Remove HB_OT_SHAPE_ZERO_WIDTH_MARKS_DEFAULT - - The DEFAULT naming wasn't helpful, so just remove it. - - src/hb-ot-shape-complex-default.cc | 2 +- - src/hb-ot-shape-complex-private.hh | 4 +--- - src/hb-ot-shape-complex-thai.cc | 2 +- - src/hb-ot-shape-complex-tibetan.cc | 2 +- - 4 files changed, 4 insertions(+), 6 deletions(-) - -commit 508cc3d3cfcfb0383df0fe795cc28db4e0fd5729 -Author: Behdad Esfahbod -Date: Thu Dec 17 17:31:17 2015 +0000 - - [indic] Allow context when matching for Malayalam new-spec - - Test sequence: - U+0995,U+09CD,U+09B0 - - With Nirmala shipped on Windows 10, this failed to form the below - form. - Works now. - - Reported by Sairus. - - src/hb-ot-shape-complex-indic.cc | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit eaf1e93ef1ee19a3e72d781e8abbd7f1165c1618 -Author: Behdad Esfahbod -Date: Thu Dec 17 16:57:47 2015 +0000 - - [uniscribe] Handle E_NOT_SUFFICIENT_BUFFER as well as E_OUTOFMEMORY - - On Windows 10 we are seeing that other error message... - - Test sequence: U+0995,U+-9CD,U+09B0 - With Nirmala shipped on Windows 10, this failed to form the below - form. - Works now. - - Reported by Sairus. - - src/hb-uniscribe.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 21e5d7edc4f28157254ef29a8ac247f3a572f6a6 -Author: Behdad Esfahbod -Date: Thu Dec 17 16:28:38 2015 +0000 - - [util] Use O_BINARY instead of _O_BINARY - - The latter doesn't seem to be available in Cygwin. I'm surprised it - compiled before... - - util/options.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 100fbeaf196515774c985ee839d0fa0695f9a6fa -Author: Behdad Esfahbod -Date: Thu Dec 17 15:23:09 2015 +0000 - - Fix ligature component of a mark happening after a ligature within - a ligature! - - Say, if we are ligating "A B_C m D", then previously 'm' was being - attached to 'B' in the combined A_B_C_D ligature. Now we attach it - to 'C'. No test for this though :(. - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2f02fc79a5018e3348fccf366c470803554e1e58 -Author: Behdad Esfahbod -Date: Thu Dec 17 15:21:14 2015 +0000 - - Improve ligature-component handling - - We use three bits for lig_id these days, so we finally got a report of - two separate ligatures with the same lig_id happening adjacent to each - other, and then the component-handling code was breaking things. - Protect against that by ignoring same-lig-id but lig-comp=0 glyphs - after - a new ligature. - - Fixes https://github.com/behdad/harfbuzz/issues/198 - - src/hb-ot-layout-gsubgpos-private.hh | 12 +++++-- - test/shaping/Makefile.am | 1 + - test/shaping/fonts/sha1sum/MANIFEST | 1 + - .../c78d1f25ea1df1210414f2fe2e0e1e53082bba76.ttf | Bin 0 -> 4064 bytes - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/ligature-id.tests | 35 - +++++++++++++++++++++ - 6 files changed, 47 insertions(+), 3 deletions(-) - -commit 2ab0de9fbd03231b647345b01e31b136e2e00978 -Author: Behdad Esfahbod -Date: Thu Dec 17 11:59:15 2015 +0000 - - [use] Fix halant detection - - Before, we were just checking the use_category(). This detects as - halant a ligature that had the halant as first glyph (as seen in - NotoSansBalinese.) Change that to use the is_ligated() glyph prop - bit. The font is forming this ligature in ccmp, which is before - the rphf / pref tests. So we need to make sure the "ligated" bit - survives those tests. Since those only check the "substituted" bit, - we now only clear that bit for them and "ligated" survives. - - Fixes https://github.com/behdad/harfbuzz/issues/180 - - src/hb-ot-layout-private.hh | 6 ++---- - src/hb-ot-shape-complex-use.cc | 19 - ++++++++++++------- - test/shaping/Makefile.am | 1 + - test/shaping/fonts/sha1sum/MANIFEST | 1 + - .../fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttf | Bin 0 -> - 2616 bytes - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/use.tests | 1 + - 7 files changed, 18 insertions(+), 11 deletions(-) - -commit 86bcbd65b0d98357fb3d67a2f4f2a704ace55e10 -Author: Behdad Esfahbod -Date: Thu Dec 17 11:04:33 2015 +0000 - - [arabic] Use glyph advance width in apply_stch() instead of extents - - That seems to be what Windows is doing, and makes more sense. - - src/hb-ot-shape-complex-arabic.cc | 24 +++++++----------------- - 1 file changed, 7 insertions(+), 17 deletions(-) - -commit f11c11a1f123ef245e59ba892230db14170a8e5a -Author: Behdad Esfahbod -Date: Wed Dec 16 17:08:36 2015 +0100 - - Fix Since: tags for new API - - https://github.com/behdad/harfbuzz/commit/e1d4d0f1dbd8518b5672245c05d73f22a9ed03ea#commitcomment-15006653 - - src/hb-font.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 15f2c055c17c54b0a6ae6eef50dcda13c58cda75 -Merge: 49e72634 a13b023d -Author: Behdad Esfahbod -Date: Mon Dec 14 14:19:03 2015 +0100 - - Merge pull request #196 from srl295/aix - - AIX fixes - -commit a13b023dbfd0532e8cd74c356fbbd4453d0ffaa0 -Author: Steven R. Loomis -Date: Fri Dec 11 10:21:27 2015 -0800 - - AIX fixes - - - use '-w' instead of '\<...\>' for check-header-guards - grep manpage says these are the same - - - put '-q' first in the grep options - - - move VAR into hb-private.hh - - - hb-font-private.hh - use [VAR] instead of [] for variable array - - src/check-header-guards.sh | 5 ++--- - src/hb-font-private.hh | 2 +- - src/hb-open-type-private.hh | 3 --- - src/hb-private.hh | 2 ++ - 4 files changed, 5 insertions(+), 7 deletions(-) - -commit 49e72634af74a9fbad01f42f48e104218413acc0 -Author: Behdad Esfahbod -Date: Thu Dec 10 17:44:19 2015 +0100 - - Limit use of AIX intrinsics to IBM's compiler - - src/hb-atomic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e1d4d0f1dbd8518b5672245c05d73f22a9ed03ea -Merge: 70b33eda 808d3fc0 -Author: Behdad Esfahbod -Date: Thu Dec 10 16:56:07 2015 +0100 - - Merge branch 'font-extents' - - Fixes https://github.com/behdad/harfbuzz/pull/165 - -commit 808d3fc0eadd379909f2a0308fd3db474f1efde8 -Author: Behdad Esfahbod -Date: Thu Dec 10 16:55:16 2015 +0100 - - [util] Port hb-view to use font metrics from HarfBuzz instead of cairo - - util/helper-cairo.cc | 4 +++- - util/view-cairo.cc | 24 ++++++++++++------------ - 2 files changed, 15 insertions(+), 13 deletions(-) - -commit 31fa3892947138c7950303ea3719bb5ceb813625 -Author: Behdad Esfahbod -Date: Thu Dec 10 16:38:29 2015 +0100 - - [ft] Use ftface->size->metrics for font extent info - - src/hb-ft.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 3ad16048fdd841f31f1cb98d7ff9ea1871841146 -Author: Behdad Esfahbod -Date: Thu Dec 10 16:37:49 2015 +0100 - - [ot-font] Respect OS/2 fsSelection USE_TYPO_METRICS bit - - src/hb-ot-font.cc | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit 70b33edae7c8b9c031b83c95f00cb383789f1041 -Author: Behdad Esfahbod -Date: Thu Dec 10 15:54:42 2015 +0100 - - Add atomic ops for AIX - - Patch from Volker Simonis. - - src/hb-atomic-private.hh | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -commit 98460779bae19e4d64d29461ff154b3527bf8420 -Author: Behdad Esfahbod -Date: Mon Dec 7 21:38:47 2015 +0100 - - Remove final pause from Arabic shaper - - Back in the old days, we used to apply 'calt' and 'cswh' in Arabic - shaper, - with a pause in between. Then we disabled the 'cswh' because - Microsoft - disabled it, but forgot to remove the unnecessary pause. Do that now. - - This has the benefit that it fixes shaping with monbaiti from - Windows 10. - In that version of that font, the lookups from 'calt' are duplicated - in - 'rclt', and Mongolian was changed to go through Universal Shaping - Engine. - We still use the Arabic shaper for Mongolian. With a pause after - 'calt', - we were applying the duplicate lookups from 'calt' and 'rclt' twice. - It - happened to be the case that these lookups were NOT idempotent. So we - were getting wrong shaping. See thread "Windows 10 monbaiti.ttf - upgrade - (5.01 -> 5.51) caused loss of diacritical marks when shaped with - harfbuz" - on the mailing list. This fixes that. - - src/hb-ot-shape-complex-arabic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dee0fbf9e2eac8b61730efc4978bc10c552b5227 -Merge: 255df680 a7ffe353 -Author: Behdad Esfahbod -Date: Mon Dec 7 10:44:08 2015 +0100 - - Merge pull request #192 from behdad/jfkthame-stch - - [issue 191] Make apply_stch() give a more precise fit - -commit 255df6801201fb22402420f7b7b7ea8b042df8ba -Author: Behdad Esfahbod -Date: Mon Dec 7 10:34:47 2015 +0100 - - Fix undefined behavior in cmp function - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=93274 - - src/hb-ot-map-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit fcf9e61bad13c828b5482f26491c82db65d91c96 -Author: Behdad Esfahbod -Date: Mon Dec 7 10:30:43 2015 +0100 - - Fix sorting order of ot_languages array - - Looks like the original sort was wrongly done. - Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=93275 - - src/hb-ot-tag.cc | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit 70952ddb5a29c5bcbb4b6c3a05a428496033234a -Author: Behdad Esfahbod -Date: Mon Dec 7 10:28:46 2015 +0100 - - Add test to make sure ot-languages array is sorted - - Currently fails. Part of - https://bugs.freedesktop.org/show_bug.cgi?id=93275 - - src/Makefile.am | 9 ++++++++- - src/hb-ot-tag.cc | 23 +++++++++++++++++++++++ - 2 files changed, 31 insertions(+), 1 deletion(-) - -commit 8c37556f730d7e961394075cd863f624af4c53c4 -Merge: 8e5f9026 f35b3e93 -Author: Behdad Esfahbod -Date: Mon Dec 7 09:34:58 2015 +0100 - - Merge pull request #134 from ebraminio/dwrite - - Add working but less prefect DirectWrite backend - -commit a7ffe3535836032dba5559080dffeec79473197b -Author: jfkthame -Date: Sat Dec 5 17:47:37 2015 +0000 - - Make apply_stch() give a more precise fit - - This aims to make Syriac Abbr Mark sizing more accurate when repeating - segments are used, by adding an extra repeat and tightening up the - spacing slightly rather than leaving a shortfall corresponding to - a partial repeat-width. - - src/hb-ot-shape-complex-arabic.cc | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -commit 8e5f902656d2882d24c30e8b26ddbd3963baa55c -Author: Behdad Esfahbod -Date: Mon Nov 30 16:53:21 2015 -0800 - - src/test.cc: wrong field printed - - Fixes https://github.com/behdad/harfbuzz/issues/188 - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=93182 - - src/test.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6f2e6de1fae0ab2269b472a750788817de6c2a6e -Author: Simon Cozens -Date: Mon Oct 26 16:23:22 2015 +0900 - - Get font ascender and descender metrics from OS/2 table. - - src/hb-font-private.hh | 39 ++++++++++++++++++- - src/hb-font.cc | 102 - ++++++++++++++++++++++++++++++++++++++++++++++++- - src/hb-font.h | 62 ++++++++++++++++++++++++++++-- - src/hb-ft.cc | 21 ++++++++++ - src/hb-ot-font.cc | 58 ++++++++++++++++++++++++++-- - 5 files changed, 274 insertions(+), 8 deletions(-) - -commit 097c998a0c7b250924801bb69f5fa0c529edd183 -Author: Simon Cozens -Date: Mon Oct 26 16:22:38 2015 +0900 - - Parse the OS/2 table. - - src/Makefile.am | 1 + - src/hb-ot-os2-table.hh | 105 - +++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 106 insertions(+) - -commit d44d52bd0da033865641dfd39d94852119fd4fd7 -Author: Behdad Esfahbod -Date: Thu Nov 26 19:35:43 2015 -0500 - - 1.1.2 - - NEWS | 15 +++++++++++++++ - configure.ac | 2 +- - 2 files changed, 16 insertions(+), 1 deletion(-) - -commit 35d18585fc57750d817f57bfffe569069f9803b5 -Author: Behdad Esfahbod -Date: Thu Nov 26 19:30:37 2015 -0500 - - Fix a few docs blocks - - src/hb-buffer.cc | 4 ++++ - src/hb-glib.cc | 2 ++ - src/hb-ot-font.cc | 2 ++ - src/hb-ot-layout.cc | 6 ++++++ - src/hb-ot-shape.cc | 4 ++++ - 5 files changed, 18 insertions(+) - -commit 0e38c918b66df31978d8fd3d8271a9b781384545 -Author: Behdad Esfahbod -Date: Thu Nov 26 19:26:26 2015 -0500 - - [introspection] Make scanner happy with HB_EXTERN - - src/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit ea512f71084296be3bd893f78650def894066de0 -Author: Behdad Esfahbod -Date: Thu Nov 26 19:22:22 2015 -0500 - - Use C-style casts instead of compare to 0, to convert hb_bool_t - to bool - - src/hb-common.cc | 2 +- - src/hb-fallback-shape.cc | 2 +- - src/hb-font-private.hh | 2 +- - src/hb-ot-layout.cc | 2 +- - src/hb-ot-map.cc | 2 +- - src/hb-ot-shape-complex-hangul.cc | 2 +- - src/hb-ot-shape-complex-hebrew.cc | 2 +- - src/hb-ot-shape-complex-indic.cc | 4 ++-- - src/hb-ot-shape-normalize.cc | 6 +++--- - src/hb-ot-shape.cc | 2 +- - 10 files changed, 13 insertions(+), 13 deletions(-) - -commit 67a36a725e2a61a096ba0324f359d17f9b02d312 -Author: Behdad Esfahbod -Date: Thu Nov 26 18:48:42 2015 -0500 - - Fix vertical GPOS - - This was brorken earlier, though, it's really hard to notice it. - Unlike the glyph_h_origin(), an unset glyph_v_origin() does NOT - mean that the vertical origin is at 0,0. - - Related to https://github.com/behdad/harfbuzz/issues/187 - - src/hb-ot-shape.cc | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - -commit 1c6a057dd1a52511474630896a597bf8e5215214 -Author: Behdad Esfahbod -Date: Thu Nov 26 18:48:30 2015 -0500 - - Add tests for previous commit - - test/shaping/Makefile.am | 1 + - .../sha1sum/49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttf | Bin 0 -> - 1496 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/simple.tests | 2 ++ - 5 files changed, 5 insertions(+) - -commit c41c145c7386ebe72b1cfb0475d836a689fecc5e -Author: Behdad Esfahbod -Date: Thu Nov 26 18:43:15 2015 -0500 - - Make nil glyph_h_origin() function return true - - Fixes https://github.com/behdad/harfbuzz/issues/187 - - Funcs implementations that have a non-zero horizontal origin must - implement the glyph_h_origin() callback, nothing new here. - - Other implementations (all I know of!) can simply not set - glyph_h_origin() now. I did that for hb-ot and hb-ft in - 44f82750807475aa5b16099ccccd917d488df703, though that broke the - fallback shaper because the default was returning false... - - src/hb-font.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 766963adba6770dcd45de4417481ed8eda60a716 -Merge: b344af80 f798b8e2 -Author: Behdad Esfahbod -Date: Tue Nov 24 15:38:43 2015 -0600 - - Merge pull request #114 from ThePhD/vc++-fixes - - Fix all VC++ warnings and errors - -commit b344af80ca95b9eddfd6017aa6ae103388d6b5f8 -Merge: 662acd26 835bbdc7 -Author: Behdad Esfahbod -Date: Tue Nov 24 15:30:27 2015 -0600 - - Merge pull request #177 from fanc999/exporting - - Enable use of compiler directives to export symbols - -commit 662acd26d10c38e96a9afcdaab2cb2979794966f -Merge: b24e93e3 1979f6fe -Author: Behdad Esfahbod -Date: Tue Nov 24 15:29:44 2015 -0600 - - Merge pull request #181 from mhosken/master - - Fix y_scale problems in hb-gr - -commit b24e93e3a4d98111c4684fa08e9080b471881d5c -Author: Behdad Esfahbod -Date: Tue Nov 24 13:18:20 2015 -0600 - - 1.1.1 - - NEWS | 7 +++++++ - configure.ac | 2 +- - 2 files changed, 8 insertions(+), 1 deletion(-) - -commit 233944ac91bb81250c0e63150eecfedfaf09f590 -Merge: 5a24b1d2 d5382019 -Author: Khaled Hosny -Date: Tue Nov 24 18:37:35 2015 +0400 - - Merge pull request #185 from khaledhosny/travis-osx - - [travis] Enable Mac OS X support - -commit d538201918e6932ef7645f8d5b2c3491954936f8 -Author: Khaled Hosny -Date: Tue Nov 24 12:46:35 2015 +0400 - - [travis] Enable Mac OS X support - - Fixes https://github.com/behdad/harfbuzz/issues/182 - - .travis.yml | 22 ++++++++++++++++------ - 1 file changed, 16 insertions(+), 6 deletions(-) - -commit 5a24b1d25c59865e298bf105f54503e79587265c -Author: Behdad Esfahbod -Date: Mon Nov 23 16:46:14 2015 -0600 - - [travis] Remove coverity scan - - I never could get it to work, and it's a proprietary platform. - - .travis.yml | 11 ----------- - README | 1 - - 2 files changed, 12 deletions(-) - -commit 1979f6fedca82fa1e4f65491de491db1aa6dc645 -Author: Martin Hosken -Date: Mon Nov 23 10:03:56 2015 +0700 - - Fix y_scale problems in hb-gr - - src/hb-graphite2.cc | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -commit 835bbdc7c92bd774ff92c42a9277ded72066d29d -Author: Chun-wei Fan -Date: Thu Nov 19 18:34:12 2015 +0800 - - Public headers: Decorate public symbols with HB_EXTERN - - This prepares the headers for exporting symbols using visibility - attributes or __declspec(dllexport), so that we do not need to - maintain - symbols listing files, as this is what was and is done in GLib - and GTK+. - - src/hb-blob.h | 24 +++++----- - src/hb-buffer.h | 100 +++++++++++++++++++------------------- - src/hb-common.h | 22 ++++----- - src/hb-coretext.h | 6 +-- - src/hb-face.h | 34 ++++++------- - src/hb-font.h | 114 - ++++++++++++++++++++++---------------------- - src/hb-ft.h | 18 +++---- - src/hb-glib.h | 8 ++-- - src/hb-gobject-enums.h.tmpl | 2 +- - src/hb-gobject-structs.h | 26 +++++----- - src/hb-graphite2.h | 4 +- - src/hb-icu.h | 6 +-- - src/hb-ot-font.h | 2 +- - src/hb-ot-layout.h | 56 +++++++++++----------- - src/hb-ot-shape.h | 4 +- - src/hb-ot-tag.h | 8 ++-- - src/hb-set.h | 52 ++++++++++---------- - src/hb-shape-plan.h | 18 +++---- - src/hb-shape.h | 10 ++-- - src/hb-unicode.h | 52 ++++++++++---------- - src/hb-uniscribe.h | 4 +- - src/hb-version.h.in | 6 +-- - src/hb.h | 4 ++ - 23 files changed, 292 insertions(+), 288 deletions(-) - -commit f798b8e2d683a1b89b6905b1a8615375b847b468 -Author: ThePhD -Date: Sat Nov 21 16:57:26 2015 -0500 - - c-style cast - - src/hb-ot-shape-complex-use.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a6991813659376a6a11c00a9f67d85b4f7ba9b5d -Merge: 1dc32ea4 f19c6db1 -Author: Behdad Esfahbod -Date: Fri Nov 20 13:28:42 2015 -0800 - - Merge pull request #176 from behdad/missing-braces - - Add braces for subobject initializer in _hb_font_funcs_nil - -commit 1dc32ea4d2f294f9d1ae1c8fd19fb75f9278223b -Author: Behdad Esfahbod -Date: Fri Nov 20 13:24:19 2015 -0800 - - Whitespace - - src/hb-private.hh | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit f94c0ecbb1488138d3ec3b9d6d9fb78113dfee4f -Author: Behdad Esfahbod -Date: Fri Nov 20 13:21:29 2015 -0800 - - Define HB_MARK_AS_FLAG_T as a macro instead of using templates - - The generic template operator overloading was causing more problems - than it - solved. Eg: - - https://github.com/behdad/harfbuzz/pull/163 - https://github.com/behdad/harfbuzz/issues/175 - - So, just use macros. - - Fixes https://github.com/behdad/harfbuzz/issues/175 - Fixes https://github.com/behdad/harfbuzz/pull/178 - - src/hb-private.hh | 27 +++++++++++---------------- - 1 file changed, 11 insertions(+), 16 deletions(-) - -commit f19c6db18e2e2dd0e9a406fc7e8533049fab48b0 -Author: jfkthame -Date: Fri Nov 20 08:43:49 2015 +0000 - - Add braces for subobject initializer in _hb_font_funcs_nil - - To avoid triggering -Wmissing-braces; see - https://bugzilla.mozilla.org/show_bug.cgi?id=1226175#c8 - - src/hb-font.cc | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 9cc1ed4fa68075b3b142a2737438109772dd0002 -Author: Behdad Esfahbod -Date: Thu Nov 19 12:39:09 2015 -0800 - - Do not allow recursiving to same position and same lookup - - This is just to make it harder to be extremely slow. There definitely - are ways still, just harder. Oh well... how do we tame this problem - without solving halting problem?! - - Fixes https://github.com/behdad/harfbuzz/issues/174 - - src/hb-ot-layout-gsubgpos-private.hh | 5 +++++ - test/shaping/fonts/sha1sum/MANIFEST | 1 + - .../sha1sum/fab39d60d758cb586db5a504f218442cd1395725.ttf | Bin 0 -> - 1894 bytes - test/shaping/tests/fuzzed.tests | 1 + - 4 files changed, 7 insertions(+) - -commit 7d75eee799bbb5ee7eef2651cf7b7d3aee6f09b0 -Author: Behdad Esfahbod -Date: Thu Nov 19 12:03:04 2015 -0800 - - [fuzzing] Run fuzzing tests using hb-fuzzer as well - - test/fuzzing/Makefile.am | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 13188cba7f0eaacd587beeb1c2258526ae24c438 -Author: Behdad Esfahbod -Date: Thu Nov 19 11:59:03 2015 -0800 - - Revert "Fix hang in OOM situations" - - This reverts commit f0599db761d7fc2d585d86e757a797f75ebc7499. - - Commit abadc1717d997b69f987fdf1be9e12156d2d13d6 provides a better - fix for this. - - src/hb-buffer-private.hh | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -commit 18e1c6b6ef7c85a1b02e3dae86280d8ed6b65118 -Author: Behdad Esfahbod -Date: Thu Nov 19 11:50:58 2015 -0800 - - Revert "Make sure we make progress in OOM situations" - - This reverts commit 68b507a3c3c62c28c38e13fee733702bb703b6ca. - - Commit abadc1717d997b69f987fdf1be9e12156d2d13d6 provides a better - fix for this. - - src/hb-buffer-private.hh | 7 +++++-- - src/hb-buffer.cc | 31 ++++++++----------------------- - 2 files changed, 13 insertions(+), 25 deletions(-) - -commit e1118aeac3b5556df0ce502732df8ac92bdac45a -Author: Behdad Esfahbod -Date: Wed Nov 18 23:40:47 2015 -0800 - - 1.1.0 - - NEWS | 22 ++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 23 insertions(+), 1 deletion(-) - -commit 63fe05c8b1cd4f08b525028409e1299f34750810 -Author: Behdad Esfahbod -Date: Wed Nov 18 23:52:34 2015 -0800 - - Fix make distcheck - - src/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 9b087dec7753ad96d256ce1b9ae347bd8d697c75 -Author: Behdad Esfahbod -Date: Wed Nov 18 23:23:35 2015 -0800 - - [travis] Only coverity-scan the coverity_scan branch - - This essentially disables coverity-scan right now, until we find - a pattern to continuously submit branches there. - - For background reasoning, see: - Fixes https://github.com/behdad/harfbuzz/issues/171 - - .travis.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 85062e3b4655ec6d5c3cf5344ce22cd88c21a2aa -Author: Behdad Esfahbod -Date: Wed Nov 18 23:09:13 2015 -0800 - - Add tests for previous two commits - - To fully test what these are supposed to test, they should be run - against libharfbuzz-fuzzing.la instead of libharfbuzz.la, but for - now just record the files. - - .../sha1sum/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf | Bin 0 -> - 1804 bytes - test/shaping/fonts/sha1sum/MANIFEST | 2 ++ - .../sha1sum/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf | Bin 0 -> - 1804 bytes - test/shaping/tests/fuzzed.tests | 2 ++ - 4 files changed, 4 insertions(+) - -commit 37b40cd8a18e25d3324f829acec197f016f4a524 -Author: Behdad Esfahbod -Date: Wed Nov 18 23:04:45 2015 -0800 - - Fix another move_to assertion failure - - If buf->idx is at end, don't set end past it... - - Fixes https://github.com/behdad/harfbuzz/issues/173 - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit abadc1717d997b69f987fdf1be9e12156d2d13d6 -Author: Behdad Esfahbod -Date: Wed Nov 18 17:52:08 2015 -0800 - - Try to better handle OOM situations - - Fixes assert fail in https://github.com/behdad/harfbuzz/issues/161 - with libharfbuzz-fuzzing. - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-layout.cc | 2 +- - src/hb-ot-shape-complex-hangul.cc | 2 +- - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape-complex-thai.cc | 2 +- - src/hb-ot-shape-complex-use.cc | 8 +------- - src/hb-ot-shape-normalize.cc | 10 +++++----- - src/hb-ot-shape.cc | 2 +- - 8 files changed, 12 insertions(+), 18 deletions(-) - -commit ec625f7dfb5f6df19d35d81af6605d05e08321f2 -Author: Behdad Esfahbod -Date: Wed Nov 18 16:37:59 2015 -0800 - - Try to fix gnome-continuous build fail - - test/fuzzing/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit ff16ef3379e06afe44b5e78b8893aeae0cee2b5b -Author: Behdad Esfahbod -Date: Wed Nov 18 16:27:32 2015 -0800 - - Enable building a bounded version of the library for fuzzing - - test/fuzzing/hb-fuzzer links against libharfbuzz-fuzzing.so now. - - src/Makefile.am | 16 ++++++++++++++++ - test/fuzzing/Makefile.am | 9 ++------- - test/fuzzing/README | 6 ++---- - 3 files changed, 20 insertions(+), 11 deletions(-) - -commit e0082ae60dbd87d433f3b2b9d2bfa64b9a4c3663 -Author: Behdad Esfahbod -Date: Tue Nov 17 18:42:13 2015 -0800 - - Move things around - - src/hb-private.hh | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -commit dde8cc87bd880bd35baf764820f4c85bd0a58696 -Merge: e97835ad 167c3271 -Author: Behdad Esfahbod -Date: Tue Nov 17 18:40:10 2015 -0800 - - Merge pull request #163 from fanc999/msvc.src - - Update the sources so they will compile under Visual Studio - -commit 167c3271778cd1a8c4433b9d2230901ce17c099e -Author: Chun-wei Fan -Date: Mon Nov 9 17:17:56 2015 +0800 - - Fix build on MSVC >= 2012 - - Use the DEFINE_ENUM_FLAG_OPERATORS macro in winnt.h on Visual Studio, - which defines the bitwise operators for the enumerations that we - want to - mark as hb_mark_as_flags_t, which will take care of the situation - on newer - Visual Studio (>= 2012), where the build breaks with C2057 errors - as the - underlying types of the enumerations is not clear to the compiler - when we - do a bitwise op within the declaration of the enumerations themselves. - - Also disable the C4200 (nonstandard extension used : zero-sized - array in - struct/union) and C4800 ('type' : forcing value to bool 'true' or - 'false' - (performance warning)) warnings as the C4200 is the intended - scenario and - C4800 is harmless but is so far an unavoidable side effect of using - DEFINE_ENUM_FLAG_OPERATORS. - - src/hb-buffer-private.hh | 6 +++--- - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-private.hh | 4 ++-- - src/hb-ot-map-private.hh | 2 +- - src/hb-private.hh | 11 +++++++++++ - 5 files changed, 18 insertions(+), 7 deletions(-) - -commit 4d27bb87468a1b84387e7ce084e3d92c0fc8f065 -Author: Chun-wei Fan -Date: Fri Nov 6 14:28:30 2015 +0800 - - hb-ot-shape-complex-arabic.cc: Fix build on Visual Studio - - Visual Studio does not like declaring a enum variable within a for - statement, so fix the build by declaring the enum before doing the for - loop. - - src/hb-ot-shape-complex-arabic.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit a49e7b7e40127beba25f39ef3c10d7a77e2bb0f0 -Author: Chun-wei Fan -Date: Tue Nov 3 18:49:34 2015 +0800 - - MSVC builds: Add fallback implementation for pre-2013 MSVC - - Pre-2013 MSVC does not have scalbn() and scalbnf(), which are used - in the - utility programs. Add fallback implementations for these, which - can be - used when necessary. - - util/options.hh | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -commit 998e8dda938cfef0146f1bfc4e8973a0e12d7d35 -Author: Chun-wei Fan -Date: Mon Nov 2 16:55:29 2015 +0800 - - util: Fix build on Visual Studio - - Use the fallback implementation for lround() only on pre-2013 Visual - Studio, and ensure we are clear about the types of the parameters for - lround() and scalbnf(), since Visual Studio can be quite picky on - ambiguous parameter types. Also, use g_ascii_strcasecmp() rather than - strcasecmp() as we are already using GLib for this code and we are - assured that g_ascii_strcasemp() is available. - - For scalbnf() on pre-2013 Visaul Studio, a fallback implementation is - needed, but use another forced-included header for those compilers, - which - will be added later. - - Also use (char)27 on Visual Studio builds as '\e' is not a recognized - escape sequence, which will do the same thing. - - util/ansi-print.cc | 16 +++++++++------- - util/helper-cairo.cc | 20 ++++++++++---------- - util/options.cc | 2 +- - 3 files changed, 20 insertions(+), 18 deletions(-) - -commit e97835ad43f5c68e8cb29599246cae0f4461d663 -Author: Behdad Esfahbod -Date: Tue Nov 10 11:37:01 2015 -0800 - - [util] Fix crash when --output-file is specified but not - --output-format - - util/options.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit d5f0d7c9fb14255388ab616f56e178cb7ca10ec2 -Merge: 04ff23e7 529a9331 -Author: Behdad Esfahbod -Date: Sat Nov 7 07:50:58 2015 -0800 - - Merge pull request #167 from KonstantinRitt/unicode_cp_opt - - Micro optimizations to UTF-16 and UTF-32 codecs - -commit 04ff23e73d847ab3a5da0e9fac4fbca19aefd284 -Author: Behdad Esfahbod -Date: Fri Nov 6 16:29:44 2015 -0800 - - [arabic] Improve stretch length calculation - - Err on the side of being too short, than too wide. Reduces chance - of overlaps with neighboring glyphs. - - src/hb-ot-shape-complex-arabic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 59821ab8b413df3a444c38b80582a5137e364a70 -Author: Behdad Esfahbod -Date: Fri Nov 6 16:27:44 2015 -0800 - - [arabic] Don't stretch over cased letters - - Addresses - https://github.com/behdad/harfbuzz/commit/6e6f82b6f3dde0fc6c3c7d991d9ec6cfff57823d#commitcomment-14248516 - - src/hb-ot-shape-complex-arabic.cc | 24 - +++++++++++++++++++++- - src/hb-unicode-private.hh | 20 - ------------------ - .../script-syriac/misc/abbreviation-mark.txt | 4 ++-- - 3 files changed, 25 insertions(+), 23 deletions(-) - -commit 5337db29af39084d677a63154f404eca0c20cfeb -Author: Behdad Esfahbod -Date: Fri Nov 6 16:18:09 2015 -0800 - - Revert "Don't process lookups if buffer is in error" - - This reverts commit f92bd86cc8c11d262d1830c631cb7c63fc9d4bc8. - - We don't want to be like cairo, where as soon as there's an error, - nothing works anymore. So, lets process lookups as long as there's - no new memory needed. That's also a model that hides fewer bugs. - - src/hb-ot-layout.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 529a93312815dff3c2f37f880bf6ccb428bd3da0 -Author: Konstantin Ritt -Date: Sat Nov 7 02:00:04 2015 +0400 - - Micro optimization to hb_utf16_t and hb_utf32_t ::prev() - - Implement reverse lookup instead of re-using next() - - src/hb-utf-private.hh | 29 +++++++++++++++++++---------- - 1 file changed, 19 insertions(+), 10 deletions(-) - -commit 44ae9be7a29eebd6003cad2fdb90b40512a9c8eb -Author: Konstantin Ritt -Date: Sat Nov 7 01:58:38 2015 +0400 - - Nano optimization to hb_utf16_t and hb_utf32_t ::next() - - src/hb-utf-private.hh | 17 ++++++----------- - 1 file changed, 6 insertions(+), 11 deletions(-) - -commit a6d7668a954a763a053f8af8edbff4731aa43729 -Author: Behdad Esfahbod -Date: Fri Nov 6 09:46:54 2015 -0800 - - [fuzzing] Cap max buffer len at 128 - - test/fuzzing/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit f1c4adbcd3f6275e81e118ddadc9396f82daeccf -Author: Behdad Esfahbod -Date: Fri Nov 6 09:46:05 2015 -0800 - - Fix typo - - src/hb-buffer-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 68b507a3c3c62c28c38e13fee733702bb703b6ca -Author: Behdad Esfahbod -Date: Fri Nov 6 00:09:26 2015 -0800 - - Make sure we make progress in OOM situations - - src/hb-buffer-private.hh | 7 ++----- - src/hb-buffer.cc | 31 +++++++++++++++++++++++-------- - 2 files changed, 25 insertions(+), 13 deletions(-) - -commit 5a7eb5d4d862f402136044c19ead87ad098bd78f -Author: Behdad Esfahbod -Date: Fri Nov 6 00:01:24 2015 -0800 - - [fuzzing] Add test case for OOM - - From https://github.com/behdad/harfbuzz/issues/161 - - .../sha1sum/3511ff5c1647150595846ac414c595cccac34f18.ttf | Bin 0 -> - 1483 bytes - test/shaping/fonts/sha1sum/MANIFEST | 2 +- - test/shaping/tests/fuzzed.tests | 1 + - 3 files changed, 2 insertions(+), 1 deletion(-) - -commit f0599db761d7fc2d585d86e757a797f75ebc7499 -Author: Behdad Esfahbod -Date: Thu Nov 5 23:52:41 2015 -0800 - - Fix hang in OOM situations - - Fixes https://github.com/behdad/harfbuzz/issues/161 - - src/hb-buffer-private.hh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit f92bd86cc8c11d262d1830c631cb7c63fc9d4bc8 -Author: Behdad Esfahbod -Date: Thu Nov 5 23:52:29 2015 -0800 - - Don't process lookups if buffer is in error - - src/hb-ot-layout.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4301703bddb63a01651a0d58474bb15ac0ebbcf6 -Author: Behdad Esfahbod -Date: Thu Nov 5 23:44:59 2015 -0800 - - Limit buffer max size growth - - https://github.com/behdad/harfbuzz/issues/161 - - src/hb-buffer-private.hh | 11 +++++++++++ - src/hb-buffer.cc | 8 ++++++++ - src/hb-ot-shape.cc | 6 ++++++ - test/fuzzing/Makefile.am | 2 ++ - 4 files changed, 27 insertions(+) - -commit 19300183a6f0bac0d23f7a994b40a51e9c90d6e1 -Author: Behdad Esfahbod -Date: Thu Nov 5 23:08:50 2015 -0800 - - [fuzzing] Add build system - - configure.ac | 1 + - test/Makefile.am | 2 +- - test/fuzzing/Makefile.am | 44 - ++++++++++++++++++++++++++++++++++++++++++++ - test/fuzzing/README | 2 ++ - test/fuzzing/hb-fuzzer.cc | 4 ++-- - 5 files changed, 50 insertions(+), 3 deletions(-) - -commit 9c9ad214af43685b00f6d8493b7807d6607d4e2d -Author: Behdad Esfahbod -Date: Thu Nov 5 22:50:52 2015 -0800 - - [fuzzer] Add README - - https://github.com/behdad/harfbuzz/issues/139#issuecomment-154202645 - - test/fuzzing/README | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -commit 6e6f82b6f3dde0fc6c3c7d991d9ec6cfff57823d -Author: Behdad Esfahbod -Date: Thu Nov 5 17:29:03 2015 -0800 - - Implement SYRIAC ABBREVIATION MARK with 'stch' feature - - The feature is enabled for any character in the Arabic shaper. - We should experiment with using it for Arabic subtending marks. - Though, that has a directionality problem as well, since those - are used with digits... - - Fixes https://github.com/behdad/harfbuzz/issues/141 - - src/hb-ot-shape-complex-arabic.cc | 219 - ++++++++++++++++++++- - src/hb-unicode-private.hh | 19 ++ - .../shaper-arabic/script-syriac/misc/MANIFEST | 1 + - .../script-syriac/misc/abbreviation-mark.txt | 11 ++ - 4 files changed, 244 insertions(+), 6 deletions(-) - -commit c743ec5886a1f6d57de26da33a770a8706be83d6 -Author: Behdad Esfahbod -Date: Thu Nov 5 17:33:57 2015 -0800 - - [ft] Fix extents with negative scales - - Fixes https://github.com/behdad/harfbuzz/issues/162 - - src/hb-ft.cc | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 73fec3992acb492829bde1d885f1ebeed8dcc133 -Author: Behdad Esfahbod -Date: Thu Nov 5 15:22:18 2015 -0800 - - Reserve a few scratch-flags bits for complex shapers - - src/hb-buffer-private.hh | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 136863371c1402769426d892aef1b92f9ca1a25e -Author: Behdad Esfahbod -Date: Thu Nov 5 13:24:15 2015 -0800 - - Add new shaper method postprocess_glyphs() - - Unused currently. To be used for Syriac stretch implementation. - - https://github.com/behdad/harfbuzz/issues/141 - - src/hb-ot-shape-complex-arabic.cc | 3 ++- - src/hb-ot-shape-complex-default.cc | 1 + - src/hb-ot-shape-complex-hangul.cc | 7 ++++--- - src/hb-ot-shape-complex-hebrew.cc | 1 + - src/hb-ot-shape-complex-indic.cc | 1 + - src/hb-ot-shape-complex-myanmar.cc | 2 ++ - src/hb-ot-shape-complex-private.hh | 9 +++++++++ - src/hb-ot-shape-complex-thai.cc | 1 + - src/hb-ot-shape-complex-tibetan.cc | 1 + - src/hb-ot-shape-complex-use.cc | 1 + - src/hb-ot-shape.cc | 9 ++++++--- - 11 files changed, 29 insertions(+), 7 deletions(-) - -commit 6c0ebd02c99e7536975ba7194832a1f33abd7faf -Author: Behdad Esfahbod -Date: Thu Nov 5 11:37:48 2015 -0800 - - [util] If font has color, generate PNG with color - - util/helper-cairo.cc | 33 ++++++++++++++++++++++++++------- - util/helper-cairo.hh | 6 +++++- - util/view-cairo.cc | 7 ++++++- - 3 files changed, 37 insertions(+), 9 deletions(-) - -commit e95eb23a4ee920eab1e2f4eec9cf490bb431452c -Author: Behdad Esfahbod -Date: Wed Nov 4 22:55:11 2015 -0800 - - Don't try zeroing marks by GDEF if there are no non-ASCII - - This one is a hack, but should be ok. - - src/hb-ot-shape.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 7fa54ed75aa30ae1d6ee9136ccb83b630c24fb65 -Author: Behdad Esfahbod -Date: Wed Nov 4 22:54:49 2015 -0800 - - Don't try zeroing mark attachments by Unicode if there's no non-ASCII - - src/hb-ot-shape.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 550bd14d2b21ec2a2b509ff42f4df4341dbf2d46 -Author: Behdad Esfahbod -Date: Wed Nov 4 22:58:58 2015 -0800 - - Actually commit changes for previous commit - - src/hb-buffer-private.hh | 2 ++ - src/hb-ot-layout-gpos-table.hh | 15 ++++++++------- - 2 files changed, 10 insertions(+), 7 deletions(-) - -commit ff31b3c1b8a2a21b57dba37eb5bb5db0579e0640 -Author: Behdad Esfahbod -Date: Wed Nov 4 22:42:41 2015 -0800 - - Skip GPOS cursive / attachment adjustmnent if none happened - - I'm starting to really like how free these new scratch_flags are. - - src/hb-ot-layout-gpos-table.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit 0f407325f6923db11d332585e8250e3646cb74d6 -Author: Behdad Esfahbod -Date: Wed Nov 4 22:28:44 2015 -0800 - - Minor - - src/hb-ot-shape.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 497a6c2071cd0638e4c6af07621d01335fd963a9 -Author: Behdad Esfahbod -Date: Wed Nov 4 22:24:19 2015 -0800 - - Skip forming clusters if text is all ASCII - - src/hb-ot-shape.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 28de104f15b80df4b678267c4488b7d09a42720c -Author: Behdad Esfahbod -Date: Wed Nov 4 22:00:25 2015 -0800 - - Move variable-sized struct member to end - - Hopefully makes clang build happy - - src/hb-font-private.hh | 21 ++++++++++----------- - src/hb-font.cc | 20 ++++++++++++++++++++ - 2 files changed, 30 insertions(+), 11 deletions(-) - -commit 5bc28b5f688ee90d103d052e98bc15d6e0e7e0b1 -Author: Behdad Esfahbod -Date: Wed Nov 4 21:53:16 2015 -0800 - - Optimize positioning for when h_origin is nil - - src/hb-ot-shape.cc | 38 ++++++++++++++++++++------------------ - 1 file changed, 20 insertions(+), 18 deletions(-) - -commit 762770c964f9f0591bf4c44427f73ea3e1c51733 -Author: Behdad Esfahbod -Date: Wed Nov 4 21:42:55 2015 -0800 - - Add font->has_...() to check for individual nil font funcs - - Hopefully this wouldn't break any compiler. There was some magic - moments to getting this to compile... - - src/hb-font-private.hh | 19 +++++++++++++++++-- - src/hb-font.cc | 7 +++++++ - 2 files changed, 24 insertions(+), 2 deletions(-) - -commit 88e9a9bcae61421d9dd65715d25e5f20b2847c03 -Author: Behdad Esfahbod -Date: Wed Nov 4 21:16:26 2015 -0800 - - Minor reshaping of hb_font_funcs_t implementation - - In anticipation of further changes. No functional changes. - - src/hb-font-private.hh | 80 - ++++++++++++++++++++++++++------------------------ - src/hb-font.cc | 4 +-- - 2 files changed, 43 insertions(+), 41 deletions(-) - -commit a6a7715bac8b0c8f5473b84bc649c315ad4d2d51 -Author: Behdad Esfahbod -Date: Wed Nov 4 20:51:21 2015 -0800 - - Comments - - src/hb-font-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6c48ec830ffac00a920d047ed77acd1b05549074 -Author: Behdad Esfahbod -Date: Wed Nov 4 20:47:42 2015 -0800 - - [ot] Remove font funcs that do nothing - - src/hb-ot-font.cc | 95 - ++++--------------------------------------------------- - 1 file changed, 7 insertions(+), 88 deletions(-) - -commit 75ea2daa1d9bbe235cd4a8570efb1913d58c3c62 -Author: Behdad Esfahbod -Date: Wed Nov 4 20:43:59 2015 -0800 - - [ot] Port ot font funcs to allocated object - - src/hb-ot-font.cc | 47 ++++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 38 insertions(+), 9 deletions(-) - -commit 44f82750807475aa5b16099ccccd917d488df703 -Author: Behdad Esfahbod -Date: Wed Nov 4 20:40:05 2015 -0800 - - [ft] Remove font funcs that do nothing - - src/hb-ft.cc | 29 ++++------------------------- - 1 file changed, 4 insertions(+), 25 deletions(-) - -commit 7918c261efd283e0428ce7836e9e42768a6aa05c -Author: Behdad Esfahbod -Date: Wed Nov 4 20:37:49 2015 -0800 - - [ft] Port ft font funcs to allocated object - - src/hb-ft.cc | 45 ++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 36 insertions(+), 9 deletions(-) - -commit da29b43794cfa3f9a602c34b33c5d8a9c36f87b5 -Author: Behdad Esfahbod -Date: Wed Nov 4 20:22:44 2015 -0800 - - Separate nil font-funcs from parent-peeking font-funcs - - API change: all fonts created with hb_font_create() now inherit from - (ie have parent) hb_font_get_empty(). - - src/hb-font.cc | 211 - +++++++++++++++++++++++++++++++++++---------------- - test/api/test-font.c | 2 +- - 2 files changed, 145 insertions(+), 68 deletions(-) - -commit bee901b38ef3c26a04f69c299c8d5e028a0090e9 -Author: Behdad Esfahbod -Date: Wed Nov 4 19:28:17 2015 -0800 - - Optimize positioning direction calculations - - It makes the binary smaller AND faster. Yumm! - - src/hb-font-private.hh | 40 +++++++++++++++++++++++++++++++++++++++ - src/hb-ot-shape.cc | 51 - +++++++++++++++++++++++++++----------------------- - 2 files changed, 68 insertions(+), 23 deletions(-) - -commit e3e4bb011ae1a2f1ba05e7ea450595b185304bec -Author: Behdad Esfahbod -Date: Wed Nov 4 18:58:02 2015 -0800 - - Don't do fractions if buffer is ASCII-only - - src/hb-buffer-private.hh | 5 +++-- - src/hb-ot-layout-private.hh | 1 + - src/hb-ot-shape.cc | 3 ++- - 3 files changed, 6 insertions(+), 3 deletions(-) - -commit 6986208ba3b395534f4c7bcfa51df6bf9038f717 -Author: Behdad Esfahbod -Date: Wed Nov 4 18:46:22 2015 -0800 - - Optimize runs without Default_Ignorable's - - Now that we have a buffer-wide scratch flags facility, use it to - optimize away a few passes. - - src/hb-buffer-private.hh | 3 ++- - src/hb-ot-layout-private.hh | 4 +++- - src/hb-ot-shape-normalize.cc | 4 ++-- - src/hb-ot-shape.cc | 10 ++++++---- - src/hb-private.hh | 3 +++ - 5 files changed, 16 insertions(+), 8 deletions(-) - -commit 14c2de321826c36037adde859ccca3e2011325a9 -Author: Behdad Esfahbod -Date: Wed Nov 4 18:00:57 2015 -0800 - - Limit max edits during sanitize to 8 - - Used to be 100. If a tabe needs more than one or two edits, it's - probably completely bogus... - - Might help with speeding up fuzzing for - https://github.com/behdad/harfbuzz/issues/157 - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9cbc39aef962a95b0eba32c24ff9c415d1316d56 -Author: Behdad Esfahbod -Date: Wed Nov 4 18:00:53 2015 -0800 - - Minor - - src/hb-ot-shape-normalize.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 52e6c4e15893ed1cb0997795912a07b3e446b65a -Author: Behdad Esfahbod -Date: Wed Nov 4 17:45:06 2015 -0800 - - If font doesn't support U+2011, fall back to U+2010 - - Test passes now. - - src/hb-ot-shape-normalize.cc | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 75483aafa6ad02d6391712d082d093823edcd758 -Author: Behdad Esfahbod -Date: Wed Nov 4 17:43:36 2015 -0800 - - Untangle if/else waterfall - - src/hb-ot-shape-normalize.cc | 40 - +++++++++++++++++++++++++++------------- - 1 file changed, 27 insertions(+), 13 deletions(-) - -commit 04fd8517f85ae9aa05b44f25578d2b19abfef7cb -Author: Behdad Esfahbod -Date: Wed Nov 4 17:38:22 2015 -0800 - - Add tests for hyphen fallback - - U+2011 is equivaent of U+2010, so we should do the fallback - for it. Currently fails. - - test/shaping/Makefile.am | 1 + - .../sha1sum/1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttf | Bin 0 -> - 820 bytes - test/shaping/fonts/sha1sum/MANIFEST | 2 ++ - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/hyphens.tests | 2 ++ - 5 files changed, 6 insertions(+) - -commit 550417117da7e14457a11f49a20145311f58587b -Author: Behdad Esfahbod -Date: Wed Nov 4 17:37:30 2015 -0800 - - [test] Drop hintings when subsetting fonts to record - - test/shaping/record-test.sh | 1 + - 1 file changed, 1 insertion(+) - -commit 49ef630936325b2e56a870fcef9aa8473a8f8526 -Author: Behdad Esfahbod -Date: Wed Nov 4 17:27:07 2015 -0800 - - Adjust the width of various spaces if font does not cover them - - See discussion here: - https://github.com/behdad/harfbuzz/commit/81ef4f407d9c7bd98cf62cef951dc538b13442eb - - There's no way to disable this fallback, but I don't think it would - be needed. Let's hope for the best! - - Fixes https://github.com/behdad/harfbuzz/issues/153 - - src/hb-buffer-private.hh | 7 ++++ - src/hb-buffer.cc | 2 ++ - src/hb-ot-shape-fallback-private.hh | 4 +++ - src/hb-ot-shape-fallback.cc | 67 - +++++++++++++++++++++++++++++++++++++ - src/hb-ot-shape-normalize.cc | 1 + - src/hb-ot-shape.cc | 3 ++ - src/hb-unicode-private.hh | 56 +++++++++++++++++-------------- - test/shaping/tests/spaces.tests | 24 ++++++------- - 8 files changed, 126 insertions(+), 38 deletions(-) - -commit aa7044de0ceacd71cab19212d266c3a66c03b41e -Author: Behdad Esfahbod -Date: Wed Nov 4 16:25:57 2015 -0800 - - Generalize flags types - - src/hb-buffer-private.hh | 3 +++ - src/hb-ot-layout-common-private.hh | 5 +++++ - src/hb-ot-layout-private.hh | 8 +++++--- - src/hb-ot-map-private.hh | 16 +--------------- - src/hb-ot-shape.cc | 2 +- - src/hb-private.hh | 14 ++++++++++++++ - 6 files changed, 29 insertions(+), 19 deletions(-) - -commit 7793aad946e09b53523b30d57de85abd1d15f8b6 -Author: Behdad Esfahbod -Date: Wed Nov 4 14:48:46 2015 -0800 - - Normalize various spaces to space if font doesn't support - - This resurrects the space fallback feature, after I disabled - the compatibility decomposition. Now I can release HarfBuzz - again without breaking Pango! - - It also remembers which space character it was, such that later - on we can approximate the width of this particular space - character. That part is not implemented yet. - - We normalize all GC=Zs chars except for U+1680 OGHA SPACE MARK, - which is better left alone. - - src/hb-ot-layout-private.hh | 47 - +++------------------ - src/hb-ot-shape-normalize.cc | 12 +++++- - src/hb-unicode-private.hh | 40 - ++++++++++++++++++ - test/shaping/Makefile.am | 1 + - .../1c2c3fc37b2d4c3cb2ef726c6cdaaabd4b7f3eb9.ttf | Bin 0 -> 316 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/spaces.tests | 17 ++++++++ - 8 files changed, 76 insertions(+), 43 deletions(-) - -commit 8b3c7f9ede77052225cff8495d660860bf9c7629 -Author: Behdad Esfahbod -Date: Wed Nov 4 15:30:48 2015 -0800 - - [test] Support recording multiple lines of text in record-test.sh - - test/shaping/record-test.sh | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -commit 85658394809fe0593ab5dfb30fd96118765c7dc5 -Author: Behdad Esfahbod -Date: Wed Nov 4 14:46:52 2015 -0800 - - Protect against possible invalid-memory access after OOM - - src/hb-buffer-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4cc80bed25450af3d84a30ea417fa9275b15e014 -Author: Behdad Esfahbod -Date: Wed Nov 4 14:46:10 2015 -0800 - - Fix typo! - - Ouch! Fortunately that function was unused. - - src/hb-buffer-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9ac4b9656dd78ffd129bc3d560a92e2692bc3058 -Author: Behdad Esfahbod -Date: Wed Nov 4 14:18:39 2015 -0800 - - Add Unicode space category - - Unused so far. - - src/hb-ot-layout-private.hh | 78 - +++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 76 insertions(+), 2 deletions(-) - -commit 8249ec3f86510fd24462ce71ed64a6978f0ade17 -Author: Behdad Esfahbod -Date: Wed Nov 4 13:26:17 2015 -0800 - - Make top-byte of unicode_props available to be used differently per-GC - - src/hb-ot-layout-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit cc5d3a33882b52f906ee4346707700f5e846d2ac -Author: Behdad Esfahbod -Date: Wed Nov 4 13:21:25 2015 -0800 - - Towards using top-byte of unicode-props for more things - - src/hb-ot-layout-gsubgpos-private.hh | 1 - - src/hb-ot-layout-private.hh | 3 ++- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 2f38dde5a1ea5459789fabaee661cae9235d204e -Author: Behdad Esfahbod -Date: Wed Nov 4 13:17:33 2015 -0800 - - Add _hb_glyph_info_is_unicode_mark() - - Unused right now. - - src/hb-ot-layout-private.hh | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 90d75f93bb85aeb627c4e6bb9e4cbd75895c99f7 -Author: Behdad Esfahbod -Date: Tue Nov 3 12:58:12 2015 -0800 - - Tighten ccc-setting a bit and document it - - src/hb-ot-layout-private.hh | 12 +++++++++++- - src/hb-unicode-private.hh | 5 +++++ - 2 files changed, 16 insertions(+), 1 deletion(-) - -commit 2f0dfd43cdc2259e6117704f8077ab6951c761e5 -Author: Behdad Esfahbod -Date: Tue Nov 3 12:28:34 2015 -0800 - - Fix test expectation - - test/shaping/tests/fuzzed.tests | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit df698f3299d92867e3305715f675b2621c316acd -Author: Behdad Esfahbod -Date: Tue Nov 3 12:15:12 2015 -0800 - - [ot-font] Fix hmtx table length checking, *again* - - Exactly the same problem that I fixed in - 63ef0b41dc48d6112d1918c1b1de9de8ea90adb5 - - I rewrote the table checking yesterday in - 67f8821fb25d9bd55719f5e29a582ae1af4b02b3 - and introduced the exact same issue again. :( - Good thing we have ongoing fuzzing going now. Was discovered - immediately by libFuzzer. Thanks kcc! - - https://github.com/behdad/harfbuzz/issues/139#issuecomment-153449473 - Fixes https://github.com/behdad/harfbuzz/issues/156 - - src/hb-ot-font.cc | 4 ++-- - .../sha1sum/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf | Bin 0 -> - 633 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/fuzzed.tests | 1 + - 4 files changed, 4 insertions(+), 2 deletions(-) - -commit 3530cc2d7c3b7102902cb0e38b0bf9f46188078d -Author: Behdad Esfahbod -Date: Tue Nov 3 11:34:47 2015 -0800 - - [util] Fix option-parsing leaks - - util/helper-cairo.cc | 7 +++++-- - util/main-font-text.hh | 22 ++++++++++++++++++--- - util/options.cc | 21 ++++++++++---------- - util/options.hh | 53 - +++++++++++++++++++++++++++++++++----------------- - 4 files changed, 70 insertions(+), 33 deletions(-) - -commit 642135f3b2d6d6eb800153c76c4718239733c0e6 -Author: Behdad Esfahbod -Date: Tue Nov 3 11:26:34 2015 -0800 - - [util] In --debug mode, duplicate font data - - This has the effect that the font data will end up in a memory - section malloc()ed exactly to its size. This gives us better - valgrind detection of out-of-bounds access. - - Previously, the font data was placed in a mmap()ed section or - GString-allocated area, which didn't have proper protections - at the end when running under valgrind. - - util/options.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit ed2024ef93ac3af214082016e5aa8c14db9d7515 -Author: Behdad Esfahbod -Date: Mon Nov 2 17:58:12 2015 -0800 - - [perf] Micro-optimize - - src/hb-ot-layout-private.hh | 23 ++++++++++++++--------- - 1 file changed, 14 insertions(+), 9 deletions(-) - -commit 76a5310a830c7ae12037b768c5043bef0ff733a0 -Author: Behdad Esfahbod -Date: Mon Nov 2 17:52:45 2015 -0800 - - Remove irrelevant comment - - I tried moving the is_default_ignorable() function to an INTERNAL - function. That made the binary size grow by 5k AND things got a - tad bit slower! - - src/hb-ot-layout-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 8259669fbd1b070fc02287325894caf1bc4d590e -Author: Behdad Esfahbod -Date: Mon Nov 2 17:44:05 2015 -0800 - - Minor - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-shape-complex-thai.cc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 9382c471eabce8d36d3a73c97499ab60af422716 -Author: Behdad Esfahbod -Date: Mon Nov 2 17:36:51 2015 -0800 - - Combine unicode_props0/1 into a uint16 - - Slightly faster. In prep for more changes. - - src/hb-ot-layout-private.hh | 55 - ++++++++++++++++++++++++--------------------- - 1 file changed, 29 insertions(+), 26 deletions(-) - -commit 71277185454482cff9b0c10b85c416eb4d6e0ed9 -Author: Behdad Esfahbod -Date: Mon Nov 2 17:27:48 2015 -0800 - - [perf] Only call combining_class() for marks - - Saves some time. Also preparing for reusing the ccc byte for - other stuff. - - src/hb-ot-layout-private.hh | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -commit 5ba450407b9d9856453e63a815499da8721ff6a7 -Author: Behdad Esfahbod -Date: Mon Nov 2 15:43:08 2015 -0800 - - Make max context-length and max nesting level configurable - - ...at compile time. - - src/hb-ot-layout-common-private.hh | 10 ++++++++-- - src/hb-ot-layout-gsub-table.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 20 ++++++++++---------- - 3 files changed, 20 insertions(+), 14 deletions(-) - -commit 67f8821fb25d9bd55719f5e29a582ae1af4b02b3 -Author: Behdad Esfahbod -Date: Mon Nov 2 15:37:29 2015 -0800 - - [ot] Make bad-hmtx handling match FreeType - - Also route fuzzing-related tests through hb-ot-font, to reduce - dependency - on FreeType behavior for badly-broken fonts. Fixes failing test with - FreeType master. - - src/hb-ot-font.cc | 24 ++++++++++++++---------- - test/shaping/tests/fuzzed.tests | 10 +++++----- - 2 files changed, 19 insertions(+), 15 deletions(-) - -commit 672ca3b4e65a75fb3a418ec5d117ad242a98acbb -Author: Behdad Esfahbod -Date: Mon Oct 26 14:05:05 2015 -0700 - - Use templates for making sure expression is constant - - src/hb-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 5c8174eda32c08187bc2ed40eefa1017f5b40668 -Author: Behdad Esfahbod -Date: Wed Oct 21 18:51:40 2015 -0200 - - Update comments for removal of compat decompositions - - src/hb-ot-shape-normalize.cc | 16 ++-------------- - 1 file changed, 2 insertions(+), 14 deletions(-) - -commit f6799700404c49ae0a6018fd51be19551c76768a -Author: Behdad Esfahbod -Date: Wed Oct 21 17:20:55 2015 -0200 - - Disable compatibility decomposition usage during normalization - - Fixes https://github.com/behdad/harfbuzz/issues/152 - - src/hb-ot-shape-normalize.cc | 24 ------------------------ - 1 file changed, 24 deletions(-) - -commit ce889189c1f8ef5b400a17f623dcb8b935d1102b -Author: Behdad Esfahbod -Date: Wed Oct 21 11:23:12 2015 -0200 - - Fix two more -Wshadow warnings - - https://bugzilla.mozilla.org/show_bug.cgi?id=1215894 - - src/hb-open-type-private.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 4a6b1eedbb0044b57505eea65a329d2dc4f9f917 -Author: Behdad Esfahbod -Date: Wed Oct 21 11:20:55 2015 -0200 - - Fix one more -Wshadow warning - - https://bugzilla.mozilla.org/show_bug.cgi?id=1215894 - - src/hb-ot-layout-gsubgpos-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 6f932bc8f9045b224613a617af2b4f3450c79467 -Author: Behdad Esfahbod -Date: Wed Oct 21 11:16:49 2015 -0200 - - Fix a few more -Wshadow-local warnings - - https://bugzilla.mozilla.org/show_bug.cgi?id=1215894 - - src/hb-ot-shape-complex-indic.cc | 10 +++++----- - src/hb-ot-shape-complex-myanmar.cc | 10 +++++----- - src/hb-ot-shape-complex-use.cc | 10 +++++----- - 3 files changed, 15 insertions(+), 15 deletions(-) - -commit b90cb366d7723c28758c6b75a0770613fbb5456e -Author: Behdad Esfahbod -Date: Wed Oct 21 11:13:21 2015 -0200 - - Fix one -Wshadow-compatible-local warning - - From https://bugzilla.mozilla.org/show_bug.cgi?id=1215894 - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 50e5750bd8670b4cf4463471a2348d4c99c9d054 -Author: Behdad Esfahbod -Date: Wed Oct 21 11:10:10 2015 -0200 - - Avoid unnecessary cast to 64-bit - - Fixes https://github.com/behdad/harfbuzz/issues/146 - - Or I think it should. - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 305d2fbf5a2db51447c8ed894a48a88896930673 -Author: Behdad Esfahbod -Date: Wed Oct 21 11:04:28 2015 -0200 - - Add HB_FALLTHROUGH - - Borrowed from https://bugzilla.mozilla.org/show_bug.cgi?id=1215411 - - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape-complex-thai.cc | 2 +- - src/hb-ot-shape-fallback.cc | 4 +++- - src/hb-private.hh | 30 ++++++++++++++++++++++++++++++ - 4 files changed, 35 insertions(+), 3 deletions(-) - -commit f35b3e931ddacd075c5d0810e9b17de07b232ee2 -Author: Ebrahim Byagowi -Date: Fri Sep 11 09:48:12 2015 +0430 - - Add a prototype of DirectWrite as a shaping backend - - src/hb-directwrite.cc | 827 - ++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-directwrite.h | 34 +++ - src/hb-shaper-list.hh | 3 + - 3 files changed, 864 insertions(+) - -commit 6486e3755482563ecd89aeb3f8348ed190945e26 -Author: Behdad Esfahbod -Date: Tue Oct 20 16:39:41 2015 -0200 - - Fix typo - - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 753ea7b90904c951c199861409458bea182abb37 -Author: Behdad Esfahbod -Date: Tue Oct 20 15:21:18 2015 -0200 - - Add BUILD.md to dist - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 5d7a30fde09320c2c62c7c73570ce3f2e298eba6 -Merge: 904b0dc3 2fb95a0c -Author: Behdad Esfahbod -Date: Tue Oct 20 15:19:41 2015 -0200 - - Merge pull request #148 from ebraminio/inst - - Add BUILD.md based on harfbuzz.org docs - -commit 904b0dc3811464cf61dc9457664de95ee4f61a86 -Merge: 86cadc2c ba096bcc -Author: Behdad Esfahbod -Date: Mon Oct 19 16:59:43 2015 -0200 - - Merge pull request #147 from ebraminio/dockerci - - [ci] change to docker infrastructure - -commit ba096bcc28ca80e2096e0a15191848fcd175e395 -Author: Ebrahim Byagowi -Date: Mon Oct 19 21:41:01 2015 +0330 - - [ci] change to docker infrastructure - - .travis.yml | 24 ++++++++++++++++-------- - 1 file changed, 16 insertions(+), 8 deletions(-) - -commit 2fb95a0c9d2cb8b03b7c158706d6b0e41283a6df -Author: Ebrahim Byagowi -Date: Mon Oct 19 22:02:12 2015 +0330 - - Add BUILD.md based on harfbuzz.org docs - - BUILD.md | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -commit 86cadc2cd4171050e9d74306b76c42f6ec74b861 -Author: Behdad Esfahbod -Date: Thu Oct 15 20:25:29 2015 -0300 - - 1.0.6 - - NEWS | 13 +++++++++++++ - configure.ac | 2 +- - 2 files changed, 14 insertions(+), 1 deletion(-) - -commit ca97ea7aa2cb7186f432aaba76f4f151aa90c1d0 -Author: Behdad Esfahbod -Date: Thu Oct 15 20:20:22 2015 -0300 - - [ft] Revert change-of-behavior of hb_ft_font_create() introduced - in 1.0.5 - - The default FreeType load flags where changed from FT_LOAD_NO_HINTING - to FT_LOAD_DEFAULT in 2a9627c5641cd000e2adff0e42a0dc687b53ec70. - This is crashing HarfBuzz-enabled FreeType as I suppose it causes - infinite recursion between HB and FT autohinter... - - Revert the behavior change. - - Fixes https://github.com/behdad/harfbuzz/issues/143 - - src/hb-ft.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 338ffec9e4a5819f2be21c3a320a567378c977b1 -Author: Behdad Esfahbod -Date: Thu Oct 15 12:55:57 2015 -0300 - - Add tests for a couple of fixed issues found by libFuzzer - - From: - https://github.com/behdad/harfbuzz/issues/139#issuecomment-147616887 - https://github.com/behdad/harfbuzz/issues/139#issuecomment-148289957 - - .../sha1sum/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf | Bin 0 -> - 1024 bytes - .../sha1sum/641bd9db850193064d17575053ae2bf8ec149ddc.ttf | Bin 0 -> - 305 bytes - test/shaping/fonts/sha1sum/MANIFEST | 2 ++ - test/shaping/tests/fuzzed.tests | 2 ++ - 4 files changed, 4 insertions(+) - -commit 63ef0b41dc48d6112d1918c1b1de9de8ea90adb5 -Author: Behdad Esfahbod -Date: Thu Oct 15 12:47:22 2015 -0300 - - [ot-font] Fix hmtx wrong table length check - - Discovered by libFuzzer. Ouch! - - https://github.com/behdad/harfbuzz/issues/139#issuecomment-148289957 - - src/hb-ot-font.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 613e630617074eb9b62b794cc37c9b42a7fb079b -Author: Behdad Esfahbod -Date: Tue Oct 13 23:33:28 2015 -0300 - - Reduce max nesting level from 8 to 6 - - We probably should implement better system to catch cyclic lookups. - But for now, this speeds up worst case behavior with broken fonts - considerably without compromising legitimate usecases. - - https://github.com/behdad/harfbuzz/issues/139#issuecomment-147788447 - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ab170529246ad80830bef2b3c8b48e9a8d2b7483 -Author: Behdad Esfahbod -Date: Tue Oct 13 10:55:33 2015 -0300 - - 1.0.5 - - NEWS | 24 ++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 25 insertions(+), 1 deletion(-) - -commit ed13e2ce509408f849255be1d3cc3dbd7dbb3ba2 -Author: Behdad Esfahbod -Date: Tue Oct 13 10:32:56 2015 -0300 - - [ot-font] Fix leak - - https://github.com/behdad/harfbuzz/issues/139#issuecomment-147616887 - - src/hb-ot-font.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 55db94be2b754ba9b9121f09abcf8496c798affc -Author: Behdad Esfahbod -Date: Tue Oct 13 00:33:59 2015 -0400 - - Add test for previous commit - - .../sha1sum/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf | Bin 0 -> - 61 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/fuzzed.tests | 1 + - 3 files changed, 2 insertions(+) - -commit f96664974774bfeb237a7274f512f64aaafb201e -Author: Behdad Esfahbod -Date: Tue Oct 13 00:30:50 2015 -0400 - - Fix another memory access issue discovered by libFuzzer - - Fixes - https://github.com/behdad/harfbuzz/issues/139#issuecomment-146984679 - - src/hb-ot-layout-gpos-table.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit c1a5dc46c2231f7b62421e06b9766ccfebaf3ef5 -Author: Behdad Esfahbod -Date: Mon Oct 12 17:39:52 2015 -0400 - - [fuzz] Add fuzzing script from kcc@ - - https://github.com/behdad/harfbuzz/issues/139 - - test/fuzzing/hb-fuzzer.cc | 47 - +++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 47 insertions(+) - -commit cc6ea308d4c99b9dd6d625fa3a9b0ef62fa2614f -Author: Behdad Esfahbod -Date: Mon Oct 12 17:21:52 2015 -0400 - - Extern "C" custom-allocator declerations - - src/hb-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 98c6fccc00062ead7a86892dd059aa13d266b981 -Author: Behdad Esfahbod -Date: Sun Oct 11 21:41:04 2015 -0400 - - Add test for ee9b0b6cb5fdb08671ab064f26c299135f828260 - - .../sha1sum/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf | Bin 0 -> - 61 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/fuzzed.tests | 1 + - 3 files changed, 2 insertions(+) - -commit 50f489a0a013fc589626bb532a9f64f50bb41f58 -Author: Behdad Esfahbod -Date: Sun Oct 11 20:59:29 2015 -0400 - - Typo - - src/hb-font-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ee9b0b6cb5fdb08671ab064f26c299135f828260 -Author: Behdad Esfahbod -Date: Fri Oct 9 14:23:15 2015 -0400 - - Fix another sanitize bug - - Also discovered by "libFuzzer". - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 34379b49e6922b86c15ee62f7fe3bf016cdc2514 -Author: Behdad Esfahbod -Date: Fri Oct 9 12:34:02 2015 -0400 - - Add test for previous fix - - test/shaping/Makefile.am | 1 + - .../sha1sum/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf | Bin 0 -> - 64 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/fuzzed.tests | 1 + - 5 files changed, 4 insertions(+) - -commit f396fbb000dc1c8acddbf6a16e193b328c5e551e -Author: Behdad Esfahbod -Date: Fri Oct 9 12:25:55 2015 -0400 - - Fix return value of sanitize when subformat is not readable - - This is a fix on top of the previous issue fixed in - c917965b9e6fe2b21ed6c51559673288fa3af4b7. - - This was caught by "libFuzzer" testing. - - src/hb-open-type-private.hh | 2 ++ - src/hb-ot-layout-gpos-table.hh | 15 +++++++-------- - src/hb-ot-layout-gsub-table.hh | 13 ++++++------- - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- - 4 files changed, 19 insertions(+), 19 deletions(-) - -commit 77a1a2bc18e7b04d4e352a8777ccce345b2f8659 -Author: Behdad Esfahbod -Date: Fri Oct 9 12:20:58 2015 -0400 - - Add hb_dispatch_context_t - - src/hb-open-type-private.hh | 26 ++++++++++++++++++++++---- - src/hb-ot-layout-gsubgpos-private.hh | 36 - ++++++++++++------------------------ - src/hb-ot-layout.cc | 8 +++----- - 3 files changed, 37 insertions(+), 33 deletions(-) - -commit 3e905e396bcd745bda88e751998a76556c5cb8c6 -Author: Behdad Esfahbod -Date: Thu Oct 8 12:51:02 2015 -0400 - - Add hb_font_set_parent() - - No reason to not have it. Makes life easier later. - We (hb-ft, hb-ot-font, etc) can use this API to inject new - parent into a font... - - src/hb-font.cc | 26 ++++++++++++++++++++++++++ - src/hb-font.h | 4 ++++ - test/api/test-font.c | 12 ++++++++++++ - 3 files changed, 42 insertions(+) - -commit edeb3dabf4a589d67c3f1da7ba43a74e4d3a9afd -Author: Behdad Esfahbod -Date: Thu Oct 8 12:47:15 2015 -0400 - - [ft] Add version for new API - - src/hb-ft.cc | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -commit 2a9627c5641cd000e2adff0e42a0dc687b53ec70 -Author: Behdad Esfahbod -Date: Wed Oct 7 17:33:20 2015 -0400 - - [ft] API: Add hb_font_[sg]et_load_flags() API - - This changes the default load_flags of fonts created using - hb_ft_font_create() from NO_HINTING to DEFAULT. Hope that doesn't - break too much client code. - - Code calling hb_ft_font_set_funcs() is unaffected. - - src/hb-ft.cc | 163 - +++++++++++++++++++++++++++++++++++++++-------------------- - src/hb-ft.h | 13 +++-- - 2 files changed, 118 insertions(+), 58 deletions(-) - -commit 3224a594dcf2164b5585b4ccba34f244af3f61b9 -Author: Behdad Esfahbod -Date: Wed Oct 7 17:33:02 2015 -0400 - - Minor - - src/hb-ot-font.cc | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 52b418555b62a3b25399f202c1fa72ab7288c224 -Author: Behdad Esfahbod -Date: Sat Oct 3 13:20:55 2015 +0100 - - Allow compiling with custom allocators - - User can define hb_malloc_impl, etc, to name of custom allocator - functions - that have the same signature as malloc. - - src/hb-private.hh | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -commit 88da7bba9fa4665b33f5bfcd45add7443097eaf3 -Author: Behdad Esfahbod -Date: Fri Oct 2 14:38:20 2015 +0100 - - Default font scale to face upem - - Makes for a better default and avoids nasty inheritance issues. - See mailing list thread "Default hb_font_t scale". - - src/hb-font.cc | 2 ++ - test/api/test-font.c | 13 ++++++++----- - 2 files changed, 10 insertions(+), 5 deletions(-) - -commit 1866e17114b41d565eb066e7d9393c2ff3e0a12b -Author: Behdad Esfahbod -Date: Fri Oct 2 14:21:29 2015 +0100 - - Make hb_font_create_sub_font() NOT make parent immutable - - We don't rely on that. However, whenever hb_font_make_immutable() - is called, it makes its parenting chain immutable. - - src/hb-font.cc | 4 +++- - test/api/test-font.c | 21 +++++++++++++++------ - 2 files changed, 18 insertions(+), 7 deletions(-) - -commit 980e25cad2e58c31f5361862b9223d94ec47fc7a -Author: Behdad Esfahbod -Date: Fri Oct 2 08:21:12 2015 +0100 - - Fix hb-ot-shape-normalize with empty buffer - - Part of https://github.com/behdad/harfbuzz/issues/136 - - src/hb-ot-shape-normalize.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit a5efaac4ff61b587f228830b265b39fe8e5e4e47 -Author: Behdad Esfahbod -Date: Fri Oct 2 08:02:29 2015 +0100 - - Replace a couple of malloc()s with calloc() - - src/hb-face.cc | 2 +- - src/hb-shape-plan.cc | 2 +- - src/hb-shaper.cc | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit 26ba4d1e1fb8949632fe08e6a7600badfba4f142 -Author: Behdad Esfahbod -Date: Fri Oct 2 07:25:52 2015 +0100 - - Fix segfault with empty buffer in hb_shape_plan_execute() - - Move the empty-buffer check from hb_shape_full() to - hb_shape_plan_execute(). - - Reported by Simon Cozens. - - src/hb-shape-plan.cc | 9 +++++++-- - src/hb-shape.cc | 5 ----- - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit 432ffc47a46d41bea17d839d0d3980e654c6e638 -Author: Behdad Esfahbod -Date: Wed Sep 30 22:51:16 2015 +0100 - - 1.0.4 - - NEWS | 7 +++++++ - configure.ac | 2 +- - 2 files changed, 8 insertions(+), 1 deletion(-) - -commit b47159011ca518c3b94d782ed16a91ffe9dd2ab2 -Author: Behdad Esfahbod -Date: Tue Sep 29 14:57:02 2015 +0100 - - Define return_trace() - - Not functional change (expected!). - - src/hb-open-file-private.hh | 20 +-- - src/hb-open-type-private.hh | 62 +++---- - src/hb-ot-cmap-table.hh | 56 +++---- - src/hb-ot-glyf-table.hh | 4 +- - src/hb-ot-head-table.hh | 2 +- - src/hb-ot-hhea-table.hh | 2 +- - src/hb-ot-hmtx-table.hh | 2 +- - src/hb-ot-layout-common-private.hh | 108 ++++++------- - src/hb-ot-layout-gdef-table.hh | 44 ++--- - src/hb-ot-layout-gpos-table.hh | 252 +++++++++++++++-------------- - src/hb-ot-layout-gsub-table.hh | 304 - ++++++++++++++++++----------------- - src/hb-ot-layout-gsubgpos-private.hh | 205 +++++++++++------------ - src/hb-ot-layout-jstf-table.hh | 35 ++-- - src/hb-ot-maxp-table.hh | 5 +- - src/hb-ot-name-table.hh | 14 +- - src/hb-private.hh | 6 +- - 16 files changed, 575 insertions(+), 546 deletions(-) - -commit c917965b9e6fe2b21ed6c51559673288fa3af4b7 -Author: Behdad Esfahbod -Date: Tue Sep 29 14:45:35 2015 +0100 - - Add missing returns - - Fixes possible invalid read of two bytes. - - Reported by Behzad Najjarpour Jabbari, Secunia Research. - - src/hb-ot-layout-gpos-table.hh | 14 +++++++------- - src/hb-ot-layout-gsub-table.hh | 12 ++++++------ - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- - 3 files changed, 17 insertions(+), 17 deletions(-) - -commit f3159ba5141c2ab0e430e64742972df140f91c43 -Author: Behdad Esfahbod -Date: Tue Sep 29 14:34:56 2015 +0100 - - Micro-optimize hb_language_from_string() - - As measured / improved by Benson Limketkai. - - src/hb-common.cc | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit f2ad935e19338a29113492150f0c5a5fd5befd75 -Author: Sascha Brawer -Date: Sun Jun 28 03:29:47 2015 +0200 - - Handle language tags that indicate phonetic IPA transcription - - The BCP-47 registry defines a variant subtag "fonipa" that can be used - in combination with arbitrary other language tags. For example, - "rm-CH-fonipa-sursilv" indicates the Sursilvan dialect of Romansh - as used in Switzerland, transcribed used the International Phonetic - Alphabet. - - http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry - - src/hb-ot-tag.cc | 15 ++++++++++++++- - test/api/test-ot-tag.c | 7 +++++++ - 2 files changed, 21 insertions(+), 1 deletion(-) - -commit b8811429b6810c4f13be087b593a862c17d9d987 -Author: Behdad Esfahbod -Date: Thu Sep 3 15:53:22 2015 +0430 - - Fix Since tags - - Fixes https://github.com/behdad/harfbuzz/issues/103 - - src/hb-blob.cc | 24 +++++++++---------- - src/hb-buffer-serialize.cc | 10 ++++---- - src/hb-buffer.cc | 58 - +++++++++++++++++++++++----------------------- - src/hb-buffer.h | 9 +++++++ - src/hb-common.cc | 24 +++++++++---------- - src/hb-common.h | 3 +++ - src/hb-coretext.cc | 3 +++ - src/hb-font.h | 18 +++++++------- - src/hb-ft.cc | 6 ++--- - src/hb-graphite2.cc | 6 +++++ - src/hb-ot-layout.cc | 2 +- - src/hb-ot-tag.cc | 2 +- - src/hb-set.h | 3 +++ - src/hb-shape.cc | 2 +- - src/hb-unicode.cc | 18 +++++++------- - src/hb-unicode.h | 10 ++++---- - 16 files changed, 111 insertions(+), 87 deletions(-) - -commit 5d74ff02ab01df67808b416af8bb9cefb06f841e -Author: Behdad Esfahbod -Date: Thu Sep 3 14:55:59 2015 +0430 - - Fix Since: version tags on font and face APIs - - A while back we marked every API as version:1.0. We should fix - them all - to reflect real version they were introduced. This is a start. - - Patch from Nikolay Sivov. - - src/hb-face.cc | 22 ++++++++--------- - src/hb-font.cc | 76 - +++++++++++++++++++++++++++++----------------------------- - 2 files changed, 49 insertions(+), 49 deletions(-) - -commit 7f5405397406a24c5a001b5ef43dcf4d6926415e -Author: Behdad Esfahbod -Date: Tue Sep 1 17:03:50 2015 +0100 - - 1.0.3 - - NEWS | 11 +++++++++++ - configure.ac | 2 +- - 2 files changed, 12 insertions(+), 1 deletion(-) - -commit 5828c45d7a816ccd0a7f10a665ea3cf8cfd63b05 -Author: Behdad Esfahbod -Date: Tue Sep 1 16:26:35 2015 +0100 - - [indic] Add comments to merge_clusters calls - - src/hb-ot-shape-complex-indic.cc | 21 ++++++++++++++++----- - 1 file changed, 16 insertions(+), 5 deletions(-) - -commit bdc8215949a7add742cc800b4fdea6acaa37d152 -Author: Behdad Esfahbod -Date: Tue Sep 1 16:24:54 2015 +0100 - - [thai] Respect cluster-level > 0 - - src/hb-ot-shape-complex-thai.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5b31fe383ead726ec77062501ed3bb24c02842b3 -Author: Behdad Esfahbod -Date: Tue Sep 1 16:24:34 2015 +0100 - - [use] Merge /before/ reordering - - src/hb-ot-shape-complex-use.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0d438f89bd9422c66838c776eb4aa867de0a2ad8 -Author: Behdad Esfahbod -Date: Tue Sep 1 16:24:13 2015 +0100 - - [hangul] Merge /before/ reordering - - src/hb-ot-shape-complex-hangul.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f883de664fc4bfe01e30c89e07e31dc113f906d9 -Author: Behdad Esfahbod -Date: Tue Sep 1 16:23:40 2015 +0100 - - [OT] Merge /before/ reordering - - src/hb-ot-shape.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit c403d6320074455a5e8e48902c0ac4ee9685e33d -Author: Behdad Esfahbod -Date: Tue Sep 1 16:15:25 2015 +0100 - - [myanmar] Use buffer->sort() to sort cluster - - This can possibly produce more granular clusters. - - src/hb-ot-shape-complex-myanmar.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit e995d33c10a4bd9404699d01bddb2b69d811e9ed -Author: Behdad Esfahbod -Date: Tue Sep 1 16:13:32 2015 +0100 - - [OT] Merge clusters when reordering marks for normalization - - Fixes https://bugzilla.gnome.org/show_bug.cgi?id=541608 - and cluster test. - - src/hb-buffer-private.hh | 2 ++ - src/hb-buffer.cc | 21 +++++++++++++++++++++ - src/hb-ot-shape-normalize.cc | 2 +- - 3 files changed, 24 insertions(+), 1 deletion(-) - -commit b6d7d161a87b5dde710924e5c557d39c302f5630 -Author: Behdad Esfahbod -Date: Tue Sep 1 16:12:44 2015 +0100 - - [tests] Add Hebrew test for normalization under cluster-level=1 - - Currently fails. - https://bugzilla.gnome.org/show_bug.cgi?id=541608 - - .../sha1sum/43ef465752be9af900745f72fe29cb853a1401a5.ttf | Bin 0 -> - 4272 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/cluster.tests | 1 + - 3 files changed, 2 insertions(+) - -commit 93099748e39740a3f6f003c83d9dec1d21660ce8 -Author: Behdad Esfahbod -Date: Tue Sep 1 16:11:27 2015 +0100 - - Minor - - src/hb-private.hh | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit 85846b3de7491b6a07fed6a2c0c6c1b09943b249 -Author: Behdad Esfahbod -Date: Tue Sep 1 15:07:52 2015 +0100 - - Use insertion-sort instead of bubble-sort - - Needed for upcoming merge-clusters fix. - - src/hb-buffer.cc | 4 +-- - src/hb-ot-shape-complex-arabic-fallback.hh | 6 ++-- - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - src/hb-ot-shape-normalize.cc | 6 ++-- - src/hb-private.hh | 56 - +++++++++++++----------------- - 6 files changed, 34 insertions(+), 42 deletions(-) - -commit fad2674874591b4a1df822603144c8864f5364c1 -Author: Behdad Esfahbod -Date: Tue Sep 1 14:45:46 2015 +0100 - - Minor - - test/Makefile.am | 4 ++++ - test/api/Makefile.am | 4 ++++ - test/shaping/Makefile.am | 4 ++++ - 3 files changed, 12 insertions(+) - -commit 23e4fac6de913201f263a73e13d3c1fab31d1bdd -Author: Behdad Esfahbod -Date: Mon Aug 31 19:41:01 2015 +0100 - - Update git.mk from upstream - - git.mk | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -commit 5783e05f81bbf6debf2618c8994d6852630d9847 -Author: Behdad Esfahbod -Date: Mon Aug 31 19:18:10 2015 +0100 - - [docs] Move docs/reference/ contents into docs/ - - configure.ac | 3 +- - docs/Makefile.am | 117 - ++++++++++++++++++++++++++- - docs/{reference => }/harfbuzz-docs.xml | 0 - docs/{reference => }/harfbuzz-overrides.txt | 0 - docs/{reference => }/harfbuzz-sections.txt | 0 - docs/reference/Makefile.am | 118 - ---------------------------- - docs/{reference => }/usermanual-ch01.xml | 0 - docs/{reference => }/usermanual-ch02.xml | 0 - docs/{reference => }/usermanual-ch03.xml | 0 - docs/{reference => }/usermanual-ch04.xml | 0 - docs/{reference => }/usermanual-ch05.xml | 0 - docs/{reference => }/usermanual-ch06.xml | 0 - docs/{reference => }/version.xml.in | 0 - 13 files changed, 117 insertions(+), 121 deletions(-) - -commit cd5e3a13a6e0b6606d3a421f8cd44cdfb8314907 -Author: Behdad Esfahbod -Date: Mon Aug 31 19:16:41 2015 +0100 - - [docs] Fix out-of-tree build - - docs/reference/Makefile.am | 9 ++++++++- - docs/reference/harfbuzz-docs.xml | 12 ++++++------ - docs/{ => reference}/usermanual-ch01.xml | 0 - docs/{ => reference}/usermanual-ch02.xml | 0 - docs/{ => reference}/usermanual-ch03.xml | 0 - docs/{ => reference}/usermanual-ch04.xml | 0 - docs/{ => reference}/usermanual-ch05.xml | 0 - docs/{ => reference}/usermanual-ch06.xml | 0 - 8 files changed, 14 insertions(+), 7 deletions(-) - -commit 3899795fa3c3e058e3885ec7a6638f0597a752cc -Merge: d2059652 01e16e88 -Author: Behdad Esfahbod -Date: Mon Aug 31 10:46:01 2015 +0100 - - Merge pull request #131 from simoncozens/docs - - Use gtk-doc to build user's manual as well as reference - -commit 01e16e88f50b65b82dcb84773f532f18a351319f -Author: Simon Cozens -Date: Mon Aug 31 10:40:17 2015 +0100 - - Combine user / reference information into gtk-doc generated manual. - - docs/reference/harfbuzz-docs.xml | 91 - +++++++++++++++++++++++----------------- - 1 file changed, 52 insertions(+), 39 deletions(-) - -commit 11a07c4729174e1d4af028103ecb0a351e4c2707 -Author: Simon Cozens -Date: Mon Aug 31 10:39:10 2015 +0100 - - Correct tag hierarchy, to allow for table-of-contents entries. - - docs/usermanual-ch01.xml | 12 ++++++------ - docs/usermanual-ch02.xml | 8 ++++---- - docs/usermanual-ch03.xml | 24 ++++++++++++------------ - docs/usermanual-ch04.xml | 16 ++++++++-------- - docs/usermanual-ch05.xml | 12 ++++++------ - 5 files changed, 36 insertions(+), 36 deletions(-) - -commit 387d6af428ddd5d4f211fe5748412011013a3826 -Author: Simon Cozens -Date: Mon Aug 31 10:31:09 2015 +0100 - - Missing tag (oops). - - docs/usermanual-ch02.xml | 1 + - 1 file changed, 1 insertion(+) - -commit d205965286798af4b7ad07e1eafa58288bee4bdb -Author: Behdad Esfahbod -Date: Mon Aug 31 10:12:05 2015 +0100 - - [docs] Fix typo - - docs/usermanual-ch03.xml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c424b41705b50055c7f92b268cf78a2680af73af -Merge: 31594b98 5470e744 -Author: Behdad Esfahbod -Date: Mon Aug 31 09:53:16 2015 +0100 - - Merge pull request #129 from simoncozens/docs - - First two chapters. More to follow. - -commit 31594b98af0c9181982c77d8d3803753007f8fd4 -Author: Behdad Esfahbod -Date: Sun Aug 30 17:33:04 2015 +0100 - - [test] Fix test-object - - See previous commit. - - test/api/test-object.c | 4 ---- - 1 file changed, 4 deletions(-) - -commit 326b5ebf5748f547e4eb7388d66b79fe23130e2a -Author: Behdad Esfahbod -Date: Sun Aug 30 17:29:21 2015 +0100 - - Poison freed objects such that double-free is detected - - Previously we were setting refcount of freed objects to the inert - value, which - was harmful because it caused further destroy()s of the freed object - to NOT - call free() and hence hide the bug. Indeed, after eb0bf3ae6688b7 - test-object - was double-free'ing objects and this was never caught on Linux. - It only was - caught as crashing on Mac. - - Now we poison refcount upon freeing and check that it's valid - whenever reading - it. Makes test-object fail now. - - src/hb-object-private.hh | 21 ++++++++++++++++----- - 1 file changed, 16 insertions(+), 5 deletions(-) - -commit 5470e744dd264c2dc33437a68d20bcf7c5ffb905 -Author: Simon Cozens -Date: Sat Aug 29 08:21:18 2015 +0100 - - Current state and skeleton outline - - docs/usermanual-ch03.xml | 77 - ++++++++++++++++++++++++++++++++++++++++++++++++ - docs/usermanual-ch04.xml | 18 +++++++++++ - docs/usermanual-ch05.xml | 13 ++++++++ - docs/usermanual-ch06.xml | 8 +++++ - 4 files changed, 116 insertions(+) - -commit 6578575cc8aeb05341f2053039acfcd735707674 -Author: Behdad Esfahbod -Date: Tue Aug 25 20:24:59 2015 +0100 - - [GPOS] Fix cursive connection with mix of RTL and non-RTL lookups - - See thread "Issue with cursive attachment" started by Khaled. - Turned out fixing this wasn't as bad as I had assumed. I like the - new code better; we now have a theoretical model of cursive - connections that is easier to reason about. - - src/hb-ot-layout-gpos-table.hh | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -commit 7368da67244ea53195cd9b95a5c57485df695732 -Author: Behdad Esfahbod -Date: Tue Aug 25 20:28:39 2015 +0100 - - [test] Add test for cursive-positioning with mixed directions - - Fails now. Fix coming. See thread "Issue with cursive attachment" - started by Khaled. Test fonts were made by modifying test font - from Khaled to add more anchors. - - test/shaping/Makefile.am | 1 + - .../sha1sum/298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf | Bin 0 -> - 2520 bytes - test/shaping/fonts/sha1sum/MANIFEST | 2 ++ - .../sha1sum/c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf | Bin 0 -> - 2512 bytes - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/cursive-positioning.tests | 2 ++ - 6 files changed, 6 insertions(+) - -commit f0807654da160bd7ceb9aff5b8338ec0b643171c -Author: Simon Cozens -Date: Tue Aug 25 19:57:15 2015 +0100 - - First two chapters. More to follow. - - docs/usermanual-ch01.xml | 115 ++++++++++++++++++++++++++++++ - docs/usermanual-ch02.xml | 182 - +++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 297 insertions(+) - -commit 58f2a73fb95af42e264a91cdef7bb5a89e965601 -Author: Behdad Esfahbod -Date: Tue Aug 25 18:55:34 2015 +0100 - - [GPOS] Rewrite cursive attachment slightly differently - - In anticipation for upcoming fix for bug reported by - Khaled in thread "Issue with cursive attachment". - - src/hb-ot-layout-gpos-table.hh | 36 ++++++++++++++++++++++++------------ - 1 file changed, 24 insertions(+), 12 deletions(-) - -commit fdd1770e006ca2d2973c049177ceda87a575e07f -Author: Behdad Esfahbod -Date: Mon Aug 24 13:49:55 2015 +0100 - - Add API/cmdline to show glyph extents when serializing buffer - - New API: HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS - - hb-shape now accepts --show-extents. - - Patch from Simon Cozens. - - src/hb-buffer-serialize.cc | 17 +++++++++++++++++ - src/hb-buffer.h | 3 ++- - util/hb-shape.cc | 2 ++ - util/options.cc | 1 + - util/options.hh | 2 ++ - 5 files changed, 24 insertions(+), 1 deletion(-) - -commit 2cee5b68a07b99214ef9428fe5d03e7b378a558f -Author: Behdad Esfahbod -Date: Mon Aug 24 13:45:12 2015 +0100 - - [ot-font] Fix short-offset calculation - - src/hb-ot-font.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b50fcfa82994f93568a54dd1eb7fd327f6db5586 -Author: Behdad Esfahbod -Date: Sun Aug 23 14:42:20 2015 +0100 - - [ot-font] Implement glyph_extents() for TrueType fonts - - This brings ot-fonts into almost-complete shape and mostly in par with - ft font. - - src/Makefile.am | 1 + - src/hb-font.h | 9 +++-- - src/hb-ot-font.cc | 90 +++++++++++++++++++++++++++++++++++++++-- - src/hb-ot-glyf-table.hh | 104 - ++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-head-table.hh | 3 +- - 5 files changed, 198 insertions(+), 9 deletions(-) - -commit 0299b45000b5047c0b9bf0fe51f3b8b68a7982f8 -Author: Behdad Esfahbod -Date: Fri Aug 21 12:44:36 2015 +0100 - - Make BYTE a real type - - src/hb-open-type-private.hh | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -commit ed6962c795ae7c54aaee9ed5667fa65ccf7412bf -Author: Behdad Esfahbod -Date: Thu Aug 20 15:39:53 2015 +0100 - - [coretext] Use i32 instead of u32 as well - - Shouldn't cause *any* functional changes, but is more correct. - - src/hb-coretext.cc | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit 163c435f1807c138da9f74f09d29d913eb9e29e9 -Author: Behdad Esfahbod -Date: Thu Aug 20 15:39:06 2015 +0100 - - [uniscribe] Fix negative offsets - - Ouch! - - src/hb-uniscribe.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 789b89ef7130ffe5f22c571fc3cb4e6d35456654 -Author: Behdad Esfahbod -Date: Wed Aug 19 13:39:57 2015 +0100 - - 1.0.2 - - NEWS | 13 +++++++++++++ - configure.ac | 2 +- - 2 files changed, 14 insertions(+), 1 deletion(-) - -commit 958c268fa3a520666436e77a2111a3b564a36d96 -Author: Behdad Esfahbod -Date: Wed Aug 19 13:22:12 2015 +0100 - - [coretext] Add TODO item - - src/hb-coretext.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 7c5bee09d9c7c25672c7c77572ebae0b731892d0 -Author: Behdad Esfahbod -Date: Wed Aug 19 13:20:31 2015 +0100 - - [uniscribe] Fix font scale handling - - By default shape at upem (or ppem), and scale results. - Similar to work done in CoreText backend, but using upem as default. - - src/hb-uniscribe.cc | 25 +++++++++++++++++++------ - 1 file changed, 19 insertions(+), 6 deletions(-) - -commit 902e74a098dad8c3b487856284f9fdf99b04f9f1 -Author: Behdad Esfahbod -Date: Tue Aug 18 18:55:03 2015 +0100 - - Commented-out code to print buffer before each lookup - - To be turned into a useful HB_DEBUG_SHAPE infrastructure... - - src/hb-ot-layout.cc | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 75504a50488a6aac0b9789f728fb5b87e641d4c3 -Author: Behdad Esfahbod -Date: Tue Aug 18 18:47:02 2015 +0100 - - Allow serializing buffer with output-buffer being used - - Ie, don't call get_positions() if positions are not - requested for serialization. - - src/hb-buffer-serialize.cc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit e47b772a56af44a9a4f9ec907ee2091b725b94c1 -Author: Behdad Esfahbod -Date: Tue Aug 18 18:42:47 2015 +0100 - - [ot] Change buffer content type right after we map to glyphs - - Needed for upcoming debug output changes. - - src/hb-ot-shape.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit d104415e4c1e0f9140f794cd8d09c6460c63e966 -Author: Behdad Esfahbod -Date: Tue Aug 18 17:33:34 2015 +0100 - - [Android.mk] Update for SEA removal and USE addition - - Android.mk | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit ddd6bf12f1cabaa298feed820313483b9893528c -Author: Behdad Esfahbod -Date: Tue Aug 18 15:55:09 2015 +0100 - - Don't declare dependency on freetype in harfbuzz.pc - - See comments. - - src/Makefile.am | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit 2c8b3b2e5312c9858584f568b1528c57e5bb8a10 -Author: Behdad Esfahbod -Date: Tue Aug 18 14:36:43 2015 +0100 - - [debug] Print lookup index in debug-apply output - - src/hb-ot-layout-gpos-table.hh | 5 ++++- - src/hb-ot-layout-gsub-table.hh | 5 ++++- - src/hb-ot-layout-gsubgpos-private.hh | 7 +++++-- - src/hb-ot-layout.cc | 3 ++- - 4 files changed, 15 insertions(+), 5 deletions(-) - -commit 50ad7788eeb7160caef4ec78e65c7c630e601b06 -Author: Behdad Esfahbod -Date: Tue Aug 18 10:22:16 2015 +0100 - - [coretext] Remove assert that kicks in on Mac OS 10.6 - - http://crbug.com/419769 - - src/hb-coretext.cc | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -commit 2b646fa07f5f9d4d10d563a91d22a2750b5fc771 -Author: Behdad Esfahbod -Date: Mon Aug 17 16:03:28 2015 +0200 - - Remove unused function - - src/hb-ot-shape-complex-use.cc | 8 -------- - 1 file changed, 8 deletions(-) - -commit 23237b0279a04407addf33f599c45faa60f002ca -Author: ThePhD -Date: Fri Aug 14 01:19:08 2015 -0400 - - Last apparent boolean fix! - - src/hb-ot-shape-complex-use.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5c99cf93d6242803bddcac2ca8300fdec7e0f8a7 -Merge: 8ad89f05 539a610e -Author: ThePhD -Date: Fri Aug 14 01:02:00 2015 -0400 - - Merge branch 'master' into vc++-fixes - -commit 539a610e2e72375e598ab29fd390ed9ec93816d5 -Author: Behdad Esfahbod -Date: Tue Aug 11 12:58:49 2015 +0200 - - Add Libs.private and Requires.private to harfbuzz.pc - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=64501 - - configure.ac | 12 +++++++++--- - src/Makefile.am | 15 ++++++++++++--- - src/harfbuzz.pc.in | 2 ++ - 3 files changed, 23 insertions(+), 6 deletions(-) - -commit c7dfe316f8c0fc04b7976fca5e58eb46d91b4821 -Author: jfkthame -Date: Fri Aug 7 17:55:03 2015 +0100 - - Don't rely on .cluster in _hb_ot_shape_normalize() - - Fixes https://github.com/behdad/harfbuzz/pull/124 - - src/hb-ot-shape-normalize.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9099e48e29fe5cfdf8566c8f1ba6ddc8c0799e7e -Author: jfkthame -Date: Fri Aug 7 17:51:28 2015 +0100 - - Don't rely on .cluster field in fallback_position - - Fixes tests/cluster. - - Fixes https://github.com/behdad/harfbuzz/pull/123 - - src/hb-ot-shape-fallback.cc | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit f3792342f670978cdc3f8512fb5e80314ca0678d -Author: Behdad Esfahbod -Date: Sat Aug 8 18:02:18 2015 +0200 - - [tests] Add test for fallback positioning with cluster_level > 0 - - For https://github.com/behdad/harfbuzz/pull/123 - Currently fails. Fix coming. - - test/shaping/Makefile.am | 1 + - .../sha1sum/6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttf | Bin 0 -> - 824 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/cluster.tests | 1 + - 5 files changed, 4 insertions(+) - -commit bd22a5cfae24b3b9253bccaeb139e698e74cd0c3 -Author: Behdad Esfahbod -Date: Fri Aug 7 11:13:27 2015 +0200 - - Bug 91559 - HarfBuzz 1.0.1: Inconsistent DLL files - specified/created... - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=91559 - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 02d6439f420d959183dd446abd0b0118ee1ee061 -Merge: 9002c27b 160f6355 -Author: Behdad Esfahbod -Date: Mon Aug 3 22:47:18 2015 +0300 - - Merge pull request #122 from RomainNaour/static-fix - - fix static linking with icu-uc - -commit 160f635523d596f61e292776f638d4eb09673463 -Author: Romain Naour -Date: Wed Jul 22 23:26:23 2015 +0200 - - fix static linking with icu-uc - - When linking test-unicode statically it needs $(ICU_LIBS) - which contains all required flags. - Especially -lstdc++. - - Fixes: - http://autobuild.buildroot.net/results/210/2107f9dfb39eeb6559fb4271c7af8b39aef521ca/ - - Signed-off-by: Romain Naour - - test/api/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9002c27b2f54bb5135db92045c0d770b47317577 -Author: Behdad Esfahbod -Date: Mon Jul 27 12:17:54 2015 +0200 - - 1.0.1 - - NEWS | 9 ++++++++- - configure.ac | 2 +- - 2 files changed, 9 insertions(+), 2 deletions(-) - -commit f1c20e1ba5bf218df7dc3e198bdcf1f449fc9387 -Author: Behdad Esfahbod -Date: Mon Jul 27 12:16:02 2015 +0200 - - [USE] Fix out-of-bounds static array access - - src/hb-ot-shape-complex-use.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 260442346a5756c3538ee8fcbf157d1cddcf6f36 -Author: Behdad Esfahbod -Date: Sun Jul 26 23:39:10 2015 +0200 - - 1.0.0 - - NEWS | 10 ++++++++++ - configure.ac | 4 ++-- - src/Makefile.am | 2 +- - 3 files changed, 13 insertions(+), 3 deletions(-) - -commit df6cb84449a473d540821e41fb5007b59644780f -Merge: 2ed6be66 786ba458 -Author: Behdad Esfahbod -Date: Sun Jul 26 19:40:55 2015 +0200 - - Merge branch 'use' - -commit 2ed6be66703e6cc67f3a3746e197001dad3d9b74 -Author: Behdad Esfahbod -Date: Sun Jul 26 19:29:53 2015 +0200 - - 0.9.42 - - NEWS | 12 ++++++++++++ - configure.ac | 2 +- - 2 files changed, 13 insertions(+), 1 deletion(-) - -commit 23e56e088a721863cfdef4f027fb66eecbd77457 -Author: Behdad Esfahbod -Date: Sat Jul 25 17:36:46 2015 +0200 - - Fix broken sentence - - src/hb-set-private.hh | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit 91a2e5d2878a8c0b4d4500e3d52d4fbaaf1ac0d7 -Author: Grigori Goronzy -Date: Wed Jul 8 23:28:11 2015 +0200 - - Update UCDN to upstream commit 8af93f30 - - This adds support for Unicode 8.0 and fixes a bug with wrong - properties - for ranges of codepoints. - - src/hb-ucdn.cc | 6 + - src/hb-ucdn/ucdn.h | 6 + - src/hb-ucdn/unicodedata_db.h | 2167 - +++++++++++++++++++++--------------------- - 3 files changed, 1118 insertions(+), 1061 deletions(-) - -commit 786ba45847127b9cd4d9c0c01ae0e6c61f3a8e06 -Author: Behdad Esfahbod -Date: Thu Jul 23 13:04:34 2015 +0100 - - [test] Encode Kharoshti text - - Ouch! - - .../in-tree/shaper-use/script-kharoshti/misc.txt | 72 - +++++++++++----------- - 1 file changed, 36 insertions(+), 36 deletions(-) - -commit b4231255032e243153a6f32cf8c93c158cb0bf6a -Author: Behdad Esfahbod -Date: Thu Jul 23 13:01:55 2015 +0100 - - [test] Add Batak and Buginese test texts - - test/shaping/texts/in-tree/shaper-use/MANIFEST | 2 + - .../texts/in-tree/shaper-use/script-batak/MANIFEST | 1 + - .../texts/in-tree/shaper-use/script-batak/misc.txt | 9 +++ - .../in-tree/shaper-use/script-buginese/MANIFEST | 1 + - .../in-tree/shaper-use/script-buginese/misc.txt | 70 - ++++++++++++++++++++++ - 5 files changed, 83 insertions(+) - -commit b8c159ffccad090974a2b97be0a0140fa09af132 -Author: Behdad Esfahbod -Date: Thu Jul 23 12:59:17 2015 +0100 - - [test] Remove shaper-sea texts under shaper-use - - test/shaping/texts/in-tree/MANIFEST | - 1 - - test/shaping/texts/in-tree/shaper-sea/MANIFEST | - 2 -- - test/shaping/texts/in-tree/shaper-sea/script-cham/MANIFEST | - 1 - - test/shaping/texts/in-tree/shaper-sea/script-tai-tham/MANIFEST | - 1 - - test/shaping/texts/in-tree/shaper-use/MANIFEST | - 2 ++ - .../{shaper-sea/script-cham/misc => shaper-use/script-cham}/MANIFEST - | 0 - .../{shaper-sea/script-cham/misc => shaper-use/script-cham}/misc.txt - | 0 - .../script-tai-tham/misc => shaper-use/script-tai-tham}/MANIFEST - | 0 - .../script-tai-tham/misc => shaper-use/script-tai-tham}/misc.txt - | 0 - .../script-tai-tham/misc => shaper-use/script-tai-tham}/torture.txt - | 0 - 10 files changed, 2 insertions(+), 5 deletions(-) - -commit 67ba7320cc5545baeacfcff64cea338223b9bd6d -Author: Behdad Esfahbod -Date: Thu Jul 23 12:58:21 2015 +0100 - - [test] Remove New Tai Lue texts - - New Tai Lue changed encoding to visual, boring, model. - - test/shaping/texts/in-tree/shaper-sea/MANIFEST | - 1 - - test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/MANIFEST | - 1 - - test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/MANIFEST | - 1 - - test/shaping/texts/in-tree/shaper-sea/script-new-tai-lue/misc/misc.txt | - 1 - - 4 files changed, 4 deletions(-) - -commit c81d957a264539dfe3252f9a94ee066c4a44edf4 -Author: Behdad Esfahbod -Date: Thu Jul 23 12:50:48 2015 +0100 - - [test] Add tests for improved 'vert' feature - - test/shaping/Makefile.am | 1 + - .../sha1sum/191826b9643e3f124d865d617ae609db6a2ce203.ttf | Bin 0 -> - 2140 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/vertical.tests | 1 + - 5 files changed, 4 insertions(+) - -commit 8a6a16dbcb1808c7ed50f9ba320384565bbf405a -Author: Behdad Esfahbod -Date: Thu Jul 23 12:49:09 2015 +0100 - - [test] Add recently added test - - Ouch. - - test/shaping/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 895fb31c7f0201f13df5a6866b367476bc4aab2e -Author: Behdad Esfahbod -Date: Thu Jul 23 12:14:03 2015 +0100 - - [test] Support additional options to hb-shape in micro-test suite - - test/shaping/record-test.sh | 47 - ++++++++++++++++++---- - test/shaping/run-tests.sh | 9 ++++- - test/shaping/tests/arabic-fallback-shaping.tests | 2 +- - test/shaping/tests/arabic-feature-order.tests | 6 +-- - test/shaping/tests/context-matching.tests | 6 +-- - test/shaping/tests/default-ignorables.tests | 2 +- - test/shaping/tests/hangul-jamo.tests | 4 +- - test/shaping/tests/indic-joiner-candrabindu.tests | 4 +- - test/shaping/tests/indic-old-spec.tests | 4 +- - test/shaping/tests/indic-pref-blocking.tests | 4 +- - .../tests/mongolian-variation-selector.tests | 6 +-- - test/shaping/tests/zero-width-marks.tests | 4 +- - 12 files changed, 67 insertions(+), 31 deletions(-) - -commit 0f98fe88f42471eb8fb28d08d45eca9cd8303f7a -Author: Behdad Esfahbod -Date: Thu Jul 23 11:52:11 2015 +0100 - - [ot] Search globally for 'vert' feature if not found in specified - script/lang - - Fixes https://github.com/behdad/harfbuzz/issues/63 - - src/hb-ot-layout-private.hh | 9 +++++++++ - src/hb-ot-layout.cc | 22 ++++++++++++++++++++++ - src/hb-ot-map-private.hh | 7 ++++--- - src/hb-ot-map.cc | 10 ++++++++++ - src/hb-ot-shape.cc | 6 +++++- - 5 files changed, 50 insertions(+), 4 deletions(-) - -commit f327aacfa107bbef0c823ef9c3b7dfc91316040c -Author: Behdad Esfahbod -Date: Thu Jul 23 11:32:59 2015 +0100 - - [ot] Minor - - src/hb-ot-shape.cc | 11 +++-------- - 1 file changed, 3 insertions(+), 8 deletions(-) - -commit d78463c8016ff1852233479a1ebde30c3bb6de6e -Author: Behdad Esfahbod -Date: Thu Jul 23 10:11:35 2015 +0100 - - Minor debug output fix - - src/hb-ot-layout.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d99f50bde0e8be0866385ca6886938d2023dbd4f -Author: Behdad Esfahbod -Date: Thu Jul 23 10:08:48 2015 +0100 - - Add missing TRACE_RETURN - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2dc8e3f470d7c0b579f867605b8bf40688bc5722 -Author: Behdad Esfahbod -Date: Thu Jul 23 10:07:21 2015 +0100 - - [ot] Add missing return! - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 582069172c39326c7f94373793c656439a4c2b59 -Author: Behdad Esfahbod -Date: Wed Jul 22 18:44:59 2015 +0100 - - Add test case for deleting default ignorables with positioning - - .../sha1sum/051d92f8bc6ff724511b296c27623f824de256e9.ttf | Bin 0 -> - 2028 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/default-ignorables.tests | 1 + - 4 files changed, 3 insertions(+) - -commit 8cfbc304ee563ec96e402beed34b10b6c0950a6a -Author: Behdad Esfahbod -Date: Wed Jul 22 18:41:10 2015 +0100 - - Fix hide-default-ignorables after - f0010dfd01ef4a927b0bdc175dd4e343a8637174 - - We can't delete things before hb_ot_layout_position_finish(). So, - just zero the advance before it, and remove later. - - src/hb-ot-shape.cc | 25 +++++++++++++++++++------ - 1 file changed, 19 insertions(+), 6 deletions(-) - -commit 2dbd3d29d6548bd96fd976606ed689fac8ad8817 -Author: Behdad Esfahbod -Date: Wed Jul 22 18:28:39 2015 +0100 - - Fix hide-ignorables if font doesn't have space glyph - - Was broken by 82b521aeb7cc73879b44ca4278d6fa8b4347527f, as we have - positioning data by then and can't use the output buffer. Ouch! - - src/hb-buffer-private.hh | 18 ------------------ - src/hb-ot-shape.cc | 44 - +++++++++++++++++++++++++++++++++++--------- - 2 files changed, 35 insertions(+), 27 deletions(-) - -commit 4ba796b26ee62de0d2830a550f3aa3b4aecf6f59 -Author: Behdad Esfahbod -Date: Wed Jul 22 17:41:31 2015 +0100 - - Refactor _hb_glyph_info_is_default_ignorable() - - src/hb-ot-layout-gsubgpos-private.hh | 3 +-- - src/hb-ot-layout-private.hh | 4 +++- - src/hb-ot-shape.cc | 9 +++------ - 3 files changed, 7 insertions(+), 9 deletions(-) - -commit f0010dfd01ef4a927b0bdc175dd4e343a8637174 -Author: Behdad Esfahbod -Date: Wed Jul 22 17:36:23 2015 +0100 - - [ot] Hide default-ignorables before finishing off positioning - - For example, fixes the following sequence with Arial XP: - 628 25cc 651 25cc 64e 3a 20 628 651 34f 64e - 628 25cc 64e 25cc 651 3a 20 628 64e 34f 651 - - Discovered as part of: - https://bugs.freedesktop.org/show_bug.cgi?id=85873 - - src/hb-ot-shape.cc | 125 - +++++++++++++++++++++++++++-------------------------- - 1 file changed, 63 insertions(+), 62 deletions(-) - -commit 376d587f36b4ff10342ee6ca3bacd73532ea44c8 -Author: Behdad Esfahbod -Date: Wed Jul 22 16:51:12 2015 +0100 - - Implement more granular cluster-merging - - TODO: Documentation. - - Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=71445 - - NEWS | 8 +++++++ - src/hb-buffer-private.hh | 1 + - src/hb-buffer.cc | 46 - ++++++++++++++++++++++++++++++++++----- - src/hb-buffer.h | 12 ++++++++++ - src/hb-ot-shape-complex-hangul.cc | 13 +++++------ - src/hb-ot-shape.cc | 7 ++++++ - util/options.cc | 1 + - util/options.hh | 3 +++ - 8 files changed, 77 insertions(+), 14 deletions(-) - -commit a60e2cfa395718cde48eb81f43adc27b4a92e117 -Author: Behdad Esfahbod -Date: Wed Jul 22 15:49:08 2015 +0100 - - [ot] Don't rely on cluster numbers for ensure_native_direction() - - src/hb-ot-shape.cc | 19 ++++++++++++++++++- - 1 file changed, 18 insertions(+), 1 deletion(-) - -commit 701112dad9f6e690b253f1e64f4e7e549f5ae65f -Author: Behdad Esfahbod -Date: Wed Jul 22 15:42:20 2015 +0100 - - [ot] Simplify form_clusters() - - src/hb-buffer-private.hh | 9 ++++++++- - src/hb-buffer.cc | 7 ++----- - src/hb-ot-shape.cc | 11 +++++++++-- - 3 files changed, 19 insertions(+), 8 deletions(-) - -commit 7b8b63adc5e0389fc4cf2720ef7e5804ab6c29cc -Author: Behdad Esfahbod -Date: Wed Jul 22 15:24:26 2015 +0100 - - [ot] Don't mirror character if font doesn't support mirrored - character! - - src/hb-ot-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 97d7c3a100e2673279f066540229d229aaf0df78 -Author: Behdad Esfahbod -Date: Wed Jul 22 14:28:25 2015 +0100 - - [graphite2] Fix bunch of stuff - - Based on patch from Martin Hosken, with review from Jonathan and I. - - src/hb-graphite2.cc | 82 - +++++++++++++++++++++++++++++++++++------------------ - 1 file changed, 54 insertions(+), 28 deletions(-) - -commit ea7f8414e34d4b5efc7b98974637c08f75440f0e -Author: Behdad Esfahbod -Date: Wed Jul 22 13:53:45 2015 +0100 - - [graphite2] Enlarge buffer for output glyphs! - - src/hb-graphite2.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 9cd59db1af47ff511edf251949d58b82673cf704 -Author: Behdad Esfahbod -Date: Wed Jul 22 13:27:06 2015 +0100 - - [USE] Implement topographical features for non-Arabic-joining scripts - - This works per-syllable as per the spec, but we think it should be per - spacing/base/??? glyph instead. - - src/hb-ot-shape-complex-use.cc | 87 - ++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 80 insertions(+), 7 deletions(-) - -commit ecb0b24ef3f8177e7c789f45a2e858bd67e31be3 -Author: Behdad Esfahbod -Date: Wed Jul 22 12:02:09 2015 +0100 - - Use foreach_cluster in Indic shaper - - src/hb-ot-shape-complex-indic.cc | 90 - +++++++++------------------------------- - 1 file changed, 19 insertions(+), 71 deletions(-) - -commit 56f71ff98890fc4fd13e8d9743dc34c4b9407309 -Author: Behdad Esfahbod -Date: Wed Jul 22 11:58:11 2015 +0100 - - Use foreach_syllable in Myanmar shaper - - src/hb-ot-shape-complex-myanmar.cc | 62 - ++++++++------------------------------ - 1 file changed, 12 insertions(+), 50 deletions(-) - -commit ac596511a8c9eeaeb455ca16b5b9c5f1b9923b3a -Author: Behdad Esfahbod -Date: Wed Jul 22 11:54:02 2015 +0100 - - Add foreach_syllable - - Use it in USE. - - src/hb-ot-layout-private.hh | 24 ++++++++ - src/hb-ot-shape-complex-use.cc | 129 - +++++++++++++---------------------------- - 2 files changed, 64 insertions(+), 89 deletions(-) - -commit 8ba9e689680f7685c04cfe7c6019222bdf0c52b0 -Author: Behdad Esfahbod -Date: Wed Jul 22 11:16:01 2015 +0100 - - [USE] Do Arabic-like shaping - - src/hb-ot-shape-complex-use.cc | 77 - ++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 75 insertions(+), 2 deletions(-) - -commit 9daf2dfb6bd5683fd951bdf166c8b87938257e52 -Author: Behdad Esfahbod -Date: Wed Jul 22 10:32:30 2015 +0100 - - Add hb-ot-shape-complex-arabic-private.hh - - src/Makefile.am | 1 + - src/hb-ot-shape-complex-arabic-private.hh | 50 - +++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-arabic.cc | 37 +++++++++++++---------- - 3 files changed, 73 insertions(+), 15 deletions(-) - -commit a51a661fe1dcfdd3a274a6be6ad741c68d430c8c -Author: Behdad Esfahbod -Date: Tue Jul 21 18:24:21 2015 +0100 - - [USE] Only reorder the first component of a split left mark - - src/hb-ot-shape-complex-use.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit a08a278b15c7e57a1d0a783f2bc877471b9d8229 -Author: Behdad Esfahbod -Date: Tue Jul 21 18:09:40 2015 +0100 - - [USE] Don't compose split matras - - Same logic as in Indic shaper. - - src/hb-ot-shape-complex-use.cc | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -commit 21cb08a417f1203523191192d6a342e8cd0ea14c -Author: Behdad Esfahbod -Date: Tue Jul 21 17:47:06 2015 +0100 - - Remove unused SEA shaper - - src/Makefile.am | 4 - - src/hb-ot-shape-complex-sea-machine.rl | 102 --------- - src/hb-ot-shape-complex-sea.cc | 380 - --------------------------------- - 3 files changed, 486 deletions(-) - -commit db1e9cdd41ff7c97c29b4d9b64b2351ed0ef0403 -Author: Behdad Esfahbod -Date: Tue Jul 21 17:46:06 2015 +0100 - - Retire SEA shaper in favor of USE - - src/hb-ot-shape-complex-private.hh | 25 +++---------------------- - 1 file changed, 3 insertions(+), 22 deletions(-) - -commit 87dde9c64753dea4017f11a7734e7528b8eecac0 -Author: Behdad Esfahbod -Date: Tue Jul 21 17:31:43 2015 +0100 - - [USE] Only use USE shaper if script system is not DFLT - - Same logic as Indic and SEA. - - src/hb-ot-shape-complex-private.hh | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -commit 29832d797ff2f3a96721dd44f2f03a83fb2e8dda -Author: Behdad Esfahbod -Date: Tue Jul 21 17:24:18 2015 +0100 - - Route misc untested scripts through USE shaper instead of Indic - - These were never tested with Indic shaper, and indeed wouldn't - work there - because they didn't have their viramas and other config defined. - They are - all also supported by MS through USE, so route them there. - - src/hb-ot-shape-complex-private.hh | 91 - +++++--------------------------------- - 1 file changed, 11 insertions(+), 80 deletions(-) - -commit 40c4a991c7ea18017273ff8993eecc3953869e69 -Author: Behdad Esfahbod -Date: Tue Jul 21 17:14:54 2015 +0100 - - [USE] Implement dotted-circle - - This makes USE feature-complete as far as the Indic-like features - are concerned. - - src/hb-ot-shape-complex-use-machine.rl | 10 ++++++++++ - src/hb-ot-shape-complex-use.cc | 18 +++++++++++++++--- - 2 files changed, 25 insertions(+), 3 deletions(-) - -commit 7ce03ebe7c525919ce22d9094480847ff1b3c2b2 -Author: Behdad Esfahbod -Date: Tue Jul 21 16:55:26 2015 +0100 - - [USE] Move pref - - src/hb-ot-shape-complex-use-machine.rl | 9 +++++---- - src/hb-ot-shape-complex-use-private.hh | 9 +++++---- - src/hb-ot-shape-complex-use.cc | 24 ++++++++++++++++++++++-- - 3 files changed, 32 insertions(+), 10 deletions(-) - -commit 2d4b62ead931b13f95f5dc0e5b740d997a8d1a8e -Author: Behdad Esfahbod -Date: Tue Jul 21 16:46:37 2015 +0100 - - [USE] Fix-up variation selectors and word joiner in table - - src/gen-use-table.py | 7 ++++++- - src/hb-ot-shape-complex-use-table.cc | 34 - +++++++++++++++++++++++----------- - 2 files changed, 29 insertions(+), 12 deletions(-) - -commit ad7178227f16abc17456f122deac1508031cbbc3 -Author: Behdad Esfahbod -Date: Tue Jul 21 16:43:27 2015 +0100 - - [USE] Use a couple warnings - - src/gen-use-table.py | 20 ++++----- - src/hb-ot-shape-complex-use-table.cc | 82 - ++++++++++++++++++------------------ - 2 files changed, 51 insertions(+), 51 deletions(-) - -commit a85c4da9b1750c2f994f9f85226a3e755fafe50b -Author: Behdad Esfahbod -Date: Tue Jul 21 16:07:10 2015 +0100 - - [USE] Move rphf - - src/hb-ot-shape-complex-use.cc | 105 - ++++++++++++++--------------------------- - 1 file changed, 35 insertions(+), 70 deletions(-) - -commit 5b5617e0664e59770910d04d15175f643a5ffb73 -Author: Behdad Esfahbod -Date: Tue Jul 21 15:52:15 2015 +0100 - - Add FLAG_UNSAFE() - - Unused right now. - - src/hb-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit f8160a495966c790b79134a9f9382b6545f8c733 -Author: Behdad Esfahbod -Date: Tue Jul 21 15:50:02 2015 +0100 - - Add FLAG_SAFE() for values known to be small-enough - - And add check to FLAG() - - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape-complex-indic.cc | 12 ++++++------ - src/hb-ot-shape-complex-myanmar.cc | 2 +- - src/hb-private.hh | 5 +++-- - src/hb-unicode-private.hh | 2 +- - 5 files changed, 12 insertions(+), 11 deletions(-) - -commit 366aeaad006b230481a3c08ab4d239fb6b64fef8 -Author: Behdad Esfahbod -Date: Tue Jul 21 15:45:48 2015 +0100 - - Add note re ASSERT_STATIC_EXPR_ZERO() - - src/hb-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit d6adca9fbbbd6fc7c8906121b50c3930fbe2de8e -Author: Behdad Esfahbod -Date: Tue Jul 21 15:17:27 2015 +0100 - - Remove unused macro ASSERT_STATIC_EXPR() - - src/hb-ot-shape-complex-arabic-win1256.hh | 4 ++-- - src/hb-ot-shape-complex-indic-private.hh | 2 -- - src/hb-private.hh | 1 - - 3 files changed, 2 insertions(+), 5 deletions(-) - -commit 1025e1a9e7785ac67cc90d05b02862e38b3e6026 -Author: Behdad Esfahbod -Date: Tue Jul 21 15:05:35 2015 +0100 - - Use unsigned in FLAG() - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cf59c7589c2b4064f4b9f4936115f830089a8ee7 -Author: Behdad Esfahbod -Date: Tue Jul 21 14:51:45 2015 +0100 - - [USE] Use use_category() for rphf/pref memory - - src/hb-ot-shape-complex-use.cc | 63 - +++++++++++++++--------------------------- - 1 file changed, 22 insertions(+), 41 deletions(-) - -commit 595936ec25e9c0924851bd1aa1af5eed3723b54f -Author: Behdad Esfahbod -Date: Tue Jul 21 14:15:35 2015 +0100 - - [USE] Hook of rphf and pref custom processing - - Still no reordering. - - src/hb-ot-layout-private.hh | 8 ++ - src/hb-ot-shape-complex-use.cc | 181 - +++++++++++++++++++++++++++++++++++++++-- - 2 files changed, 181 insertions(+), 8 deletions(-) - -commit ba72801325e4bd58f7597938d4409762c9fa530c -Author: Behdad Esfahbod -Date: Tue Jul 21 11:57:23 2015 +0100 - - [USE] Add CGJ to table - - src/gen-use-table.py | 13 ++++++++++--- - src/hb-ot-shape-complex-use-table.cc | 1 + - 2 files changed, 11 insertions(+), 3 deletions(-) - -commit 4febed61edc5367543e5a206ae01d3393841b612 -Author: Behdad Esfahbod -Date: Tue Jul 21 10:24:32 2015 +0100 - - [USE] Set up features - - src/hb-ot-shape-complex-use.cc | 68 - +++++++++++++++++++++++------------------- - 1 file changed, 38 insertions(+), 30 deletions(-) - -commit 52a957795697085a5d379921ddd8aa6cf2f1a99d -Author: Behdad Esfahbod -Date: Tue Jul 21 10:02:04 2015 +0100 - - [USE] Hook up new scripts to USE shaper - - Don't reroute scripts that we were routing to other shapers - before (just yet). - - src/hb-ot-shape-complex-private.hh | 71 - ++++++++++++++++++++++++++++++++++++++ - 1 file changed, 71 insertions(+) - -commit b4c0829bc18b696f140a260fa2e1089d10164519 -Author: Behdad Esfahbod -Date: Tue Jul 21 09:31:19 2015 +0100 - - [USE] Remove unused Unicode data enums from USE C++ side - - src/hb-ot-shape-complex-use-private.hh | 66 - +--------------------------------- - src/hb-ot-shape-complex-use.cc | 14 ++------ - 2 files changed, 3 insertions(+), 77 deletions(-) - -commit 44910cef626e6d03baa4d89d8fbe2c088971902d -Author: Behdad Esfahbod -Date: Mon Jul 20 18:01:10 2015 +0100 - - [USE] Finish converting Unicode positional categories to USE - - Even compiles. - - src/gen-use-table.py | 114 +++++- - src/hb-ot-shape-complex-use-table.cc | 702 - ++++++++++++++++++----------------- - 2 files changed, 467 insertions(+), 349 deletions(-) - -commit ad725552521273a1f571f04bc96a04221c3e067a -Author: Behdad Esfahbod -Date: Mon Jul 20 17:00:06 2015 +0100 - - [USE] Map from Unicode data to USE syllabic categories - - Positional sub-categories not applied yet. - - src/gen-use-table.py | 128 ++-- - src/hb-ot-shape-complex-use-table.cc | 1062 - ++++++++++++---------------------- - 2 files changed, 409 insertions(+), 781 deletions(-) - -commit 20e246e674155d5fb6527722fc3ef3accf2413df -Author: Behdad Esfahbod -Date: Mon Jul 20 15:56:19 2015 +0100 - - [USE] Start moving Unicode-to-USE mapping into Python code - - src/Makefile.am | 2 +- - src/gen-use-table.py | 176 - +++++++++++++++++++++++++++++++++-- - src/hb-ot-shape-complex-use-table.cc | 3 +- - 3 files changed, 169 insertions(+), 12 deletions(-) - -commit eb74535cc2c0d0de41e54e75bdc71825ec969523 -Author: Behdad Esfahbod -Date: Mon Jul 20 15:33:25 2015 +0100 - - [USE] Fix Number clusters - - The spec wrongly has "H" where "HN" is meant. - - src/hb-ot-shape-complex-use-machine.rl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit a9663958fe861950b6f389b389f146232b2cd909 -Author: Behdad Esfahbod -Date: Mon Jul 20 14:24:55 2015 +0100 - - [USE] Start putting together the shaper body - - src/hb-ot-shape-complex-use-private.hh | 2 +- - src/hb-ot-shape-complex-use.cc | 339 - +++++++++++++++++++++++++++++++++ - 2 files changed, 340 insertions(+), 1 deletion(-) - -commit e0eabd7f67462ac34fbfc749d897be478fbd1224 -Author: Behdad Esfahbod -Date: Mon Jul 20 13:30:51 2015 +0100 - - [USE] Put a Ragel machine together - - Grammar from the spec! - - src/hb-ot-shape-complex-use-machine.rl | 169 - +++++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-use-private.hh | 160 - +++++++++++++++++++++++++++++++ - 2 files changed, 329 insertions(+) - -commit fd74b939b176f47d34d34b3d33e2a09d255c2d9e -Author: Behdad Esfahbod -Date: Mon Jul 20 13:30:45 2015 +0100 - - Minor - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5e5c8560cca3cb9c6be90c7c18ecb77d5cca0c0f -Author: Behdad Esfahbod -Date: Mon Jul 20 12:01:20 2015 +0100 - - [USE] Minor optimization of USE table - - src/gen-use-table.py | 2 +- - src/hb-ot-shape-complex-use-table.cc | 30 ++++++++++++------------------ - 2 files changed, 13 insertions(+), 19 deletions(-) - -commit 14b12f92a9ef7db57c5252ef0442239319ce4bca -Author: Behdad Esfahbod -Date: Mon Jul 20 11:57:44 2015 +0100 - - [USE] Add Kharoshti test data from Unicode proposal - - test/shaping/texts/in-tree/MANIFEST | 1 + - test/shaping/texts/in-tree/shaper-use/MANIFEST | 1 + - .../in-tree/shaper-use/script-kharoshti/MANIFEST | 1 + - .../in-tree/shaper-use/script-kharoshti/misc.txt | 36 - ++++++++++++++++++++++ - 4 files changed, 39 insertions(+) - -commit c48ff288522f33dc6c78520de0a0a74306630895 -Author: Behdad Esfahbod -Date: Mon Jul 20 11:46:17 2015 +0100 - - [USE] Build Universal Shaping Engine data table from Unicode 8 files - - src/gen-use-table.py | 35 +- - src/hb-ot-shape-complex-use-table.cc | 1016 - ++++++++++++++++++++++++++++++++++ - 2 files changed, 1032 insertions(+), 19 deletions(-) - -commit e2c95116e1423f83a692d6170553d0cc95733d24 -Author: Behdad Esfahbod -Date: Mon Jul 20 11:32:48 2015 +0100 - - [USE] Add Universal Shaping Engine to Makefile - - src/Makefile.am | 23 +++- - src/gen-use-table.py | 237 - +++++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-use-machine.rl | 0 - src/hb-ot-shape-complex-use-private.hh | 0 - src/hb-ot-shape-complex-use-table.cc | 0 - src/hb-ot-shape-complex-use.cc | 0 - 6 files changed, 254 insertions(+), 6 deletions(-) - -commit 41a29af8053782e3a9c6a96a394bd76ef6d42099 -Author: Behdad Esfahbod -Date: Wed Jul 15 01:39:57 2015 +0100 - - Update Arabic shaping table for Unicode 8.0 - - src/hb-ot-shape-complex-arabic-table.hh | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -commit 64a2726e2c6efce4379a7609024ec21eb4b5e4dc -Author: Behdad Esfahbod -Date: Wed Jul 15 01:36:39 2015 +0100 - - Add Unicode 8.0 scripts - - Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1183209 - - src/hb-common.cc | 3 +++ - src/hb-common.h | 7 +++++++ - 2 files changed, 10 insertions(+) - -commit 9ae156b76820d9079bae062e7e38c34a386d9bd2 -Author: Behdad Esfahbod -Date: Sun Jul 5 22:43:17 2015 +0100 - - Fix pragma usage - - https://bugs.freedesktop.org/show_bug.cgi?id=91228 - - Commit cdcdfe61b97a0a48ccf834b6d924d187da9609be changed two `#pragma - message` to `#pragma error` in hb-unicode.cc, however MSVC uses - #error, - just like the #else branch. `#pragma error` is an unknown pragma so - MSVC does not fail the build because of it, which I believe was the - intention of that commit. - - If it's meant to be an #error, then the #ifdef for _MSC_VER can be - removed entirely. - - src/hb-unicode.cc | 5 ----- - src/hb-warning.cc | 10 ---------- - 2 files changed, 15 deletions(-) - -commit 8ad89f057d737ccbc6f411e9ebcf11b8130a50bb -Author: ThePhD -Date: Tue Jun 23 09:09:24 2015 -0400 - - Spelling words is not my strong point. - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e0a828ecbd708757d67977f7e92a6f4c1b0b92fd -Author: ThePhD -Date: Tue Jun 23 09:07:17 2015 -0400 - - Back to using regular `strdup`, with an `hb-private.hh` fix that - special-cases VC++'s - definition and usage of the words - - src/hb-common.cc | 2 +- - src/hb-private.hh | 3 +++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit 8e545d59610211261e684c10158b9e5df6fae24d -Author: ThePhD -Date: Mon Jun 22 22:29:04 2015 -0400 - - Fix all VC++ warnings and errors in the current commit's builds. - - src/hb-common.cc | 4 ++-- - src/hb-fallback-shape.cc | 2 +- - src/hb-ot-layout.cc | 2 +- - src/hb-ot-map.cc | 2 +- - src/hb-ot-shape-complex-hangul.cc | 2 +- - src/hb-ot-shape-complex-hebrew.cc | 2 +- - src/hb-ot-shape-complex-indic.cc | 4 ++-- - src/hb-ot-shape-normalize.cc | 6 +++--- - src/hb-ot-shape.cc | 2 +- - 9 files changed, 13 insertions(+), 13 deletions(-) - -commit 5f13bbd9d4b0970851626e2ce3cf4ecb3cfde801 -Author: Behdad Esfahbod -Date: Fri Jun 19 13:31:49 2015 -0700 - - When removing default-ignorables, merge clusters - - Fixes test-shape, and: - https://code.google.com/p/chromium/issues/detail?id=497578 - - src/hb-buffer-private.hh | 2 ++ - src/hb-buffer.cc | 36 ++++++++++++++++++++++++++++++++++-- - src/hb-ot-shape.cc | 2 +- - 3 files changed, 37 insertions(+), 3 deletions(-) - -commit 82b521aeb7cc73879b44ca4278d6fa8b4347527f -Author: Behdad Esfahbod -Date: Fri Jun 19 11:57:57 2015 -0700 - - Rewrite hide_default_ignorables - - Separate the loops for the two cases of replacing with space - and deleting. For deleting, use the out-buffer machinery. - - Needed for upcoming cluster merge fix. - - src/hb-buffer-private.hh | 18 ++++++++++++++ - src/hb-ot-shape.cc | 65 - +++++++++++++++++++++++++++++------------------- - 2 files changed, 57 insertions(+), 26 deletions(-) - -commit b3a2f6afbac1956b65f29a17b9dc896e86135329 -Author: Behdad Esfahbod -Date: Thu Jun 18 17:15:33 2015 -0700 - - [test] Add test for cluster merging - - Based on test from - https://code.google.com/p/chromium/issues/detail?id=497578 - - Currently fails. Basically, if there's a default_ignorable at the - start of text, and font has no space glyph, we remove the - default_ignorable, - and that makes the first char in text to correspond to no cluster. - - Fix coming. - - test/api/test-shape.c | 43 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 43 insertions(+) - -commit a6446d44e6d04e1eeea994682e29f9cb6265f7f6 -Author: Behdad Esfahbod -Date: Thu Jun 18 11:14:56 2015 -0700 - - 0.9.41 - - NEWS | 10 ++++++++++ - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit cd042fc8c4a3984c3647cd22a27c34f00636f6e8 -Author: Behdad Esfahbod -Date: Thu Jun 18 10:55:13 2015 -0700 - - [util] Disable hb-fc-list for now - - Until I figure out what to do about the API, and finalize - the tool. - - util/Makefile.am | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) - -commit 351f68f4e01a107f62e4eb3458d7c7ae379939fb -Author: Behdad Esfahbod -Date: Fri Jun 12 17:46:06 2015 -0700 - - [bindings] Fix hb_language_get_default() and hb_ot_tag_to_language() - - Part of https://github.com/behdad/harfbuzz/issues/91 - - src/hb-common.cc | 2 +- - src/hb-ot-tag.cc | 9 +++++++++ - 2 files changed, 10 insertions(+), 1 deletion(-) - -commit f0c80060763475aa34a18ecbef600b6811855cb6 -Author: Behdad Esfahbod -Date: Fri Jun 12 17:37:41 2015 -0700 - - [TravisCI] Hook up Coverity - - First try... - - .travis.yml | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit 8ac446908ca75bea989414a0f551a6da8885bf52 -Author: Behdad Esfahbod -Date: Fri Jun 12 17:29:05 2015 -0700 - - Add Coverity Scan badge - - README | 1 + - 1 file changed, 1 insertion(+) - -commit a5e4f6d6088f6ed37fb1d68d3682b8eb4c9b46fe -Author: Behdad Esfahbod -Date: Wed Jun 10 10:57:46 2015 -0700 - - Fix warnings: "member call on null pointer of type" - - https://bugzilla.mozilla.org/show_bug.cgi?id=1167119 - - src/hb-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 16dac7eccf04bb357e95a8e4c18c8418dcfb4030 -Author: Behdad Esfahbod -Date: Wed Jun 3 12:07:46 2015 -0700 - - Fix build - - util/options.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8dacb7f8b46c70f22b70c78e0a8efc3309137650 -Author: Behdad Esfahbod -Date: Wed Jun 3 11:53:42 2015 -0700 - - Add include check to hb-ot-font.h - - src/hb-ot-font.h | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 37c8daf724add4a41a06385e571277d137dc2a2f -Merge: f1b44303 01c3a885 -Author: Behdad Esfahbod -Date: Mon Jun 1 13:27:37 2015 -0700 - - Merge pull request #111 from brawer/since - - Fix "Since:" tags - -commit 01c3a88543850c87483fd8671044df53b368c520 -Author: Sascha Brawer -Date: Mon Jun 1 13:22:01 2015 +0200 - - Fix "Since:" tags - - Based on data from http://upstream-tracker.org/versions/harfbuzz.html - Resolves #103 - - src/hb-buffer.cc | 32 +++++++++++++++++------------ - src/hb-common.cc | 4 ++-- - src/hb-face.cc | 12 +++++------ - src/hb-font.cc | 14 ++++++------- - src/hb-font.h | 4 ++-- - src/hb-ft.cc | 4 ++-- - src/hb-glib.cc | 3 +++ - src/hb-gobject-structs.h | 18 +++++++++++++++++ - src/hb-ot-font.cc | 3 +++ - src/hb-ot-layout.cc | 30 ++++++++++++++++++++++++++++ - src/hb-ot-shape.cc | 6 ++++++ - src/hb-set.cc | 52 - ++++++++++++++++++++++++------------------------ - src/hb-shape-plan.cc | 18 ++++++++--------- - src/hb-shape.cc | 8 ++++---- - src/hb-unicode.cc | 6 +++--- - src/hb-unicode.h | 31 ++++++++++++++++++++++++++--- - 16 files changed, 168 insertions(+), 77 deletions(-) - -commit f1b44303df0712b433e35e1e1e75115c353b279e -Author: Behdad Esfahbod -Date: Thu May 21 14:00:15 2015 -0700 - - Fix unary minus operator applied to unsigned int - - Applying unary minus operator to unsigned int causes the following - warning on MSVS: - - warning C4146: unary minus operator applied to unsigned type, - result still unsigned - - Based on patch from Koji Ishi. - - Fixes https://github.com/behdad/harfbuzz/pull/110 - - src/hb-ot-font.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1ae6cdb365c15405500d4f50ec98016dde23a26b -Author: Behdad Esfahbod -Date: Tue May 19 17:42:30 2015 -0700 - - [gobject] Remove hb_language_t workarounds for g-i shortcomings - - Using latest gobject-introspection, I don't seem to be having this - problem anymore: - - https://bugzilla.gnome.org/show_bug.cgi?id=707656 - - Removing that kludge makes language_t behave more like the way I - expect it - in Python. - - Also fixes: - https://github.com/behdad/harfbuzz/issues/91 - - src/hb-gobject-structs.cc | 1 - - src/hb-gobject-structs.h | 8 -------- - 2 files changed, 9 deletions(-) - -commit ece434fa0fec6754e5164d881c1e967376729eca -Author: Behdad Esfahbod -Date: Tue May 19 17:20:58 2015 -0700 - - [gobject] Macroize value types - - Fixes user_data_t - - src/hb-gobject-structs.cc | 73 - +++++++++++------------------------------------ - 1 file changed, 17 insertions(+), 56 deletions(-) - -commit 9df099b4837df722e738675af318efcc9ac39a78 -Author: Behdad Esfahbod -Date: Mon May 18 18:37:06 2015 -0700 - - [ft] Don't set *glyph in get_glyph() if glyph not found - - src/hb-ft.cc | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - -commit ff0f210519bcb0e44d4b986f7eef2004383cd344 -Author: Behdad Esfahbod -Date: Mon May 18 14:16:28 2015 -0700 - - [util] Minor - - util/ansi-print.cc | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -commit fbecde3d5c5c6d5af315140e4966dc850388ad63 -Merge: 58015215 74139f98 -Author: Behdad Esfahbod -Date: Thu May 7 10:46:42 2015 -0700 - - Merge pull request #105 from ebraminio/master - - Fix Travis CI config to pass again - -commit 74139f9839f69ea3e7a1d17627f52fea6c06d58a -Author: Ebrahim Byagowi -Date: Thu May 7 13:09:32 2015 +0000 - - Fix Travis CI config to pass again - - .travis.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 58015215321a76d68df8e0d51039904a67291108 -Author: Behdad Esfahbod -Date: Wed May 6 00:40:31 2015 -0700 - - Add note re OpenType 1.7 language tags - - src/hb-ot-tag.cc | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -commit f6266ad291d7686d5e110255ace5f2ff9e70bf38 -Author: Roozbeh Pournader -Date: Tue May 5 22:31:19 2015 -0700 - - [minor] Remove comment about Navajo OpenType code. - - Apparently the code is already standardized: - https://www.microsoft.com/typography/otspec/languagetags.htm - - src/hb-ot-tag.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 42b00118eae46a5183e885e89e0856f41361f57e -Merge: c60f3c8e cfeb0562 -Author: Behdad Esfahbod -Date: Tue May 5 14:49:47 2015 -0700 - - Merge pull request #102 from roozbehp/master - - Add OpenType language tag 'NAV ' for Navajo. - -commit c60f3c8e1156fe7328d42851013cca97333c3bf7 -Author: Behdad Esfahbod -Date: Mon May 4 23:10:32 2015 -0700 - - [README.python] Add package name for gobject-introspection on Ubuntu - - README.python | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 82010a4bdb32248deb1337a3357dfae5b203c48d -Author: Behdad Esfahbod -Date: Mon May 4 23:09:51 2015 -0700 - - [travis] Comment out gobject-introspection again - - Apparently the version on Travis is 1.32.0, while we require 1.34.0. - - .travis.yml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 8a254bdd29a99eb91b37e9e540179a1a01f77605 -Author: Behdad Esfahbod -Date: Mon May 4 19:22:11 2015 -0700 - - [travis] Build with introspection enabled - - .travis.yml | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit be66ec5373634234f221ace9cfed45d76b87f20e -Author: Behdad Esfahbod -Date: Thu Apr 30 18:27:13 2015 -0400 - - Use TRUE/FALSE instead of true/false in docs - - src/hb-shape.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit d055e1fc781c123f38d321846937965ef794257e -Author: Khaled Hosny -Date: Wed Jan 8 02:28:55 2014 +0200 - - Some attempt into initial hb-shape documentation - - Very anaemic, needs to descripe the format understood by - hb_feature_from_string() etc., but it is just start. - - src/hb-shape.cc | 70 - ++++++++++++++++++++++++++++++++++++++------------------- - src/hb-shape.h | 3 --- - 2 files changed, 47 insertions(+), 26 deletions(-) - -commit 81bedda58cfc15f1987aa1952290cf9d87b4d074 -Author: Behdad Esfahbod -Date: Thu Apr 30 13:04:16 2015 -0400 - - New API: hb_buffer_reverse_range() - - src/hb-buffer.cc | 17 +++++++++++++++++ - src/hb-buffer.h | 4 ++++ - 2 files changed, 21 insertions(+) - -commit cfeb0562ebd8804dad731625153549eafeb78213 -Author: Roozbeh Pournader -Date: Wed Apr 29 09:32:42 2015 -0700 - - Add OpenType language tag 'NAV ' for Navajo. - - The code is not standardized yet, but is used in some Google fonts. - - src/hb-ot-tag.cc | 1 + - 1 file changed, 1 insertion(+) - -commit f724cc351640ee075a9867ef42df32cf5e0ef3b7 -Author: Jonathan Kew -Date: Thu Apr 23 12:45:02 2015 +0100 - - Don't apply Arabic shaping to vertical text. - - src/hb-ot-shape-complex-private.hh | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 97942420bbee1bc6953d5f805621066301fa17ca -Author: Behdad Esfahbod -Date: Thu Apr 23 18:56:24 2015 -0700 - - Update check-libstdc++ for clang - - src/check-libstdc++.sh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 8f0a4d67143ccdef0b5a6ac99fb9b680c3a2f69c -Author: Behdad Esfahbod -Date: Thu Apr 23 14:32:33 2015 -0700 - - [test] Ignor 'n' and 'i' in hb-unicode-encode - - Allows accepting uniXXXX format. - - test/shaping/hb_test_tools.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 39851ce84efd30f6d0570324ff8f3808a01b813b -Author: Behdad Esfahbod -Date: Tue Apr 21 19:23:27 2015 -0700 - - [coretext] Oops; fix issue number for previous commit - - src/hb-coretext.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 24f17afeafd40ff77177ed42c9007a0f34fcbb78 -Author: Behdad Esfahbod -Date: Tue Apr 21 19:21:32 2015 -0700 - - [coretext] Fix positioning with trailing whitespace - - Fixes https://code.google.com/p/chromium/issues/detail?id=476913 - - src/hb-coretext.cc | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -commit dba482fc4458776ffebdeb2d34b970b4223fa8fd -Author: Behdad Esfahbod -Date: Fri Apr 17 13:08:08 2015 -0700 - - [ot-font] Accept MS Symbol cmap if nothing else found - - src/hb-ot-font.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 3029e8b59d1667dc6a53355be89a2b55d7089b88 -Author: Behdad Esfahbod -Date: Tue Apr 14 13:32:22 2015 -0700 - - Revert "Add MSVC pragma for UTF-8 source code" - - This reverts commit 89cbd4d9533011fb5487caa99a0cd58923e7cf59. - - See discussion: - https://bugzilla.gnome.org/show_bug.cgi?id=747772 - - src/hb-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 820505a186ff60e4bae9d717fe4d7ab2390e6fef -Author: Behdad Esfahbod -Date: Mon Apr 13 23:51:45 2015 -0700 - - Whitespace - - util/options.cc | 18 +++++++++++------- - 1 file changed, 11 insertions(+), 7 deletions(-) - -commit 76d57331117be8e0c2d4a2aee8341969b62b6888 -Merge: 89cbd4d9 9ee176ee -Author: Behdad Esfahbod -Date: Mon Apr 13 23:40:35 2015 -0700 - - Merge pull request #86 from cpfair/hb-shape-output-help-improvement - - Improve hb-shape/hb-view's help text w.r.t. output options - -commit 89cbd4d9533011fb5487caa99a0cd58923e7cf59 -Author: Behdad Esfahbod -Date: Mon Apr 13 12:27:08 2015 -0700 - - Add MSVC pragma for UTF-8 source code - - Not sure we have any right now; motivated by this: - https://bugzilla.gnome.org/show_bug.cgi?id=747772 - - src/hb-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 713f99ff6138b4149d9fd382f9af3ace01ee0da5 -Merge: 1086f21e 22524a51 -Author: Behdad Esfahbod -Date: Fri Apr 10 14:34:05 2015 -0700 - - Merge pull request #99 from khaledhosny/introspection-fixes2 - - More ntrospection fixes - -commit 22524a514f6609a2bc009b6035f6b5b932c719c7 -Author: Khaled Hosny -Date: Fri Apr 10 18:14:45 2015 +0200 - - [bindings] Fix hb_buffer_get_segment_properties - - Annotate the output parameter. - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1086f21e546e2435d9da6024fd6afa7a36ba3707 -Merge: 125cb083 fe97b65a -Author: Behdad Esfahbod -Date: Fri Apr 10 12:21:04 2015 -0700 - - Merge branch 'hb-fc' - -commit 125cb08345a7f27e565329d37093b1a60a41a403 -Merge: e8fd8393 855a5d7c -Author: Behdad Esfahbod -Date: Fri Apr 10 12:19:57 2015 -0700 - - Merge pull request #98 from KonstantinRitt/WEC2013 - - Fix build on WEC2013 - -commit 04f89e8f7dfdb882e8c98afb613cba3f1d02ed7d -Author: Khaled Hosny -Date: Fri Apr 10 17:49:01 2015 +0200 - - [bindings] Fix ownership of returned hb_language_t - - It should not be freed by the caller. - - src/hb-buffer.cc | 2 +- - src/hb-common.cc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 855a5d7cb8f585bf66dd18cb480b8c3feef62480 -Author: Konstantin Ritt -Date: Fri Apr 10 17:18:01 2015 +0400 - - Fix build on WEC2013 - - Based on patch from Björn Breitmeyer - - src/hb-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit fe97b65a54a416229e28b1c931e5e01ca19f31d3 -Author: Behdad Esfahbod -Date: Wed Aug 6 16:49:51 2014 -0400 - - [utils] Add hb-fc-list - - This is a tool that lists all fonts that can render a given string. - It uses hb_shape() to do so, and as such is aware of HarfBuzz's - normalizer. - - configure.ac | 19 +++++ - util/Makefile.am | 15 ++++ - util/hb-fc-list.c | 222 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - util/hb-fc.cc | 149 ++++++++++++++++++++++++++++++++++++ - util/hb-fc.h | 46 +++++++++++ - 5 files changed, 451 insertions(+) - -commit eb0bf3ae6688b7e98a706df2ad2714c071d77e22 -Author: Behdad Esfahbod -Date: Wed Aug 6 15:36:41 2014 -0400 - - Relax inert checks - - Previously, when creating an object from inert inputs (eg: - "hb_font_create(hb_face_get_empty())") we returned the inert - empty object. This is not helpful as there are legitimate - usecases to do that. - - We now never return the inert object unless allocation failed. - - Tests are revised to reflect. - - src/hb-face.cc | 4 ++-- - src/hb-font.cc | 4 +--- - src/hb-shape-plan.cc | 7 +++++-- - test/api/test-font.c | 10 +++++----- - test/api/test-object.c | 34 +++++++++++++++++----------------- - 5 files changed, 30 insertions(+), 29 deletions(-) - -commit e8fd83932a75cfbaa4638a757868915ebfac3c1f -Author: Behdad Esfahbod -Date: Thu Apr 9 15:52:26 2015 -0700 - - [util/hb-view] Fix rendering with all combinations of negative scales - - util/view-cairo.cc | 90 - ++++++++++++++++++++++++++++-------------------------- - util/view-cairo.hh | 2 -- - 2 files changed, 47 insertions(+), 45 deletions(-) - -commit 69d5af93169ea2d87276b65d43c889a359d5d81e -Author: Behdad Esfahbod -Date: Thu Apr 9 15:17:16 2015 -0700 - - [util] Minor - - util/view-cairo.cc | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit a664810e38b479e05ea32cac263cb5730629f9d8 -Author: Behdad Esfahbod -Date: Thu Apr 9 15:04:42 2015 -0700 - - [util] Accept comma as well as space when separating components - of args - - Applies to --font-size and --margin. - - Hopefully the scanf usage here doesn't have compatibility issues - (star being counted in the return value, etc). - - util/options.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 9c974360febcfd67247107352425fe8590d9d452 -Author: Behdad Esfahbod -Date: Thu Apr 9 12:04:14 2015 -0700 - - Minor rename - - src/hb-atomic-private.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit f3b170bdd970e31e9dbfed94c07c3cda41269aed -Author: Behdad Esfahbod -Date: Wed Apr 8 16:26:24 2015 -0700 - - Minor - - src/hb-common.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2958f2c147fc6327175b51a4eaca694263e34ac9 -Author: Behdad Esfahbod -Date: Wed Apr 8 16:26:16 2015 -0700 - - Fixup - - src/hb-atomic-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit b931e0b0ceeab0e4819d9c4b838c1a1eb87b52e4 -Author: Behdad Esfahbod -Date: Wed Apr 8 14:39:00 2015 -0700 - - Fix warnings - - Part of https://github.com/behdad/harfbuzz/pull/68 - - src/hb-ot-font.cc | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 22 +++++++++++----------- - 2 files changed, 13 insertions(+), 13 deletions(-) - -commit cdcdfe61b97a0a48ccf834b6d924d187da9609be -Author: Behdad Esfahbod -Date: Wed Apr 8 13:25:04 2015 -0700 - - Err, instead of warn, if mutex / atomic / unicode funcs are missing - - Hopefully this results in fewer badly built HarfBuzz integrations. - - src/hb-unicode.cc | 8 ++++---- - src/hb-warning.cc | 22 ++++++++-------------- - 2 files changed, 12 insertions(+), 18 deletions(-) - -commit fc3c59a1d746c5280f6216a94fdc1be3e826051f -Author: Behdad Esfahbod -Date: Wed Apr 8 13:03:27 2015 -0700 - - Fix unused var warnings - - src/hb-ot-layout-gpos-table.hh | 1 - - src/hb-ot-layout-gsub-table.hh | 1 - - 2 files changed, 2 deletions(-) - -commit 3f174cd020b7762fae96f20ce14fc9e9abec748f -Author: Konstantin Ritt -Date: Sat Mar 28 00:49:33 2015 +0400 - - Minor refactoring to the atomics implementation - - s/atomic_int/atomic_int_impl/ and s/atomic_ptr/atomic_ptr_impl/ - to bring it in par with hb_mutex_impl_t, then re-introduce - hb_atomic_int_t as a wrapper around hb_atomic_int_impl_t. - - In hb_reference_count_t, make it clear the non-atomic get and set - are intentional due to nature of the cases they are used in - (comparison to -1 and the debug output/tracing). - - src/hb-atomic-private.hh | 86 - +++++++++++++++++++++++++++++++----------------- - src/hb-mutex-private.hh | 4 ++- - src/hb-object-private.hh | 21 ++++++------ - 3 files changed, 69 insertions(+), 42 deletions(-) - -commit 24930d544ee9e247e4cf6a5f6d5207ba9d7a3ddc -Author: Behdad Esfahbod -Date: Wed Apr 8 12:52:06 2015 -0700 - - Minor - - src/hb-mutex-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 45a8b46f478d4aa63ae5df74b6bb28ebdd7521ac -Author: Behdad Esfahbod -Date: Wed Apr 8 12:49:38 2015 -0700 - - Allow implementing atomic and mutex ops in config - - Motivated by - https://github.com/behdad/harfbuzz/pull/92 - - src/hb-atomic-private.hh | 6 +++++- - src/hb-mutex-private.hh | 7 ++++++- - 2 files changed, 11 insertions(+), 2 deletions(-) - -commit 3fe4e92bc5ff09d84c6763cedf06ce80d15a5fb2 -Author: Behdad Esfahbod -Date: Wed Apr 8 12:49:23 2015 -0700 - - Minor - - src/hb-set-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 9868749abe468130d89c80a2501847a83acb4579 -Author: Behdad Esfahbod -Date: Mon Apr 6 14:51:31 2015 -0700 - - [test] Use /usr/bin/env python instead of /usr/bin/python - - Bug 76494 - #!/usr/bin/python in testsuite - - https://bugs.freedesktop.org/show_bug.cgi?id=76494 - - test/shaping/hb-diff | 2 +- - test/shaping/hb-diff-colorize | 2 +- - test/shaping/hb-diff-filter-failures | 2 +- - test/shaping/hb-diff-ngrams | 2 +- - test/shaping/hb-diff-stat | 2 +- - test/shaping/hb-manifest-read | 2 +- - test/shaping/hb-manifest-update | 2 +- - test/shaping/hb-unicode-decode | 2 +- - test/shaping/hb-unicode-encode | 2 +- - test/shaping/hb-unicode-prettyname | 2 +- - test/shaping/hb_test_tools.py | 2 +- - 11 files changed, 11 insertions(+), 11 deletions(-) - -commit bfcddd32a674dd19fca1bf521e95466a0eec5179 -Merge: ce01ad7c 363ceec3 -Author: Behdad Esfahbod -Date: Mon Apr 6 14:41:32 2015 -0700 - - Merge pull request #93 from ebraminio/archpy3 - - Make hb_test_tools.py compatible with python 3 - -commit ce01ad7c2f5a259030f4dbec746f85522aa9c3f9 -Author: Behdad Esfahbod -Date: Wed Apr 1 11:05:59 2015 -0700 - - MSVC 2015 supports snprintf and not _snprintf - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 560718862f0bd994b62361652d6fd558c4182e2a -Author: Behdad Esfahbod -Date: Wed Apr 1 11:04:33 2015 -0700 - - Move WinCE define to better place - - src/hb-private.hh | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 363ceec3fb0c9566db5a59da31e508f69dea1e92 -Author: Ebrahim Byagowi -Date: Mon Mar 30 03:27:14 2015 +0430 - - Make hb_test_tools.py compatible with python 3 - - On ArchLinux, /usr/bin/python is linked to python 3 so - HarfBuzz `make check` is broken there. - - This makes hb_test_tools.py compatible with python 3 while - no breaking it on python 2. - - test/shaping/hb_test_tools.py | 44 - ++++++++++++++++++++++++------------------- - 1 file changed, 25 insertions(+), 19 deletions(-) - -commit aee685086c8fde6f6c4590e483a177c19f222540 -Author: Behdad Esfahbod -Date: Thu Mar 26 14:13:53 2015 -0400 - - Fix VC++ /analyze warnings - - out\debug\hb-buffer-deserialize-text.rl(47) : warning C6001: Using - uninitialized memory 'pos'. - - src/hb-buffer-deserialize-text.rl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 8886ab430ca68539cb318e175647e9f6973718b0 -Merge: e3671b8f a394bb66 -Author: Behdad Esfahbod -Date: Sun Mar 22 16:18:57 2015 -0400 - - Merge pull request #90 from khaledhosny/introspection-fixes - - [bindings] Fix *_from_string functions - -commit a394bb66707184c995fe2d08c80e98220e6ec0b0 -Author: Khaled Hosny -Date: Sun Mar 22 20:29:10 2015 +0200 - - [bindings] Fix *_from_string functions - - Without the element-type they will be getting garbage, at least with - Python. - - src/hb-common.cc | 8 ++++---- - src/hb-font.cc | 2 +- - src/hb-shape.cc | 2 +- - 3 files changed, 6 insertions(+), 6 deletions(-) - -commit e3671b8f8bb339e8a563a9da9cd5069073200fec -Author: Behdad Esfahbod -Date: Fri Mar 20 18:03:02 2015 -0400 - - 0.9.40 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit 9e401f6890f2bea1d11914bca436c2230f8d0f1b -Author: Behdad Esfahbod -Date: Fri Mar 20 16:08:38 2015 -0400 - - Fix reverse_range() for empty range - - Fixes coretext notdef loop consisting of all default_ignorable glyphs - - https://code.google.com/p/chromium/issues/detail?id=464755 - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7481bd49d56d4e814ab1f85fc2df8bf934d520f4 -Author: Behdad Esfahbod -Date: Wed Mar 4 15:47:25 2015 -0800 - - Fix previous commit - - I misunderstood how which works. - - autogen.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6763e21afb77b250ad4416ff921d46c63ea12443 -Author: Behdad Esfahbod -Date: Wed Mar 4 15:43:05 2015 -0800 - - Accept glibtoolize as libtoolize - - Of course, we don't really run it, autoreconf does. We just - err if neither is available. glibtoolize is the name it is - shipped under on OS X. Reported by Adam. - - autogen.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 02a04e6afb1a76894f3723a467716607970d95d3 -Author: Behdad Esfahbod -Date: Wed Mar 4 12:32:03 2015 -0800 - - 0.9.39 - - NEWS | 10 ++++++++++ - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit 98e3ea8e34c798ce003e946c9a150bb41be9d09b -Author: Behdad Esfahbod -Date: Wed Mar 4 12:03:39 2015 -0800 - - Fix hb-uniscribe build - - src/hb-ot-name-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8ac345e5c0ed0aad6547592ea0839aabfb4ba980 -Author: Behdad Esfahbod -Date: Mon Mar 2 16:06:55 2015 -0800 - - Fix reverse_range() to only reverse alt array if positions are used - - In hb-coretext, when we were using scratch buffer for book-keeping, - a reverse_range() caused by the notdef-insertion loop could mess up - our log_clusters. Ouch! - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1e03d7ac83f3e17aafed1e37390d9ff8394e36da -Author: Behdad Esfahbod -Date: Thu Feb 26 13:58:32 2015 -0800 - - Better error message if libtool is not installed - - Fixes https://github.com/behdad/harfbuzz/pull/88 - - autogen.sh | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit 6c918e2997fb82e89485f2b50bee2bf4fcd70592 -Author: Behdad Esfahbod -Date: Thu Feb 26 13:55:34 2015 -0800 - - Clean up gtk-doc.make - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 5ec5875acb12cf07447c9ebfb03212601368dfc4 -Author: Behdad Esfahbod -Date: Thu Feb 26 13:53:05 2015 -0800 - - Install git.mk in docs/ - - docs/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit d146678d103425b3da7ef393bc6d66f6ba4c5593 -Author: Behdad Esfahbod -Date: Thu Feb 26 13:52:50 2015 -0800 - - Update git.mk from upstream - - git.mk | 35 ++++++++++++++++++++++++++++------- - 1 file changed, 28 insertions(+), 7 deletions(-) - -commit 5f541f8f7be82f29b77b481827deb212e12d53e4 -Author: Behdad Esfahbod -Date: Sat Feb 21 16:51:17 2015 +0300 - - Minor refactoring - - src/hb-private.hh | 44 ++++++++++++++++++++++++++++---------------- - 1 file changed, 28 insertions(+), 16 deletions(-) - -commit ef79bdf73bbfde1bfaa222834809d105ab7755b3 -Author: Behdad Esfahbod -Date: Sat Feb 21 16:49:15 2015 +0300 - - Minor - - src/hb-ot-layout-common-private.hh | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 68e04afbb1e1073c47474f7a4d6d2cacf7057f6f -Author: Behdad Esfahbod -Date: Sat Feb 21 16:30:28 2015 +0300 - - Typo - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 55553699b38d6481fbfacd0a32fc266e55553b34 -Author: Behdad Esfahbod -Date: Sat Feb 21 16:29:08 2015 +0300 - - Minor - - src/hb-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit 5175300fbaf4ff19b7d38c14c86331bb614b0390 -Author: Behdad Esfahbod -Date: Sat Feb 21 12:50:01 2015 +0300 - - [layout] Fix comparison of GlyphID and hb_codepoint_t - - Before, the IntType::cmp functions providing this and was truncating - the hb_codepoint_t to 16bits before comparison. I have no idea how - this was never discovered, and I'm too lazy to try to reproduce this - with Pango (which uses non-16bit codepoint numbers for missing - glyphs). - - src/hb-open-type-private.hh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 7cce809cb11e0ce65dbdab899779ece3dc337763 -Author: Behdad Esfahbod -Date: Sat Feb 21 12:41:08 2015 +0300 - - Remove unused (and wrong as of a few commits ago) cmp() function - - src/hb-open-type-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 8e3d4bae033bdec649676da26cfc3eb7610832a8 -Author: Behdad Esfahbod -Date: Sat Feb 21 12:31:59 2015 +0300 - - Minor - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f47cf1f12dd1fa3cd3aa84502139caca9d469af8 -Author: Behdad Esfahbod -Date: Sat Feb 21 11:45:22 2015 +0300 - - Minor - - src/hb-ot-layout.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 640b66c6348653bfd7cf88ea9caa2133c0eb949f -Author: Behdad Esfahbod -Date: Thu Feb 19 17:30:05 2015 +0300 - - [layout] If lookup has only one subtable, move the forward loop down - to subtable - - I was hoping to see a nice speedup, but it resulted in a very - minor one. - - src/hb-ot-layout.cc | 33 ++++++++++++++++++++++++++++++++- - 1 file changed, 32 insertions(+), 1 deletion(-) - -commit e2f50f2a7ebf9882ea89dc3f0c740e7fce964e37 -Author: Behdad Esfahbod -Date: Thu Feb 19 17:15:05 2015 +0300 - - [layout] Add apply_forward / apply_backward - - src/hb-ot-layout.cc | 69 - +++++++++++++++++++++++++++++++++++------------------ - 1 file changed, 46 insertions(+), 23 deletions(-) - -commit 1d4a328472f094c0d75a062f6e176c6b1875cfdc -Author: Behdad Esfahbod -Date: Thu Feb 19 11:33:30 2015 +0300 - - [layout] Remove unneeded return value from apply() - - src/hb-ot-layout.cc | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -commit bbdd6fd21cc2e079defff7cb17c3eb8eff3f9e09 -Author: Behdad Esfahbod -Date: Thu Feb 19 17:03:02 2015 +0300 - - Minor simpilfy BEInt - - src/hb-open-type-private.hh | 25 ++----------------------- - 1 file changed, 2 insertions(+), 23 deletions(-) - -commit 88a399acdc0fcb060803da0e7db56de2866981e3 -Author: Behdad Esfahbod -Date: Thu Feb 19 16:57:12 2015 +0300 - - Optimize IntType comparison to avoid branches for 16bit numbers - - src/hb-open-type-private.hh | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 37de2d533126245774417234e3536fcfb24f3a6b -Author: Behdad Esfahbod -Date: Thu Feb 19 16:55:51 2015 +0300 - - Minor simplify IntType - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bd047d3b7f04d551c0a26bc0ce9b9d61481e34e1 -Author: Behdad Esfahbod -Date: Thu Feb 19 10:47:18 2015 +0300 - - [layout] Minor - - src/hb-ot-layout-gpos-table.hh | 6 ++++++ - src/hb-ot-layout-gsub-table.hh | 6 ++++++ - src/hb-ot-layout.cc | 4 ++-- - 3 files changed, 14 insertions(+), 2 deletions(-) - -commit b9d3f60520c022dc952e65a66eb138d1f7cae2e1 -Author: Behdad Esfahbod -Date: Thu Feb 19 10:42:41 2015 +0300 - - [layout] Minor - - src/hb-ot-layout.cc | 15 ++++----------- - 1 file changed, 4 insertions(+), 11 deletions(-) - -commit 1a2322134a5d7bba990da28baf893b35879a5a7a -Author: Behdad Esfahbod -Date: Thu Feb 19 10:40:23 2015 +0300 - - [layout] Don't check glyph props against lookup flags when recursing - - Shouldn't be needed. I have a hard time imagining this breaking any - legitimate use case. - - src/hb-ot-layout-gpos-table.hh | 10 +--------- - src/hb-ot-layout-gsub-table.hh | 10 +--------- - 2 files changed, 2 insertions(+), 18 deletions(-) - -commit 095a1257cc3cc56b044b4cd842a92f0d0f933a50 -Author: Behdad Esfahbod -Date: Thu Feb 19 10:29:41 2015 +0300 - - [layout] Port sanitize() to use dispatch() - - Needed some rework of Extension table. Hopefully I got it right, and - the new template usage doesn't break any compilers... - - src/hb-open-type-private.hh | 5 ++- - src/hb-ot-layout-gpos-table.hh | 82 - +---------------------------------- - src/hb-ot-layout-gsub-table.hh | 72 ++----------------------------- - src/hb-ot-layout-gsubgpos-private.hh | 84 - ++++++++++++------------------------ - 4 files changed, 37 insertions(+), 206 deletions(-) - -commit 758fb20630f84c3d373cda37974b88f16c02995e -Author: Behdad Esfahbod -Date: Wed Feb 18 13:45:03 2015 +0300 - - Remove unused macro - - src/hb-ot-shape-complex-arabic-win1256.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 40c58923cbf689c465f9b65334c455a9b7f71ab0 -Author: Behdad Esfahbod -Date: Wed Feb 18 13:18:46 2015 +0300 - - [layout] Refactor Lookup::dispatch() - - src/hb-ot-layout-common-private.hh | 20 ++++++++++++++++++++ - src/hb-ot-layout-gpos-table.hh | 12 +----------- - src/hb-ot-layout-gsub-table.hh | 12 +----------- - src/hb-ot-layout-gsubgpos-private.hh | 6 ------ - 4 files changed, 22 insertions(+), 28 deletions(-) - -commit 70366f5d19df2e654f0933474fecf1aa16e27812 -Author: Behdad Esfahbod -Date: Wed Feb 18 13:09:54 2015 +0300 - - [layout] Refactor get_subtable() - - src/hb-ot-layout-common-private.hh | 12 ++++++++++++ - src/hb-ot-layout-gpos-table.hh | 4 ++-- - src/hb-ot-layout-gsub-table.hh | 6 +++--- - 3 files changed, 17 insertions(+), 5 deletions(-) - -commit f72f326aea6d1e93f63040730f7aecd401676c1c -Author: Behdad Esfahbod -Date: Tue Feb 17 19:18:07 2015 +0300 - - Minor - - src/hb-ot-layout-gpos-table.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 8e36ccfd4f076888076ca176c055c18104af03b6 -Author: Behdad Esfahbod -Date: Tue Feb 17 19:15:34 2015 +0300 - - [layout] Use dispatch() for add_coverage() - - src/hb-ot-layout-gpos-table.hh | 12 ++---------- - src/hb-ot-layout-gsub-table.hh | 12 ++---------- - src/hb-ot-layout-gsubgpos-private.hh | 12 ++++++++++-- - 3 files changed, 14 insertions(+), 22 deletions(-) - -commit 50b8dc79daffc7ef671dd5eedfea47f8d5e946f4 -Author: Behdad Esfahbod -Date: Tue Feb 17 18:14:17 2015 +0300 - - [layout] Add may_dispatch() - - No functional change right now. - - src/hb-ot-layout-gpos-table.hh | 7 +++++++ - src/hb-ot-layout-gsub-table.hh | 6 ++++++ - src/hb-ot-layout-gsubgpos-private.hh | 12 ++++++++++++ - 3 files changed, 25 insertions(+) - -commit de2118ed7a998a1df9b28fd1be96b4af89ed82c3 -Author: Behdad Esfahbod -Date: Tue Feb 17 17:27:44 2015 +0300 - - Make sanitize() a const method - - This makes a lot of code safer. We only try modifying the object - in one - place, after making sure it's safe to do so. So, do a const_cast<> in - that one place... - - src/hb-open-file-private.hh | 15 +++-- - src/hb-open-type-private.hh | 51 +++++++++++------ - src/hb-ot-cmap-table.hh | 35 ++++++++---- - src/hb-ot-head-table.hh | 6 +- - src/hb-ot-hhea-table.hh | 3 +- - src/hb-ot-hmtx-table.hh | 3 +- - src/hb-ot-layout-common-private.hh | 58 ++++++++++++------- - src/hb-ot-layout-gdef-table.hh | 30 ++++++---- - src/hb-ot-layout-gpos-table.hh | 108 - +++++++++++++++++++++++------------ - src/hb-ot-layout-gsub-table.hh | 58 ++++++++++++------- - src/hb-ot-layout-gsubgpos-private.hh | 65 +++++++++++++-------- - src/hb-ot-layout-jstf-table.hh | 12 ++-- - src/hb-ot-maxp-table.hh | 6 +- - src/hb-ot-name-table.hh | 6 +- - 14 files changed, 296 insertions(+), 160 deletions(-) - -commit 6759ed95a3bec2874826376b68ebff19ba277ef2 -Author: Behdad Esfahbod -Date: Tue Feb 17 16:05:30 2015 +0300 - - Minor - - src/hb-ot-layout-gpos-table.hh | 6 ++---- - src/hb-ot-layout-gsub-table.hh | 6 ++---- - 2 files changed, 4 insertions(+), 8 deletions(-) - -commit 6b599dac1f814a3c900300241d4c492a8f8b66d2 -Author: Behdad Esfahbod -Date: Tue Feb 17 16:04:07 2015 +0300 - - Remove unnecessary check in sanitize - - src/hb-ot-layout-gpos-table.hh | 2 -- - src/hb-ot-layout-gsub-table.hh | 2 -- - 2 files changed, 4 deletions(-) - -commit 365576d246949f9d587e90cf0539dc0381e4d0a3 -Author: Behdad Esfahbod -Date: Thu Jan 29 13:59:42 2015 +0100 - - [layout] Allocate iters in the context - - Can be further optimized, but I think I didn't break anything. - - Saves another 3% off Roboto shaping. - - src/hb-ot-layout-gpos-table.hh | 18 ++++++------------ - src/hb-ot-layout-gsubgpos-private.hh | 21 +++++++++++++-------- - src/hb-ot-shape-fallback.cc | 2 +- - 3 files changed, 20 insertions(+), 21 deletions(-) - -commit 514564f5444b8ad2f210b1e3d7d66378f7275317 -Author: Behdad Esfahbod -Date: Thu Jan 29 13:48:48 2015 +0100 - - [layout] Move skippy_iter setup from constructor into init() - - src/hb-ot-layout-gpos-table.hh | 18 ++++++++++++------ - src/hb-ot-layout-gsubgpos-private.hh | 28 +++++++++++++++------------- - src/hb-ot-shape-fallback.cc | 3 ++- - 3 files changed, 29 insertions(+), 20 deletions(-) - -commit b051be542a8945ec14b0192bbc285f3e1a78c8f1 -Author: Behdad Esfahbod -Date: Thu Jan 29 13:40:39 2015 +0100 - - [lookup] Add skippy_iter.reset() - - Towards reducing the cost of initializing skippy_iter() - - src/hb-ot-layout-gpos-table.hh | 18 ++++++++++++------ - src/hb-ot-layout-gsubgpos-private.hh | 27 ++++++++++++++++++--------- - src/hb-ot-shape-fallback.cc | 3 ++- - 3 files changed, 32 insertions(+), 16 deletions(-) - -commit 2cecc38c7cf49b2cf697efa7e974ceee7055f2c5 -Author: Behdad Esfahbod -Date: Thu Jan 29 13:32:05 2015 +0100 - - [layout] Shuffle code around - - src/hb-ot-layout-gsubgpos-private.hh | 111 - ++++++++++++++++++----------------- - 1 file changed, 56 insertions(+), 55 deletions(-) - -commit 696266981df5ef6c62ad0115133dad1d6c1d9acc -Author: Behdad Esfahbod -Date: Thu Jan 29 13:08:41 2015 +0100 - - [layout] Merge forward and backward iterators - - src/hb-ot-layout-gpos-table.hh | 12 +++--- - src/hb-ot-layout-gsubgpos-private.hh | 71 - ++++++++---------------------------- - src/hb-ot-shape-fallback.cc | 2 +- - 3 files changed, 23 insertions(+), 62 deletions(-) - -commit 1f038eec3c0dd6331036f795614fe1ddcbf613b0 -Author: Behdad Esfahbod -Date: Thu Jan 29 13:05:25 2015 +0100 - - [layout] Fix backward reject() - - Has no functional effect since reject was never used with - match_glyph_data. - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 37d13acd8d414a4b53fac0152addfadecf755cd4 -Author: Behdad Esfahbod -Date: Thu Jan 29 11:38:01 2015 +0100 - - [layout] Remove some unnecessary checks in skippy - - src/hb-ot-layout-gpos-table.hh | 3 --- - src/hb-ot-layout-gsubgpos-private.hh | 9 ++------- - 2 files changed, 2 insertions(+), 10 deletions(-) - -commit baa14e18148d3f5493f78b4fe9e0c835a01f50f7 -Author: Behdad Esfahbod -Date: Thu Jan 29 11:08:43 2015 +0100 - - [lookup] Don't initialize skippy if coverage match fails - - Currently: - - - Initializing skippy is very expensive, - - - Our lookup accelerator (using set-digests) can be very ineffecite, - - As such, we end up many times initializing skippy but then failing - coverage check. Reordering fixes that. - - When, later, we fix our accelerator to have truly small false-positive - rate (for example by using the frozen-sets), then we might want to - reorder these checks such that we wouldn't calculate coverage number - if skippy is going to fail. - - This shows a 5% speedup with Roboto already. - - src/hb-ot-layout-gpos-table.hh | 15 ++++++--------- - 1 file changed, 6 insertions(+), 9 deletions(-) - -commit 7788993bc19bf122f1e143ab64cc1da2ed1865a3 -Author: Behdad Esfahbod -Date: Wed Jan 28 23:01:12 2015 -0800 - - [layout] Use setter method to set c->lookup_props - - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit f4ee48fd7b312550faf9b0be4cd1b2f2849dd08d -Author: Behdad Esfahbod -Date: Wed Jan 28 22:53:54 2015 -0800 - - [layout] Remove unused wrapper method - - src/hb-ot-layout-gsubgpos-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit 7b7129c7a997def599fb4d2ba05fda40d27aed20 -Author: Behdad Esfahbod -Date: Wed Jan 28 21:46:07 2015 -0800 - - Add hb_frozen_set_t - - I experimented with replacing use of hb_set_digest_t with this new - hb_frozen_set_t, hoping to get a huge speedup for busy lookups - (like kern lookup in Roboto), but I only got 6% speendup in Roboto - and 4% in NotoNastaliqUrduDraft :(. - - src/hb-set-private.hh | 57 - ++++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 56 insertions(+), 1 deletion(-) - -commit 241eac9559465fa79f396570af4e87f455b7e9d5 -Author: Behdad Esfahbod -Date: Wed Jan 28 20:55:42 2015 -0800 - - Hide internals of lookup accelerators - - src/hb-ot-layout-gsub-table.hh | 5 +++-- - src/hb-ot-layout-private.hh | 5 +++++ - src/hb-ot-layout.cc | 6 +++--- - 3 files changed, 11 insertions(+), 5 deletions(-) - -commit e2d4e8480d85436a3acad8145acac345ed593f5a -Author: Behdad Esfahbod -Date: Wed Jan 28 20:29:48 2015 -0800 - - [util] Add convenience "make lib" target - - util/Makefile.am | 4 ++++ - 1 file changed, 4 insertions(+) - -commit faaae64bf28abdcdd15185374bc09a3809794118 -Merge: 7888a6b0 9768e651 -Author: Behdad Esfahbod -Date: Wed Feb 25 15:34:34 2015 -0800 - - Merge pull request #85 from KonstantinRitt/define_inline - - Fix build with MSVC on CE - -commit 9ee176ee978e6668c4faf00028811ce70979122e -Author: Collin Fair -Date: Sat Feb 14 09:59:44 2015 -0500 - - Stop hb-shape docs leaking into hb-view - - util/options.cc | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -commit 952b8dbdf61da9b4814e09ad3c1b9b76483bef5c -Author: Collin Fair -Date: Sat Feb 14 09:44:00 2015 -0500 - - 'All' of the above, not 'each' - - util/options.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 9e867b64467c46eea5cc9b1d5a9404a1221bbbfc -Author: Collin Fair -Date: Sat Feb 14 09:32:04 2015 -0500 - - Remove reference to --help-output-content in --help-output (as - --help-output-format's options aren't available in hb-view) - - util/options.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1d55ffeb66381889f11ebb9039ca4ec2ca5efbab -Author: Collin Fair -Date: Sat Feb 14 09:29:35 2015 -0500 - - Add serialization syntax documentation. Clarify naming and wording - in --help-output/--help-format - - util/options.cc | 30 ++++++++++++++++-------------- - 1 file changed, 16 insertions(+), 14 deletions(-) - -commit 9768e651be0561f07d6f38c3ed8bc5ee04882990 -Author: Konstantin Ritt -Date: Sat Feb 14 00:58:51 2015 +0400 - - Fix build with MSVC on CE - - This code is C++ only. There isn't a single C++ compiler that fails to - understand the "inline" keyword, since it's required by C++98. Any - compiler older than C++98 is likely to choke on the template usage - further down, so this isn't necessary. - - Moreover, the C++ standard says you cannot define macros. - [lib.macro.names] says "Nor shall such a translation unit define - macros - for names lexically identical to keywords." -- technically, it's a - promise that the Standard Library headers won't do it, the wording - means - that the entire translation unit won't do it, which implies no source - can do it. - - MSVC complains about it: - fatal error C1189: #error : The C++ Standard Library forbids - macroizing - keywords. Enable warning C4005 to find the forbidden macro. - - Author: Thiago Macieira - - src/hb-private.hh | 10 ---------- - 1 file changed, 10 deletions(-) - -commit 7888a6b07a9922cedd3e0d235959058e0011357b -Author: Behdad Esfahbod -Date: Wed Jan 28 12:40:40 2015 -0800 - - [ft] Handle negative scales with vertical writing - - src/hb-ft.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 982d94eaa2a377616f22f39427e5ed9f1ce43263 -Author: Behdad Esfahbod -Date: Wed Jan 28 10:51:33 2015 -0800 - - [coretext] Don't generate notdef glyph for default-ignorables - - As discovered on Chrome Mac: - https://code.google.com/p/chromium/issues/detail?id=452326 - - src/hb-coretext.cc | 2 ++ - src/hb-ot-shape.cc | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -commit 6917a045fd8d16952cad75fda8b291b11e1d3564 -Author: Behdad Esfahbod -Date: Wed Jan 28 10:43:32 2015 -0800 - - [coretext] Unbreak glyph positioning in presence of notdef runs - - As discovered on Chrome Mac: - https://code.google.com/p/chromium/issues/detail?id=452326 - - This was originally broken in: - - commit 5a0eed3b50629be4826e4e9428f2c3255195395d - Author: Behdad Esfahbod - Date: Mon Aug 11 23:47:16 2014 -0400 - - [coretext] Implement vertical shaping - - src/hb-coretext.cc | 35 +++++++++++++++++++++++++++-------- - 1 file changed, 27 insertions(+), 8 deletions(-) - -commit 1eff4350239b0768e1042b52db9fb1c0d266f96a -Author: Behdad Esfahbod -Date: Tue Jan 27 12:26:04 2015 -0800 - - Minor optimization - - src/hb-ot-shape-normalize.cc | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit 675956aca01fc4e005a338af43d1c1f4f938abd1 -Author: Konstantin Ritt -Date: Tue Jan 27 11:23:07 2015 +0400 - - Do not leak hb_language_t on hb_language_item_t destruction - - src/hb-common.cc | 1 + - 1 file changed, 1 insertion(+) - -commit b306f9674a599da50754d24fa5aefcb6bba04420 -Author: Konstantin Ritt -Date: Tue Jan 27 20:08:41 2015 +0400 - - Minor improvement to HB_SHAPER_DATA_DESTROY - - src/hb-shaper-private.hh | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit 61820bc4ca1f02433db4be7c81f27cf97e2bd519 -Author: Behdad Esfahbod -Date: Mon Jan 26 14:25:52 2015 -0800 - - [API] Add hb_buffer_add_latin1() - - This is by no ways to promote non-Unicode encodings. This is an entry - point that takes Unicode codepoints that happen to all be the first - 256 characters and hence fit in 8bit strings. This is useful eg - in Chrome - where strings that can fit in 8bit are implemented that way, and this - avoids copying into UTF-8 or UTF-16. - - Perhaps we should rename this to hb_buffer_add_codepoints8(). - I'm also - curious if anyone would be really interested in - hb_buffer_add_codepoints16(). - - Please discuss! - - src/hb-buffer.cc | 36 +++++++++++++++++++++++++------- - src/hb-buffer.h | 8 ++++++++ - src/hb-utf-private.hh | 57 - ++++++++++++++++++++++++++++++++++++++------------- - 3 files changed, 80 insertions(+), 21 deletions(-) - -commit 78c6e86c04f12154c88b9f9264d0bd50b721699b -Author: Behdad Esfahbod -Date: Mon Jan 26 14:08:36 2015 -0800 - - Fix hb_buffer_add_codepoints to actually NOT validate - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 70c25ee215635db23eb0757641bd372940c0d85d -Merge: 28f5e0b2 f3537b62 -Author: Behdad Esfahbod -Date: Sun Jan 25 13:06:03 2015 -0800 - - Merge pull request #81 from KonstantinRitt/fixes/build/win8phone - - winrt_buildfixes - -commit f3537b620b0a7392ea27f01f465c5ba79459c858 -Author: Konstantin Ritt -Date: Sun Jan 25 09:50:51 2015 +0400 - - Move some code around - - Just to keep Windows specific workarounds in a single place. - - src/hb-private.hh | 25 ++++++++++++------------- - 1 file changed, 12 insertions(+), 13 deletions(-) - -commit afb62d88d78cacb6b881aaf329a654fd32f5ae29 -Author: Konstantin Ritt -Date: Sun Jan 25 08:16:26 2015 +0400 - - Do not define MemoryBarrier on WinCE - - There is a _HBMemoryBarrier() wrapper function that emulates - MemoryBarrier() behavior when it is not defined. - - src/hb-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 7db326a15b173c0d101adc608bf551a628c65dcd -Author: Konstantin Ritt -Date: Sun Jan 25 08:13:24 2015 +0400 - - Fix build on WinRT - - There is no environment (like WinCE) and the basic version - of InitializeCriticalSection is unsupported. - - https://codereview.qt-project.org/#/c/92496/ - - src/hb-mutex-private.hh | 4 ++++ - src/hb-private.hh | 2 ++ - 2 files changed, 6 insertions(+) - -commit 28f5e0b2f41670617bd778660364bbd58b1b68f2 -Author: Behdad Esfahbod -Date: Fri Jan 23 12:45:35 2015 -0800 - - 0.9.38 - - NEWS | 23 +++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 24 insertions(+), 1 deletion(-) - -commit a319d0777b746a2bbe5cd5a206172f1580da3379 -Author: Behdad Esfahbod -Date: Fri Jan 23 12:44:24 2015 -0800 - - [ft] Handle negative x_scale / y_scale - - src/hb-ft.cc | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -commit b0b38bb892473d9a65e06dd3b4713da39f92bef9 -Author: Behdad Esfahbod -Date: Wed Jan 21 19:19:33 2015 -0800 - - [coretext] Fix positioning of notdef - - src/hb-coretext.cc | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - -commit 70622e5089c01ea16fd9deed11cb39d43145c121 -Author: Behdad Esfahbod -Date: Wed Jan 21 18:50:57 2015 -0800 - - [coretext] Fix scaling - - Before we were not accounting for possible differences in x_scale and - y_scale, as well as the signs of those. All should be in good shape - now. - - src/hb-coretext.cc | 26 +++++++++++++++++++------- - 1 file changed, 19 insertions(+), 7 deletions(-) - -commit 221ba02b0816584a02471037edae7cec9c1b8acc -Author: Behdad Esfahbod -Date: Wed Jan 21 16:42:09 2015 -0800 - - [coretext] Use vertical advance for notdef in vertical direction - - src/hb-coretext.cc | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit 7988da24c507ee310772f72cc5bcfd3c0a1187a0 -Author: Behdad Esfahbod -Date: Wed Jan 21 18:33:50 2015 -0800 - - Add convenience make target "make lib" in src/ - - src/Makefile.am | 3 +++ - 1 file changed, 3 insertions(+) - -commit 31d48dd919e3b4a0bec5ede384f76db9b44f4d71 -Author: Behdad Esfahbod -Date: Wed Jan 21 01:57:44 2015 -0800 - - Add README.python - - README.python | 26 ++++++++++++++++++++++++++ - 1 file changed, 26 insertions(+) - -commit ca1c2813dd0b082a8c418bd3edd3f6cba97bd5f0 -Author: Behdad Esfahbod -Date: Wed Jan 21 01:51:48 2015 -0800 - - [bindings] Add README.python - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit cd4eb96abb90a84b42e9b288e39bad759e4411a0 -Author: Behdad Esfahbod -Date: Tue Jan 20 12:30:45 2015 -0800 - - [util] Add --font-size to hb-shape - - Also makes hb-view to use 8 bits of subpixel precision and shape at - requested size, instead of always shaping at upem and scaling results. - - util/hb-ot-shape-closure.cc | 2 +- - util/hb-shape.cc | 2 +- - util/hb-view.cc | 5 ++++- - util/helper-cairo.cc | 16 ++++++++-------- - util/helper-cairo.hh | 5 ++--- - util/main-font-text.hh | 4 ++-- - util/options.cc | 44 - +++++++++++++++++++++++++++++++++++++++++--- - util/options.hh | 16 ++++++++++++---- - util/view-cairo.cc | 2 +- - util/view-cairo.hh | 8 ++++---- - 10 files changed, 76 insertions(+), 28 deletions(-) - -commit 5789ca69d7464bab5fa0c5bdf404f3afaa490faf -Author: Behdad Esfahbod -Date: Fri Jan 9 14:22:01 2015 -0800 - - [util] Minor - - util/options.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 67dfa8c7c2f2e9040a9c60c680f739ada4a35fb5 -Author: Behdad Esfahbod -Date: Mon Jan 19 17:00:31 2015 -0800 - - When matching second glyph of kerning pairs, use bsearch - - Roboto has glyphs (like 'F') that have 200 kerning pairs. - Add a handcoded bsearch instead of previous linear search. - - This doesn't show much speedup though, apparently we spend the - bulk of the time somewhere before here. - - src/hb-ot-layout-gpos-table.hh | 21 ++++++++++++++++----- - 1 file changed, 16 insertions(+), 5 deletions(-) - -commit e9f5c65be027eb7759ab819e267e24dff3b017b6 -Author: Behdad Esfahbod -Date: Mon Jan 19 14:42:11 2015 -0800 - - [bindings] Minor - - src/sample.py | 2 ++ - 1 file changed, 2 insertions(+) - -commit 3704628d1f124234324b5f2bdd5fdd61c14c7801 -Merge: 1aaa7d67 5eb939dd -Author: Behdad Esfahbod -Date: Mon Jan 19 16:15:00 2015 -0800 - - Merge pull request #77 from roozbehp/master - - Change New Tai Lue shaping engine from SEA to default - -commit 5eb939ddfe9ef217da2e48d7d0f1f4b7501714ad -Author: Roozbeh Pournader -Date: Sun Jan 18 14:30:08 2015 -0800 - - Change New Tai Lue shaping engine from SEA to default - - This is to reflect the UTC decision to change the encoding model of - New Tai Lue from logical to visual to be similar to Thai, Lao, and - Tai Viet: http://www.unicode.org/L2/L2014/14250.htm#141-C26 - - The visual encoding is already the current practice of encoding New - Tai Lue on the web anyway: - http://www.unicode.org/L2/L2014/14195-newtailue.txt - - Fixes behdad/harfbuzz#66. - - src/hb-ot-shape-complex-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1aaa7d6799b42b392dd191d3c12011721ef99e74 -Author: Behdad Esfahbod -Date: Sat Jan 17 20:16:56 2015 -0800 - - [indic] Fix out-of-bounds access - - src/gen-indic-table.py | 2 +- - src/hb-ot-shape-complex-indic-table.cc | 36 - +++++++++++++++++----------------- - 2 files changed, 19 insertions(+), 19 deletions(-) - -commit 238d6a38f2ceb7d8dceec9365a823f032b3b9f7d -Author: Behdad Esfahbod -Date: Wed Jan 7 10:51:44 2015 -0800 - - [bindings] Update sample.py - - src/sample.py | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 2cd5323531dcd800549b2cb1cb51d708e72ab2d8 -Author: Behdad Esfahbod -Date: Tue Jan 6 19:16:38 2015 -0800 - - [bindings] Use hb_glib_blob_create() in sample - - hb_blob_create() is considered C-only API. - - src/hb-blob.cc | 8 ++++---- - src/sample.py | 19 +++++++++---------- - 2 files changed, 13 insertions(+), 14 deletions(-) - -commit 0ef179e2dc040c13497af847b8c1cec846dbdbf9 -Author: Behdad Esfahbod -Date: Tue Jan 6 16:58:33 2015 -0800 - - [glib] Add hb_glib_blob_create() that takes GBytes - - src/hb-glib.cc | 11 +++++++++++ - src/hb-glib.h | 3 +++ - 2 files changed, 14 insertions(+) - -commit b91904a40da6287f84bc79de60674fa57232ec09 -Author: Behdad Esfahbod -Date: Tue Jan 6 15:43:14 2015 -0800 - - [bindings] Replace deprecated allow-none with optional and nullable - - src/hb-blob.cc | 4 ++-- - src/hb-shape.cc | 2 +- - src/hb-unicode.cc | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit 81a31f3eff44a85bb2160d51156a01a18f0a97df -Author: Behdad Esfahbod -Date: Tue Jan 6 15:37:31 2015 -0800 - - [bindings] Make sample Python 2/3 compatible - - src/sample.py | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -commit b632e7997d9cb6e4782cab6d8c62e8e5edaa4cb0 -Author: Behdad Esfahbod -Date: Tue Jan 6 14:05:26 2015 -0800 - - Fix up gobject-introspection a bit - - Minimal shaping works now! - - src/hb-blob.cc | 6 +++--- - src/hb-buffer.cc | 2 +- - src/sample.py | 34 ++++++++++++++++++++++++++++------ - 3 files changed, 32 insertions(+), 10 deletions(-) - -commit 3d1a666a8629a8502a2bcf23ab943e2b39a0da92 -Author: Behdad Esfahbod -Date: Mon Jan 5 14:43:13 2015 -0800 - - Remove hardcoded ICU include paths. - - ICU exports them using LOCAL_EXPORT_C_INCLUDE_DIRS. - - https://android-review.googlesource.com/#/c/121311/ - - Android.mk | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 8cb41cb9508eb1bb6319e92f900cfe5e8a131be3 -Merge: 365c03fc fb85d618 -Author: Behdad Esfahbod -Date: Sun Jan 4 20:32:18 2015 -0800 - - Merge pull request #76 from cpeterso/cpeterso/Wunused-function - - Add #ifdef HB_USE_ATEXIT to fix -Wunused-function warnings - -commit fb85d618f5883458bacf0ecb0894772291a2d738 -Author: Chris Peterson -Date: Sun Jan 4 19:31:10 2015 -0800 - - Add #ifdef HB_USE_ATEXIT to fix -Wunused-function warnings - - src/hb-common.cc | 2 +- - src/hb-ft.cc | 4 +++- - src/hb-shape.cc | 4 +++- - src/hb-shaper.cc | 4 +++- - 4 files changed, 10 insertions(+), 4 deletions(-) - -commit 365c03fc2bcdb4098314a0e123c46018fb882586 -Merge: c36c4a99 d1897a98 -Author: Behdad Esfahbod -Date: Sat Jan 3 21:55:30 2015 -0800 - - Merge pull request #75 from cpeterso/cpeterso/Wunused-value - - Fix hb_atomic_ptr_cmpexch -Wunused-value warnings - -commit d1897a98d8da40cffb57c07099a9a93cfeaacc36 -Author: Chris Peterson -Date: Sat Jan 3 19:46:19 2015 -0800 - - Fix hb_atomic_ptr_cmpexch -Wunused-value warnings - - src/hb-common.cc | 2 +- - src/hb-icu.cc | 4 +--- - 2 files changed, 2 insertions(+), 4 deletions(-) - -commit c36c4a9924609df648e62e47fa017b19b844fd98 -Author: Behdad Esfahbod -Date: Fri Jan 2 14:09:23 2015 -0800 - - Add missing va_end() - - Fixes https://github.com/behdad/harfbuzz/pull/74 - - util/options.cc | 1 + - 1 file changed, 1 insertion(+) - -commit f34aaba8687a20794835e2dc878c52d1b53e6f85 -Author: Behdad Esfahbod -Date: Sun Dec 28 18:56:15 2014 -0800 - - [ft] Don't set font ppem - - For discussion see: - - http://lists.freedesktop.org/archives/harfbuzz/2012-April/001905.html - - Over time we have had added NO_HINTING all over the place in hb-ft. - Finish it off. - Not setting ppem on hb-font disables get_contour_point() calls which - is good anyway. - - See comments in the commit. - - src/hb-ft.cc | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 350f3a02ce225e5d78db8ac96de1351ff9f96dd5 -Author: Behdad Esfahbod -Date: Sun Dec 28 17:44:26 2014 -0800 - - [ft] Add hb_ft_face_create_referenced() and - hb_ft_font_create_referenced() - - When I originally wrote hb-ft, FreeType objects did not support - reference - counting. As such, hb_ft_face_create() and hb_ft_font_create() had a - "destroy" callback and client was responsible for making sure - FT_Face is - kept around as long as the hb-font/face are alive. - - However, since this was not clearly documented, some clienets didn't - correctly did that. In particular, some clients assumed that - it's safe - to destroy FT_Face and then hb_face_t. This, indeed, used to work, - until - 45fd9424c723f115ca98995b8f8a25185a6fc71d, which make face destroy - access - font tables. - - Now, I fixed that issue in 395b35903e052aecc97d0807e4f813c64c0d2b0b - since - the access was not needed, but the problem remains that not all - clients - handle this correctly. See: - - https://bugs.freedesktop.org/show_bug.cgi?id=86300 - - Fortunately, FT_Reference_Face() was added to FreeType in 2010, - and so we - can use it now. Originally I wanted to change hb_ft_face_create() and - hb_ft_font_create() to reference the face if destroy==NULL was - passed in. - That would improve pretty much all clients, with little undesired - effects. - Except that FreeType itself, when compiled with HarfBuzz support, - calls - hb_ft_font_create() with destroy==NULL and saves the resulting - hb-font on - the ft-face (why does it not free it immediately?). Making hb-face - reference ft-face causes a cycling reference there. At least, - that's my - current understanding. - - At any rate, a cleaner approach, even if it means all clients will - need a - change, is to introduce brand new API. Which this commit does. - - Some comments added to hb-ft.h, hoping to make future clients - make better - choices. - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=75299 - - configure.ac | 4 ++-- - src/hb-ft.cc | 32 ++++++++++++++++++++++++++++++++ - src/hb-ft.h | 59 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- - 3 files changed, 92 insertions(+), 3 deletions(-) - -commit 9a3b74884b2e41c7040611030f4336f13d18fd3e -Author: Behdad Esfahbod -Date: Sun Dec 28 17:27:39 2014 -0800 - - Remove redundant check for FT_Face_GetCharVariantIndex - - We require FreeType >= 2.8.3. This symbol was introduced earlier - than that. - - configure.ac | 9 +-------- - src/hb-ft.cc | 2 -- - 2 files changed, 1 insertion(+), 10 deletions(-) - -commit 1226b2e930aa456cc05bbe621c96f4286a95cff6 -Author: Behdad Esfahbod -Date: Sun Dec 28 17:04:23 2014 -0800 - - Fix FreeType version check - - configure.ac | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit affacf2f37db767ab8df7f2db6cd9e0e9b0a2b8a -Author: Behdad Esfahbod -Date: Sun Dec 28 16:20:31 2014 -0800 - - [ft] Open blob in READONLY mode - - HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE is deprecated and fairly - useless now. - - src/hb-ft.cc | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -commit 395b35903e052aecc97d0807e4f813c64c0d2b0b -Author: Behdad Esfahbod -Date: Sun Dec 28 16:03:26 2014 -0800 - - Avoid accessing layout tables at face destruction - - "Fixes" https://bugs.freedesktop.org/show_bug.cgi?id=86300 - - Based on discussion someone else who had a similar issue, most - probably - the user is releasing FT_Face before destructing hb_face_t / - hb_font_t. - While that's a client bug, and while we can (and should) use FreeType - refcounting to help avoid that, it happens that we were accessing - the table when we didn't really have to. Avoid that. - - src/hb-ot-layout-private.hh | 3 +-- - src/hb-ot-layout.cc | 4 ++-- - src/hb-ot-shape-complex-arabic-fallback.hh | 2 +- - 3 files changed, 4 insertions(+), 5 deletions(-) - -commit 7d5e7613ced3dd39d05df83ca7e8952cbecd68f6 -Author: Behdad Esfahbod -Date: Thu Dec 18 18:22:21 2014 -0800 - - Fail blob creation if length overflows or is too large - - Fail if blob start plus length overflows; or if blob length - is greater than 2GB. It takes a while for fonts to get to that - size. In the mean time, it protects against bugs like this: - - http://www.icu-project.org/trac/ticket/11450 - - Also avoids some weird issues with 32bit vs 64bit systems - as we accept length as unsigned int. As such, a length of - -1 will cause overflow on 32bit machines, but happily - accepted on a 64bit machine. Avoid that. - - src/hb-blob.cc | 5 ++++- - test/api/test-blob.c | 3 +++ - 2 files changed, 7 insertions(+), 1 deletion(-) - -commit d5a5052098b0aa79ff55c235e61a9db477c4120f -Author: Behdad Esfahbod -Date: Thu Dec 18 18:09:41 2014 -0800 - - Assert that blob length doesn't overflow address. - - This will crash now, if blob was created with wrong length. - Check for that coming next commit. - - src/hb-open-type-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 66e37409b3bc1eddc86704ae26d9176677ce6aa6 -Author: Behdad Esfahbod -Date: Wed Dec 17 12:09:17 2014 -0800 - - 0.9.37 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit 093c520de506aec74f3fb1e195c0ca85813424dd -Author: Behdad Esfahbod -Date: Fri Dec 12 21:07:53 2014 -0800 - - [otlayout] Mark variables that are C arrays as opposed to OT::ArrayOf - - src/hb-ot-layout-gpos-table.hh | 24 +++++++-------- - src/hb-ot-layout-gsubgpos-private.hh | 60 - ++++++++++++++++++------------------ - 2 files changed, 42 insertions(+), 42 deletions(-) - -commit 9df0a520306a491f973d42965597bfda6023e508 -Author: Behdad Esfahbod -Date: Fri Dec 12 20:54:28 2014 -0800 - - [otlayout] Avoid invalid access with Context format 3 - - src/hb-ot-layout-gsubgpos-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 295ef1dd5229f47d8e0eb5b4eb48c90a6b470073 -Author: Behdad Esfahbod -Date: Fri Dec 12 20:43:18 2014 -0800 - - [ot] Debug get_coverage - - src/hb-ot-layout-gsubgpos-private.hh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 00f6a8e334ec4c586e4e633a95b411ccb50306d3 -Author: Behdad Esfahbod -Date: Fri Dec 12 20:36:49 2014 -0800 - - [ot] Print format in dispatch trace - - src/hb-ot-layout-gpos-table.hh | 16 ++++++++-------- - src/hb-ot-layout-gsub-table.hh | 14 +++++++------- - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- - 3 files changed, 19 insertions(+), 19 deletions(-) - -commit 5c7d6f02d71362c2b192a7d96e6181977682921c -Author: Behdad Esfahbod -Date: Fri Dec 12 20:28:49 2014 -0800 - - Minor - - src/hb-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 153beebba9b76901b8b62b90ba0dc69462ae2090 -Author: Behdad Esfahbod -Date: Fri Dec 12 19:46:09 2014 -0800 - - [ot] Make sure all toplevel tables have tableTag - - src/hb-open-file-private.hh | 2 ++ - src/hb-ot-hhea-table.hh | 2 ++ - src/hb-ot-hmtx-table.hh | 2 ++ - 3 files changed, 6 insertions(+) - -commit 282b13f9b4d86b091714de7fbddc94b3e3ff3d91 -Author: Behdad Esfahbod -Date: Fri Dec 12 19:32:46 2014 -0800 - - [sanitize] Improve debug output some more - - src/hb-open-type-private.hh | 30 ++++++++++++++++-------------- - 1 file changed, 16 insertions(+), 14 deletions(-) - -commit 0766ee1f4e6046598a2e8fb1b167c3942b4a87a0 -Author: Behdad Esfahbod -Date: Fri Dec 12 18:23:20 2014 -0800 - - [sanitize] Improve debug output - - src/hb-open-type-private.hh | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit e6f80fa1044243898c402ec6a59d6c1b5420be53 -Author: Behdad Esfahbod -Date: Wed Dec 10 12:05:24 2014 -0800 - - [indic] Allow ZWJ/ZWNJ before SM - - In Oriya, a ZWJ/ZWNJ might be added before candrabindu to encourage - or stop ligation of the candrabindu. This is clearly specified in - the Unicode section on Oriya. Allow it there. Note that Uniscribe - doesn't allow this. - - Micro tests added using Noto Sans Oriya draft. - - No changes in numbers. Currently at: - - BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%) - DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) - GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) - GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) - KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%) - KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) - MALAYALAM: 1048147 out of 1048334 tests passed. 187 failed - (0.0178378%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%) - TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - test/shaping/Makefile.am | 1 + - .../sha1sum/5028afb650b1bb718ed2131e872fbcce57828fff.ttf | Bin 0 -> - 4720 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/indic-joiner-candrabindu.tests | 2 ++ - 6 files changed, 6 insertions(+), 1 deletion(-) - -commit c0e95abc5f3f14121483b71f10837828a3a1d73a -Author: Behdad Esfahbod -Date: Thu Nov 20 14:42:24 2014 -0800 - - 0.9.36 - - NEWS | 12 ++++++++++++ - configure.ac | 2 +- - 2 files changed, 13 insertions(+), 1 deletion(-) - -commit fde3e4a423871463c883cb969e99c29cb6f69f6b -Author: Behdad Esfahbod -Date: Wed Oct 29 11:23:08 2014 -0700 - - In hb_ot_collect_glyphs(), don't recurse to a lookup more than once - - Otherwise, we might process a lookup thousands of times, with no - benefit. This pathological case was hit by Noto Nastaliq Urdu Draft - in Firefox's code to determine whether space glyph is involved in - any GSUB/GPOS rules. A test page is at http://behdad.org/urdu - - See: - https://bugzilla.mozilla.org/show_bug.cgi?id=1090869 - - src/hb-ot-layout-gsubgpos-private.hh | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -commit 5a5640d8506ccfc99fd119e89e829170d1fea421 -Author: Behdad Esfahbod -Date: Tue Oct 14 21:26:13 2014 -0700 - - Move code around - - src/hb-open-type-private.hh | 50 - ++++++++++++++++++++++----------------------- - 1 file changed, 25 insertions(+), 25 deletions(-) - -commit 666b42f73bd1f516657b206ef738108825bf239f -Author: Behdad Esfahbod -Date: Tue Oct 14 21:24:59 2014 -0700 - - Move macros around - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=84491 - - src/hb-open-type-private.hh | 63 - ++++++++++++++++++++++++++++++++++++++------- - src/hb-private.hh | 41 ----------------------------- - src/hb-uniscribe.cc | 6 +++++ - 3 files changed, 60 insertions(+), 50 deletions(-) - -commit 5c87120b8178566ddae99d9825edc24f9b87ea3d -Author: Behdad Esfahbod -Date: Tue Oct 14 20:07:31 2014 -0700 - - Fix misc warnings - - Fixes https://github.com/behdad/harfbuzz/pull/51 - - src/hb-buffer-deserialize-json.rl | 4 ++-- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-private.hh | 6 +++--- - 3 files changed, 6 insertions(+), 6 deletions(-) - -commit a1f27ac3c48cfe6d532dc422cf256952fea472ed -Author: Behdad Esfahbod -Date: Thu Oct 2 16:54:33 2014 -0400 - - Update test expectation for previous commit - - test/shaping/tests/arabic-fallback-shaping.tests | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8afaf096870d7895cf2fffb6438b02c0ad1b6c52 -Author: Behdad Esfahbod -Date: Thu Oct 2 16:40:41 2014 -0400 - - [ft] Add NO_HINTING in a couple other places - - src/hb-ft.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 7228011411f0e490ad1ba9894dd0d576823903ea -Author: Behdad Esfahbod -Date: Wed Oct 1 18:58:43 2014 -0400 - - [travis] Fix clang again - - .travis.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 406a020e5228d4a04da6282f5a75165bab7a483e -Author: Behdad Esfahbod -Date: Wed Oct 1 18:54:55 2014 -0400 - - [travis] Fail build if coveralls fails - - .travis.yml | 15 ++------------- - 1 file changed, 2 insertions(+), 13 deletions(-) - -commit a8aa20260dbd9af9cbcc7d545fa8b41b07aae276 -Author: Behdad Esfahbod -Date: Wed Oct 1 18:48:40 2014 -0400 - - [travis] Only run coveralls under gcc - - .travis.yml | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 5de0407337d630117e424b7c715b7cbd432f4ef9 -Author: Behdad Esfahbod -Date: Wed Oct 1 18:18:25 2014 -0400 - - Help clang with gcov - - src/check-defs.sh | 2 +- - src/check-symbols.sh | 6 +++--- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit ef40ca8e5e830231539dc61088b58e907a840629 -Author: Behdad Esfahbod -Date: Wed Oct 1 18:07:27 2014 -0400 - - [travis] Try to make coverage work with clang - - .travis.yml | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -commit 52784da17b7278f2587168234878bb15d918c9fe -Author: Behdad Esfahbod -Date: Wed Oct 1 17:57:43 2014 -0400 - - [travis] Minor - - README | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit f2c9005f5123c7f9b227fd9ac9a3438c5fe4cf47 -Author: Behdad Esfahbod -Date: Wed Oct 1 17:45:17 2014 -0400 - - Add README.md symlink to make github happy - - README.md | 1 + - 1 file changed, 1 insertion(+) - -commit 40987e8aaca4155d9cff211549e8d23f24c334e5 -Author: Behdad Esfahbod -Date: Wed Oct 1 17:44:30 2014 -0400 - - [travis] Re-enable clang - - .travis.yml | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -commit 5400ac476e5a5bcc66559fcfb05a683a6b433ea1 -Author: Behdad Esfahbod -Date: Wed Oct 1 17:41:41 2014 -0400 - - Add build and coverage status links - - README | 3 +++ - 1 file changed, 3 insertions(+) - -commit 19360e0a5609c65842a989587b01a4dc7c9eae36 -Author: Behdad Esfahbod -Date: Wed Oct 1 17:35:03 2014 -0400 - - [travis] Report matrix settings to help debugging - - .travis.yml | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 9b89fc52f49b80df1f27ac7de69e0152bdcc94d6 -Author: Behdad Esfahbod -Date: Wed Oct 1 17:20:31 2014 -0400 - - [travis] More coveralls - - .travis.yml | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit a68f2b62c1f24009993911b1dbcb76b821e58c51 -Author: Behdad Esfahbod -Date: Wed Oct 1 17:05:58 2014 -0400 - - [travis] Give coveralls a hand - - .travis.yml | 1 + - 1 file changed, 1 insertion(+) - -commit 5194d647e13aa5ba2cfcdbdcd4a659dc5bd11418 -Author: Behdad Esfahbod -Date: Wed Oct 1 17:03:26 2014 -0400 - - [travis] Disable clang for now - - .travis.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 715f27f85f97fee13b119f60037db5c139489ee6 -Author: Behdad Esfahbod -Date: Wed Oct 1 16:53:00 2014 -0400 - - [test] Fixup test - - test/shaping/tests/hangul-jamo.tests | 9 --------- - 1 file changed, 9 deletions(-) - -commit 2a508ddae5de3852243725ce22caa3dcffccb83e -Author: Behdad Esfahbod -Date: Wed Oct 1 16:49:22 2014 -0400 - - [travis] Another try at coveralls.io - - .travis.yml | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit dfe8078e5be46cab5e67aed977749c1d6725e6a7 -Author: Behdad Esfahbod -Date: Wed Oct 1 16:38:47 2014 -0400 - - [travis] First try to hookup coveralls.io code coverage tracking - - .travis.yml | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 1b387571e4d0eed883f1ae8ec85cf0e818b4a7f9 -Author: Behdad Esfahbod -Date: Wed Oct 1 16:14:59 2014 -0400 - - [travis] Unbreak - - .travis.yml | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -commit e281ed360dfdf803aea87b6078983867d08e07a7 -Author: Behdad Esfahbod -Date: Wed Oct 1 16:09:08 2014 -0400 - - [travis] Minor - - .travis.yml | 23 +++++++++++++++++++++-- - 1 file changed, 21 insertions(+), 2 deletions(-) - -commit c0b82ba32a1987902a3b9c05b46f8be6b121883a -Author: Behdad Esfahbod -Date: Wed Oct 1 14:24:07 2014 -0400 - - Create ragel-generated files in srcdir - - src/Makefile.am | 25 ++++++++++--------------- - 1 file changed, 10 insertions(+), 15 deletions(-) - -commit 79bbb10b0da49ace763a50f259c2ea687143f7ea -Author: Behdad Esfahbod -Date: Wed Oct 1 13:33:21 2014 -0400 - - Clean ragel-generated headers in maintainercleanfiles - - src/Makefile.am | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 8971cac83eb4f06847abfa3eaa15857d27141810 -Author: Behdad Esfahbod -Date: Wed Oct 1 12:41:03 2014 -0400 - - Don't use tmp files in Makefile - - Useful for code-coverage generation of the ragel-generated files - as they will now contain the correct .hh filename in them. - - src/Makefile.am | 27 +++++++++++++-------------- - 1 file changed, 13 insertions(+), 14 deletions(-) - -commit 22723186652224a635f1dad5cda0f753e78c301d -Author: Behdad Esfahbod -Date: Wed Oct 1 11:56:07 2014 -0400 - - check-static-inits: Filter out zero-length sections - - When compiling with -O0, zero-sized constructors were showing up - and confusing the test. - - src/check-static-inits.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b695a3dc2300ed970a4154ad8b997407b3cb4faf -Author: Behdad Esfahbod -Date: Wed Oct 1 11:55:14 2014 -0400 - - check-static-inits: check for static finalizers - - src/check-static-inits.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 250398b1e4f102e4e44eeb9e2aebf0cd2d397344 -Author: Behdad Esfahbod -Date: Wed Oct 1 11:28:01 2014 -0400 - - Hide other bubble-sort - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c1e87442621beff98791ce56cfd1ccee506c4ee6 -Author: Behdad Esfahbod -Date: Wed Oct 1 11:07:08 2014 -0400 - - Hide bubble-sort! - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 80f77282264afb1356351024b1f062b2824bba3b -Author: Behdad Esfahbod -Date: Thu Sep 25 17:59:46 2014 +0300 - - [util] Fix ansi output when surface is empty - - util/helper-cairo-ansi.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 156852991e18e5ac256ee4d6b2916931cc274977 -Author: Behdad Esfahbod -Date: Thu Sep 25 17:45:49 2014 +0300 - - [ot-font] Add hb_ot_face_cmap_accelerator_t - - src/hb-ot-font.cc | 113 - +++++++++++++++++++++++++++++++----------------------- - 1 file changed, 66 insertions(+), 47 deletions(-) - -commit d088ccaf11d9475fe0d269ce130b1793b8a1ffbf -Author: Behdad Esfahbod -Date: Thu Sep 25 17:26:56 2014 +0300 - - [ot-font] Minor - - src/hb-ot-font.cc | 23 ++++++++++++----------- - 1 file changed, 12 insertions(+), 11 deletions(-) - -commit d7c160a1530adabbcf33725b105072293115a34c -Author: Behdad Esfahbod -Date: Thu Sep 25 17:15:35 2014 +0300 - - [ot-font] Handle missing vertical metrics tables - - src/hb-ot-font.cc | 26 +++++++++++++++++++------- - 1 file changed, 19 insertions(+), 7 deletions(-) - -commit be1cca270257bfdfee3fbe821175269713acf408 -Author: Behdad Esfahbod -Date: Thu Sep 25 16:53:24 2014 +0300 - - [ot-font] Add metrics_accel_t - - src/hb-ot-font.cc | 111 - ++++++++++++++++++++++-------------------------- - src/hb-ot-hhea-table.hh | 2 +- - src/hb-ot-hmtx-table.hh | 4 +- - 3 files changed, 54 insertions(+), 63 deletions(-) - -commit d41b809e9d21e655129a97c600d28f278fd7e62c -Author: Behdad Esfahbod -Date: Thu Sep 25 13:04:08 2014 +0300 - - [ot-font] Start adding vertical support - - src/hb-ot-font.cc | 57 ++++++++++++++++++++++++++++++++++---------- - src/hb-ot-hhea-table.hh | 63 - ++++++++++++++++++++++++++----------------------- - src/hb-ot-hmtx-table.hh | 35 +++++++++++++++++---------- - 3 files changed, 100 insertions(+), 55 deletions(-) - -commit 22f0de5025aeeef4c8b3ca876d291d4c8e558d94 -Author: Behdad Esfahbod -Date: Mon Aug 25 12:54:57 2014 -0400 - - Fix build - - src/hb-ot-shape-complex-arabic-win1256.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit d457e3f0ff9b27616a34e4cc110d3edbf8796841 -Author: Behdad Esfahbod -Date: Mon Aug 25 12:31:19 2014 -0400 - - [arabic] Don't #include __FILE__ - - Fine! - - https://code.google.com/p/chromium/issues/detail?id=406957 - - src/hb-ot-shape-complex-arabic-win1256.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9ceb673d9c35bb28c9b2ed5359bdd8b23fda0019 -Author: Behdad Esfahbod -Date: Mon Aug 25 11:48:12 2014 -0400 - - [arabic] Allow disabling win1256 fallback code - - By defining HB_NO_WIN1256. - - src/hb-ot-shape-complex-arabic-fallback.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8a9319502141c09695461c386e54f998250420e9 -Author: Behdad Esfahbod -Date: Fri Aug 22 12:06:57 2014 -0400 - - [ot] Prefer Windows platform cmap tables / accept all Unicode - encodingIDs - - Some fonts on the Mac ship with (0,1). - - src/hb-ot-font.cc | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 270971a0fccdf4964fd3e8ab8e5cf53037a3518d -Author: Behdad Esfahbod -Date: Fri Aug 15 14:28:04 2014 -0400 - - [win32] Avoid preprocessor warnings re macros - - src/hb-private.hh | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 8c6bd34d38fb3007c3d660fce0095cc5c7e9962e -Author: Behdad Esfahbod -Date: Thu Aug 14 13:33:37 2014 -0400 - - Fix check-symbols on OS X - - src/check-libstdc++.sh | 14 +++++++------- - src/check-symbols.sh | 8 +++++++- - 2 files changed, 14 insertions(+), 8 deletions(-) - -commit 522b1cc5261c1419166bfb90d2ff634b684be66a -Author: Behdad Esfahbod -Date: Thu Aug 14 13:29:30 2014 -0400 - - [coretext] Hide feature_mappings - - src/hb-coretext.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0d2c2f238bf0a847ecd55a70cc0f081f18a053ac -Author: Behdad Esfahbod -Date: Thu Aug 14 13:25:55 2014 -0400 - - Simplify hb-object - - src/hb-object-private.hh | 118 - +++++++++++++++-------------------------------- - 1 file changed, 36 insertions(+), 82 deletions(-) - -commit 9d861b81f349188a4507350398786a6e94038095 -Author: Behdad Esfahbod -Date: Thu Aug 14 13:15:21 2014 -0400 - - Really fix clang build this time - - src/hb-object-private.hh | 141 - +++++++++++++++++++++++------------------------ - 1 file changed, 68 insertions(+), 73 deletions(-) - -commit 272226f294382b0c6921b36e0e67fc53daa765d3 -Author: Behdad Esfahbod -Date: Thu Aug 14 13:11:33 2014 -0400 - - Revert "Fix build on clang after previous commit" - - This reverts commit 9c80cbc87f23040a334e30c750f64523d9ef10c8. - - src/hb-object-private.hh | 34 +++++++++++++--------------------- - 1 file changed, 13 insertions(+), 21 deletions(-) - -commit 9c80cbc87f23040a334e30c750f64523d9ef10c8 -Author: Behdad Esfahbod -Date: Thu Aug 14 13:09:52 2014 -0400 - - Fix build on clang after previous commit - - src/hb-object-private.hh | 34 +++++++++++++++++++++------------- - 1 file changed, 21 insertions(+), 13 deletions(-) - -commit a5a27073cfff91c4f80209ca8462543130af61dd -Author: Behdad Esfahbod -Date: Thu Aug 14 13:05:36 2014 -0400 - - Rewrite this==NULL checks to avoid undefined behavior - - Fixes https://code.google.com/p/chromium/issues/detail?id=403594 - - src/hb-object-private.hh | 18 ++++++++---------- - 1 file changed, 8 insertions(+), 10 deletions(-) - -commit cc3b2d432b02f9381cdf19e2dd5fbbdd002a750c -Author: Behdad Esfahbod -Date: Thu Aug 14 12:59:16 2014 -0400 - - Remove this==NULL check from face->reference_table() - - Not supposed to happen, and apparently this is undefined in C++. - https://code.google.com/p/chromium/issues/detail?id=403594 - - src/hb-face-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cd7ea4f791dc41d62ad238673e2ea0107883c9e3 -Author: Behdad Esfahbod -Date: Thu Aug 14 12:57:02 2014 -0400 - - Make hb_object_t members private - - In preparation for fixing: - https://code.google.com/p/chromium/issues/detail?id=403594 - - src/hb-object-private.hh | 26 +++++++++++++++++++++----- - src/hb-set-private.hh | 2 +- - 2 files changed, 22 insertions(+), 6 deletions(-) - -commit c4308f895aef93ed884fd54e4ebc65b6d2cfc94a -Author: Behdad Esfahbod -Date: Wed Aug 13 19:42:01 2014 -0400 - - Minor - - test/shaping/hb_test_tools.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cd5a1149d980dc3c17b6bb9d961c761b2671ba1b -Author: Behdad Esfahbod -Date: Wed Aug 13 12:39:34 2014 -0400 - - 0.9.35 - - NEWS | 29 +++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 30 insertions(+), 1 deletion(-) - -commit 20076cc41e673c31305fcb58d37b3b292fd35f83 -Author: Behdad Esfahbod -Date: Tue Aug 12 19:26:35 2014 -0400 - - [coretext] Add version guards for kCTLanguageAttributeName - - src/hb-coretext.cc | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 1b3011c27df531875d432e909ae6b77f115c5017 -Author: Behdad Esfahbod -Date: Tue Aug 12 19:17:19 2014 -0400 - - [coretext] Pass buffer language to CoreText - - src/hb-coretext.cc | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 3eb6a4dbf25b11fce5e0e426e89f7457887aeca0 -Author: Behdad Esfahbod -Date: Tue Aug 12 19:10:33 2014 -0400 - - [coretext] Minor - - src/hb-coretext.cc | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit 08acfe0d3a1d8223a9fa0696703fff63d6c2ea8b -Author: Behdad Esfahbod -Date: Tue Aug 12 18:57:08 2014 -0400 - - [hb-coretext] Fix cluster order of notdef runs in RTL text - - src/hb-coretext.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 30eed75de24ac0b6648a72d98d10bb24a563d7ef -Author: Behdad Esfahbod -Date: Tue Aug 12 17:15:09 2014 -0400 - - [shape-plan] Fix typo! - - The only effect is, if shaper_list was not NULL and no shaper - was found, - we now don't insert anything into cache and return earlier. - - src/hb-shape-plan.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dc9aba6fc53898acd7281b118cec0355d61b1df2 -Author: Behdad Esfahbod -Date: Tue Aug 12 17:14:36 2014 -0400 - - [shape-plan] Better debug messages - - src/hb-shape-plan.cc | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -commit e956c65bf724a8403471362288d2361361b6ac58 -Author: Behdad Esfahbod -Date: Tue Aug 12 17:03:27 2014 -0400 - - [shape-plan] Simplify macro - - src/hb-shape-plan.cc | 22 ++++++++-------------- - 1 file changed, 8 insertions(+), 14 deletions(-) - -commit 29e25550ce8fee3fecc42d20a45ce9c212dc59df -Author: Behdad Esfahbod -Date: Tue Aug 12 17:02:59 2014 -0400 - - Fix gcc warning - - src/hb-private.hh | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 8d5eebc0c6ada01128c6ee384340efdbef7ba29d -Author: Behdad Esfahbod -Date: Tue Aug 12 16:50:22 2014 -0400 - - [shape-plan] Fix shape-plan caching with more than one requested - shaper - - Wasn't breaking out of loop, ouch! - - http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1246370.html - - src/hb-shape-plan.cc | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit bc3d0dc60104f1cda465a5e8ba5b40ed5bec70b9 -Author: Behdad Esfahbod -Date: Tue Aug 12 16:49:18 2014 -0400 - - [shape-plan] Add debug tracing - - src/hb-shape-plan.cc | 26 ++++++++++++++++++++++++++ - 1 file changed, 26 insertions(+) - -commit 81b8d9777b9c38c7e6408591763a4cac6de18e4b -Author: Behdad Esfahbod -Date: Tue Aug 12 15:49:47 2014 -0400 - - [coretext] Fix buffer resizing - - Was very broken. Now fixed and tested. - - src/hb-coretext.cc | 17 +++++++++++++---- - 1 file changed, 13 insertions(+), 4 deletions(-) - -commit c3e924fb9e0e2d4003790817655efd9c5688c7e1 -Author: Behdad Esfahbod -Date: Tue Aug 12 14:25:11 2014 -0400 - - [coretext] Rewind scratch-allocated arrays when not needed anymore - - src/hb-coretext.cc | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -commit 8fd4d70b1450d7261a35ab3dea1c70baea2e5c99 -Author: Behdad Esfahbod -Date: Tue Aug 12 13:12:31 2014 -0400 - - [wince] Two more Windows CE fixes - - Report has it that it builds (and works) now: - - https://codereview.qt-project.org/#/c/92087/ - - src/hb-mutex-private.hh | 2 +- - src/hb-private.hh | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -commit fd0001d7dbe6ede99a9f87f96f231ffb53303be8 -Author: Behdad Esfahbod -Date: Tue Aug 12 10:32:41 2014 -0400 - - [coretext] Compare CGFont and PS name, if CTFont didn't match - - See comments. - - Fixes vertical text. CoreText backend is in very good shape now! - - Also see: - 5a0eed3b50629be4826e4e9428f2c3255195395d - 25f4fb9b56bb3f8bec821571c78f8829e40daa54 - - Fixes http://github.com/behdad/harfbuzz/pull/36 - - src/hb-coretext.cc | 54 - ++++++++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 48 insertions(+), 6 deletions(-) - -commit 5a0eed3b50629be4826e4e9428f2c3255195395d -Author: Behdad Esfahbod -Date: Mon Aug 11 23:47:16 2014 -0400 - - [coretext] Implement vertical shaping - - Currently doesn't work though, we detect font fallback. Apparently - matching on ct_font is not safe for this. Looks like commit - 25f4fb9b56bb3f8bec821571c78f8829e40daa54 wasn't enough after all. - - src/hb-coretext.cc | 127 - ++++++++++++++++++++++++++++++++++------------------- - 1 file changed, 81 insertions(+), 46 deletions(-) - -commit 1b55077f03758e49f93b8bc1de678e96ea58718c -Author: Behdad Esfahbod -Date: Mon Aug 11 20:45:12 2014 -0400 - - [coretext] Remove unnecessary alt_size - - Wasn't needed after a6b8dc87421de33746b0b14d86d2d1532aec02af. - - src/hb-coretext.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 10b1104d791a0b0103c6bbb083b5819f2b7d328d -Author: Behdad Esfahbod -Date: Mon Aug 11 20:02:45 2014 -0400 - - [coretext] Use CFRunStatus - - Assert that all runs had expected direction, and take hint for - non-monotone clusters. - - src/hb-coretext.cc | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -commit fd1a6aa8d029c701b1532efa59ce901109cfc216 -Author: Behdad Esfahbod -Date: Mon Aug 11 20:01:37 2014 -0400 - - [coretext] Minor - - src/hb-coretext.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 130856c705641aa681307b5b51b5fb84e295f382 -Author: Behdad Esfahbod -Date: Mon Aug 11 19:16:26 2014 -0400 - - [coretext] Remove debug printf! - - src/hb-coretext.cc | 1 - - 1 file changed, 1 deletion(-) - -commit b5fbc3b8f560235d014c62e49220574ffcf89349 -Author: Behdad Esfahbod -Date: Mon Aug 11 18:40:01 2014 -0400 - - API: Do not clear buffer-flags in hb_buffer_clear_contents() - - After 763e5466c0a03a7c27020e1e2598e488612529a7, one doesn't - need to set flags for different pieces of text. The flags now - are something the client sets up once, depending on how it - actually uses the buffer. As such, don't clear it in - clear_contents(). - - Tests updated. - - src/hb-buffer-private.hh | 4 +--- - src/hb-buffer.cc | 4 ++-- - test/api/test-buffer.c | 15 ++++++++++++--- - 3 files changed, 15 insertions(+), 8 deletions(-) - -commit 104484cefeca03d95837bba5f39178693c86ce8a -Author: Behdad Esfahbod -Date: Mon Aug 11 18:23:43 2014 -0400 - - Minor - - src/hb-common.h | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 4acce77db7dd588ba277779c4997b0256ebe426e -Author: Behdad Esfahbod -Date: Mon Aug 11 17:46:50 2014 -0400 - - [coretext] Pass buffer direction to CoreText - - Have to use a CTTypesetter for this. - - src/hb-coretext.cc | 26 ++++++++++++++++++++++---- - 1 file changed, 22 insertions(+), 4 deletions(-) - -commit 5ec45dd37caa8a87ce2689a66272ba8a343fe6ba -Author: Behdad Esfahbod -Date: Mon Aug 11 17:46:12 2014 -0400 - - [coretext] Minor - - It's hard to handle all possible NULL returns from CoreText. Add one - more... - - src/hb-coretext.cc | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 624a299b829ccf9864dd2f3001b1a49476e96b4a -Author: Behdad Esfahbod -Date: Mon Aug 11 15:29:18 2014 -0400 - - [coretext] Attach marks to base clusters - - Fixes https://githu.com/behdad/harfbuzz/issues/49 - to the extent that it can be fixed. - - src/hb-coretext.cc | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -commit 3c41ccb5358b0be6cc68d49f436d2cb1792cd5e5 -Author: Behdad Esfahbod -Date: Mon Aug 11 15:11:59 2014 -0400 - - [coretext] Use input clusters - - Before, this shaper was returning UTF-16 cluster indices instead of - returning whatever cluster values the user had had set up in the - buffer. - Ouch! - - src/hb-coretext.cc | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit a6b8dc87421de33746b0b14d86d2d1532aec02af -Author: Behdad Esfahbod -Date: Mon Aug 11 15:08:19 2014 -0400 - - [coretext] Fix buffer resize handling - - We can't really resize buffer and continue in this shaper as we are - using the scratch buffer for string_ref and log_cluster. Restructure - shaper to retry from (almost) scratch. - - src/hb-buffer-private.hh | 3 + - src/hb-coretext.cc | 428 - ++++++++++++++++++++++++++--------------------- - 2 files changed, 238 insertions(+), 193 deletions(-) - -commit 9b3c60c88b118f01610ae7a608b138f79f2dc7be -Author: Behdad Esfahbod -Date: Mon Aug 11 13:25:43 2014 -0400 - - [coretext] Always compute log_clusters - - To be used soon. - - src/hb-coretext.cc | 24 +++++++++++------------- - 1 file changed, 11 insertions(+), 13 deletions(-) - -commit 15c633dd1f412f9ef839d80a8f7af35e7ea48fbc -Author: Behdad Esfahbod -Date: Mon Aug 11 13:42:42 2014 -0400 - - Minor - - src/hb-graphite2.cc | 4 ++-- - src/hb-uniscribe.cc | 6 ++---- - 2 files changed, 4 insertions(+), 6 deletions(-) - -commit 9ce067c77524a9ffc77ceabcba5e7dab36fd39de -Author: Behdad Esfahbod -Date: Mon Aug 11 02:04:38 2014 -0400 - - [coretext] Simplify cluster mapping - - src/hb-coretext.cc | 41 +++++++++++++++++------------------------ - 1 file changed, 17 insertions(+), 24 deletions(-) - -commit 49f7fb63761e4ca9936990fb90a77fd3600f5ad2 -Author: Behdad Esfahbod -Date: Sun Aug 10 19:19:38 2014 -0400 - - [coretext] Minor - - src/hb-coretext.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 25f4fb9b56bb3f8bec821571c78f8829e40daa54 -Author: Behdad Esfahbod -Date: Sun Aug 10 19:05:25 2014 -0400 - - [coretext] Fix fallback detection - - Fixes http://github.com/behdad/harfbuzz/pull/36 - - src/hb-coretext.cc | 29 ++++++++++++++++++++--------- - 1 file changed, 20 insertions(+), 9 deletions(-) - -commit 77a7a53acef7de355116d488e7d64ff1d7e9e9e1 -Author: Behdad Esfahbod -Date: Sun Aug 10 18:59:47 2014 -0400 - - [coretext] Fix last range - - Test with: - - hb-view /Library/Fonts/Zapfino.ttf ZapfinoZapfino --features=-dlig[7:] - --shaper=coretext - - src/hb-coretext.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c2b151d95262a8dc2d2ce94e19ab0ef5b0c8f98d -Author: Behdad Esfahbod -Date: Sun Aug 10 18:52:07 2014 -0400 - - Fix hb_in_range() for types smaller than int - - As exercised by hb-coretext .notdef code. - - src/hb-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 26a963b9cb4af3119177f277a2d48a5d537458fb -Author: Behdad Esfahbod -Date: Sun Aug 10 18:04:50 2014 -0400 - - [wince] Try to fix some stuff on Windows CE - - Based on errors seen here: - http://testresults.qt-project.org/ci/QtBase_dev_Integration/build_03837/wince70embedded-armv4i-msvc2008_Windows_7/log.txt.gz - - Fully untested. - - src/hb-private.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 92aeee3f040c2c32cbf70b27bd6954535388c870 -Author: Behdad Esfahbod -Date: Sun Aug 10 17:42:19 2014 -0400 - - Minor - - src/hb-coretext.cc | 4 ++-- - src/hb-uniscribe.cc | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit b9993d8d6d332994dfbd29e99ff8043622003417 -Author: Behdad Esfahbod -Date: Sun Aug 10 17:40:24 2014 -0400 - - [coretext] Fix assert on Yosemite - - Apparently those functions documented as sometimes returning NULL - actually exercise that right in OS X 10.10 Yosemite. The scratch - was too small for that. I *think* I fixed it, but haven't tested - as I don't have Yosemite. - - src/hb-coretext.cc | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 087733dd66e17297ef0e53680fafe42c84884104 -Author: Behdad Esfahbod -Date: Fri Apr 18 11:21:08 2014 -0700 - - [coretext] Use CGFont as face_data - - src/hb-coretext.cc | 26 +++++++++----------------- - 1 file changed, 9 insertions(+), 17 deletions(-) - -commit d277c3d7eee1fd4fb41c38255e5c4df539353e89 -Author: Behdad Esfahbod -Date: Thu Aug 7 15:38:52 2014 -0400 - - [arabic] Bug 82306 - Mandaic had errors in its Unicode Joining_Type - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=82306 - - src/hb-ot-shape-complex-arabic-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 38fb30d7420a4b01f99cee31baa8c3990a1d1c5f -Author: Behdad Esfahbod -Date: Wed Aug 6 13:34:49 2014 -0400 - - Use atexit() only if it's safe to call from shared library - - Apparently they are not (advertised as?) safe on BSD systems. - We ignore the case of static libraries. - - Whitelisted on glibc, Android, and MSVC / mingw. - - https://bugs.freedesktop.org/show_bug.cgi?id=82246 - - src/hb-common.cc | 4 ++-- - src/hb-ft.cc | 2 +- - src/hb-private.hh | 25 +++++++++++++++++++++++++ - src/hb-shape.cc | 2 +- - src/hb-shaper.cc | 2 +- - src/hb-uniscribe.cc | 2 +- - 6 files changed, 31 insertions(+), 6 deletions(-) - -commit d5e61470fa8e5046c35a79988e00e012ae4fff0f -Author: Behdad Esfahbod -Date: Tue Aug 5 14:19:01 2014 -0400 - - [arabic] Fix fallback shaping regression - - Was broken in 615d00ea252739da57edbd980ff27e573. - - Fixes https://github.com/behdad/harfbuzz/pull/48 - - Micro-test added. - - src/hb-ot-shape-complex-arabic.cc | 4 ++-- - test/shaping/Makefile.am | 1 + - test/shaping/fonts/sha1sum/MANIFEST | 1 + - .../sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf | Bin 0 -> - 6332 bytes - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/arabic-fallback-shaping.tests | 1 + - 6 files changed, 6 insertions(+), 2 deletions(-) - -commit 91c2c0fd2b0f660d79744b3dfaf39ab86883e96b -Author: Behdad Esfahbod -Date: Sat Aug 2 19:24:55 2014 -0400 - - 0.9.34 - - NEWS | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 54 insertions(+), 1 deletion(-) - -commit d7c850f8037d2701366008eb8c2a527c9d40abde -Author: Behdad Esfahbod -Date: Sat Aug 2 17:46:38 2014 -0400 - - [uniscribe] Minor - - src/hb-uniscribe.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 8f3eebf7ee4005f9a8efaafcb7f4058cc0a3756e -Author: Behdad Esfahbod -Date: Sat Aug 2 17:18:46 2014 -0400 - - Make sure gsubgpos buffer vars are available during fallback_position - - Add buffer var allocation asserts to a few key places. - - src/hb-ot-layout-gpos-table.hh | 4 ++-- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-private.hh | 15 +++++++++++++++ - src/hb-ot-shape-complex-arabic-fallback.hh | 2 +- - src/hb-ot-shape-fallback.cc | 2 ++ - src/hb-ot-shape-normalize.cc | 2 ++ - src/hb-ot-shape.cc | 3 +++ - 7 files changed, 26 insertions(+), 4 deletions(-) - -commit 2053f369f84676f197ac41ea654a318c48922abd -Author: Behdad Esfahbod -Date: Sat Aug 2 16:31:16 2014 -0400 - - Disable 'liga' for vertical text - - The reason we turned it on is because Kazuraki uses it. But that's - not reason enough. Until the OpenType spec gets its act together re - adding design-direction to lookups, this is better user experience. - - src/hb-ot-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 763e5466c0a03a7c27020e1e2598e488612529a7 -Author: Behdad Esfahbod -Date: Sat Aug 2 16:17:44 2014 -0400 - - Make it easier to use HB_BUFFER_FLAG_BOT/EOT - - Previously, we expected users to provide BOT/EOT flags when the - text *segment* was at paragraph boundaries. This meant that for - clients that provide full paragraph to HarfBuzz (eg. Pango), they - had code like this: - - hb_buffer_set_flags (hb_buffer, - (item_offset == 0 ? HB_BUFFER_FLAG_BOT : 0) | - (item_offset + item_length == paragraph_length - ? - HB_BUFFER_FLAG_EOT : 0)); - - hb_buffer_add_utf8 (hb_buffer, - paragraph_text, paragraph_length, - item_offset, item_length); - - After this change such clients can simply say: - - hb_buffer_set_flags (hb_buffer, - HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT); - - hb_buffer_add_utf8 (hb_buffer, - paragraph_text, paragraph_length, - item_offset, item_length); - - Ie, HarfBuzz itself checks whether the segment is at the beginning/end - of the paragraph. Clients that only pass item-at-a-time to HarfBuzz - continue not setting any flags whatsoever. - - Another way to put it is: if there's pre-context text in the buffer, - HarfBuzz ignores the BOT flag. If there's post-context, it ignores - EOT flag. - - src/hb-ot-shape-complex-arabic.cc | 40 - +++++++++++++++++++-------------------- - src/hb-ot-shape.cc | 1 + - 2 files changed, 20 insertions(+), 21 deletions(-) - -commit 0a5ae9336231c4d189e1682e4fd9c9c4552b8bbf -Merge: ac53443f 6ab6be32 -Author: Behdad Esfahbod -Date: Sat Aug 2 15:00:34 2014 -0400 - - Merge branch 'win1256' - -commit 6ab6be32c5857ce3344021ad2996e80b2a8c8f99 -Author: Behdad Esfahbod -Date: Sat Aug 2 14:58:38 2014 -0400 - - [arabic/win1256] Remove unused MultipleSubst macros - - src/hb-ot-shape-complex-arabic-win1256.hh | 12 ------------ - 1 file changed, 12 deletions(-) - -commit abfa4252cce1c56c472693dcd8400cd97ededd2f -Author: Behdad Esfahbod -Date: Fri Aug 1 19:05:33 2014 -0400 - - [arabic/win1256] Really fix lam-alef this time - - https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c26 - https://github.com/behdad/harfbuzz/commit/b276e897d17519a2c28f79d024904ac2bdd86bcf#commitcomment-7243499 - - src/hb-ot-shape-complex-arabic-fallback.hh | 2 +- - src/hb-ot-shape-complex-arabic-win1256.hh | 49 - +++++++++--------------------- - 2 files changed, 15 insertions(+), 36 deletions(-) - -commit 55977f2a462b7fa1248eab3787053dc82320d3e5 -Author: Behdad Esfahbod -Date: Fri Aug 1 16:14:33 2014 -0400 - - [arabic/win1256] Hook up lamMedi lookup - - Restructure lookup array to accommodate. - - https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c18 - - src/hb-ot-shape-complex-arabic-fallback.hh | 26 - ++++++++++---------------- - src/hb-ot-shape-complex-arabic-win1256.hh | 1 + - 2 files changed, 11 insertions(+), 16 deletions(-) - -commit e839e2523e64fd0cf21929f6a45e2facd59c7917 -Author: Behdad Esfahbod -Date: Fri Aug 1 16:09:31 2014 -0400 - - [arabic/win1256] Fix TEH MARBUTA final form - - https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c18 - - src/hb-ot-shape-complex-arabic-win1256.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit a2de193220ee2839125594bd1a60b5b66ab4598e -Author: Behdad Esfahbod -Date: Thu Jul 31 18:21:05 2014 -0400 - - [arabic/win1256] Fix shaping of JEEM, HAH, and KHAH - - https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c16 - - src/hb-ot-shape-complex-arabic-win1256.hh | 22 ++++++++++++---------- - 1 file changed, 12 insertions(+), 10 deletions(-) - -commit 1789ccb1dd56af6117eac00e633eff94860ba252 -Author: Behdad Esfahbod -Date: Thu Jul 31 11:04:00 2014 -0400 - - [arabic/win1256] Remove GCC'ism - - The table can now compile independently too. If we cannot make - it work - on MSVC, we can always generate the data and distribute it. - - The code now compiles cleanly with: - - gcc -c -xc -std=c99 -Werror -pedantic - hb-ot-shape-complex-arabic-win1256.hh - g++ -c -xc -std=c++1x -Werror -pedantic - hb-ot-shape-complex-arabic-win1256.hh - - See: - https://github.com/behdad/harfbuzz/commit/a97f537cec209649302899975d76ca2b2661da7a#commitcomment-7218736 - - src/hb-ot-shape-complex-arabic-fallback.hh | 4 +- - src/hb-ot-shape-complex-arabic-win1256.hh | 123 - +++++++++++++++++------------ - 2 files changed, 75 insertions(+), 52 deletions(-) - -commit f28b1c823db2ad56fed356ef864a7508d23048b8 -Author: Behdad Esfahbod -Date: Wed Jul 30 02:15:44 2014 -0400 - - [arabic] Implement Windows-1256 private shaping - - Bug 1045139 - The Arabic text with "MS Sans Serif" font is rendered - bad - https://bugzilla.mozilla.org/show_bug.cgi?id=1045139 - - This is only enabled on Windows platforms, and requires support from - Uniscribe to work. But for clients that do hook up to Uniscribe, this - fixes shaping of Windows-1256-encoded bitmap fonts like "MS Sans - Serif". - - The code and table together have just less than a 1kb footprint when - enabled. - - UNTESTED. I might even have broken regular Arabic fallback shaping. - - src/Makefile.am | 1 + - src/check-includes.sh | 2 +- - src/hb-ot-shape-complex-arabic-fallback.hh | 125 +++++++++-- - src/hb-ot-shape-complex-arabic-win1256.hh | 328 - +++++++++++++++++++++++++++++ - 4 files changed, 442 insertions(+), 14 deletions(-) - -commit ac53443f1cea83ed43a4e41a9fdb91902f7fae7b -Author: Behdad Esfahbod -Date: Thu Jul 31 18:51:37 2014 -0400 - - [hangul] Don't apply 'calt' - - See comments. - - Micro-test added. - - src/hb-ot-shape-complex-hangul.cc | 11 - ++++++++++- - test/shaping/Makefile.am | 1 + - .../sha1sum/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf | Bin 0 -> - 1804 bytes - .../sha1sum/7e14e7883ed152baa158b80e207b66114c823a8b.ttf | Bin 0 -> - 1644 bytes - test/shaping/fonts/sha1sum/MANIFEST | 2 ++ - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/hangul-jamo.tests | 11 - +++++++++++ - 7 files changed, 25 insertions(+), 1 deletion(-) - -commit 8292f96b2be173ebceb1b54426c271cfeaecd633 -Author: Behdad Esfahbod -Date: Thu Jul 31 18:33:11 2014 -0400 - - [test] Fix record-test.sh - - test/shaping/record-test.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 88911e8cc765c26e502503a3a00ac7f17973f3d9 -Author: Behdad Esfahbod -Date: Tue Jul 29 19:47:26 2014 -0400 - - Minor - - src/hb-ot-shape-complex-arabic-fallback.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 9e834e29e0b657f0555df1ab9cea79ff7abcf08d -Author: Behdad Esfahbod -Date: Sat Jul 26 20:34:01 2014 -0400 - - [hebrew] Zero mark advance by GDEF late - - Seems to be what Uniscribe does. - - At this point I think it's work checking our default... - - Fixes Bug 76767 - Zeroing of advance of 2nd component of multiple - substitution with SBL Hebrew - https://bugs.freedesktop.org/show_bug.cgi?id=76767 - - Micro-test added. - - src/hb-ot-shape-complex-hebrew.cc | 2 +- - .../sha1sum/8454d22037f892e76614e1645d066689a0200e61.ttf | Bin 0 -> - 6068 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/zero-width-marks.tests | 1 + - 4 files changed, 3 insertions(+), 1 deletion(-) - -commit 6f2d9ba52a6d1e3fc200da1ef0e85ba020fcd0dc -Author: Behdad Esfahbod -Date: Sat Jul 26 19:17:44 2014 -0400 - - Add old-Myanmar shaper - - Looks like Unsicribe responds to the 'mymr' tag by zeroing marks - GDEF_LATE instead of generic-shaper UNICODE_LATE. Implement that. - - Fixes - Bug 81775 - Incorrect Rendering with harfbuzz-ng myanmar unicode - https://bugs.freedesktop.org/show_bug.cgi?id=81775 - - Micro-test added based on Padauk. - - src/hb-ot-shape-complex-myanmar.cc | 18 - ++++++++++++++++++ - src/hb-ot-shape-complex-private.hh | 5 +++-- - test/shaping/Makefile.am | 1 + - test/shaping/fonts/sha1sum/MANIFEST | 1 + - .../bb9473d2403488714043bcfb946c9f78b86ad627.ttf | Bin 0 -> - 3440 bytes - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/zero-width-marks.tests | 1 + - 7 files changed, 25 insertions(+), 2 deletions(-) - -commit 595d2b96c37de8147489dc5e0ddcc4ab1ad3eea9 -Author: Behdad Esfahbod -Date: Sat Jul 26 18:44:15 2014 -0400 - - Minor - - src/hb-ot-shape-complex-indic.cc | 1 + - src/hb-ot-shape.cc | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit fe6788bc570d77d5b3aafc68efd51ca6b80499b1 -Author: Behdad Esfahbod -Date: Fri Jul 25 12:40:56 2014 -0400 - - Typo - - src/hb-common.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0de25d4184d2d92b1a2ebb6fa054275aaae4c316 -Author: Behdad Esfahbod -Date: Fri Jul 25 12:35:03 2014 -0400 - - [util] Note CSS compatibility in --help-features - - util/options.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 6e69200a2aadbc6bba35ffb4a058c14286b84f46 -Author: Behdad Esfahbod -Date: Fri Jul 25 12:30:47 2014 -0400 - - Fix snprintf() format - - Patch from Maks Naumov. - Fixes https://github.com/behdad/harfbuzz/pull/22 - - src/hb-shape.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 5c5cdbbdf8be231c433e21b050a6c6991d327b61 -Author: Behdad Esfahbod -Date: Fri Jul 25 12:21:49 2014 -0400 - - Make sure broken feature strings are not partially parsed - - If user doesn't check hb_feature_from_string() return value, we - don't want them to end up see the partially-parsed feature. - - src/hb-shape.cc | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -commit a795fe637846e0d9561d2f7cdd84cfafd58b23a7 -Author: Behdad Esfahbod -Date: Fri Jul 25 12:15:33 2014 -0400 - - Allow quotation marks around feature tag in hb_feature_from_string() - - With this, I believe we accept CSS feature strings completely. - - src/hb-shape.cc | 24 +++++++++++++++++++++--- - 1 file changed, 21 insertions(+), 3 deletions(-) - -commit 3f6461847412e78bcddc8eba97200f3afcde869a -Author: Behdad Esfahbod -Date: Fri Jul 25 12:04:27 2014 -0400 - - Allow space at the end of feature string with values, eg 'dlig=1 ' - - src/hb-shape.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit f31f7d2259dd8edffc070af55938cb7aa23514c1 -Author: Behdad Esfahbod -Date: Fri Jul 25 12:03:52 2014 -0400 - - Minor - - src/hb-shape.cc | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit 60cb18a5dea2d30793f89e80995bb729c014864a -Author: Behdad Esfahbod -Date: Fri Jul 25 12:01:22 2014 -0400 - - Allow on/off in hb_feature_from_string() - - We now allow things like "dlig on" / "dlig=on". - - src/hb-shape.cc | 26 ++++++++++++++++++++++++-- - 1 file changed, 24 insertions(+), 2 deletions(-) - -commit d9e618eca9e01c2eb6db65504af3f73be370a1e7 -Author: Behdad Esfahbod -Date: Fri Jul 25 11:56:01 2014 -0400 - - Remove duplicate definition of ISALNUM - - It's defined in hb-private.h already. - - src/hb-shape.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 2ee5f665ded86147acedc400153c0b3a90fe07c6 -Author: Behdad Esfahbod -Date: Fri Jul 25 11:53:46 2014 -0400 - - Fix parsing of features like "- liga" (with the space) - - src/hb-shape.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit e15fa7a8cffbe6a67b1048d7b87b7df77d8b1686 -Author: Behdad Esfahbod -Date: Fri Jul 25 11:44:35 2014 -0400 - - Do not require the '=' in hb_feature_from_string() - - Towards accepting CSS font-feature-settings strings. - - src/hb-shape.cc | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit f4fe9baefdb7e0ff9946f88b6f4b55738fa30cdf -Author: Behdad Esfahbod -Date: Fri Jul 25 11:39:55 2014 -0400 - - Reject tags longer than 4 chars in hb_feature_from_string() - - src/hb-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7e8c38954649c0bf2e6051d84ca08dce090ec169 -Author: Behdad Esfahbod -Date: Fri Jul 25 11:18:11 2014 -0400 - - Minor warnings fixes - - Some systems insist on -Wmissing-field-initializers. We have - too many, - by design. Fix a few easy ones. - - src/hb-open-type-private.hh | 2 +- - src/hb-ot-layout-private.hh | 2 +- - src/hb-private.hh | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit fc0daafab0336b847ac14682e581a8838f36a0bf -Author: Behdad Esfahbod -Date: Wed Jul 23 16:48:51 2014 -0400 - - [indic] Handle old-spec Malayalam reordering with final Halant - - See comment. - - Micro-tests added. - - src/hb-ot-shape-complex-indic.cc | 28 - +++++++++++++++++---- - test/shaping/Makefile.am | 1 + - .../270b89df543a7e48e206a2d830c0e10e5265c630.ttf | Bin 0 -> 3428 bytes - .../57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf | Bin 0 -> 2272 bytes - test/shaping/fonts/sha1sum/MANIFEST | 2 ++ - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/indic-old-spec.tests | 2 ++ - .../indic/script-malayalam/misc/misc.txt | 1 + - 8 files changed, 30 insertions(+), 5 deletions(-) - -commit d6d349d17898529ecdf8217a54987a3e9f81ce05 -Author: Behdad Esfahbod -Date: Wed Jul 23 11:38:49 2014 -0400 - - Give CC to gir-scanner - - From: - https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-harfbuzz/0001-give-cc-to-gir-scanner.all.patch - - src/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 8c1bdb46facb79cfca5ebfea9a7e467b40337f47 -Author: Behdad Esfahbod -Date: Tue Jul 22 17:56:43 2014 -0400 - - 0.9.33 - - NEWS | 10 ++++++++++ - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit d218bdb26b226fbf68331eb586b24460c061313d -Author: Behdad Esfahbod -Date: Tue Jul 22 18:01:46 2014 -0400 - - Fix test runner under Windows - - test/shaping/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3f310dc0cae9015c45ba642b9b83d5695c807aad -Author: Behdad Esfahbod -Date: Tue Jul 22 16:26:27 2014 -0400 - - Disallow changing settings on immutable face - - Ouch! - - src/hb-face.cc | 8 ++++---- - src/hb-font.cc | 4 ++-- - src/hb-unicode.cc | 2 +- - 3 files changed, 7 insertions(+), 7 deletions(-) - -commit 0fc0a1022854324261fea8893678a3e9fd9443eb -Author: Behdad Esfahbod -Date: Mon Jul 21 11:12:54 2014 -0400 - - [win] Fix Cygwin build - - https://github.com/behdad/harfbuzz/commit/db308280488c2ee11ba865a9922eb6a0c1abeef3#commitcomment-7077778 - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1132a7dd0ecf1c425078e39e5471330bace42659 -Author: Behdad Esfahbod -Date: Sun Jul 20 01:17:40 2014 -0400 - - Add HB_TAG_MAX_SIGNED / _HB_SCRIPT_MAX_VALUE_SIGNED - - To make C language police happy. - - src/hb-common.h | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -commit df99976398a53521e0228541055dcaee8f5ba87f -Author: Behdad Esfahbod -Date: Sat Jul 19 17:31:23 2014 -0400 - - [gobject] Skip _HB_SCRIPT_MAX_VALUE - - Fixes https://github.com/behdad/harfbuzz/pull/38 - - src/hb-common.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f1a8d50a87edfb8147aa1bec732ed7ccbfef2877 -Author: Behdad Esfahbod -Date: Sat Jul 19 16:52:32 2014 -0400 - - [win] Don't define visibility attribtue under Cygwin - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9c77027d645142794c3ff1590a96bb151c3f2e91 -Author: Behdad Esfahbod -Date: Sat Jul 19 16:37:22 2014 -0400 - - [win] Turn STRICT on for including windows.h - - src/hb-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit db308280488c2ee11ba865a9922eb6a0c1abeef3 -Author: Behdad Esfahbod -Date: Sat Jul 19 16:32:04 2014 -0400 - - [win] Consolidate windows.h include tips and tricks - - src/hb-atomic-private.hh | 4 ---- - src/hb-mutex-private.hh | 1 - - src/hb-private.hh | 12 ++++++++++++ - src/hb-uniscribe.cc | 3 --- - src/hb-uniscribe.h | 3 --- - 5 files changed, 12 insertions(+), 11 deletions(-) - -commit f26d59d4684be3419c976d781b6dbc956248e3bb -Author: Behdad Esfahbod -Date: Sat Jul 19 16:10:21 2014 -0400 - - More fixing MemoryBarrier() on Mingw32 - - Set requested windows header to Vista. See discussion: - - https://github.com/behdad/harfbuzz/commit/fbb2847f541389f40718af71c4945024ae177ab2#commitcomment-7054700 - - src/hb-atomic-private.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit 00a57eb4b50fd894dc68c6525a5bbebf0ebc30e4 -Author: Behdad Esfahbod -Date: Fri Jul 18 14:42:50 2014 -0400 - - [test] Remove unused micro-font - - .../9d64156923a1b9fed1e05f74599c16563eca42d9.ttf | Bin 81968 -> - 0 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 - - 2 files changed, 1 deletion(-) - -commit ed29b15f5d0d9e7b40143926ca7d40bf645f67e9 -Author: Behdad Esfahbod -Date: Fri Jul 18 14:37:49 2014 -0400 - - [test] Add more Mongolian variation selector tests - - From - https://code.google.com/p/chromium/issues/detail?id=393896 - - .../9d64156923a1b9fed1e05f74599c16563eca42d9.ttf | Bin 0 -> - 81968 bytes - test/shaping/fonts/sha1sum/MANIFEST | 2 ++ - .../bb29ce50df2bdba2d10726427c6b7609bf460e04.ttf | Bin 0 -> - 74856 bytes - test/shaping/tests/mongolian-variation-selector.tests | 1 + - .../shaper-arabic/script-mongolian/misc/MANIFEST | 1 + - .../script-mongolian/misc/variation-selectors.txt | 8 ++++++++ - 6 files changed, 12 insertions(+) - -commit 385cf37cf084198e3aedb4354a7b025938a9f11b -Author: Behdad Esfahbod -Date: Thu Jul 17 18:22:07 2014 -0400 - - Fix hb_in_range() unused-var warning on Windows - - src/hb-private.hh | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit e3b42f1af409c073b819bfc696024ccb1f1da63f -Author: Behdad Esfahbod -Date: Thu Jul 17 17:13:54 2014 -0400 - - [arabic] Disable 'cswh' again - - Ouch! - - src/hb-ot-shape-complex-arabic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 66f30915b185727a0041c998641edb550eb8a7fc -Author: Behdad Esfahbod -Date: Thu Jul 17 16:05:47 2014 -0400 - - 0.9.32 - - NEWS | 12 ++++++++++++ - configure.ac | 2 +- - 2 files changed, 13 insertions(+), 1 deletion(-) - -commit 82f4d9d53f348f41b14b877c1ac77c0372c49caa -Author: Behdad Esfahbod -Date: Thu Jul 17 15:57:37 2014 -0400 - - [arabic] Add note re disabled 'cswh' - - src/hb-ot-shape-complex-arabic.cc | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 615d00ea252739da57edbd980ff27e573f88ee7e -Author: Behdad Esfahbod -Date: Thu Jul 17 13:36:09 2014 -0400 - - [arabic] Apply init/medi/isol/fini/... in separate stages - - Follows the order of the Arabic/Syriac specs. Also don't stop - between rlig and calt in non-Arabic scripts. - - Micro-tests for Arabic and Mongolian added for the latter. - - src/hb-ot-shape-complex-arabic.cc | 56 - +++++++++++++-------- - test/shaping/Makefile.am | 2 + - .../813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf | Bin 0 -> 3428 bytes - .../8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf | Bin 0 -> 3428 bytes - test/shaping/fonts/sha1sum/MANIFEST | 3 ++ - .../a919b33197965846f21074b24e30250d67277bce.ttf | Bin 0 -> 12560 bytes - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/arabic-feature-order.tests | 3 ++ - 8 files changed, 43 insertions(+), 22 deletions(-) - -commit d21e997035b16e9807dfb29c3605abb93f92f1ee -Author: Behdad Esfahbod -Date: Thu Jul 17 15:27:46 2014 -0400 - - [test] Make record_test understand cmdline args to hb-shape - - test/shaping/record-test.sh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 7cd33f230441093dbfb1fec48f8c580ee8d9ef71 -Author: Behdad Esfahbod -Date: Thu Jul 17 14:22:11 2014 -0400 - - Micro optimization - - src/hb-fallback-shape.cc | 36 - +++++++++++++++++++----------------- - src/hb-ot-shape-complex-arabic.cc | 19 +++++++++++-------- - src/hb-ot-shape-complex-indic.cc | 15 ++++++++++----- - src/hb-ot-shape-complex-myanmar.cc | 7 +++++-- - src/hb-ot-shape-complex-sea.cc | 7 +++++-- - src/hb-ot-shape-fallback.cc | 30 ++++++++++++++++-------------- - src/hb-ot-shape.cc | 18 ++++++++++++------ - 7 files changed, 78 insertions(+), 54 deletions(-) - -commit 164c13d73f67fdddba28e6409d76b4903e8ffab3 -Author: Behdad Esfahbod -Date: Thu Jul 17 14:16:38 2014 -0400 - - Another try to fix Mongolian free variation selectors - - This reverts bf029281 and fixes it properly. That commit - was not enough as it was only inheriting the shaping_action - for prev_action, but not curr_action. - - Micro-test added. - - https://code.google.com/p/chromium/issues/detail?id=393896 - - src/hb-ot-shape-complex-arabic.cc | 24 - +++++++++++++++------ - src/hb-unicode-private.hh | 3 ++- - test/shaping/fonts/sha1sum/MANIFEST | 1 + - .../ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf | Bin 0 -> 2748 bytes - .../tests/mongolian-variation-selector.tests | 1 + - 5 files changed, 22 insertions(+), 7 deletions(-) - -commit 5209c505061130854a2bfea8849928ade3ee92f3 -Author: Behdad Esfahbod -Date: Thu Jul 17 12:23:44 2014 -0400 - - Revert "Show U+FFFD REPLACEMENT CHARACTER for invalid Unicode - codepoints" - - We now handle U+FFFD replacement in hb_buffer_add_utf*(). Any other - manipulation can happen in user callbacks. No need for this. - - https://github.com/behdad/harfbuzz/commit/efe74214bbb68eaa3d7621e73869b5d58210107e#commitcomment-7039404 - - This reverts commit efe74214bbb68eaa3d7621e73869b5d58210107e. - - Conflicts: - src/hb-ot-shape-normalize.cc - - src/hb-ot-shape-normalize.cc | 7 ------- - 1 file changed, 7 deletions(-) - -commit 9e7c720100e432b43564ed5ff12f3175ca2ed74a -Author: Dominik Röttsches -Date: Thu Jul 17 14:40:34 2014 +0300 - - Fix CoreText build after a8b89a09f6d3a34 - - src/hb-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit a4d643755a531c82ab91e1e43d6bb0b7bd46453a -Author: Behdad Esfahbod -Date: Wed Jul 16 20:15:45 2014 -0400 - - Minor - - src/hb-utf-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a18897f87ce2c6048c3a0339074924b2232e2b95 -Author: Behdad Esfahbod -Date: Wed Jul 16 16:02:15 2014 -0400 - - 0.9.31 - - NEWS | 29 +++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 30 insertions(+), 1 deletion(-) - -commit 976c8f455221eb599d1c446eafd88d51d7d2aa65 -Author: Behdad Esfahbod -Date: Wed Jul 16 15:34:20 2014 -0400 - - New API: hb_buffer_[sg]et_replacement_codepoint() - - With this change, we now by default replace broken UTF-8/16/32 bits - with U+FFFD. This can be changed by calling new API on the buffer. - Previously the replacement value used to be (hb_codepoint_t)-1. - - Note that hb_buffer_clear_contents() does NOT reset the replacement - character. - - See discussion here: - - https://github.com/behdad/harfbuzz/commit/6f13b6d62daae4989e3cc2fe4b168e5c59650964 - - New API: - - hb_buffer_set_replacement_codepoint() - hb_buffer_get_replacement_codepoint() - - src/hb-buffer-private.hh | 1 + - src/hb-buffer.cc | 45 - ++++++++++++++++++++++++++++++++++++++++++--- - src/hb-buffer.h | 15 ++++++++++++++- - src/hb-utf-private.hh | 34 ++++++++++++++++++++-------------- - test/api/test-buffer.c | 26 +++++++++++++++----------- - 5 files changed, 92 insertions(+), 29 deletions(-) - -commit bcba8b45024e1eca8be77ca2657de1dc44dbf8fb -Author: Behdad Esfahbod -Date: Wed Jul 16 14:59:04 2014 -0400 - - New API hb_buffer_add_codepoints() - - Like hb_buffer_add_utf32, but doesn't do any Unicode validation. - This is like what hb_buffer_add_utf32 used to be until a couple - commits ago. - - src/hb-buffer.cc | 32 +++++++++++++++++++++++++++----- - src/hb-buffer.h | 8 ++++++++ - 2 files changed, 35 insertions(+), 5 deletions(-) - -commit 625dbf141a05f1ae81a7b8cbc529996370101284 -Author: Behdad Esfahbod -Date: Wed Jul 16 14:49:55 2014 -0400 - - [buffer] Templatize UTF-* functions - - src/hb-buffer.cc | 10 +- - src/hb-utf-private.hh | 307 - ++++++++++++++++++++++++++------------------------ - 2 files changed, 166 insertions(+), 151 deletions(-) - -commit e634fed4285ce440d277345727ed01757df6d779 -Author: Behdad Esfahbod -Date: Wed Jul 16 14:17:26 2014 -0400 - - [buffer] Validate UTF-32 input - - Same as what we do for UTF-8 and UTF-16. - - src/hb-utf-private.hh | 13 +++++++++--- - test/api/test-buffer.c | 55 - ++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 65 insertions(+), 3 deletions(-) - -commit b98c5db32d15fcfb27ce2f6737203ce1ad124319 -Author: Behdad Esfahbod -Date: Wed Jul 16 13:44:01 2014 -0400 - - Minor refactoring - - src/hb-ot-layout-gsubgpos-private.hh | 25 ++++++------------------- - 1 file changed, 6 insertions(+), 19 deletions(-) - -commit 844f1a487d9c39724ebff20e89f6184c9a59be0b -Author: Behdad Esfahbod -Date: Wed Jul 16 13:32:51 2014 -0400 - - [tests] Add record-test.sh - - test/shaping/Makefile.am | 1 + - test/shaping/record-test.sh | 49 - +++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 50 insertions(+) - -commit 3b861421a772f52eb232ff93bd74b5a8214801ec -Author: Behdad Esfahbod -Date: Wed Jul 16 13:22:05 2014 -0400 - - Fix Mongolian Variation Selectors for fonts without GDEF - - Originally we fixed those in 79d1007a501fd63c0ba4d51038c513e6b8b94740. - However, fonts like MongolianWhite don't have GDEF, but have - IgnoreMarks - in their LigatureSubstitute init/etc features. We were synthesizing a - GDEF class of mark for Mongolian Variation Selectors and as such the - ligature lookups where not matching. Uniscribe doesn't do that. - - I tried with more sophisticated fixes, like, if there is no GDEF and - a lookup-flag mismatch happens, instead of rejecting a match, try - skipping that glyph. That surely produces some interesting behavior, - but since we don't want to support fonts missing GDEF more than - we have - to, I went for this simpler fix which is to always mark - default-ignorables as base when synthesizing GDEF. - - Micro-test added. - - Fixes rest of https://bugs.freedesktop.org/show_bug.cgi?id=65258 - - src/hb-ot-shape.cc | 13 - +++++++++++-- - .../sha1sum/37033cc5cf37bb223d7355153016b6ccece93b28.ttf | Bin 0 -> - 2780 bytes - test/shaping/fonts/sha1sum/MANIFEST | 1 + - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/mongolian-variation-selector.tests | 1 + - 5 files changed, 14 insertions(+), 2 deletions(-) - -commit 878a25375b2fdf64cf0cc30c23fca9fcd58548e8 -Author: Behdad Esfahbod -Date: Wed Jul 16 13:21:26 2014 -0400 - - Minor - - src/hb-ot-shape.cc | 1 + - src/hb-unicode-private.hh | 6 +++--- - 2 files changed, 4 insertions(+), 3 deletions(-) - -commit ec181e50140fc65b32d6080e2f7f73bbe0269ba9 -Author: Behdad Esfahbod -Date: Wed Jul 16 13:10:03 2014 -0400 - - Minor moving around - - src/hb-ot-shape.cc | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -commit e7ce50d9eb6e3678f731b10dfeb308ffc478af8d -Author: Behdad Esfahbod -Date: Wed Jul 16 12:30:39 2014 -0400 - - [indic] Fix access past end of array - - src/hb-ot-shape-complex-indic.cc | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 73e23b0acfd2948d500321769035c56c9e072d77 -Author: Behdad Esfahbod -Date: Tue Jul 15 18:43:49 2014 -0400 - - Whitespace - - src/hb-ot-layout-gsubgpos-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit f27be105afb86b337c7d940badc5a6462f0b58bb -Author: Behdad Esfahbod -Date: Fri Jul 11 18:15:34 2014 -0400 - - [Android.mk] Actually remove static library - - Android.mk | 26 -------------------------- - 1 file changed, 26 deletions(-) - -commit 96b80e9bcc4796eedac09d284dc8cc0439ced6ba -Author: Behdad Esfahbod -Date: Fri Jul 11 17:00:12 2014 -0400 - - [Android.mk] Remove static library, add note re how to build - - Android.mk | 41 +++++++++++++++++++++++++++++++++++++---- - 1 file changed, 37 insertions(+), 4 deletions(-) - -commit b7bc0b671d2d568cb64b647dad2ca866a4e0183b -Author: Behdad Esfahbod -Date: Fri Jul 11 16:20:28 2014 -0400 - - Simplify / speed up UTF-8 code - - src/hb-utf-private.hh | 15 ++++++--------- - 1 file changed, 6 insertions(+), 9 deletions(-) - -commit af2490c0959daa0fe7f32a8b3b3a3699c7fc5f48 -Author: Behdad Esfahbod -Date: Fri Jul 11 16:10:58 2014 -0400 - - Only accept well-formed UTF-8 sequences - - Enable tests that were disabled before, and adjust one test, - and add more tests. - - src/hb-utf-private.hh | 93 - +++++++++++++++++++++++++++++++++----------------- - test/api/test-buffer.c | 9 +++-- - 2 files changed, 68 insertions(+), 34 deletions(-) - -commit 7323d385cc758c06671cb38239d240eb517b28bc -Author: Behdad Esfahbod -Date: Fri Jul 11 15:10:05 2014 -0400 - - Simplify hb_utf_prev<16> to call hb_utf_next<16> - - src/hb-utf-private.hh | 23 ++++++++--------------- - 1 file changed, 8 insertions(+), 15 deletions(-) - -commit c09a607a842fdd7b33e2c57e8af96d21ff091acd -Author: Behdad Esfahbod -Date: Fri Jul 11 15:05:36 2014 -0400 - - Use hb_in_range() for arabic and indic tables - - Though, looks like gcc was smart enough to produce the same code - before... - - src/gen-arabic-table.py | 18 +- - src/gen-indic-table.py | 10 +- - src/hb-ot-shape-complex-arabic-table.hh | 420 - ++++++++++++++++---------------- - src/hb-ot-shape-complex-indic-table.cc | 88 +++---- - 4 files changed, 268 insertions(+), 268 deletions(-) - -commit 7627100f428ac0ec8509d961d368d2d25d8f0b6e -Author: Behdad Esfahbod -Date: Fri Jul 11 14:54:42 2014 -0400 - - Mark unsigned integer literals with the u suffix - - Simplifies hb_in_range() calls as the type can be inferred. - The rest is obsessiveness, I admit. - - src/hb-buffer-serialize.cc | 2 +- - src/hb-common.cc | 4 +- - src/hb-coretext.cc | 16 +-- - src/hb-open-file-private.hh | 4 +- - src/hb-open-type-private.hh | 2 +- - src/hb-ot-cmap-table.hh | 4 +- - src/hb-ot-head-table.hh | 6 +- - src/hb-ot-hhea-table.hh | 2 +- - src/hb-ot-layout-common-private.hh | 14 +-- - src/hb-ot-layout-gdef-table.hh | 8 +- - src/hb-ot-layout-gpos-table.hh | 24 ++-- - src/hb-ot-layout-gsub-table.hh | 6 +- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-layout-jstf-table.hh | 2 +- - src/hb-ot-layout-private.hh | 4 +- - src/hb-ot-layout.h | 6 +- - src/hb-ot-map-private.hh | 8 +- - src/hb-ot-maxp-table.hh | 4 +- - src/hb-ot-shape-complex-arabic-fallback.hh | 2 +- - src/hb-ot-shape-complex-hangul.cc | 36 +++--- - src/hb-ot-shape-complex-hebrew.cc | 134 ++++++++++----------- - src/hb-ot-shape-complex-indic.cc | 182 - ++++++++++++++--------------- - src/hb-ot-shape-complex-myanmar.cc | 56 ++++----- - src/hb-ot-shape-complex-sea.cc | 8 +- - src/hb-ot-shape-complex-thai.cc | 84 ++++++------- - src/hb-ot-shape-fallback.cc | 40 +++---- - src/hb-ot-shape-normalize.cc | 2 +- - src/hb-ot-shape.cc | 6 +- - src/hb-ot-tag.cc | 18 +-- - src/hb-unicode-private.hh | 40 +++---- - src/hb-uniscribe.cc | 14 +-- - src/hb-utf-private.hh | 16 +-- - 32 files changed, 378 insertions(+), 378 deletions(-) - -commit a8b89a09f6d3a3466282aae07fd65e143f9f8f83 -Author: Behdad Esfahbod -Date: Fri Jul 11 14:18:01 2014 -0400 - - Simplify hb_in_range() - - It's both faster and produces smaller code. Now I feel stupid for - not writing it this way before. - - src/hb-private.hh | 16 ++++++---------- - 1 file changed, 6 insertions(+), 10 deletions(-) - -commit db8934faa1854dafaf4c4ce34d1818e12f67ef52 -Author: Behdad Esfahbod -Date: Fri Jul 11 13:58:36 2014 -0400 - - Simplify hb_utf_prev<8> to call hb_utf_next<8> - - src/hb-utf-private.hh | 24 ++++-------------------- - 1 file changed, 4 insertions(+), 20 deletions(-) - -commit efe74214bbb68eaa3d7621e73869b5d58210107e -Author: Behdad Esfahbod -Date: Fri Jul 11 11:59:48 2014 -0400 - - Show U+FFFD REPLACEMENT CHARACTER for invalid Unicode codepoints - - Only if the font doesn't support it. Ie, this gives the user to - use non-Unicode codepoints as private values and return a meaningful - glyph for them. But if it's invalid and font callback doesn't - like it, and if font has U+FFFD, show that instead. - - Font functions that do not want this automatic replacement to - happen should return true from get_glyph() if unicode > 0x10FFFF. - - Replaces https://github.com/behdad/harfbuzz/pull/27 - - src/hb-ot-shape-normalize.cc | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 6f13b6d62daae4989e3cc2fe4b168e5c59650964 -Author: Behdad Esfahbod -Date: Thu Jul 10 19:31:40 2014 -0400 - - When parsing UTF-16, generate invalid codepoint for lonely low - surrogate - - Test passes now. - - src/hb-utf-private.hh | 42 ++++++++++++++++++++++++++++-------------- - 1 file changed, 28 insertions(+), 14 deletions(-) - -commit 24b2ba9dfa7c35769cd843a07079ef88fa594bf8 -Author: Behdad Esfahbod -Date: Thu Jul 10 19:31:16 2014 -0400 - - [test-buffer] Add test for lonely low-surrogate - - Currenty fails. Ouch! - - test/api/test-buffer.c | 1 + - 1 file changed, 1 insertion(+) - -commit 6334495ac1ee0a86228e67794b7a41ee91146f3b -Author: Behdad Esfahbod -Date: Thu Jul 10 19:22:07 2014 -0400 - - Use zh-Hans / zh-Hant when converting OT language tag to hb_language_t - - src/hb-ot-tag.cc | 15 +++------------ - test/api/test-ot-tag.c | 6 +++--- - 2 files changed, 6 insertions(+), 15 deletions(-) - -commit f381e320df795a9d73ac81499f8ed8c311bcb2f0 -Author: Behdad Esfahbod -Date: Thu Jul 10 19:20:35 2014 -0400 - - Fix lang matching logic - - Previous code was broken logically, but harmless. - - src/hb-ot-tag.cc | 2 +- - test/api/test-ot-tag.c | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit ee5350d667f3a9644667202597694581f2cf657d -Author: Behdad Esfahbod -Date: Thu Jul 10 19:06:45 2014 -0400 - - Accept BCP 47 zh-Hans / zh-Hant language tags - - src/hb-ot-tag.cc | 27 ++++++++++++++++++--------- - test/api/test-ot-tag.c | 3 +++ - 2 files changed, 21 insertions(+), 9 deletions(-) - -commit 431540286794e023ec5eafd5eeedc008d4f31b4c -Author: Behdad Esfahbod -Date: Thu Jul 10 17:37:26 2014 -0400 - - [Android.mk] Add note re static library - - Android.mk | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 5b4131eb1c670c20fd9a45a5617c64060a505ef5 -Author: Behdad Esfahbod -Date: Wed Jul 9 19:09:08 2014 -0400 - - [Android.mk] Update for new ICU - - https://android-review.googlesource.com/#/c/100722/1/Android.mk - - Android.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ab28196c9557a63971a56915aa6f98bb5803bd1b -Author: Behdad Esfahbod -Date: Wed Jul 9 18:18:06 2014 -0400 - - [Android.mk] Re-enable ICU unicode funcs - - Android.mk | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -commit ea001374b86c4f1b24246c08a3d66d2a0e95a827 -Author: Behdad Esfahbod -Date: Wed Jul 9 17:28:43 2014 -0400 - - 0.9.30 - - NEWS | 17 +++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 18 insertions(+), 1 deletion(-) - -commit 8b16ff12590200afb08e8821e3f14d2fdf8efbda -Author: Behdad Esfahbod -Date: Wed Jul 9 17:40:52 2014 -0400 - - [uniscribe] Fix build after recent changes to Offset - - src/hb-ot-name-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 73f7f8919ea1f09b8c5b29f231ac84105cde2145 -Author: Behdad Esfahbod -Date: Wed Jul 9 17:17:18 2014 -0400 - - Define _POSIX_C_SOURCE only if it is not defined - - Fixes https://github.com/behdad/harfbuzz/pull/45 - - src/hb-blob.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 6bd5646f1b865a76304a67e03a6161afcfef293f -Author: Behdad Esfahbod -Date: Wed Jul 9 17:07:06 2014 -0400 - - [tests] Remove bash'ish - - Apparently on travis-ci, bash is linked to dash, which doesn't - understand "let". Failing tests were not being noticed. See eg: - - https://travis-ci.org/behdad/harfbuzz/jobs/29544211 - - Don't rely on bash. - - test/shaping/run-tests.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0afedaa96c81b63774a4a0ef9b4cb4995d24ec9e -Author: Behdad Esfahbod -Date: Wed Jul 9 17:00:48 2014 -0400 - - [util/hb-shape] Fix crash; oops - - util/hb-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0cd94491b99aed438ad79a55cdfced8d1b657179 -Author: Behdad Esfahbod -Date: Wed Jul 9 16:51:38 2014 -0400 - - [ucdn] Update to Unicode 7.0.0 data - - From http://github.com/behdad/ucdn - - src/hb-ucdn.cc | 23 + - src/hb-ucdn/README | 1 + - src/hb-ucdn/ucdn.c | 2 +- - src/hb-ucdn/ucdn.h | 27 + - src/hb-ucdn/unicodedata_db.h | 3711 - ++++++++++++++++++++++-------------------- - 5 files changed, 2039 insertions(+), 1725 deletions(-) - -commit 9d4ede3a97fff544a5ec2a671e49a92a79645b61 -Author: Behdad Esfahbod -Date: Wed Jul 9 16:19:55 2014 -0400 - - [Android.mk] Update source list - - Android.mk | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 7e1ab1f6d812a55f75d4844f7981d5604481049c -Author: Behdad Esfahbod -Date: Wed Jul 9 16:13:40 2014 -0400 - - [Android.mk] Whitespace - - Android.mk | 26 ++++++-------------------- - 1 file changed, 6 insertions(+), 20 deletions(-) - -commit 5c6695c42470e0a15e9029ebe8ecbebf3fa4f95b -Author: Behdad Esfahbod -Date: Wed Jul 9 16:07:12 2014 -0400 - - [Android.mk] Remove -lpthread; we build with -DHB_NO_MT - - Android.mk | 3 --- - 1 file changed, 3 deletions(-) - -commit 9109f1e944dd4bd4ae8057b75c8a31e9d31797aa -Author: Behdad Esfahbod -Date: Tue Jul 8 20:02:29 2014 -0400 - - [util/hb-shape] Accept an empty output-format that would skip output - - Useful for benchmarking, to avoid buffer serialization overhead (which - seems to by far dominate shaping!) - - util/hb-shape.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 8656408572c2685f278a3b742ee69c767c29788c -Author: Behdad Esfahbod -Date: Tue Jul 8 18:10:20 2014 -0400 - - [util] Fix hb-view rendering with --font-funcs=ot - - util/helper-cairo.cc | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -commit 8650def73500204b79c651f58b1be3f94a41973d -Author: Behdad Esfahbod -Date: Sat Jul 5 15:50:18 2014 -0400 - - [util] Add option to set font function implementation to use - - Supports ft and ot right now. hb-view currently not rendering - with ot. - Will fix after some clean up. - - util/options.cc | 76 - ++++++++++++++++++++++++++++++++++++++++++++++++++------- - util/options.hh | 21 ++++++++++++++++ - 2 files changed, 88 insertions(+), 9 deletions(-) - -commit 2306ad46dce1c53b0b1bfabdc04d70e3b99eabb7 -Author: Behdad Esfahbod -Date: Fri Jul 4 18:09:29 2014 -0400 - - [util] Fix memory issue - - util/options.cc | 6 ++---- - util/options.hh | 9 +++++++++ - 2 files changed, 11 insertions(+), 4 deletions(-) - -commit 14a4a9d649798d32c31f79b4045a885626dffc7f -Author: Behdad Esfahbod -Date: Tue Jul 1 15:51:54 2014 -0400 - - Add Roozbeh to AUTHORS - - He's been my shadow for all Indic-related changes in the last - few months. - - AUTHORS | 1 + - 1 file changed, 1 insertion(+) - -commit 68f724484b1663255ee249481624e552d2e2313f -Author: Behdad Esfahbod -Date: Mon Jun 30 15:46:53 2014 -0400 - - [indic] Remove some more now-unused special-cases - - src/hb-ot-shape-complex-indic.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit e79c9489802f99dc7eb8b4c2765c4c71b5f80e60 -Author: Behdad Esfahbod -Date: Mon Jun 30 15:39:39 2014 -0400 - - [indic] Remove special-casing of U+1CF2,1CF3 - - These were introduced in a498565cedf0441ae723c5e5969f637d792a15e7, - but IndicSyllabicCategory has had the correct value already, so the - special code was never needed. - - src/hb-ot-shape-complex-indic.cc | 6 ------ - 1 file changed, 6 deletions(-) - -commit d743ce78e10758b7dbaf0cfd191309e5ef646881 -Author: Behdad Esfahbod -Date: Mon Jun 30 15:24:02 2014 -0400 - - [indic-table] Update to Unicode 7.0 data - - Touch code just enough to preserve previous syllable structure - and functionality as closely as possible. Many further cleanups - coming later. - - src/gen-indic-table.py | 4 + - src/hb-ot-shape-complex-indic-private.hh | 23 +- - src/hb-ot-shape-complex-indic-table.cc | 468 - ++++++++++++++++++++++--------- - src/hb-ot-shape-complex-indic.cc | 21 -- - src/hb-ot-shape-complex-myanmar.cc | 2 - - 5 files changed, 355 insertions(+), 163 deletions(-) - -commit 5fa21b3ab7175f55f89cb194b544d5d4bd06a481 -Author: Behdad Esfahbod -Date: Mon Jun 30 14:30:54 2014 -0400 - - [indic-table] Fix category frequency counts in comments - - src/gen-indic-table.py | 2 +- - src/hb-ot-shape-complex-indic-table.cc | 46 - +++++++++++++++++----------------- - 2 files changed, 24 insertions(+), 24 deletions(-) - -commit 5c4e3e9a57b6b735e7d72cbd5f4070cf024d7015 -Author: Behdad Esfahbod -Date: Mon Jun 30 14:25:18 2014 -0400 - - Whitespace - - src/hb-ot-shape-complex-indic-private.hh | 76 - ++++++++++++++++---------------- - 1 file changed, 38 insertions(+), 38 deletions(-) - -commit af528b6674bccac3efd13f8b33fcdc6aeb178f4c -Author: Behdad Esfahbod -Date: Fri Jun 27 18:07:00 2014 -0400 - - Fix typo; ouch! - - src/hb-ot-cmap-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7d4ada66c96a748ce92f8e8edac149361c3dc829 -Author: Behdad Esfahbod -Date: Fri Jun 27 17:30:59 2014 -0400 - - Mark unsed members with a "Z" suffix - - There may be more. There are members that are by definition - redundant or reserved and not needed, NOT what we *currently* - don't use. - - I'm sure there's more... - - src/hb-open-file-private.hh | 6 +++--- - src/hb-ot-cmap-table.hh | 24 ++++++++++++------------ - src/hb-ot-layout-common-private.hh | 2 +- - 3 files changed, 16 insertions(+), 16 deletions(-) - -commit 23afcff1d14e57f5ce30a4100698d4f2dc530958 -Author: Behdad Esfahbod -Date: Fri Jun 27 17:22:36 2014 -0400 - - [ot-font] Implement Unicode variation selectors - - src/hb-ot-font.cc | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) - -commit a5a4736916b6035e6413d4619f9e7287e683d51b -Author: Behdad Esfahbod -Date: Fri Jun 27 17:03:22 2014 -0400 - - [cmap] Implement subtable format 14 - - src/hb-ot-cmap-table.hh | 147 - +++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 133 insertions(+), 14 deletions(-) - -commit 586b60622c33878f9ca4826b4ef07369d32bf039 -Author: Behdad Esfahbod -Date: Fri Jun 27 15:39:47 2014 -0400 - - Minor: final bits of cleanup - - src/hb-open-type-private.hh | 1 + - src/hb-ot-layout-common-private.hh | 4 ++-- - 2 files changed, 3 insertions(+), 2 deletions(-) - -commit 51d9ba09bc78188ec87218aef5232e80568c1712 -Author: Behdad Esfahbod -Date: Fri Jun 27 15:27:15 2014 -0400 - - Minor - - src/hb-open-type-private.hh | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit 3084767e92483c669f38319f153c498e9a6b92c7 -Author: Behdad Esfahbod -Date: Fri Jun 27 15:24:35 2014 -0400 - - Minor: Remove LongArrayOf - - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 4 ---- - 2 files changed, 1 insertion(+), 5 deletions(-) - -commit 41ea59495032e712fa6f801350ee00d5f00b5724 -Author: Behdad Esfahbod -Date: Fri Jun 27 15:23:18 2014 -0400 - - Minor: Remove LongSortedArrayOf - - src/hb-open-type-private.hh | 4 ---- - src/hb-ot-cmap-table.hh | 2 +- - 2 files changed, 1 insertion(+), 5 deletions(-) - -commit bb6ecf2ce5c2679c298741af17836a22e1d68121 -Author: Behdad Esfahbod -Date: Fri Jun 27 15:13:44 2014 -0400 - - Minor: Remove LongOffsetArrayOf and LongOffsetLongArrayOf - - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 8 -------- - src/hb-ot-layout-gdef-table.hh | 2 +- - 3 files changed, 2 insertions(+), 10 deletions(-) - -commit 99d281712390fd54e523b2f0580d10445457ec2f -Author: Behdad Esfahbod -Date: Fri Jun 27 15:12:52 2014 -0400 - - Minor: Remove GenericOffset - - src/hb-open-type-private.hh | 13 +++++-------- - src/hb-ot-layout-common-private.hh | 8 ++++---- - 2 files changed, 9 insertions(+), 12 deletions(-) - -commit 9da552dcc5b89b3bbbe5a55fb7c543222382e12a -Author: Behdad Esfahbod -Date: Fri Jun 27 15:09:42 2014 -0400 - - Minor: Remove some GenericXXX templates - - src/hb-open-type-private.hh | 32 +++++++++++--------------------- - src/hb-ot-cmap-table.hh | 4 ++-- - src/hb-ot-layout-common-private.hh | 2 +- - 3 files changed, 14 insertions(+), 24 deletions(-) - -commit 36073ede5b52bd1231622cbacd1bee6b82696d81 -Author: Behdad Esfahbod -Date: Fri Jun 27 14:48:54 2014 -0400 - - Minor: Reorder template parameter order - - src/hb-open-type-private.hh | 14 +++++++------- - src/hb-ot-cmap-table.hh | 2 +- - 2 files changed, 8 insertions(+), 8 deletions(-) - -commit 0394ec1bfbd7806cbe9fc809b34f96f8d12ffbf2 -Author: Behdad Esfahbod -Date: Fri Jun 27 14:40:35 2014 -0400 - - Minor: Introduce GenericOffset - - src/hb-open-type-private.hh | 16 ++++++---------- - 1 file changed, 6 insertions(+), 10 deletions(-) - -commit 0d1b3419a7bbfd18ab8fed1abd3a41dec11e8d97 -Author: Behdad Esfahbod -Date: Thu Jun 26 19:13:34 2014 -0400 - - Minor: Use template parameter default values for OffsetTo - - src/hb-open-type-private.hh | 13 +++++-------- - 1 file changed, 5 insertions(+), 8 deletions(-) - -commit 546b1adcdce2d3592843938b0b81ff32e67b0b83 -Author: Behdad Esfahbod -Date: Thu Jun 26 19:10:21 2014 -0400 - - Minor: Use template parameter default values for hb_prealloced_array_t - - src/hb-private.hh | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit 911ca38645bd51764e7859bc482319e8f6d2f710 -Author: Behdad Esfahbod -Date: Tue Jun 24 10:20:36 2014 -0600 - - Add back API removed recently - - Add hb_ot_layout_language_get_required_feature_index() again, which - is used in Pango. This was removed in - da132937989acb4d8ca9bd41c79f98750e7dda30 in favor of - hb_ot_layout_language_get_required_feature(). - - API changes: - - - Added hb_ot_layout_language_get_required_feature_index back. - - src/hb-ot-layout.cc | 15 +++++++++++++++ - src/hb-ot-layout.h | 7 +++++++ - 2 files changed, 22 insertions(+) - -commit 89e4946929a8cd2359c7d76fa9272d5604243002 -Author: Behdad Esfahbod -Date: Sun Jun 22 11:32:13 2014 -0600 - - Add new IndicSyllabicCategory short forms for Unicode 7.0 - - src/gen-indic-table.py | 4 ++++ - 1 file changed, 4 insertions(+) - -commit dcee838e89c2863c2fda4e8f098e720637e02335 -Author: Behdad Esfahbod -Date: Sun Jun 22 11:29:59 2014 -0600 - - Minor - - src/gen-arabic-table.py | 2 +- - src/gen-indic-table.py | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit f2ad86e6053fa87ab188c36edc3d98c92324c049 -Author: Behdad Esfahbod -Date: Sat Jun 21 15:31:10 2014 -0600 - - [indic-table-gen] Minor - - src/gen-indic-table.py | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 2ec62279aab8c2263f17ffbc7c6f74304674f9a8 -Author: Behdad Esfahbod -Date: Sat Jun 21 15:25:59 2014 -0600 - - [indic-table] Update to Unicode 6.3.0 - - Was from 6.2.0. It's a no-op. Committing for the record. - - src/hb-ot-shape-complex-indic-table.cc | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 5d4d7384efa97a30893ad28b9ad9a994722de12c -Author: Behdad Esfahbod -Date: Sat Jun 21 14:53:21 2014 -0600 - - Minor: format - - src/hb-ot-shape-complex-arabic.cc | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 44243ae5902cc420e6bf6ec2fca2584ba93ff2fb -Author: Behdad Esfahbod -Date: Sat Jun 21 14:19:34 2014 -0600 - - [arabic-table] Update to Unicode 7.0 - - Old table was from 6.2. Remove hard-coded Mongolian and Phags-pa - data. - This completes support for new scripts Manichian and Psaltar Pahlavi. - - src/hb-ot-shape-complex-arabic-table.hh | 72 - ++++++++++++++++++++++++++++----- - src/hb-ot-shape-complex-arabic.cc | 22 ---------- - 2 files changed, 63 insertions(+), 31 deletions(-) - -commit cd86ab9b4f4d7bd4f563be64a83714fc8fb395d7 -Author: Behdad Esfahbod -Date: Sat Jun 21 14:10:38 2014 -0600 - - [arabic-table] Add ZWJ/ZWNJ now that table is segmented - - src/gen-arabic-table.py | 2 -- - src/hb-ot-shape-complex-arabic-table.hh | 12 +++++++++++- - src/hb-ot-shape-complex-arabic.cc | 5 ----- - 3 files changed, 11 insertions(+), 8 deletions(-) - -commit 2390d9b67e1dfeccd3f0850d1304c52b54817ca0 -Author: Behdad Esfahbod -Date: Sat Jun 21 14:07:00 2014 -0600 - - [arabic-table] Further tune - - In anticipation of Unicode 7.0 data coming in the next commit. - - src/gen-arabic-table.py | 10 ++++++--- - src/hb-ot-shape-complex-arabic-table.hh | 38 - +++++++++++++++------------------ - 2 files changed, 24 insertions(+), 24 deletions(-) - -commit a133e6067aaebc494c0156b5fac7f4a879e12dbe -Author: Behdad Esfahbod -Date: Fri Jun 20 18:01:34 2014 -0400 - - [indic-table] Minor - - src/gen-indic-table.py | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit b900fa2c8cc088dbcbdbf90bfdf8764f9ee1c96a -Author: Behdad Esfahbod -Date: Fri Jun 20 17:59:43 2014 -0400 - - [arabic-table] Use segmented table - - No functional change. - - src/gen-arabic-table.py | 82 - +++++++++++++++++++++++---------- - src/hb-ot-shape-complex-arabic-table.hh | 53 ++++++++++++++------- - src/hb-ot-shape-complex-arabic.cc | 8 ++-- - 3 files changed, 97 insertions(+), 46 deletions(-) - -commit c2e113404640bf9b8bac469d0803ac946e77964f -Author: Behdad Esfahbod -Date: Fri Jun 20 17:57:03 2014 -0400 - - [indic-table] Make output stable - - src/gen-indic-table.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 55abfbd2ac1626af16151298a0837b837d0796df -Author: Behdad Esfahbod -Date: Fri Jun 20 16:47:43 2014 -0400 - - [indic-table] Minor - - No output change. - - src/gen-indic-table.py | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -commit f88670749006991282bcc4e8b6218487295ca670 -Author: Behdad Esfahbod -Date: Fri Jun 20 16:30:10 2014 -0400 - - [arabic-table] Don't write comments - - No functional change. - - src/gen-arabic-table.py | 20 +- - src/hb-ot-shape-complex-arabic-table.hh | 710 - ++------------------------------ - 2 files changed, 38 insertions(+), 692 deletions(-) - -commit 200dfe3eb10feda2ad25940338b08011f4757ca4 -Author: Behdad Esfahbod -Date: Fri Jun 20 16:20:59 2014 -0400 - - [arabic-table] Use short names for values - - No functional change. - - src/gen-arabic-table.py | 16 +- - src/hb-ot-shape-complex-arabic-table.hh | 1386 - ++++++++++++++++--------------- - 2 files changed, 716 insertions(+), 686 deletions(-) - -commit 3f5327a41efcf50f64d9498ef3dfd6875ef6a5ab -Author: Behdad Esfahbod -Date: Fri Jun 20 16:17:42 2014 -0400 - - [arabic-table] Read Blocks.txt and shuffle code around - - No functional change. - - src/Makefile.am | 2 +- - src/gen-arabic-table.py | 80 - +++++++++++++++++++-------------- - src/hb-ot-shape-complex-arabic-table.hh | 30 ++++++++----- - 3 files changed, 67 insertions(+), 45 deletions(-) - -commit 171f970e4f72d9fe1af30eab32b96906ee4a14f5 -Author: Behdad Esfahbod -Date: Fri Jun 20 15:25:30 2014 -0400 - - [indic-table] Black-list Thai, Lao, and Tibetan - - We don't need Indic table for those. - - src/gen-indic-table.py | 3 ++ - src/hb-ot-shape-complex-indic-table.cc | 94 - +++++++--------------------------- - 2 files changed, 21 insertions(+), 76 deletions(-) - -commit 65ac2dae4f284f563b2dc476a21e2b5a48124de8 -Author: Behdad Esfahbod -Date: Fri Jun 20 15:12:49 2014 -0400 - - [indic-table] Speed up lookup - - src/gen-indic-table.py | 22 +++++++++--- - src/hb-ot-shape-complex-indic-table.cc | 61 - +++++++++++++++++++++++----------- - 2 files changed, 59 insertions(+), 24 deletions(-) - -commit 64442a3f4c5c7be08893454742cad6bfe73cb8d7 -Author: Behdad Esfahbod -Date: Fri Jun 20 14:58:53 2014 -0400 - - [indic-table] Fix compiler warning - - src/gen-indic-table.py | 4 +--- - src/hb-ot-shape-complex-indic-table.cc | 4 +--- - 2 files changed, 2 insertions(+), 6 deletions(-) - -commit 0436e1d50527497ebe5053b51a34ce6590276249 -Author: Behdad Esfahbod -Date: Fri Jun 20 14:56:22 2014 -0400 - - [indic-table] Make table more compact by not covering full blocks - - -#define indic_offset_total 4416 - +#define indic_offset_total 3816 - - -}; /* Table occupancy: 60% */ - +}; /* Table occupancy: 69% */ - - src/gen-indic-table.py | 24 ++++-- - src/hb-ot-shape-complex-indic-table.cc | 150 - +++++++++------------------------ - 2 files changed, 57 insertions(+), 117 deletions(-) - -commit 190a251479b3cfc68871ff1daf9a9d1abe3f86e6 -Author: Behdad Esfahbod -Date: Fri Jun 20 14:41:39 2014 -0400 - - [indic-table] Remove block range from data table - - No functional change. - - src/gen-indic-table.py | 4 +- - src/hb-ot-shape-complex-indic-table.cc | 102 - ++++++++++++++++----------------- - 2 files changed, 54 insertions(+), 52 deletions(-) - -commit 2b051c6057920c564c13c5d6a3e6dca93446fa12 -Author: Behdad Esfahbod -Date: Fri Jun 20 14:09:57 2014 -0400 - - Rename HB_VERSION_CHECK and hb_version_check to "atleast" - - HB_VERSION_CHECK's comparison was originally written wrongly - by mistake. When API tests were written, they were also written - wrongly to pass given the wrong implementation... Sigh. - - Given the purpose of this API, there's no point in fixing it - without renaming it. As such, rename. - - API changes: - - HB_VERSION_CHECK -> HB_VERSION_ATLEAST - hb_version_check -> hb_version_atleast - - docs/reference/harfbuzz-sections.txt | 4 ++-- - src/hb-common.cc | 10 +++++----- - src/hb-version.h.in | 10 +++++----- - test/api/test-version.c | 29 +++++++++++++++-------------- - 4 files changed, 27 insertions(+), 26 deletions(-) - -commit cabfa538ed4b1355326fa8de05f7209dda1c1c7a -Author: Behdad Esfahbod -Date: Fri Jun 20 13:51:21 2014 -0400 - - Adjust unused doc symbols - - docs/reference/harfbuzz-sections.txt | 19 +++++++++++++++++-- - src/hb-ot-shape.h | 21 ++++++++++----------- - 2 files changed, 27 insertions(+), 13 deletions(-) - -commit da132937989acb4d8ca9bd41c79f98750e7dda30 -Author: Jonathan Kew -Date: Sun Apr 27 14:05:24 2014 +0100 - - Rework handling of requiredFeature to solve problem with rlig in - arial.ttf from winxp - - https://bugzilla.mozilla.org/show_bug.cgi?id=986802 - Fixes https://github.com/behdad/harfbuzz/pull/39 - - API Change: - - -hb_ot_layout_language_get_required_feature_index - +hb_ot_layout_language_get_required_feature - - New API takes an extra pointer argument. Pass NULL in to get - behavior of previous API. - - Reworked by behdad - - src/hb-ot-layout-gsubgpos-private.hh | 4 +-- - src/hb-ot-layout.cc | 29 ++++++++++++--------- - src/hb-ot-layout.h | 11 ++++---- - src/hb-ot-map.cc | 50 - ++++++++++++++++++++++++++---------- - src/main.cc | 4 +-- - 5 files changed, 64 insertions(+), 34 deletions(-) - -commit df554af99db390e42d378983bb3fcf583477a1d7 -Author: Behdad Esfahbod -Date: Thu Jun 19 15:39:18 2014 -0400 - - Rename search() to bsearch() and lsearch() - - Such that the complexity of the algorithm used is clear at - call site. - - src/hb-open-type-private.hh | 4 ++-- - src/hb-ot-cmap-table.hh | 14 +++++++------- - src/hb-ot-layout-common-private.hh | 9 +++++---- - 3 files changed, 14 insertions(+), 13 deletions(-) - -commit fb8cc86ff99c08064ac58a559bb66cc340693b92 -Author: Behdad Esfahbod -Date: Thu Jun 19 15:30:18 2014 -0400 - - Rename sort() to qsort() - - In an effort to make the algorithm used clear. - - src/hb-coretext.cc | 4 ++-- - src/hb-ot-map.cc | 4 ++-- - src/hb-private.hh | 8 ++++---- - src/hb-uniscribe.cc | 4 ++-- - 4 files changed, 10 insertions(+), 10 deletions(-) - -commit 577ca4814314c374824cac736996b9cdd4f9d11f -Author: Behdad Esfahbod -Date: Wed Jun 18 12:29:23 2014 -0400 - - [unicode7] Update list of Default_Ignorable codepoints - - src/hb-unicode-private.hh | 66 - +++++++++++++++++++++-------------------------- - 1 file changed, 30 insertions(+), 36 deletions(-) - -commit 7cfee3827636f0dff7df5c8975a4fadd1b4bfbd5 -Author: Behdad Esfahbod -Date: Mon Apr 28 15:09:30 2014 -0700 - - [unicode7] Route Manichaean and Psalter Pahlavi through Arabic shaper - - Still needs update to joining table to fully work. - - src/hb-ot-shape-complex-private.hh | 4 ++++ - 1 file changed, 4 insertions(+) - -commit a4a7899cd93fb9d1bc2163a4bbabfa733ee5bd52 -Author: Behdad Esfahbod -Date: Mon Apr 28 15:06:42 2014 -0700 - - [unicode7] Mark right-to-left scripts - - src/hb-common.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 62587bfc5178a447ef66d88eab7412a7efe84692 -Author: Behdad Esfahbod -Date: Mon Apr 28 15:07:21 2014 -0700 - - [unicode7] Declare Unicode 7 scripts - - src/hb-common.h | 21 +++++++++------------ - 1 file changed, 9 insertions(+), 12 deletions(-) - -commit dc61294aa93d36d0c5d187d4a692560a7cb46444 -Author: Behdad Esfahbod -Date: Mon Apr 28 14:58:28 2014 -0700 - - [unicode7] Add missing ISO 15924 tags - - src/hb-common.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 7526373e70bc4c2e2072da36babf9399fcf483b8 -Author: Behdad Esfahbod -Date: Tue Jun 17 11:45:26 2014 -0400 - - [coretext] Remove unused var - - src/hb-coretext.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 798e4185bc71b1a63528e6b0af236d4c964ec607 -Author: Jonathan Kew -Date: Tue Jun 10 13:10:30 2014 +0100 - - When zeroing mark widths for LTR, also adjust offset... - - ...so that they overstrike preceding glyph. - - https://github.com/behdad/harfbuzz/pull/43 - - src/hb-ot-shape.cc | 50 - +++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 39 insertions(+), 11 deletions(-) - -commit 80f7405a5208f88b8615aa4ce4c54ffeb16f04f8 -Author: Jonathan Kew -Date: Tue Jun 10 13:10:02 2014 +0100 - - [Thai] set the correct general category on Nikhahit when decomposing - Sara-Am. - - src/hb-ot-shape-complex-thai.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 1d634cbb4b0338e1c2841127a72c5fac3a2a5ca1 -Author: Behdad Esfahbod -Date: Fri Jun 6 17:55:02 2014 -0400 - - Fix base-position when 'pref' is NOT formed - - If pre-base reordering Ra is NOT formed (or formed and then - broken up), we should consider that Ra as base. This is - observable when there's a left matra or dotreph that positions - before base. - - Now, it might be that we shouldn't do this if the Ra happend - to form a below form. We can't quite deduce that right now... - - Micro test added. Also at: - - https://code.google.com/a/google.com/p/noto-alpha/issues/detail?id=186#c29 - - src/hb-ot-shape-complex-indic.cc | 28 - +++++++++++++++++++-- - test/shaping/fonts/sha1sum/MANIFEST | 5 ++++ - .../e207635780b42f898d58654b65098763e340f5c7.ttf | Bin 0 -> 3000 bytes - test/shaping/tests/indic-pref-blocking.tests | 3 ++- - 4 files changed, 33 insertions(+), 3 deletions(-) - -commit 04dc52fa15f5b7f9eb5f448ea43e7ef1b2269e88 -Author: Behdad Esfahbod -Date: Fri Jun 6 17:28:38 2014 -0400 - - [indic] Recover OT_H undergone ligation and multiplication - - Sometimes font designers form half/pref/etc consonant forms - unconditionally and then undo that conditionally. Try to - recover the OT_H classification in those cases. - - No test number changes expected. - - src/hb-ot-layout-private.hh | 8 ++++++++ - src/hb-ot-shape-complex-indic.cc | 21 +++++++++++++++++++++ - 2 files changed, 29 insertions(+) - -commit 39c8201f8e361e8c0f23f07bf20124ccadc6086c -Author: Behdad Esfahbod -Date: Fri Jun 6 17:19:35 2014 -0400 - - [indic] Improve base re-finding - - No test numbers change. - - src/hb-ot-shape-complex-indic.cc | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit c04d5f0dd24d0ed9560fb9aebb5561ce946743c3 -Author: Behdad Esfahbod -Date: Fri Jun 6 17:02:39 2014 -0400 - - [indic] Minor - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 824d00dce483d0f4030c0cac253f994810e10f32 -Author: Behdad Esfahbod -Date: Mon Jun 9 14:17:33 2014 -0400 - - Fix commit 3f38c1137b6219a646da141b08463ffa922d4e35 - - Previous commit was not compiling with clang. - - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 3f38c1137b6219a646da141b08463ffa922d4e35 -Author: Behdad Esfahbod -Date: Fri Jun 6 16:03:40 2014 -0400 - - Don't use -mstructure-size-boundary=8 on clang arm - - As in building for Android / iPhone. Only set it if - struct{char} alignment is not 1. - - NOT tested on an actual Arm architecture. Guess we'll know - when this makes it to people's build bots. - - configure.ac | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 0ff74b09d2ccf7a9ea0f0b463d8b6d819c86c837 -Author: Behdad Esfahbod -Date: Thu Jun 5 21:55:23 2014 -0400 - - Add missing test file. Oops - - test/shaping/tests/indic-pref-blocking.tests | 1 + - 1 file changed, 1 insertion(+) - -commit 832a6f99b34f334b1e82b8e3a7ad137e823d203c -Author: Behdad Esfahbod -Date: Wed Jun 4 16:57:42 2014 -0400 - - [indic] Don't reorder reph/pref if ligature was expanded - - Normally if you want to, say, conditionally prevent a 'pref', you - would use blocking contextual matching. Some designers instead - form the 'pref' form, then undo it in context. To detect that - we now also remember glyphs that went through MultipleSubst. - - In the only place that this is used, Uniscribe seems to only care - about the "last" transformation between Ligature and Multiple - substitions. Ie. if you ligate, expand, and ligate again, it - moves the pref, but if you ligate and expand it doesn't. That's - why we clear the MULTIPLIED bit when setting LIGATED. - - Micro-test added. Test: U+0D2F,0D4D,0D30 with font from: - - [1] - https://code.google.com/a/google.com/p/noto-alpha/issues/detail?id=186#c29 - - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 20 - ++++++++++++++++---- - src/hb-ot-layout-private.hh | 16 - +++++++++++++++- - src/hb-ot-shape-complex-indic.cc | 4 ++-- - test/shaping/Makefile.am | 5 ++++- - .../226bc2deab3846f1a682085f70c67d0421014144.ttf | Bin 0 -> 2828 bytes - test/shaping/tests/MANIFEST | 1 + - 7 files changed, 39 insertions(+), 9 deletions(-) - -commit b5be2317201774c84470167767ad83c8637cad5b -Author: Behdad Esfahbod -Date: Thu Jun 5 19:00:22 2014 -0400 - - [gsub] Adjust single-length ligature subst to act like single subst - - src/hb-ot-layout-gsub-table.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit aae69451dfbf2e3671c555c234f788c194302818 -Author: Behdad Esfahbod -Date: Thu Jun 5 18:54:44 2014 -0400 - - [gsub] Minor shuffling - - src/hb-ot-layout-gsub-table.hh | 29 ++++++++++++++++------------- - 1 file changed, 16 insertions(+), 13 deletions(-) - -commit b6b304f12be917b7449b3ac9409069fcd4a27d95 -Author: Behdad Esfahbod -Date: Thu Jun 5 17:12:54 2014 -0400 - - [ot] Add TODO re zero-len MultipleSubst sequences - - src/hb-ot-layout-gsub-table.hh | 9 +++++++++ - src/hb-ot-layout-gsubgpos-private.hh | 4 +++- - 2 files changed, 12 insertions(+), 1 deletion(-) - -commit f1a72fe7bf863535ec09b559cc0bd878fd0799f2 -Author: Behdad Esfahbod -Date: Wed Jun 4 19:00:29 2014 -0400 - - [ot-font] Fix cmap EncodingRecord cmp order - - src/hb-ot-cmap-table.hh | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -commit ce34f0b07e5324ed52e6e2c43000c2b09ee010d4 -Author: Behdad Esfahbod -Date: Wed Jun 4 18:57:46 2014 -0400 - - [ot-font] Use binary search for format12 cmap subtable - - src/hb-open-type-private.hh | 4 ++++ - src/hb-ot-cmap-table.hh | 2 +- - 2 files changed, 5 insertions(+), 1 deletion(-) - -commit 257d1adfa1b3422c511c55e641840a6e31ec6008 -Author: Behdad Esfahbod -Date: Wed Jun 4 18:47:55 2014 -0400 - - [ot-font] Work around broken cmap subtable format 4 length - - Roboto was hitting this. FreeType also has pretty much the - same code for this, in ttcmap.c:tt_cmap4_validate(): - - /* in certain fonts, the `length' field is invalid and goes */ - /* out of bound. We try to correct this here... */ - if ( table + length > valid->limit ) - { - if ( valid->level >= FT_VALIDATE_TIGHT ) - FT_INVALID_TOO_SHORT; - - length = (FT_UInt)( valid->limit - table ); - } - - src/hb-ot-cmap-table.hh | 22 ++++++++++++++++++---- - 1 file changed, 18 insertions(+), 4 deletions(-) - -commit 51f563579b94e1ee23ced9bbcc7dd3341535ce72 -Author: Behdad Esfahbod -Date: Wed Jun 4 18:42:32 2014 -0400 - - Move try_set to sanitize context - - src/hb-open-type-private.hh | 22 ++++++++++------------ - src/hb-ot-layout-common-private.hh | 2 +- - 2 files changed, 11 insertions(+), 13 deletions(-) - -commit 500737e8e16dce5248aff394899bb3761a9c3bbf -Author: Behdad Esfahbod -Date: Wed Jun 4 18:17:29 2014 -0400 - - [ot-font] Don't select a Null cmap subtable - - Can happen either in broken fonts, or as a result of sanitize(). - - src/hb-ot-cmap-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dac86026a6bae5a8a03cfe885bf93f32e5f48614 -Author: Behdad Esfahbod -Date: Tue Jun 3 17:57:00 2014 -0400 - - Fix some cppcheck warnings - - Bug 77800 - cppcheck reports - - src/hb-common.cc | 4 +++- - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-private.hh | 2 +- - src/hb-shape-plan.cc | 4 ++-- - 4 files changed, 7 insertions(+), 5 deletions(-) - -commit c306410cab368a27c1941a2625d3b475edeaac04 -Author: Behdad Esfahbod -Date: Tue Jun 3 16:59:41 2014 -0400 - - Bug 77732 - Fix unused typedef warning for ASSERT_STATIC with GCC 4.8 - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ae2b854eab7f1c48e56751c987a714c2c18d6eb6 -Author: Behdad Esfahbod -Date: Tue Jun 3 16:59:09 2014 -0400 - - Move code around - - src/hb-private.hh | 134 - ++++++++++++++++++++++++++---------------------------- - 1 file changed, 65 insertions(+), 69 deletions(-) - -commit 17c3b809f42aec34d83dba2e6229ad85804bebae -Author: Behdad Esfahbod -Date: Mon Jun 2 15:08:18 2014 -0400 - - [indic] Treat U+A8E0..A8F1 as OT_A instead of OT_VD - - Apparently they can intermix with other OT_A. - - Test: U+0915,A8E2,1CD0 - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6ae13f257c3986517c097fa666ab9f58bdc918b5 -Author: Behdad Esfahbod -Date: Fri May 30 17:38:14 2014 -0400 - - [graphite2] Fix cluster mapping - - Patch from Martin Hosken. I expect this to fix the following bugs: - - https://bugs.freedesktop.org/show_bug.cgi?id=75076 - https://bugzilla.gnome.org/show_bug.cgi?id=723582 - https://bugzilla.redhat.com/show_bug.cgi?id=998812 - - src/hb-graphite2.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 5875ad9c467b39d00ad4d98fd425179c701e6fd0 -Author: Behdad Esfahbod -Date: Thu May 29 15:48:16 2014 -0400 - - 0.9.29 - - NEWS | 12 ++++++++++++ - configure.ac | 2 +- - 2 files changed, 13 insertions(+), 1 deletion(-) - -commit 7977ca17aac34b9ab10622928bed8afa2177f16a -Author: Behdad Esfahbod -Date: Thu May 29 15:34:26 2014 -0400 - - [indic] Allow decimal and Brahmi digits as placeholders - - Tests: U+0967,0951 U+0031,093F - - src/hb-ot-shape-complex-indic.cc | - 4 ++++ - .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | - 2 ++ - 2 files changed, 6 insertions(+) - -commit e8b5d64039614ecce472eda1a7a603736da25d86 -Author: Behdad Esfahbod -Date: Thu May 29 15:18:27 2014 -0400 - - [indic] Do NOT allow reph formation on placeholders - - Only allow it on DOTTED CIRCLE. No effect on test numbers. - - Test: U+0930,094D,00A0 - - src/hb-ot-shape-complex-indic-machine.rl | - 2 +- - .../in-tree/shaper-indic/indic/script-devanagari/misc/dottedcircle.txt | - 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit 52b562a6a058131c0103aaa5404d053e6465bb23 -Author: Behdad Esfahbod -Date: Tue May 27 18:18:23 2014 -0400 - - [indic] Clean up a bit - - No functional change intended. - - src/hb-ot-shape-complex-indic.cc | 17 +++++------------ - 1 file changed, 5 insertions(+), 12 deletions(-) - -commit 3bf652b90783e8244c153739585d95dc4162efb4 -Author: Behdad Esfahbod -Date: Tue May 27 18:07:26 2014 -0400 - - [indic] Treat U+002D and U+2010..2014 as placeholders - - src/hb-ot-shape-complex-indic.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit e0de95f40244924cb8f9f7abca7f53117044a0eb -Author: Behdad Esfahbod -Date: Tue May 27 17:58:34 2014 -0400 - - [indic] Treat U+00D7 MULTIPLICATION SIGN as placeholder - - src/hb-ot-shape-complex-indic.cc | 1 + - 1 file changed, 1 insertion(+) - -commit cf78dd483cbe1759a8ecb731879e041a53ba9bb3 -Author: Behdad Esfahbod -Date: Tue May 27 17:53:37 2014 -0400 - - [indic/myanmar] Rename OT_NBSP to OT_PLACEHOLDER - - src/hb-ot-shape-complex-indic-machine.rl | 4 ++-- - src/hb-ot-shape-complex-indic-private.hh | 6 +++--- - src/hb-ot-shape-complex-indic.cc | 4 ++-- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - 4 files changed, 8 insertions(+), 8 deletions(-) - -commit 186ece94c8838e95db240d3e7c3ce415da6be81e -Author: Behdad Esfahbod -Date: Tue May 27 17:49:45 2014 -0400 - - [myanmar] Use OT_NBSP instead of OT_DOTTEDCIRCLE for OT_GB - - No functional change. - - src/hb-ot-shape-complex-myanmar-machine.rl | 2 +- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit cf71d28c380819cb0f7f0f22f6ff9e4aa881a2b8 -Author: Behdad Esfahbod -Date: Tue May 27 17:47:43 2014 -0400 - - [indic/myanmar] Refactor a few macros - - src/hb-ot-shape-complex-indic-private.hh | 12 ++++++++++++ - src/hb-ot-shape-complex-indic.cc | 10 ---------- - src/hb-ot-shape-complex-myanmar.cc | 6 ------ - 3 files changed, 12 insertions(+), 16 deletions(-) - -commit 2307268e01d27a999b56a2f573dfcee8b2a7949b -Author: Behdad Esfahbod -Date: Tue May 27 17:39:01 2014 -0400 - - [indic] Treat U+0A72..0A73 like regular consonants - - Unicode 6.x IndicSyllableCategory categorizes them as - placeholders, but they can subjoin. - - src/hb-ot-shape-complex-indic.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit e9b2a4cfe593bdbe9288571635ba26ac42ede987 -Author: Behdad Esfahbod -Date: Fri May 23 15:49:10 2014 -0400 - - [indic] Support U+1CED - - src/hb-ot-shape-complex-indic.cc | 5 +++++ - 1 file changed, 5 insertions(+) - -commit d19f8e85702a1e473efe2f02027984dcc127602a -Author: Behdad Esfahbod -Date: Fri May 23 15:45:50 2014 -0400 - - [indic] Support U+A8F2..A8F7,1CE9..1CEC,1CEE..1CF1 - - src/hb-ot-shape-complex-indic.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit ddbdfcbf1c10eed0a7b81b29fee99f1bd22113e5 -Author: Behdad Esfahbod -Date: Fri May 23 15:39:55 2014 -0400 - - [indic] Simplify grammar - - No functional change. - - src/hb-ot-shape-complex-indic-machine.rl | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit 4e9b1f662b23966e67c548b86afeff2bec9b0eb7 -Author: Behdad Esfahbod -Date: Fri May 23 15:38:42 2014 -0400 - - [indic] Always start new syllable for Avagraha - - In fact, the previous grammar was ambigious. No functional - change. - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9f9bd9bf31161660214b8b39a78cdafbb79db1be -Author: Behdad Esfahbod -Date: Fri May 23 15:33:13 2014 -0400 - - [indic] Rename avagraha cluster to symbol cluster - - In anticipation of adding more characters to that class of clusters. - - src/hb-ot-shape-complex-indic-machine.rl | 10 +++++----- - src/hb-ot-shape-complex-indic-private.hh | 4 ++-- - src/hb-ot-shape-complex-indic.cc | 14 +++++++------- - 3 files changed, 14 insertions(+), 14 deletions(-) - -commit a498565cedf0441ae723c5e5969f637d792a15e7 -Author: Behdad Esfahbod -Date: Thu May 22 19:39:56 2014 -0400 - - [indic] Support U+1CF2,U+1CF3 - - src/hb-ot-shape-complex-indic.cc | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit ecb98babbaa065940b40ca8954a454f0e2cdcff0 -Author: Behdad Esfahbod -Date: Thu May 22 19:36:21 2014 -0400 - - [indic] Support U+1CE2..U+1CE8 - - src/hb-ot-shape-complex-indic.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 37bf2c9224e32fdc99c20158c6dc0a4602ec1292 -Author: Behdad Esfahbod -Date: Thu May 22 19:35:17 2014 -0400 - - Minor - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 131e17ff9ae792cafa7a500043acb373802ee872 -Author: Behdad Esfahbod -Date: Thu May 22 19:32:51 2014 -0400 - - [indic] Support U+1CF5,1CF6 - - src/hb-ot-shape-complex-indic.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 72ead0cc72dac4d1c985ead065bb820f93f14a1d -Author: Behdad Esfahbod -Date: Thu May 22 19:12:10 2014 -0400 - - [indic] Treat U+1CE1 as a tone-mark too - - It's spacing, but otherwise the same as the other ones. - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e848bfae7c975a6fae434daf8e3db4d69914df9f -Author: Behdad Esfahbod -Date: Thu May 22 18:50:34 2014 -0400 - - [indic] Recategorize U+A8E0..A8F1 as OT_VD - - Up to two of them come after all OT_A characters. - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - src/hb-ot-shape-complex-indic.cc | 10 ++++++---- - 2 files changed, 7 insertions(+), 5 deletions(-) - -commit c519536c34c842304da558dd4a9e3844fc261b20 -Author: Behdad Esfahbod -Date: Thu May 22 18:43:14 2014 -0400 - - [indic] Allow up to three tone marks - - According to Roozbeh, there are valid combinations in Unicode - proposals for up to three. Previously we were allowing up to two. - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c11fc6833980fce6d70c5ae0c6623de97a3eb30a -Author: Behdad Esfahbod -Date: Thu May 22 18:41:49 2014 -0400 - - [indic] Support more extended Devanagari tone marks - - Also adjust U+0953,0954 handling. - - src/hb-ot-shape-complex-indic.cc | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -commit 26c836e53d55a2e2d4c17fd9ea1884eec33ce015 -Author: Behdad Esfahbod -Date: Wed May 21 18:35:48 2014 -0400 - - [indic] Handle "Cantillation marks for the Samaveda" - - src/hb-ot-shape-complex-indic.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 29531128f2f4342d537817746863705df80efe4b -Author: Behdad Esfahbod -Date: Thu May 15 14:04:02 2014 -0600 - - [indic] Improve reph formation of Sinhala and Telugu - - Sinhala and Telugu use "explicit" reph. That is, the reph is - formed by - a Ra,H,ZWJ sequence. Previously, upon detecting this sequence, - we were - checking checking whether the 'rphf' feature applies to the first two - glyphs of the sequence. This is how the Microsoft fonts are designed. - However, testing with Noto shows that apparently Uniscribe also forms - the reph if the lookup ligates all three glyphs. So, try both - sequences. - - Doesn't affect test results for Sinhala or Telugu. - - https://code.google.com/a/google.com/p/noto-alpha/issues/detail?id=232 - - src/hb-ot-shape-complex-indic.cc | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit 8c703f13bf8b4b276093b1c42cd3759e34b6787f -Author: Oleg Oshmyan -Date: Wed May 14 22:10:09 2014 +0100 - - Fix build with --coretext on older OS X - - Fixes https://github.com/behdad/harfbuzz/pull/40 - - src/hb-coretext.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 439b05867c0856a81fa8f9bea3a7465b4b4bdd91 -Author: Behdad Esfahbod -Date: Wed May 14 16:44:39 2014 -0600 - - [myanmar] Allow MedialYa+Asat in the grammar - - The grammar in the OT spec, and the existing Windows implementation - seem to be confused around where to allow Asat around the medial - consonants. - - The previous grammar for medial group was allowing an Asat after - the medial group only if there was a medial Wa or Ha, but not if - there was only a medial Ya. This doesn't make sense to me and - sounds reversed, as both medial Wa and Ha are below marks while - Asat is an above mark. An Asat can come before the medial group - already (in fact, multiple ones can. Why?!). The medial Ya - however is a spacing mark and according to Roozbeh it's valid - to want an Asat on the medial Ya instead of the base, so it looks - to me like we want to allow an Asat after the medial group if - there *was* a Ya but not if there wasn't any. Not wanting to - produce dotted-circle where Windows is not, this commit changes - the grammar to allow one Asat after the medial group no matter - what comes in the group. - - Test: U+1002,103A,103B vs U+1002,103B,103A - - src/hb-ot-shape-complex-myanmar-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0a017ce169d791c9aea56671fe5837961e0a3c09 -Author: Behdad Esfahbod -Date: Wed May 14 16:44:16 2014 -0600 - - Add tests for Myanmar Asat+MedialYa and MedialYa+Asat sequences - - One of them currently produces dotted-circle. Fix and detailed - message coming. - - test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/misc.txt | - 2 ++ - 1 file changed, 2 insertions(+) - -commit c95587618c88d187be64f923033dae151cf820be -Author: Behdad Esfahbod -Date: Wed May 14 00:42:18 2014 -0400 - - [ot] Minor note re cmap subtable format 2 and 8 - - src/hb-ot-cmap-table.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit b7878cd58ea9a67236e1e0228c35b5b03ec4ff9c -Author: Behdad Esfahbod -Date: Tue May 13 21:47:51 2014 -0400 - - [ot] Implement cmap subtable format 0 - - src/hb-open-type-private.hh | 3 ++- - src/hb-ot-cmap-table.hh | 32 ++++++++++++++++++++++++++++++++ - 2 files changed, 34 insertions(+), 1 deletion(-) - -commit ca7b77431d1e0aaa803722be8be85a368a385f47 -Author: Behdad Esfahbod -Date: Tue May 13 21:26:34 2014 -0400 - - [ot] Factor out code between cmap sutable format 12 and 13 - - src/hb-ot-cmap-table.hh | 43 +++++++++++++------------------------------ - 1 file changed, 13 insertions(+), 30 deletions(-) - -commit 94759e8219ed08392573bae948a8135e16b8e0d0 -Author: Behdad Esfahbod -Date: Tue May 13 21:17:28 2014 -0400 - - [ot] Factor out code between cmap subtable format 6 and 10 - - src/hb-ot-cmap-table.hh | 49 - ++++++++++--------------------------------------- - 1 file changed, 10 insertions(+), 39 deletions(-) - -commit 1a8ffc512987c1ff1b4896549f80b145c85454a8 -Author: Behdad Esfahbod -Date: Tue May 13 21:06:39 2014 -0400 - - Minor - - src/hb-blob.h | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 91bbfca87527fa14d6ebec86b087f2a989381872 -Author: Behdad Esfahbod -Date: Mon May 12 18:19:29 2014 -0400 - - [ot] Implement cmap subtable formats 6 and 10 - - src/hb-ot-cmap-table.hh | 77 - +++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 74 insertions(+), 3 deletions(-) - -commit d294a2cb165c4f20daa5624969067c51eb9aef58 -Author: Behdad Esfahbod -Date: Mon May 12 17:58:31 2014 -0400 - - [ot] Implement cmap subtable format 13 - - src/hb-ot-cmap-table.hh | 47 - +++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 41 insertions(+), 6 deletions(-) - -commit 0d75793fae95ed9f6b8522ae3af4fcdf397d8c36 -Author: Behdad Esfahbod -Date: Mon May 12 17:51:15 2014 -0400 - - [ot] Implement cmap subtable format 12 - - src/hb-ot-cmap-table.hh | 63 - +++++++++++++++++++++++++++++++++++++++++++++++-- - src/hb-ot-font.cc | 5 ++++ - 2 files changed, 66 insertions(+), 2 deletions(-) - -commit 3608a6847e7b7eb4206df049158513a085810afd -Author: Behdad Esfahbod -Date: Mon May 12 13:46:29 2014 -0400 - - [ot] Hook up cmap table to hb_ot_font_funcs() - - src/hb-ot-cmap-table.hh | 10 +++++++--- - src/hb-ot-font.cc | 33 +++++++++++++++++++-------------- - 2 files changed, 26 insertions(+), 17 deletions(-) - -commit c8a47452993b9dee6854bfc866aca4a20142696f -Author: Behdad Esfahbod -Date: Fri May 9 19:55:51 2014 -0400 - - [ot] Implement cmap subtable format 4 - - src/hb-ot-cmap-table.hh | 52 - +++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 52 insertions(+) - -commit 4719621f20dfd6a0377c650a7b4df223c18dc143 -Author: Behdad Esfahbod -Date: Fri May 9 16:09:11 2014 -0400 - - Minor - - src/hb-open-type-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 41ca1fbebf61cf26e1e0e4b11f4a5b52fb7d88a9 -Author: Behdad Esfahbod -Date: Fri May 9 15:35:56 2014 -0400 - - [ot] Start implementing cmap table - - src/Makefile.am | 1 + - src/hb-ot-cmap-table.hh | 171 - ++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-font.cc | 1 + - 3 files changed, 173 insertions(+) - -commit c7074b8798048324cb8850c55908ce77fc33d11e -Author: Behdad Esfahbod -Date: Thu May 8 18:24:31 2014 -0400 - - [otlayout] Add GenericArrayOf::search() - - src/hb-open-type-private.hh | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -commit 40a479797add42fa42b78d4267920ef75bfb6b9a -Author: Behdad Esfahbod -Date: Thu May 8 18:21:04 2014 -0400 - - [otlayout] Add GenericSortedArrayOf - - src/hb-open-type-private.hh | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -commit 0ddecabc6de205b121bec31fbf670f37cc9454ef -Author: Behdad Esfahbod -Date: Thu May 1 16:01:40 2014 -0700 - - [main] Minor improvement to output - - src/main.cc | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit 79ecdc3f9525212053d2bc88a5541c41697159da -Author: Behdad Esfahbod -Date: Mon Apr 28 14:24:23 2014 -0700 - - 0.9.28 - - NEWS | 13 +++++++++++++ - configure.ac | 2 +- - 2 files changed, 14 insertions(+), 1 deletion(-) - -commit 6faff8e4132197ba06f0e685b82efe35b546cf64 -Author: Behdad Esfahbod -Date: Mon Apr 28 14:29:39 2014 -0700 - - Add static storage classifier to inline functions - - Before we were just relying on the compiler inlining them and not - leaving a trace in our public API. Try to fix. Hopefully not - breaking anyone's build. - - src/hb-open-type-private.hh | 22 +++++++++++----------- - src/hb-ot-layout-gpos-table.hh | 4 ++-- - src/hb-ot-layout-gsub-table.hh | 6 +++--- - src/hb-ot-layout-private.hh | 36 ++++++++++++++++++------------------ - src/hb-ot-map-private.hh | 10 +++++----- - src/hb-private.hh | 2 +- - 6 files changed, 40 insertions(+), 40 deletions(-) - -commit 9c9411839bb89d0a1a83120af0982c60e0e393d9 -Author: Behdad Esfahbod -Date: Mon Apr 28 12:38:25 2014 -0700 - - [tibetan] Reorder PADMA sign to occur after other below marks - - Based on suggestion from Andrew Glass. - - Test: U+0F40,0FC6,0F83 - - src/hb-unicode-private.hh | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 659cd3c5b470ff9724ce5e53fedd1fea3e7512c4 -Author: Behdad Esfahbod -Date: Mon Apr 28 12:43:42 2014 -0700 - - [test] Add test case for Tibetan sign PADMA - - Currently fails. - - test/shaping/texts/in-tree/shaper-tibetan/script-tibetan/misc/misc.txt | - 1 + - 1 file changed, 1 insertion(+) - -commit ee703bc3ef740c300718fca7a12c050c322dce19 -Author: Behdad Esfahbod -Date: Mon Apr 28 12:43:18 2014 -0700 - - Reshuffle test data - - test/shaping/texts/in-tree/MANIFEST | - 3 +++ - test/shaping/texts/in-tree/shaper-default/MANIFEST | - 3 --- - .../in-tree/{shaper-default => shaper-hangul}/script-hangul/MANIFEST - | 0 - .../{shaper-default => shaper-hangul}/script-hangul/misc/MANIFEST - | 0 - .../{shaper-default => shaper-hangul}/script-hangul/misc/misc.txt - | 0 - .../in-tree/{shaper-default => shaper-hebrew}/script-hebrew/MANIFEST - | 0 - .../{shaper-default => shaper-hebrew}/script-hebrew/misc/MANIFEST - | 0 - .../script-hebrew/misc/diacritics.txt | - 0 - .../in-tree/{shaper-default => shaper-tibetan}/script-tibetan/MANIFEST - | 0 - .../{shaper-default => shaper-tibetan}/script-tibetan/misc/MANIFEST - | 0 - .../{shaper-default => shaper-tibetan}/script-tibetan/misc/misc.txt - | 0 - 11 files changed, 3 insertions(+), 3 deletions(-) - -commit b082ef373cefb35dd98b5f2f0b677ccc7806f51e -Author: Behdad Esfahbod -Date: Fri Apr 25 11:48:10 2014 -0700 - - Typo - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 828e109c7aac3389cc3b89ea1f13388aefb63804 -Author: Behdad Esfahbod -Date: Fri Apr 18 16:53:34 2014 -0700 - - [indic] Fix-up zero-context matching - - commit b5a0f69e47ace468b06e21cf069a18ddcfcf6064 - Author: Behdad Esfahbod - Date: Thu Oct 17 18:04:23 2013 +0200 - - [indic] Pass zero-context=false to would_substitute for newer - scripts - - For scripts without an old/new spec distinction, use - zero-context=false. - This changes behavior in Sinhala / Khmer, but doesn't seem - to regress. - This will be useful and used in Javanese. - - The *intention* was to change zero-context from true to false for - scripts that - don't have old-vs-new specs. However, checking the code, looks - like we - essentially change zero-context to always be true; ie. we only - changed things - for old-spec, and we broke them. That's what causes this bug: - - https://bugs.freedesktop.org/show_bug.cgi?id=76705 - - The root of the bug is here: - - /* Use zero-context would_substitute() matching for new-spec of - the main - * Indic scripts, but not for old-spec or scripts with one spec - only. */ - bool zero_context = indic_plan->config->has_old_spec || - !indic_plan->is_old_spec; - - Note that is_old_spec itself is: - - indic_plan->is_old_spec = indic_plan->config->has_old_spec && - ((plan->map.chosen_script[0] & 0x000000FF) != '2'); - - It's easy to show that zero_context is now always true. What we - really meant was: - - bool zero_context = indic_plan->config->has_old_spec && - !indic_plan->is_old_spec; - - Ie, "&&" instead of "||". We made this change supposedly to make - Javanese - work. But apparently we got it working regardless! So I'm going - to fix this - to only change the logic for old-spec and not touch other cases. - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 66c6a48b6ce9dab6375ba1a23d7e450d6974852a -Author: Behdad Esfahbod -Date: Mon Apr 14 15:55:42 2014 -0700 - - Add HB_NO_MERGE_CLUSTERS - - Disables any cluster-merging. Added for testing purposes while - we investigate what kind of API to add for this. - - src/hb-buffer.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 897c7b804d6817470a364ba31b1719555b12f751 -Author: Behdad Esfahbod -Date: Thu Apr 10 16:27:13 2014 -0700 - - Add Khmer test for U+17DD - - .../shaper-indic/south-east-asian/script-khmer/misc/other-marks.txt - | 1 + - 1 file changed, 1 insertion(+) - -commit 50a00535ccac538bbf93358fd2d2442e4c12542f -Author: Behdad Esfahbod -Date: Thu Apr 10 16:03:29 2014 -0700 - - Require gobject-introspection 1.34.0 - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=75384 - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5fd996c4a4049a75c6d9e964f1a81c00ff191893 -Author: Behdad Esfahbod -Date: Wed Apr 9 16:38:26 2014 -0700 - - Further adjust check-defs and check-symbols for mipsel - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=74491 - - src/check-defs.sh | 2 +- - src/check-symbols.sh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 75ec6d0bc5ca0170c73e4d1099a898d38d8f85c0 -Author: Behdad Esfahbod -Date: Wed Apr 9 16:33:32 2014 -0700 - - Tighten up check-static-inits.sh check - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=74490 - - src/check-static-inits.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 110ec0714a11b9417eed82f7d25b85c9dc7b6df4 -Author: Behdad Esfahbod -Date: Tue Apr 8 17:32:08 2014 -0700 - - Typo - - src/hb-blob.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0682ddd05c22a400ff5ce97d4ea4b52a18b845ae -Author: Behdad Esfahbod -Date: Tue Apr 8 16:03:35 2014 -0700 - - [indic] Support U+17DD KHMER SIGN ATTHACAN - - As requested by Martin Hosken on the list. - - src/hb-ot-shape-complex-indic.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 05870ed62edd8728d6d732f60d6b7e149d45e6f4 -Author: Primiano Tucci -Date: Wed Apr 2 11:35:27 2014 +0100 - - Use __aarch64__ for 64-bit ARM detection, not __arm64__ - - Many GCC versions don't define __arm64__ - - src/hb-atomic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 04d894e89795041b2055dc172744a018644f2bca -Author: Behdad Esfahbod -Date: Tue Mar 25 12:11:32 2014 -0700 - - Minor - - src/hb-ot-layout-gsubgpos-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 903648437c180c7b039801cdb0672e0f8e14afd4 -Author: Behdad Esfahbod -Date: Mon Mar 24 14:26:36 2014 -0700 - - Start fleshing out builtin font functions - - src/Makefile.am | 3 +- - src/hb-glib.cc | 2 +- - src/hb-icu.cc | 2 +- - src/hb-ot-font.cc | 260 - ++++++++++++++++++++++++++++++++++++ - src/{hb-tt-font.cc => hb-ot-font.h} | 56 ++------ - src/hb-ot-hhea-table.hh | 2 +- - src/hb-ot-hmtx-table.hh | 2 +- - src/hb-ot.h | 1 + - util/Makefile.am | 4 +- - util/options.cc | 4 + - 10 files changed, 283 insertions(+), 53 deletions(-) - -commit 343a0e4e747d93eeeb724c5d585f5ba036a0df84 -Author: Behdad Esfahbod -Date: Fri Mar 21 14:37:27 2014 -0700 - - Add "make built-sources" - - src/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit e9853f33d1f53d4d69ee0fa340ce9225a5ed17ca -Author: Behdad Esfahbod -Date: Fri Mar 21 12:53:08 2014 -0700 - - One more fix for build without gtk-doc - - Fixes https://github.com/behdad/harfbuzz/pull/35 - - autogen.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b96af03c20e46105982b3608b608614403540661 -Author: Konstantin Ritt -Date: Thu Mar 20 16:01:30 2014 +0200 - - Fix build with --coretext on iOS - - On iOS CoreText and CoreGraphics are stand-alone frameworks - - configure.ac | 23 +++++++++++++++++++---- - src/hb-coretext.h | 8 +++++++- - 2 files changed, 26 insertions(+), 5 deletions(-) - -commit ea5e8a02eb83ad19f3009b0008893f77ce113118 -Author: Behdad Esfahbod -Date: Wed Mar 19 15:38:02 2014 -0700 - - [util] Plug minor leak - - util/hb-shape.cc | 6 +++--- - util/helper-cairo.cc | 21 ++++++++++++--------- - util/helper-cairo.hh | 2 +- - util/options.cc | 6 +++++- - util/options.hh | 6 +++--- - 5 files changed, 24 insertions(+), 17 deletions(-) - -commit 09732cc6695b8e41ba6cdcd4058a4f7cad90167a -Author: Behdad Esfahbod -Date: Wed Mar 19 12:00:17 2014 -0700 - - Remove dead warning - - src/hb-unicode.cc | 9 +++++++-- - src/hb-warning.cc | 11 ----------- - 2 files changed, 7 insertions(+), 13 deletions(-) - -commit b934b0f9d1b39fc7a06c812bea3d79ca5424e278 -Author: Behdad Esfahbod -Date: Wed Mar 19 11:52:40 2014 -0700 - - Yet another try to make build without gtk-doc succeed - - autogen.sh | 1 + - docs/reference/Makefile.am | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit a7a5be090dd9cc39605853e8994eb417550939d4 -Author: Behdad Esfahbod -Date: Wed Mar 19 11:39:23 2014 -0700 - - Another try to make gtk-doc optional - - docs/reference/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ba8c9d92935ea351970a80d0d3441858ad4cf33f -Author: Dominik Röttsches -Date: Tue Mar 18 14:39:03 2014 +0200 - - 0.9.27 - - NEWS | 16 ++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 17 insertions(+), 1 deletion(-) - -commit a949cd329e49d2c0ad6f1e023f324790d886dafe -Author: Behdad Esfahbod -Date: Sun Mar 16 20:22:42 2014 -0700 - - Don't use "register" storage class specifier - - Fixes warnings. - https://bugzilla.mozilla.org/show_bug.cgi?id=984081 - - src/hb-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 0082dbeae6c25a7859960b7e791a540ad04246d9 -Author: jfkthame -Date: Sun Mar 16 08:25:17 2014 +0000 - - wrap definition of free_langs() with HAVE_ATEXIT - - ...to avoid an unused function warning; see mozilla bug - https://bugzilla.mozilla.org/show_bug.cgi?id=984081. - - src/hb-common.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit a9e25e90a4ca05746fda4a598ad698db1d2c5c1a -Author: Behdad Esfahbod -Date: Fri Mar 14 19:55:46 2014 -0700 - - [coretext] Add hb_coretext_face_create() - - Not tested. - - src/hb-coretext.cc | 57 - +++++++++++++++++++++++++++++++++++++++++++++--------- - src/hb-coretext.h | 4 ++++ - 2 files changed, 52 insertions(+), 9 deletions(-) - -commit c79865f90f62309dc64c8d3f2f503ec2aa4b7ec1 -Author: Behdad Esfahbod -Date: Fri Mar 14 19:37:55 2014 -0400 - - [coretext] Add coretext_aat shaper - - This is a higher-priority shaper than default shaper ("ot"), but - only picks up fonts that have AAT "morx"/"mort" table. - - Note that for this to work the font face's get_table() implementation - should know how to return the full font blob. - - Based on patch from Konstantin Ritt. - - src/hb-coretext.cc | 94 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-coretext.h | 4 +++ - src/hb-shaper-list.hh | 4 +++ - 3 files changed, 102 insertions(+) - -commit af1aa362cacc652ab8ffda05a5d98a3ff5430439 -Author: Behdad Esfahbod -Date: Fri Mar 14 15:52:47 2014 -0700 - - If HAVE_ICU_BUILTIN is defined, use hb-icu Unicode callbacks - - Useful for Android / Chrome / etc when ICU is built in the same - library as harfbuzz itself. - - src/hb-unicode.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 853daf857f231c9ce0277a78abff1241150ea903 -Author: Behdad Esfahbod -Date: Fri Mar 14 15:49:18 2014 -0700 - - Remove old cruft - - src/hb-shaper-list.hh | 6 ------ - 1 file changed, 6 deletions(-) - -commit 2a473338da1538efa4ff14ae9e4aba8dd50f9b0f -Author: Behdad Esfahbod -Date: Mon Mar 10 15:04:46 2014 -0700 - - Add Myanmar test case from OpenType Myanmar spec - - test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/MANIFEST | - 1 + - .../shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/otspec.txt | - 2 ++ - 2 files changed, 3 insertions(+) - -commit 158985908981189a2fd4d15275a641286fc770fe -Author: Behdad Esfahbod -Date: Mon Mar 10 14:57:55 2014 -0700 - - Minor - - test/shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/MANIFEST - | 1 - - test/shaping/texts/in-tree/shaper-sea/script-tai-tham/misc/MANIFEST - | 1 + - .../script-myanmar => shaper-sea/script-tai-tham}/misc/torture.txt - | 0 - 3 files changed, 1 insertion(+), 1 deletion(-) - -commit bb8ffb581b89cf27fb8e0743b81bbda21654233e -Author: Behdad Esfahbod -Date: Tue Mar 4 13:03:51 2014 -0800 - - Use AM_MISSING_PROG for ragel and git - - Makefile.am | 4 ++-- - configure.ac | 2 ++ - src/Makefile.am | 2 +- - 3 files changed, 5 insertions(+), 3 deletions(-) - -commit a82165248cddb720576464b8e59a986491d3f2e9 -Author: Behdad Esfahbod -Date: Tue Feb 18 15:53:56 2014 -0500 - - Only do fallback Hebrew composition if no GPOS 'mark' available - - Apparently some modern fonts have proper GPOS mark positioning - tables, but undesirable precomposed forms! See thread - "Hebrew composition to presentation forms" and: - - http://tex.stackexchange.com/questions/156775/having-trouble-with-vowel-positioning-in-ezra-sil-xelatex - - Test case: U+fb1d,05d9,05b4 - - src/hb-ot-shape-complex-hebrew.cc | 2 +- - src/hb-ot-shape-private.hh | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -commit b456d42bf68c4374f71f09867e375a51c7f2b3ed -Author: Behdad Esfahbod -Date: Tue Feb 11 17:29:40 2014 -0500 - - Allow bootstrapping without gtk-doc - - Seems like configure.ac is already able to handle it. - - autogen.sh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 1eacde00cc8c57a08fb74276e3530844ef463d67 -Author: Luis de Bethencourt -Date: Thu Feb 6 23:20:47 2014 -0500 - - check hb_set_is_emtpy in test-set.c - - test/api/test-set.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit db068d81cda180a91638e5539984f8139aff49c6 -Author: Werner Lemberg -Date: Mon Feb 10 10:38:56 2014 -0500 - - typo in ucdn's Makefile.am - - src/hb-ucdn/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fbb2847f541389f40718af71c4945024ae177ab2 -Author: Behdad Esfahbod -Date: Wed Feb 5 08:22:06 2014 -0500 - - Improve MemoryBarrier() implementation - - See thread "[HarfBuzz] compilation error of 0.9.26 with MinGW" - started by Werner. - - src/hb-atomic-private.hh | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit 189bf23bfc90405d8bdc70bf3d6d3ffec38b470c -Author: Behdad Esfahbod -Date: Thu Jan 30 15:14:58 2014 -0500 - - 0.9.26 - - NEWS | 20 ++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 21 insertions(+), 1 deletion(-) - -commit 7691a154e50f8c8c77bbd94787686262955bf5d4 -Author: Jonathan Kew -Date: Wed Jan 29 14:07:58 2014 +0000 - - Ensure hb_script_t can safely hold any hb_tag_t value it's given. - - Fixes https://github.com/behdad/harfbuzz/pull/21 - - src/hb-common.h | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit c29993a181c2139eaec97b5f6225824040ca3ac9 -Author: Behdad Esfahbod -Date: Tue Jan 28 17:29:42 2014 -0500 - - [coretext] Handle surrogate pairs when generating notdef glyphs - - Fixes github.com/behdad/harfbuzz/pull/19 - - src/hb-coretext.cc | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -commit 748b2782e4898420003a3bbc041dcccbe9e3edc2 -Author: Behdad Esfahbod -Date: Tue Jan 28 17:10:05 2014 -0500 - - [coretext] Minor optimization - - src/hb-coretext.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 24e6b11f12788500182715a64d4771a22c5b7525 -Author: Konstantin Ritt -Date: Tue Jan 28 18:16:01 2014 +0200 - - Fix double destruction in case of OOM - - src/hb-graphite2.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 083225916a19f6d67017523af87386933bd9ecdc -Author: Konstantin Ritt -Date: Wed Jan 22 20:31:30 2014 +0200 - - Micro optimizations - - src/hb-ot-layout-gpos-table.hh | 28 +++++++++++++++++----------- - 1 file changed, 17 insertions(+), 11 deletions(-) - -commit c9522de2335e4ef5fe65a72745c10943827a8da2 -Author: Konstantin Ritt -Date: Wed Jan 22 21:07:13 2014 +0200 - - Make it possible to disable the fallback shaper at configure time - - The OT shaper supersedes the fallback shaper in every case - and the latter become an extra weight for 99.9% of users. - - configure.ac | 6 ++++++ - src/Makefile.am | 5 ++++- - src/hb-shaper-list.hh | 2 ++ - 3 files changed, 12 insertions(+), 1 deletion(-) - -commit 6775da3a7c07db6c032cf429dc199d471948db56 -Author: Behdad Esfahbod -Date: Thu Jan 23 14:18:49 2014 -0500 - - Fix clang warning 'private field 'xxx' is not used - - Fixes https://github.com/behdad/harfbuzz/pull/16 - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 62299826f4905e080b9497bce335e093b287494e -Author: Behdad Esfahbod -Date: Thu Jan 23 14:11:03 2014 -0500 - - Fix typo in _hb_buffer_serialize_glyphs_text() - - Fixes https://github.com/behdad/harfbuzz/pull/17 - - src/hb-buffer-serialize.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ae23c24c32f474a34484ee78bc177ad31fa5e6d0 -Author: Behdad Esfahbod -Date: Wed Jan 22 11:03:02 2014 -0500 - - [arabic] Disable 'cswh' by default - - I believe Windows 8 disables it, and spec update dated - Jan 2014 also clearly says it's disabled by default: - - http://www.microsoft.com/typography/OpenTypeDev/arabic/intro.htm#features - - src/hb-ot-shape-complex-arabic.cc | 1 - - 1 file changed, 1 deletion(-) - -commit 08cf5d75ef0c75095173dec822ccb07defaaa6c2 -Author: Behdad Esfahbod -Date: Wed Jan 22 07:53:55 2014 -0500 - - [ot] Don't try to compose if normalization is off - - src/hb-ot-shape-normalize.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 0596343bfeb80ad6b19d459654edf7dfded6affe -Merge: 62cb28df 83d7e791 -Author: Behdad Esfahbod -Date: Wed Jan 22 04:43:51 2014 -0800 - - Merge pull request #13 from jfkthame/hangul-shaper - - Tone-mark reordering and improved Old Hangul support - -commit 62cb28dfc668cae9cbff826229bde2271e157927 -Author: Jonathan Kew -Date: Mon Jan 20 14:23:08 2014 +0000 - - fixup for 64-bit windows build - - src/hb-uniscribe.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 83d7e7915a5eaa8ff4c7014c319844e7dffd8225 -Author: Jonathan Kew -Date: Mon Jan 20 19:49:47 2014 +0000 - - [hangul] Fix ordering of dotted circle with Hangul tone mark (reported - by Dohyun Kim). - - src/hb-ot-shape-complex-hangul.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit deef1862657d55b7ae8d45f4eecbe45c80785c4e -Author: Jonathan Kew -Date: Mon Jan 20 10:38:27 2014 +0000 - - [hangul] Don't force zero-width for marks - this is not wanted for - the Jamo Filler glyphs. - - src/hb-ot-shape-complex-hangul.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 391934db0a171aeb2057ebcd4a38ed81621e7393 -Author: Jonathan Kew -Date: Mon Jan 20 10:37:32 2014 +0000 - - [unicode] Exclude the Jamo Filler characters from Default_Ignorable, - as some fonts want these to be visible/spacing glyphs. - - src/hb-unicode-private.hh | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -commit 7244b3fc3bf9757dd094709d36bea68682264e20 -Author: Jonathan Kew -Date: Mon Jan 20 10:35:51 2014 +0000 - - [hangul] Reorder Hangul tone mark to beginning of syllable, unless - font implements it using a zero-width glyph. - - src/hb-ot-shape-complex-hangul.cc | 59 - ++++++++++++++++++++++++++++++++++++++- - 1 file changed, 58 insertions(+), 1 deletion(-) - -commit 103436838df3a77552d3d33fc4bd80f09d9bf079 -Author: Jonathan Kew -Date: Mon Jan 20 10:35:07 2014 +0000 - - [hangul] Apply the appropriate *jmo features to decomposed - syllables, including Old Hangul sequences that don't have Unicode - compositions. Merge clusters in decomposed syllables. - - src/hb-ot-shape-complex-hangul.cc | 197 - +++++++++++++++++++++++++++++++------- - 1 file changed, 165 insertions(+), 32 deletions(-) - -commit 8fc1f7fe74a25bf8549f5edd79c7da6b720eb064 -Author: Behdad Esfahbod -Date: Thu Jan 2 17:04:04 2014 +0800 - - [ot/hangul] Don't decompose Hangul even when combining marks present - - As discussed on - https://github.com/behdad/harfbuzz/pull/10#issuecomment-31442030 - - src/hb-ot-shape-complex-hangul.cc | 2 +- - src/hb-ot-shape-normalize-private.hh | 1 + - src/hb-ot-shape-normalize.cc | 24 +++++++++++++----------- - 3 files changed, 15 insertions(+), 12 deletions(-) - -commit 64426ec73a987bfe1e71a293ee195f268897e8d6 -Author: Behdad Esfahbod -Date: Thu Jan 2 14:33:10 2014 +0800 - - [ot] Simplify composing - - Not tested. Ouch. - - src/hb-ot-shape-normalize.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 8de20b1e8a1c4d2081f64e695045e6e4da7ce144 -Author: Behdad Esfahbod -Date: Thu Jan 2 14:30:45 2014 +0800 - - Add font->has_glyph() - - src/hb-font-private.hh | 6 ++++++ - src/hb-ot-shape-complex-hangul.cc | 14 ++++++-------- - src/hb-ot-shape.cc | 3 +-- - 3 files changed, 13 insertions(+), 10 deletions(-) - -commit f6298e55ae0f0f23f66935226f78afb98320ea78 -Author: Behdad Esfahbod -Date: Thu Jan 2 14:23:56 2014 +0800 - - [fallback] Minor - - src/hb-fallback-shape.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 29ea403d67e29c2d531c1f613ce3d69e60f078f6 -Author: Behdad Esfahbod -Date: Thu Jan 2 14:20:00 2014 +0800 - - [hangul] Fix decomposition logic - - Seems to be working now. - - src/hb-ot-shape-complex-hangul.cc | 19 ++++++++----------- - 1 file changed, 8 insertions(+), 11 deletions(-) - -commit bdb20dafc3f737923da3dca0c832fdf4ab8daabc -Author: Behdad Esfahbod -Date: Thu Jan 2 14:04:30 2014 +0800 - - [hangul] Fix decomposition - - Part of https://github.com/behdad/harfbuzz/pull/10 - - src/hb-ot-shape-complex-hangul.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 32478656ce6e7926c3ad481511f02187ca743af6 -Author: Behdad Esfahbod -Date: Thu Jan 2 14:01:56 2014 +0800 - - [hangul] Tighten up character categories - - I had tried to expand to fill the blocks, but that sounds wrong in - retrospect. - - src/hb-ot-shape-complex-hangul.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f14bb7de631b20e2868fb62e5311cd0d9e24bb49 -Author: Behdad Esfahbod -Date: Tue Dec 31 16:49:15 2013 +0800 - - [ot] Separate out hebrew and tibetan shapers from default - - Now default shaper is truly no-op. - - src/Makefile.am | 2 + - src/hb-ot-shape-complex-default.cc | 161 - +--------------------------------- - src/hb-ot-shape-complex-hebrew.cc | 172 - +++++++++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-private.hh | 17 +++- - src/hb-ot-shape-complex-tibetan.cc | 61 +++++++++++++ - 5 files changed, 251 insertions(+), 162 deletions(-) - -commit 6300cd72539284ca294ee8286bbbb7f9c72af320 -Author: Behdad Esfahbod -Date: Tue Dec 31 16:38:47 2013 +0800 - - [ot] Define HB_OT_SHAPE_ZERO_WIDTH_MARKS_DEFAULT - - src/hb-ot-shape-complex-default.cc | 2 +- - src/hb-ot-shape-complex-hangul.cc | 2 +- - src/hb-ot-shape-complex-private.hh | 4 +++- - src/hb-ot-shape-complex-thai.cc | 2 +- - 4 files changed, 6 insertions(+), 4 deletions(-) - -commit 3d6ca0d32e5c6597acfcf59301cb1905586ddb52 -Author: Behdad Esfahbod -Date: Tue Dec 31 16:04:35 2013 +0800 - - [ot] Simplify normalization_preference again - - No shaper has more than one behavior re this, so no need for - a callback. - - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape-complex-default.cc | 8 +------- - src/hb-ot-shape-complex-hangul.cc | 2 +- - src/hb-ot-shape-complex-indic.cc | 8 +------- - src/hb-ot-shape-complex-myanmar.cc | 9 +-------- - src/hb-ot-shape-complex-private.hh | 7 +------ - src/hb-ot-shape-complex-sea.cc | 9 +-------- - src/hb-ot-shape-complex-thai.cc | 2 +- - src/hb-ot-shape-normalize.cc | 4 +--- - 9 files changed, 9 insertions(+), 42 deletions(-) - -commit c98b7183f7dc453d5bac1f2503017cded317a495 -Author: Behdad Esfahbod -Date: Tue Dec 31 15:55:40 2013 +0800 - - [ot] Add Hangul shaper - - Not exhaustively tested, but I think I got the intended logic - right. - - The logic can perhaps be simplified. Maybe we should disabled - normalization with this shaper. Then again, for now focusing on - correctness. - - src/Makefile.am | 1 + - src/hb-ot-shape-complex-default.cc | 13 --- - src/hb-ot-shape-complex-hangul.cc | 232 - +++++++++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-private.hh | 10 +- - src/hb-private.hh | 6 + - 5 files changed, 240 insertions(+), 22 deletions(-) - -commit 15f67048e45853ad4069fd4334e132bc3db4d2c4 -Author: Behdad Esfahbod -Date: Fri Dec 27 19:33:28 2013 -0500 - - Reorder Tai Tham SAKOT to ensure it comes after any tone marks - - src/hb-unicode-private.hh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 3216e44feb7b97f44620b51e197425a80a41cdb7 -Author: Behdad Esfahbod -Date: Mon Dec 23 14:39:23 2013 -0500 - - [uniscribe] Fix scratch-buffer accounting - - src/hb-uniscribe.cc | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -commit beeb12c9af4e0e66378cd36cf3dbb1560763a8e3 -Author: Behdad Esfahbod -Date: Sun Dec 22 22:53:27 2013 -0500 - - Add TODO item - - src/hb-ot-shape.h | 1 + - 1 file changed, 1 insertion(+) - -commit fbd4acc58a4bb501625b482bd318be9764ff8e02 -Author: Luis de Bethencourt -Date: Sun Dec 22 08:02:11 2013 -0500 - - Clean ht-ob headers - - src/Makefile.am | 1 + - src/hb-ot-layout.h | 5 ----- - src/hb-ot-shape.h | 53 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot.h | 9 +-------- - 4 files changed, 55 insertions(+), 13 deletions(-) - -commit 5497a8a274a7066c0230c850baadef681785c8bb -Author: Behdad Esfahbod -Date: Sun Dec 22 20:48:53 2013 -0500 - - Cache various masks on the shape plan - - src/hb-ot-shape-fallback.cc | 6 ++---- - src/hb-ot-shape-private.hh | 15 +++++++++++++++ - src/hb-ot-shape.cc | 26 +++++++------------------- - 3 files changed, 24 insertions(+), 23 deletions(-) - -commit 02f909664fa24a7ccf7cf73d75d1d3426aaaae7d -Author: Behdad Esfahbod -Date: Sun Dec 22 19:35:27 2013 -0500 - - Minor correction to kern mask checking - - src/hb-ot-shape-fallback.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit a7e8bbb080aef318b16750ca1771d0d3af3d0ae9 -Author: Behdad Esfahbod -Date: Sun Dec 22 19:33:35 2013 -0500 - - Minor fraction mask setting improvement - - src/hb-ot-map-private.hh | 2 -- - src/hb-ot-shape.cc | 8 +++++--- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 76fff252a96b4357b5e71694d5201daef822aa60 -Author: Behdad Esfahbod -Date: Sun Dec 22 17:55:59 2013 -0500 - - Don't form fractions if only one of numr/dnom exist - - src/hb-ot-shape.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 3aeee519f0b82df5263974945ae852badc4dbded -Author: Behdad Esfahbod -Date: Sun Dec 22 16:17:54 2013 -0500 - - Bug 72698 - Automatically support frac / numr / dnom - - When seeing U+2044 FRACTION SLASH in the text, find decimal - digits (Unicode General Category Decimal_Number) around it, - and mark the pre-slash digits with 'numr' feature, the post-slash - digits with 'dnom' feature, and the whole sequence with 'frac' - feature. - - This beautifully renders fractions with major Windows fonts, - and any other font that implements those features (numr/dnom is - enough for most fonts.) - - Not the fastest way to do this, but good enough for a start. - - src/hb-ot-shape.cc | 51 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 51 insertions(+) - -commit 014f369ec98fdbb3e7a2ef68aea2c4e017e7b680 -Author: Behdad Esfahbod -Date: Sun Dec 22 16:15:30 2013 -0500 - - Add XXX note - - src/hb-ot-map-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 739325178aba00ea5526c6a54ce588a79e5d45e2 -Author: Behdad Esfahbod -Date: Sat Dec 21 00:18:18 2013 -0500 - - Initialize masks before mirroring - - We were throwing away the rtlm feature mask set during - mirroring... - - src/hb-ot-shape.cc | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -commit d507f6b5b7a052f4d0eb9ba4ec88fd2e3d6f64b4 -Author: Luis de Bethencourt -Date: Mon Dec 16 15:48:44 2013 -0500 - - Have Gtk-Doc ignore UCDN files - - docs/reference/Makefile.am | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit d688475ea9cd236bc9b9e0153489fac0025f07f0 -Author: Behdad Esfahbod -Date: Thu Dec 12 13:21:57 2013 -0500 - - Minor - - util/options.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2a8c49ade07a0bd4f2c9543f4bd129da82083ea0 -Author: Behdad Esfahbod -Date: Wed Dec 11 20:22:28 2013 -0500 - - Remove unnecessary includes - - src/hb-blob.cc | 1 - - src/hb-buffer-private.hh | 1 - - src/hb-common.cc | 2 -- - src/hb-face-private.hh | 1 - - src/hb-face.cc | 1 - - src/hb-font-private.hh | 1 - - src/hb-font.cc | 1 - - src/hb-graphite2.cc | 2 -- - src/hb-open-type-private.hh | 2 -- - src/hb-ot-layout-private.hh | 2 -- - src/hb-ot-shape-normalize-private.hh | 2 -- - src/hb-ot-tag.cc | 1 - - src/hb-set-private.hh | 1 - - src/hb-shape-plan-private.hh | 1 - - src/hb-tt-font.cc | 2 -- - src/hb-unicode-private.hh | 2 -- - 16 files changed, 23 deletions(-) - -commit 2646aec1e67cd6e09f5f7859c9d5898917acc2d5 -Author: Behdad Esfahbod -Date: Thu Dec 5 18:19:35 2013 -0500 - - Drop required automake version back to 1.11.3 - - Work around broken automake-1.13 changes. - - configure.ac | 3 ++- - test/shaping/Makefile.am | 7 +++++++ - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit 860fc9aa7b4c49a1d50e64cfdf4d4dffadb7aa8f -Author: Behdad Esfahbod -Date: Wed Dec 4 20:06:59 2013 -0500 - - 0.9.25 - - NEWS | 12 ++++++++++++ - configure.ac | 2 +- - 2 files changed, 13 insertions(+), 1 deletion(-) - -commit adb039554de0c98a4121f26423bec8df09a62e61 -Author: Behdad Esfahbod -Date: Wed Dec 4 20:10:02 2013 -0500 - - Minor - - util/view-cairo.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 95d18a7cab480712d8c95a587ac2a8fdcbec5e71 -Author: Behdad Esfahbod -Date: Wed Dec 4 20:01:22 2013 -0500 - - [git.mk] Update - - git.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d913f98d88098fc0f4163dfbc54d8ca9ebe9dd81 -Author: Behdad Esfahbod -Date: Wed Dec 4 19:59:48 2013 -0500 - - Require automake 1.13 - - Fix tests build. - - https://bugs.freedesktop.org/show_bug.cgi?id=71353 - - configure.ac | 2 +- - test/shaping/Makefile.am | 19 ++++++++++++++----- - 2 files changed, 15 insertions(+), 6 deletions(-) - -commit 205bf834d80f81471f0c3da4f400e60ce3a533dc -Author: Behdad Esfahbod -Date: Mon Dec 2 20:41:41 2013 -0500 - - Revert "Karen" language mapping back to what it was before - - https://bugzilla.mozilla.org/show_bug.cgi?id=941470 - - src/hb-ot-tag.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f47b9219546edcfdeb3991ee27f6d9ba455c3e08 -Author: Behdad Esfahbod -Date: Mon Dec 2 05:57:27 2013 -0500 - - Fix unsafe shape_plan->face dependency - - src/hb-ot-shape-private.hh | 2 +- - src/hb-shape-plan-private.hh | 2 +- - src/hb-shape-plan.cc | 12 +++--------- - 3 files changed, 5 insertions(+), 11 deletions(-) - -commit c704a8700e169885f1d9cbab93544d85aa4358e9 -Author: Behdad Esfahbod -Date: Mon Dec 2 05:42:04 2013 -0500 - - [util] Fix uninitialized memory access - - util/view-cairo.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 260a3198f44a4ece60864b6f6caab2ee756ad762 -Author: Behdad Esfahbod -Date: Mon Dec 2 05:39:39 2013 -0500 - - [util] Plug leak - - util/options.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit ca8d96c8ba33ce581684cbc07936a3696b6c83d9 -Author: Jonathan Kew -Date: Mon Dec 2 05:22:00 2013 -0500 - - cache shape plans even if (global) user features are set - - src/hb-shape-plan-private.hh | 3 +++ - src/hb-shape-plan.cc | 59 - ++++++++++++++++++++++++++++++++++++++++---- - 2 files changed, 57 insertions(+), 5 deletions(-) - -commit 8ffa528f28a24ae85952ad1c1b0206e736bcfeab -Author: Behdad Esfahbod -Date: Mon Dec 2 05:17:14 2013 -0500 - - Add note about unsafe shape_plan->face - - Will fix by removing shape_plan->face completely. - - src/hb-shape-plan.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit aec468f01e866c99e65a8f764a792c74c96840d7 -Author: Behdad Esfahbod -Date: Fri Nov 29 19:21:58 2013 -0500 - - [coretext] Add TODO - - src/hb-coretext.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 58cc233e8b5fdc9dce603acc1b968540a2dea3e1 -Author: Behdad Esfahbod -Date: Fri Nov 29 19:17:42 2013 -0500 - - [coretext] Cleanup - - src/hb-coretext.cc | 27 ++++++++++++++++----------- - 1 file changed, 16 insertions(+), 11 deletions(-) - -commit c8213c6198abff97822e29a6d565722cfbb43832 -Author: Khaled Hosny -Date: Fri Nov 29 19:01:56 2013 -0500 - - [coretext] Avoid font fallback with CoreText shaper - - CoreText does automatic font fallback (AKA "cascading") for - characters - not supported by the requested font, and provides no way to turn - it off, - so detect if the returned run uses a font other than the requested one - and fill in the buffer with .notdef glyphs instead of random indices - glyph from a different font. - - src/hb-coretext.cc | 35 +++++++++++++++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - -commit 63bae73aefb0e5988ef6975f1ed38e040e50e91d -Author: Behdad Esfahbod -Date: Tue Nov 26 22:57:24 2013 -0500 - - [fallback] Add TODO note - - src/hb-fallback-shape.cc | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit e1ebf01d0cf3df55bb9137136e2d0c9630e7bd78 -Author: Behdad Esfahbod -Date: Tue Nov 26 18:00:35 2013 -0500 - - Minor - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a182dbc9e4e51fa7990c4aea3eaa425a061b29c7 -Author: Behdad Esfahbod -Date: Tue Nov 26 17:53:41 2013 -0500 - - Minor - - src/hb-ot-layout-common-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 9174a9db5c4e01284143ed8bd318ce9454535987 -Author: Behdad Esfahbod -Date: Mon Nov 25 18:10:38 2013 -0500 - - [myanmar] Allow punctuation clusters - - The spec and Uniscribe don't allow these, but UTN#11 - specifically says the sequence U+104B,U+1038 is valid. - As such, allow all "P V" sequences. There's about - eight sequences that match that structure, but Roozbeh - thinks it's fine to allow all of them. - - Test case: U+104B, U+1038 - - https://bugs.freedesktop.org/show_bug.cgi?id=71947 - - src/hb-ot-shape-complex-myanmar-machine.rl | 3 +++ - src/hb-ot-shape-complex-myanmar.cc | 19 ++++++++++++++++++- - 2 files changed, 21 insertions(+), 1 deletion(-) - -commit 096b71e8ef0c1443f3f86069d5416b887af6e9e7 -Author: Behdad Esfahbod -Date: Mon Nov 25 18:03:34 2013 -0500 - - [myanmar] Mark U+104E MYANMAR SYMBOL AFOREMENTIONED as Consonant - - The spec and Uniscribe treat it as consonant in the grammar, but - it's not in IndicSyllableCategory.txt, so fix up. - - Test sequence: U+1004,U+103A,U+1039,U+104E - - https://bugs.freedesktop.org/show_bug.cgi?id=71948 - - src/hb-ot-shape-complex-myanmar.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit d2da5e0b4b4ffc1722403ffb90b8777cfa1cd174 -Author: Behdad Esfahbod -Date: Mon Nov 25 17:50:07 2013 -0500 - - [myanmar] Relax pwo-tone group a bit - - This is broken sequence according to OpenType spec, Uniscribe, - and current HarfBuzz implementation. But Roozbeh says this - is a valid sequence, so allow it. There are multiple - "(DB As?)?" constructs in the grammar, but Roozbeh thinks only - this one needs changing. - - Test case: 1014,1063,103A - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=71949 - - src/hb-ot-shape-complex-myanmar-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9af91ca8ffee4a8d2804eff5d380b4f9749414d1 -Author: Behdad Esfahbod -Date: Mon Nov 25 17:47:19 2013 -0500 - - Add more Myanmar test cases - - All three are broken right now according to Roozbeh. - - https://bugs.freedesktop.org/show_bug.cgi?id=71947 - https://bugs.freedesktop.org/show_bug.cgi?id=71948 - https://bugs.freedesktop.org/show_bug.cgi?id=71949 - - .../shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/misc.txt | - 4 ++++ - 1 file changed, 4 insertions(+) - -commit 08c2d27d35093e07142168665139274ac99395e8 -Author: Roozbeh Pournader -Date: Sat Nov 23 21:39:31 2013 -0800 - - Added support for several new languages - - Based on research into latest SIL and Windows fonts, pulling in - the latest OpenType language tag proposal from Microsoft, and updating - to latest language tags and names from ISO 639. - - src/hb-ot-tag.cc | 314 - +++++++++++++++++++++++++++++++++++++++++++------------ - 1 file changed, 247 insertions(+), 67 deletions(-) - -commit 05511acd198d0c2157cdb41e1d36eac0b8075357 -Author: Roozbeh Pournader -Date: Sat Nov 23 15:19:07 2013 -0800 - - Added language tags for S'gaw Karen and Khamti - - Tags based on support in Windows 8.1's 'Myanmar Text' font. - - src/hb-ot-tag.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 0bb31e4497523442fbb26bbd55b194ab70205ca4 -Author: Behdad Esfahbod -Date: Wed Nov 20 14:21:07 2013 -0500 - - Bug 71845 - Use 64-bit cmpexch on ARM64 iOS - - src/hb-atomic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 02c6c8cd6e8c93b63c75b25de6bf76bb45755bb4 -Author: Behdad Esfahbod -Date: Fri Nov 15 13:05:38 2013 -0500 - - Set buffer content type to INVALID in hb_buffer_set_length(0) - - Previously we were only setting this in hb_buffer_clear_contents(), - but set_length(0) is a valid way to reinitialize buffer to use with - new text. - - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 3 +++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit 6300694f6e531593e7e932000f9540b0367940b8 -Author: Behdad Esfahbod -Date: Wed Nov 13 14:54:07 2013 -0500 - - 0.9.24 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit 061cb4649342b005fb1de93abae25e889cc560bd -Author: Behdad Esfahbod -Date: Wed Nov 13 14:50:25 2013 -0500 - - Use long alignment for scratch buffer - - Fixes last of scratch alignment warnings in hb-coretext. - - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 68c372ed2eac76a6d347811293fe2ba2fd6a1eed -Author: Behdad Esfahbod -Date: Wed Nov 13 14:44:01 2013 -0500 - - More scratch-buffer cleanup - - src/hb-buffer-private.hh | 3 ++- - src/hb-buffer.cc | 10 +++++----- - src/hb-coretext.cc | 5 ++--- - src/hb-graphite2.cc | 2 +- - src/hb-uniscribe.cc | 30 ++++++++++++++---------------- - 5 files changed, 24 insertions(+), 26 deletions(-) - -commit 8fcadb9cf9418345610e3f4e38c28c12b768b589 -Author: Behdad Esfahbod -Date: Wed Nov 13 14:33:57 2013 -0500 - - [coretext] More scratch buffer fixes - - src/hb-coretext.cc | 25 +++++++++++++------------ - 1 file changed, 13 insertions(+), 12 deletions(-) - -commit 16f175cb2e081e605fe7f9cd01bbe8c24380278a -Author: Behdad Esfahbod -Date: Tue Nov 12 17:22:49 2013 -0500 - - Fix scratch-buffer alignment warnings - - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 9 +++++---- - src/hb-coretext.cc | 17 ++++++++++------- - src/hb-graphite2.cc | 28 +++++++++++++++++----------- - src/hb-private.hh | 3 +++ - src/hb-uniscribe.cc | 29 +++++++++++++++++------------ - 6 files changed, 53 insertions(+), 35 deletions(-) - -commit c7c4ccf8a1e784b6f8798388a219dda9a26fbd93 -Author: Behdad Esfahbod -Date: Tue Nov 12 15:41:22 2013 -0500 - - [travis] Enable graphite2 - - .travis.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 83408cf804a6908873c41b70bb7c43448e66ddd2 -Author: Behdad Esfahbod -Date: Wed Nov 6 14:46:04 2013 -0500 - - Fix llvm warnings on Mac - - Patch from Scott Fleischman. Warnings were: - - harfbuzz/src/hb-font-private.hh:121:42: Implicit conversion loses - integer precision: 'long long' to 'hb_position_t' (aka 'int') - harfbuzz/src/hb-font-private.hh:126:42: Implicit conversion loses - integer precision: 'long long' to 'hb_position_t' (aka 'int') - harfbuzz/src/hb-font-private.hh:400:85: Implicit conversion loses - integer precision: 'long long' to 'hb_position_t' (aka 'int') - harfbuzz/src/hb-ot-layout-common-private.hh:1115:37: Implicit - conversion - loses integer precision: 'long long' to 'int' - harfbuzz/src/hb-ft.cc:421:97: Implicit conversion loses integer - precision: 'unsigned long long' to 'int' - harfbuzz/src/hb-ft.cc:422:97: Implicit conversion loses integer - precision: 'unsigned long long' to 'int' - - src/hb-font-private.hh | 6 +++--- - src/hb-ft.cc | 4 ++-- - src/hb-ot-layout-common-private.hh | 2 +- - 3 files changed, 6 insertions(+), 6 deletions(-) - -commit 333cc6e2d11831bcd2370723456e678574d570ec -Author: Behdad Esfahbod -Date: Wed Oct 30 17:30:11 2013 +0000 - - [otlayout] Remove unused is_inplace() - - Patch from Jonathan Kew. - - src/hb-ot-layout-gpos-table.hh | 6 -- - src/hb-ot-layout-gsub-table.hh | 56 ------------ - src/hb-ot-layout-gsubgpos-private.hh | 159 - ----------------------------------- - 3 files changed, 221 deletions(-) - -commit 176fd17d02ac183af32a0e710ec32d25c9322021 -Author: Behdad Esfahbod -Date: Wed Oct 30 17:27:24 2013 +0000 - - Bug 70971 - Signed/unsigned compiler warnings on windows - - Patch from Emil Eklund. - - src/hb-buffer-serialize.cc | 8 ++++---- - src/hb-ot-map.cc | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 3d436d325edccc0f3dd820e06e3d529cc8f3eca4 -Author: Behdad Esfahbod -Date: Mon Oct 28 21:00:37 2013 +0100 - - [otlayout] Reset ccc when marking glyph as letter - - src/hb-ot-layout-gsubgpos-private.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit b9d0077ac1a8e8a62ee15c64ad302f7976e23bdd -Author: Behdad Esfahbod -Date: Mon Oct 28 20:44:03 2013 +0100 - - Fix win32 testing - - test/shaping/Makefile.am | 1 + - test/shaping/run-tests.sh | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit dce79c2bd747d398bdf2f4b171b0ba9b5b951f72 -Author: Behdad Esfahbod -Date: Mon Oct 28 20:26:40 2013 +0100 - - 0.9.23 - - NEWS | 10 ++++++++++ - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit 2e990a3d722c10d1eefdc4c5ccbdaa384625c3fd -Author: Behdad Esfahbod -Date: Mon Oct 28 20:23:07 2013 +0100 - - Make "make distcheck" happy - - configure.ac | 2 +- - test/shaping/Makefile.am | 3 +++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit 6ffc007b61402c9d1d4de368deed4971a10ed00b -Author: Behdad Esfahbod -Date: Mon Oct 28 19:26:02 2013 +0100 - - [otlayout] Optimize inplace - - See thread started by Jonathan with subject "an optimization for - complex - fonts". - - src/hb-ot-layout.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 71b4c999a511bf018acaf48a45e070470c0daf12 -Author: Behdad Esfahbod -Date: Mon Oct 28 00:20:59 2013 +0100 - - Revert "Zero marks by GDEF for Tibetan" - - This reverts commit d5bd0590ae2fbc7b0dee86385a565aef00ffb835. - - The reasoning behind that logic was flawed and made under - a misunderstanding of the original problem, and caused - regressions as reported by Jonathan Kew in thread titled - "tibetan marks" in Oct 2013. Apparently I have had fixed - the original problem with this commit: - - 7e08f1258da229dfaf7e1c4b5c41e5bb83906cb0 - - So, revert the faulty commit and everything seems to be in good - shape. - - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - src/hb-ot-shape-complex-arabic.cc | 10 +++------- - src/hb-ot-shape-complex-default.cc | 17 +---------------- - src/hb-ot-shape-complex-indic.cc | 8 +------- - src/hb-ot-shape-complex-myanmar.cc | 15 +++++---------- - src/hb-ot-shape-complex-private.hh | 8 ++------ - src/hb-ot-shape-complex-sea.cc | 14 ++++---------- - src/hb-ot-shape-complex-thai.cc | 9 +-------- - src/hb-ot-shape.cc | 4 ++-- - 9 files changed, 21 insertions(+), 68 deletions(-) - -commit 9596b2bf569dae6fbe268803e3cb248001f10954 -Author: Behdad Esfahbod -Date: Mon Oct 28 00:09:05 2013 +0100 - - Pass CPPFLAGS=-Werror to Travis-CI - - We want default gcc / clang warnings to fail the CI build. - - .travis.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c77d1ade6898cea161f0709c5c5a912e14aff951 -Author: Behdad Esfahbod -Date: Sun Oct 27 23:52:26 2013 +0100 - - Fix warnings - - test/api/test-blob.c | 2 +- - util/helper-cairo-ansi.cc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit c2bc818706df56022c8bb922df2b741cb120f7e4 -Author: Behdad Esfahbod -Date: Sun Oct 27 23:36:35 2013 +0100 - - Work with old and new glib - - Avoids "deprecated" warnings. - - src/test-buffer-serialize.cc | 7 +++++-- - src/test-size-params.cc | 7 +++++-- - src/test-would-substitute.cc | 7 +++++-- - src/test.cc | 7 +++++-- - util/options.cc | 4 ++-- - util/options.hh | 4 ++++ - util/view-cairo.hh | 4 ++++ - 7 files changed, 30 insertions(+), 10 deletions(-) - -commit 46a863d91dbcc9a4c796e3715ea3828939f4d941 -Author: Behdad Esfahbod -Date: Sun Oct 27 23:24:50 2013 +0100 - - [indic] Adjust pref reordering logic - - For Javanese (pref_len == 1) only reorder if it didn't ligate. That's - sensible, and what the spec says. For other Indic (pref_len > 1) - only reorder if ligated. - - Doesn't change any test numbers. - - src/hb-ot-shape-complex-indic.cc | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit 6b03e3c724ec6cd255f4a323bf4aa7d8c93a056e -Author: Behdad Esfahbod -Date: Sun Oct 27 21:04:55 2013 +0100 - - Optimize fallback kerning - - Patch from Jonathan Kew. "These changes seem to yield a small but - just-about-measurable improvement with old fonts that lack GPOS - kerning." - - src/hb-ot-shape-fallback.cc | 47 - ++++++++++++++++++++++++++++----------------- - 1 file changed, 29 insertions(+), 18 deletions(-) - -commit 133eeba6a32769ec1a7520e7c8a0d2eb1ad986f8 -Author: Behdad Esfahbod -Date: Sun Oct 27 00:24:59 2013 +0200 - - Minor - - See: - https://github.com/prezi/harfbuzz-js/pull/1/files#r7032397 - - src/hb-common.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a74f0de225c403998212e2618dcf9452bc5b590d -Author: Behdad Esfahbod -Date: Thu Oct 24 11:46:33 2013 +0200 - - [indic] Fix CM2, really - - Followup from 6e613f3365bf4e9fd778758c53e7de00c64beca1. - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6e613f3365bf4e9fd778758c53e7de00c64beca1 -Author: Behdad Esfahbod -Date: Wed Oct 23 23:34:13 2013 +0200 - - Fix "shift count >= width of type" issue - - src/hb-ot-shape-complex-indic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ac8cd511911c7dca6222d14fa758bff75d601567 -Author: Behdad Esfahbod -Date: Fri Oct 18 19:33:09 2013 +0200 - - Refactor - - src/hb-ot-layout-gpos-table.hh | 120 - ++++++++++++++++++++++------------------- - src/hb-ot-layout.cc | 31 +++++------ - src/hb-ot-shape-normalize.cc | 29 +++++----- - src/hb-ot-shape.cc | 82 ++++++++++++++++------------ - 4 files changed, 145 insertions(+), 117 deletions(-) - -commit 0f3fe37fccfb540437adf13dd580f2c5164a0b1f -Author: Behdad Esfahbod -Date: Fri Oct 18 19:14:22 2013 +0200 - - Comment - - src/hb-ot-layout-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit ddce2d8df6fed9c033f1f13e235666680c5beb67 -Author: Behdad Esfahbod -Date: Fri Oct 18 18:07:11 2013 +0200 - - [indic] Improve positioning of post-base bells and whistles - - Bug 58714 - Kannada u+0cb0 u+200d u+0ccd u+0c95 u+0cbe does not - provide - same results as Windows8 - https://bugs.freedesktop.org/show_bug.cgi?id=58714 - - Test with U+0CB0,U+200D,U+0CCD,U+0C95,U+0CBF and tunga.ttf. - - Improves some scripts. Improves Bengali too, but numbers - are up because we produce better results than Uniscribe for some - sequences now. - - New numbers: - BENGALI: 353724 out of 354188 tests passed. 464 failed (0.131004%) - DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) - GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) - GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) - KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%) - KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) - MALAYALAM: 1048140 out of 1048334 tests passed. 194 failed - (0.0185056%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%) - TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - - src/hb-ot-shape-complex-indic.cc | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - -commit d5bd0590ae2fbc7b0dee86385a565aef00ffb835 -Author: Behdad Esfahbod -Date: Fri Oct 18 16:44:54 2013 +0200 - - Zero marks by GDEF for Tibetan - - See: - http://lists.freedesktop.org/archives/harfbuzz/2013-April/003101.html - - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - src/hb-ot-shape-complex-arabic.cc | 10 +++++++--- - src/hb-ot-shape-complex-default.cc | 17 ++++++++++++++++- - src/hb-ot-shape-complex-indic.cc | 8 +++++++- - src/hb-ot-shape-complex-myanmar.cc | 15 ++++++++++----- - src/hb-ot-shape-complex-private.hh | 8 ++++++-- - src/hb-ot-shape-complex-sea.cc | 14 ++++++++++---- - src/hb-ot-shape-complex-thai.cc | 9 ++++++++- - src/hb-ot-shape.cc | 4 ++-- - 9 files changed, 68 insertions(+), 21 deletions(-) - -commit bf029281b1b0f854f671969ab40eac3046a111bd -Author: Behdad Esfahbod -Date: Fri Oct 18 16:20:13 2013 +0200 - - Bug 65258 - [...] Mongolian with free variation selector - - src/hb-ot-shape-complex-arabic.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 0193649ce4ca78b8e2835a50bd51ee594cffe34e -Author: Behdad Esfahbod -Date: Fri Oct 18 16:08:53 2013 +0200 - - [otfallback] Don't shift down above-marks too much - - This seems to generate much better, almost-perfect, positioning for - Arabic as well as Latin above marks. - - src/hb-ot-shape-fallback.cc | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit dba9580237da788275b1ab5fe6be75c8a3f359b9 -Author: Behdad Esfahbod -Date: Fri Oct 18 15:57:36 2013 +0200 - - [otfallback] Never fallback-position a below-mark upwards - - Test with WinXP times.ttf and U+05D9,U+05B5. - - src/hb-ot-shape-fallback.cc | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 8177da29ad07d8fa444ce07003fa65cd31a2776b -Author: Behdad Esfahbod -Date: Fri Oct 18 15:50:29 2013 +0200 - - Minor - - src/hb-ot-shape-fallback.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit c16012e9019ec59c2200a3cc29b8a37ea70eda70 -Author: Behdad Esfahbod -Date: Fri Oct 18 02:27:00 2013 +0200 - - [indic] Add Javanese support! - - Seems to be working just fine! - - src/hb-ot-shape-complex-indic-machine.rl | 14 ++++++------ - src/hb-ot-shape-complex-indic-private.hh | 37 - ++++++++++++++++---------------- - src/hb-ot-shape-complex-indic.cc | 9 ++++++-- - 3 files changed, 34 insertions(+), 26 deletions(-) - -commit 755b44cce6dc23376a3cf0212893609231fa4967 -Author: Behdad Esfahbod -Date: Fri Oct 18 11:17:42 2013 +0200 - - [ft] Round metrics instead of truncate - - Lohit-Punjabi has a upem of 769! We were losing one unit in our - code, and FreeType is losing another one... Test with U+0A06. - Has an advance of 854 in the font. We were producing 852. - Now we do 853, which is what FreeType is telling us. - - src/hb-ft.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 9a49351cc2625de16a73e0e153d3097ef6c7cc0f -Author: Behdad Esfahbod -Date: Fri Oct 18 02:14:53 2013 +0200 - - [indic] Swith pref logic to use _hb_glyph_info_substituted() - - See comments from caveat! Seems to work fine. - - This is useful for Javanese which has an atomically encoded pre-base - reordering Ra which should only be reordered if it was substituted - by the pref feature. - - src/hb-ot-shape-complex-indic.cc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit f175aa33c5e94397c60648ac0697c80f5fe0dcb7 -Author: Behdad Esfahbod -Date: Fri Oct 18 02:07:44 2013 +0200 - - [indic] Fix compiler warnings - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 857027341423f15fd6084c7563cc355b06e7cbdd -Author: Behdad Esfahbod -Date: Fri Oct 18 01:11:05 2013 +0200 - - [otlayout] Add _hb_glyph_info_substituted() - - Currently unused. - - src/hb-ot-layout-private.hh | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit a1f7b2856184959e965c9c2b80363f9f46d486a7 -Author: Behdad Esfahbod -Date: Fri Oct 18 01:09:08 2013 +0200 - - [otlayout] Switch over from old is_a_ligature() to IS_LIGATED - - Impact should be minimal and positive. - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-layout-private.hh | 12 +++++++++--- - src/hb-ot-shape-complex-indic.cc | 4 ++-- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - src/hb-ot-shape.cc | 2 +- - 5 files changed, 14 insertions(+), 8 deletions(-) - -commit 09675a8115b9d77261c33940401aa919cede8662 -Author: Behdad Esfahbod -Date: Fri Oct 18 01:05:58 2013 +0200 - - [otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_LIGATED - - Currently unused. - - src/hb-ot-layout-gsubgpos-private.hh | 15 ++++++++++----- - src/hb-ot-layout-private.hh | 5 ++++- - 2 files changed, 14 insertions(+), 6 deletions(-) - -commit 05ad6b50ac0a1b9a8da10d2ee2238068b7811e7d -Author: Behdad Esfahbod -Date: Fri Oct 18 00:45:59 2013 +0200 - - [otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED - - Currently unused. - - src/hb-ot-layout-gsubgpos-private.hh | 5 +++-- - src/hb-ot-layout-private.hh | 10 ++++++---- - 2 files changed, 9 insertions(+), 6 deletions(-) - -commit 101303dbf7cf15d044bf2518f14b3aec65970fea -Author: Behdad Esfahbod -Date: Fri Oct 18 00:42:39 2013 +0200 - - [otlayout] More shuffling around - - src/hb-ot-layout-gpos-table.hh | 16 +++---- - src/hb-ot-layout-gsub-table.hh | 13 +++-- - src/hb-ot-layout-gsubgpos-private.hh | 8 ++-- - src/hb-ot-layout-private.hh | 92 - ++++++++++++++++++++++++++++++++---- - src/hb-ot-shape.cc | 8 ++-- - 5 files changed, 102 insertions(+), 35 deletions(-) - -commit 91689de2603e4151e2a2d3a3852c61667f0c6264 -Author: Behdad Esfahbod -Date: Fri Oct 18 00:21:59 2013 +0200 - - [otlayout] Add _hb_glyph_info_set_glyph_props() - - No functional change. - - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - src/hb-ot-layout-private.hh | 9 +++++++++ - src/hb-ot-shape.cc | 8 +++++--- - 4 files changed, 17 insertions(+), 6 deletions(-) - -commit a0161746589934e93c3b115814bbd81f56ab962f -Author: Behdad Esfahbod -Date: Fri Oct 18 00:06:30 2013 +0200 - - [otlayout] Simplify set_class() usage - - src/hb-ot-layout-gsubgpos-private.hh | 31 ++++++++++++++++++------------- - 1 file changed, 18 insertions(+), 13 deletions(-) - -commit 3ddf892b5328b74afb6e7d9da727d8771ca5d288 -Author: Behdad Esfahbod -Date: Fri Oct 18 00:02:43 2013 +0200 - - [otlayout] Renaming - - src/hb-ot-layout-gpos-table.hh | 18 +++++++------- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 36 +++++++++++++-------------- - src/hb-ot-layout-private.hh | 48 - +++++++++++++++++++++--------------- - src/hb-ot-shape-complex-indic.cc | 5 ++-- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - src/hb-ot-shape-fallback.cc | 8 +++--- - src/hb-ot-shape.cc | 2 +- - 8 files changed, 65 insertions(+), 56 deletions(-) - -commit 2e96d2c6ee34142375373be07217c9953e7822cc -Author: Behdad Esfahbod -Date: Thu Oct 17 21:16:20 2013 +0200 - - [otlayout] More shuffling - - src/hb-ot-layout-private.hh | 252 - +++++++++++++++++++++++--------------------- - 1 file changed, 130 insertions(+), 122 deletions(-) - -commit 469524692bd0a258b28e63294c984e677a9c2477 -Author: Behdad Esfahbod -Date: Thu Oct 17 21:01:57 2013 +0200 - - [otlayout] Code shuffling - - src/hb-ot-layout-private.hh | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit 11fb16cb849285a178d9e80991b1d60a960326ee -Author: Behdad Esfahbod -Date: Thu Oct 17 20:57:57 2013 +0200 - - Use unsigned enums for mask types - - src/hb-buffer.h | 16 ++++++++-------- - src/hb-ot-layout-private.hh | 8 ++++---- - 2 files changed, 12 insertions(+), 12 deletions(-) - -commit 03058c3d1e8c18858c1e0b0c738ce9d299f2787a -Author: Behdad Esfahbod -Date: Thu Oct 17 20:55:34 2013 +0200 - - [otlayout] Remove two unused HB_OT_LAYOUT_GLYPH_PROPS_* values - - src/hb-ot-layout-gdef-table.hh | 1 - - src/hb-ot-layout-gsub-table.hh | 3 ++- - src/hb-ot-layout-private.hh | 7 +++++-- - 3 files changed, 7 insertions(+), 4 deletions(-) - -commit 941b6992042e7b73b3a2aab1448383adf33bef28 -Author: Behdad Esfahbod -Date: Thu Oct 17 20:47:33 2013 +0200 - - [otlayout] Remove unused HB_OT_LAYOUT_GLYPH_PROPS_UNCLASSIFIED - - src/hb-ot-layout-gdef-table.hh | 7 +++++-- - src/hb-ot-layout-private.hh | 10 ++++------ - 2 files changed, 9 insertions(+), 8 deletions(-) - -commit 8f9ec92dfce5c469fb85ad301296b5dde1b2ab0a -Author: Behdad Esfahbod -Date: Thu Oct 17 19:52:47 2013 +0200 - - [indic] Adjust Javanese base algorithm - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 49901862e36e1c153835877a9f1183729333bbbe -Author: Behdad Esfahbod -Date: Thu Oct 17 19:48:51 2013 +0200 - - [otlayout] Guard against use of ReverseChain through Context - - src/hb-ot-layout-gsub-table.hh | 4 +++- - src/hb-ot-layout.cc | 4 ++-- - 2 files changed, 5 insertions(+), 3 deletions(-) - -commit 74f4bbf0560a5fd2d295e100e96f0c6c7033e852 -Author: Behdad Esfahbod -Date: Thu Oct 17 19:07:53 2013 +0200 - - [indic] Towards supporting atomicly-encoded prebase-reorderings - - src/hb-ot-shape-complex-indic.cc | 65 - ++++++++++++++++++++++++---------------- - 1 file changed, 40 insertions(+), 25 deletions(-) - -commit efed40b975110d78c9c505441e7e17a8c13e85c8 -Author: Behdad Esfahbod -Date: Thu Oct 17 18:50:11 2013 +0200 - - [indic] Minor refactoring of reph handling - - src/hb-ot-shape-complex-indic.cc | 14 ++++++++------ - src/hb-ot-shape-complex-sea.cc | 2 +- - 2 files changed, 9 insertions(+), 7 deletions(-) - -commit 684fe59ff858a0ecba71b3ed80378afb0b8bbb48 -Author: Behdad Esfahbod -Date: Thu Oct 17 18:30:06 2013 +0200 - - [indic] Minor refactoring of would_substitute() - - src/hb-ot-shape-complex-indic.cc | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - -commit 321df83fb4f0b8a5310888129cb70bfda8ae0c96 -Author: Behdad Esfahbod -Date: Thu Oct 17 18:16:14 2013 +0200 - - Route Buginese through the SEA shaper - - Both Indic and SEA seem to do it just fine, but SEA is much - simpler. - - src/hb-ot-shape-complex-private.hh | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit b5a0f69e47ace468b06e21cf069a18ddcfcf6064 -Author: Behdad Esfahbod -Date: Thu Oct 17 18:04:23 2013 +0200 - - [indic] Pass zero-context=false to would_substitute for newer scripts - - For scripts without an old/new spec distinction, use - zero-context=false. - This changes behavior in Sinhala / Khmer, but doesn't seem to regress. - This will be useful and used in Javanese. - - src/hb-ot-shape-complex-indic.cc | 35 +++++++++++++++++++---------------- - 1 file changed, 19 insertions(+), 16 deletions(-) - -commit c4e71ff36d1f86a6ea56539728a964d97217e2b6 -Author: Behdad Esfahbod -Date: Thu Oct 17 17:04:47 2013 +0200 - - [indic] Clean up Khmer and Sinhala base finding algorithm - - src/hb-ot-shape-complex-indic.cc | 24 +++++++++++------------- - 1 file changed, 11 insertions(+), 13 deletions(-) - -commit e10453e6fb2544724ccd7ddfdbb9de90ef9274ce -Author: Behdad Esfahbod -Date: Thu Oct 17 16:49:06 2013 +0200 - - [indic] Add BASE_POS_LAST_SINHALA - - Previously we planted this into the mode used for Khmer. There's not - really much in common between the two, so separate again. - - src/hb-ot-shape-complex-indic.cc | 21 +++++++++++++++++++-- - 1 file changed, 19 insertions(+), 2 deletions(-) - -commit 9ac6b01e0cd8e2d66dfc727157f45b615bc77109 -Author: Behdad Esfahbod -Date: Thu Oct 17 16:27:38 2013 +0200 - - [indic] Adjust Sinhala cluster merging under uniscribe - - Similar to 190c8f2b60af0851bf692f653c1604cfbf0561a5 but for - Sinhala. - - src/hb-ot-shape-complex-indic.cc | 23 ++++++++++++++++------- - 1 file changed, 16 insertions(+), 7 deletions(-) - -commit 3c3df9cba13fec2c35e0e7ae587d9699ac0c37f5 -Author: Behdad Esfahbod -Date: Thu Oct 17 13:58:31 2013 +0200 - - [otlayout] Minor - - src/hb-ot-layout-gsubgpos-private.hh | 62 - +++++++++++++++++++----------------- - 1 file changed, 33 insertions(+), 29 deletions(-) - -commit 6cc136f7531a45e71ea08a7dc8a2187172cb813d -Author: Behdad Esfahbod -Date: Thu Oct 17 13:55:48 2013 +0200 - - [otlayout] Minor - - src/hb-ot-layout-gsubgpos-private.hh | 14 ++++++-------- - 1 file changed, 6 insertions(+), 8 deletions(-) - -commit ba6ddc421e5e440231c2ece2db1363f8e6d2ecbf -Author: Behdad Esfahbod -Date: Thu Oct 17 13:52:51 2013 +0200 - - [otlayout] Increase MAX_CONTEXT_LENGTH - - It's cheap. - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e714fe6d6a2633494cb1fa7170a32ca2638cbb51 -Author: Behdad Esfahbod -Date: Thu Oct 17 13:49:51 2013 +0200 - - [otlayout] Simplify ligate_input() - - Shouldn't change behavior at all, but is faster / more robust. - - src/hb-ot-layout-gsub-table.hh | 16 +++++++--------- - src/hb-ot-layout-gsubgpos-private.hh | 17 +++++++---------- - 2 files changed, 14 insertions(+), 19 deletions(-) - -commit 6b2abdcd203204131f3017ca85c91de9d43959cd -Author: Behdad Esfahbod -Date: Thu Oct 17 13:15:43 2013 +0200 - - [indic] Improve clusters in presence of reph - - src/hb-ot-shape-complex-indic.cc | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -commit 42d0f55cbc68285e22d713df7062e520af708c82 -Author: Behdad Esfahbod -Date: Thu Oct 17 13:05:05 2013 +0200 - - [indic] Apply calt,clig in the same stage as presentation features - - Whic means these twp are applied per-syllable now. Apparently - in some Khmer fonts the clig interacts with presentation features. - - Test case: U+1781,U+17D2,U+1789,U+17BB,U+17C6 with Mondulkiri-R.ttf - should produce one big ligature. - - src/hb-ot-shape-complex-indic.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit ae9a5834df477006686421d494b55a1569789327 -Author: Behdad Esfahbod -Date: Thu Oct 17 12:24:55 2013 +0200 - - [indic] Fix pref vs blwf interaction - - If a glyph can be both blwf and pref, we were wrongly sorting it - in the post position instead of below position. - - src/hb-ot-shape-complex-indic.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit c7dacac02cfe8526eaf131ce6c5e7b6df7ca2ccd -Author: Behdad Esfahbod -Date: Thu Oct 17 12:20:24 2013 +0200 - - [indic] Don't apply blwf before base under old-spec mode - - Test case: U+09AC,U+09CD,U+09A6 with Lohit-Bengali 2.5.3. - - src/hb-ot-shape-complex-indic.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit da72042c52ed3cc0ee19d3eabb8db7c7dd34d3ed -Author: Behdad Esfahbod -Date: Thu Oct 17 12:01:50 2013 +0200 - - [otlayout] Fix up recent Context matching change - - Commit 6b65a76b40522a4f57a6fedcbdfc5a4d736f1d3c. "end" was becoming - negative. Was trigerred by Lohit-Kannada 2.5.3 and the sequence: - U+0CB0,U+200D,U+0CBE,U+0CB7,U+0CCD,U+0C9F,U+0CCD,U+0CB0,U+0C97,U+0CB3 - Two glyphs were being duplicated. - - src/hb-buffer.cc | 7 ++++++- - src/hb-ot-layout-gsubgpos-private.hh | 3 ++- - 2 files changed, 8 insertions(+), 2 deletions(-) - -commit 1a7de1ba9876b0554c758acbc6459366d9d98a5d -Author: Behdad Esfahbod -Date: Wed Oct 16 19:55:06 2013 +0200 - - [indic] Improve Avagraha support in machine - - src/hb-ot-shape-complex-indic-machine.rl | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 3756efaf4e14ec3b5b1def700a1b5985f162372b -Author: Behdad Esfahbod -Date: Wed Oct 16 19:06:29 2013 +0200 - - [indic] Misc harmless fixes! - - First, we were abusing OT_VD instead of OT_A. Fix that - but moving OT_A in the grammar where it belongs (which - is different from what the spec says). - - Also, only allow medial consonants after all other - consonants. This doesn't affect any current character. - - Finally, fix Halant attachment in presence of medial - consonants. Again, this currently doesn't affect any - sequence. - - I lied. There's Gurmukhi U+0A75 which is Consonant_Medial. - Uniscribe allows one of those in each of these positions: - before matras, after matras and before syllable modifiers, - and after syllable modifiers! We currently just allow - unlimited numbers of it, before matras. - - src/hb-ot-shape-complex-indic-machine.rl | 8 ++++---- - src/hb-ot-shape-complex-indic-private.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 11 ++++++----- - 3 files changed, 11 insertions(+), 10 deletions(-) - -commit c52ddab72e025d1bee8274c8f3416208b12f68f1 -Author: Behdad Esfahbod -Date: Wed Oct 16 13:42:38 2013 +0200 - - [arabic] Make ZWJ prevent ligatures instead of facilitating it - - Unicode 6.2.0 Section 16.2 / Figure 16.3 says: - - "For backward compatibility, between Arabic characters a ZWJ acts just - like the sequence , preventing a ligature from forming - instead of requesting the use of a ligature that would not normally be - used. As a result, there is no plain text mechanism for requesting the - use of a ligature in Arabic text." - - As such, we flip internal zwj to zwnj flags for GSUB matching, which - means it will block ligation in all features, unless the font - explicitly matches U+200D glyph. This doesn't affect joining - behavior. - - src/hb-ot-layout-private.hh | 6 ++++++ - src/hb-ot-shape-complex-arabic.cc | 18 ++++++++++++++++++ - 2 files changed, 24 insertions(+) - -commit 1a31f9f820c4538015ddaf4ca2b790649c5997ed -Author: Behdad Esfahbod -Date: Wed Oct 16 13:42:18 2013 +0200 - - [otlayout] Minor - - src/hb-ot-layout-private.hh | 23 +++++++++++++++-------- - 1 file changed, 15 insertions(+), 8 deletions(-) - -commit 28d5daec948e1a24f13e492ce301aeb9abff37c8 -Author: Behdad Esfahbod -Date: Wed Oct 16 12:32:12 2013 +0200 - - [indic] More granular post-base cluster merging! - - src/hb-ot-shape-complex-indic.cc | 45 - ++++++++++++++++++++++++++++++++++------ - 1 file changed, 39 insertions(+), 6 deletions(-) - -commit 9cb59d460e80d769087045535a8d54ec9ed7985c -Author: Behdad Esfahbod -Date: Wed Oct 16 11:34:07 2013 +0200 - - [indic] Fix cluster merging of left matras - - The merge_clusters there was totally broken. - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 190c8f2b60af0851bf692f653c1604cfbf0561a5 -Author: Behdad Esfahbod -Date: Wed Oct 16 11:33:18 2013 +0200 - - [indic] Adjust cluster merging under uniscribe mode for Tamil - - Apparently Uniscribe Tamil shaper doesn't ship chubby clusters - for Tamil. Adjust to that. - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 5c558877da5db8c734ba072f01e5e4797876619c -Author: Behdad Esfahbod -Date: Wed Oct 16 11:14:15 2013 +0200 - - [indic] Allow up to two syllable modifiers - - Bug 70509 - Candrabindu+Visarga doesn't work in Devanagari - https://bugs.freedesktop.org/show_bug.cgi?id=70509 - - We categorize both bindus and visarga as syllable-modifiers. - OT spec doesn't actually say what characters go in the syllable - modifier category, and allows one. We just allow up to two now. - - Test case: U+0930,U+0941,U+0901,U+0903 - - Uniscribe currently doesn't support that and produces a - dotted circle. - - src/hb-ot-shape-complex-indic-machine.rl | - 2 +- - .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | - 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit f5299eff5c0065d6329cd536c0ac339abea085b0 -Author: Behdad Esfahbod -Date: Tue Oct 15 18:13:07 2013 +0200 - - [indic] Simplify reph logic - - *Shouldn't* break anything. - - src/hb-ot-shape-complex-indic.cc | 11 +++-------- - 1 file changed, 3 insertions(+), 8 deletions(-) - -commit 65a929b1c033e91919c931b495a775f76b6dcbb3 -Author: Behdad Esfahbod -Date: Tue Oct 15 18:08:05 2013 +0200 - - [indic] If Malayalam dot-reph formed a ligature, don't move it - - Rachana-0.6 implements dot-reph by ligation, so we shouldn't move it. - Uniscribe doesn't either. Test case: - - U+0D4E,U+0D1A,U+0D4D,U+0D1A,U+0D4D - - src/hb-ot-shape-complex-indic.cc | 23 - ++++++++++++++++------ - .../indic/script-malayalam/misc/dot-reph.txt | 3 +++ - 2 files changed, 20 insertions(+), 6 deletions(-) - -commit a01cbf6cbe0021722302cfb58fb638a0a2427b26 -Author: Behdad Esfahbod -Date: Tue Oct 15 16:37:53 2013 +0200 - - [indic] Harmless reordering of Khmer features! - - src/hb-ot-shape-complex-indic.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit c46f406973024051877e867b93614942ff80c107 -Author: Behdad Esfahbod -Date: Tue Oct 15 16:24:21 2013 +0200 - - [tests] Remove Myanmar micro-font and test - - .../sha1sum/ceadd106a8205214fbe7337ef9de32a862b59762.ttf | Bin 3040 -> - 0 bytes - test/shaping/tests/context-matching.tests | 1 - - 2 files changed, 1 deletion(-) - -commit eb10233b267909dee0245f126000e117f3b21c35 -Author: Behdad Esfahbod -Date: Tue Oct 15 15:26:44 2013 +0200 - - [indic] Apply 'kern' for all scripts except for Khmer in Uniscribe - mode - - Seems to better match Uniscribe. - - Note: NotoSansTelugu-Regular has kern feature, so this fixes most - of the - positioning failures there, except for the kern pairs blocked by a - (non-)joiner, in which case we (correctly) kern, but Uniscribe - doesn't. - - src/hb-ot-shape-complex-indic.cc | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 30145272a7d428bc62a903388bd7be43f4da7fc3 -Author: Behdad Esfahbod -Date: Tue Oct 15 13:47:27 2013 +0200 - - [indic] Don't apply presentation features across syllables - - More like Uniscribe... We still allow user-defined features to - work across syllables, but not pres,blws,abs,psts,etc. - - This "regressed" Sinhala numbers by 11. These are cases were - there's Consonant followed by Ra,Halant,ZWJ at the of text. - The Ra,Halant,ZWJ ends up forming reph, which is wrong... - But before we were also ligating that reph with the previous - consonant. That's even more wrong. That's also what Uniscribe - does. - - Current numbers: - - BENGALI: 353732 out of 354188 tests passed. 456 failed (0.128745%) - DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) - GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) - GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) - KANNADA: 951030 out of 951913 tests passed. 883 failed (0.0927606%) - KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) - MALAYALAM: 1048140 out of 1048334 tests passed. 194 failed - (0.0185056%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271655 out of 271847 tests passed. 192 failed (0.070628%) - TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - - src/hb-ot-shape-complex-indic.cc | 21 - +++++++++++++++++---- - .../shaper-indic/indic/script-sinhala/misc/misc.txt | 1 + - 2 files changed, 18 insertions(+), 4 deletions(-) - -commit 3c7b3641cfb00f2c4dcc0768b9854e4f4410d15f -Author: Behdad Esfahbod -Date: Tue Oct 15 11:21:01 2013 +0200 - - [indic] Handle Avagraha - - It can come either at the end(ish!) of the syllable, or independently. - When independent, it accepts a few bits and pieces. - - src/hb-ot-shape-complex-indic-machine.rl | 5 ++++- - src/hb-ot-shape-complex-indic-private.hh | 5 +++-- - src/hb-ot-shape-complex-indic.cc | 14 - +++++++++++++- - .../shaper-indic/indic/script-devanagari/misc/misc.txt | 1 + - .../in-tree/shaper-indic/indic/script-telugu/misc/misc.txt | 1 + - 5 files changed, 22 insertions(+), 4 deletions(-) - -commit 5e7432b8172473aa4dda3d51a79add9e97c2d2c1 -Author: Behdad Esfahbod -Date: Tue Oct 15 12:28:23 2013 +0200 - - [myanmar] Apply abvm/blwm - - src/hb-ot-shape-complex-myanmar.cc | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 8acbb6be271817c12d2ee0066b355e2fb0f9a934 -Author: Behdad Esfahbod -Date: Tue Oct 15 12:15:49 2013 +0200 - - [indic] Some scripts like blwf applied to pre-base characters - - ...while some don't! - - Improved Bengali, Devanagari, Gurmukhi, Malayalam. - - Updated numbers: - - BENGALI: 353732 out of 354188 tests passed. 456 failed (0.128745%) - DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%) - GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) - GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%) - KANNADA: 951030 out of 951913 tests passed. 883 failed (0.0927606%) - KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) - MALAYALAM: 1048134 out of 1048334 tests passed. 200 failed - (0.0190779%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%) - TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - - src/hb-ot-shape-complex-indic.cc | 33 ++++++++++++++++++++------------- - 1 file changed, 20 insertions(+), 13 deletions(-) - -commit 2c85a3df0983f28aed77a0ea3bf2417ef65d4b84 -Author: Behdad Esfahbod -Date: Mon Oct 14 19:41:52 2013 +0200 - - Fix issue with automake - - test/shaping/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6b65a76b40522a4f57a6fedcbdfc5a4d736f1d3c -Author: Behdad Esfahbod -Date: Mon Oct 14 18:51:39 2013 +0200 - - [otlayout] Fix (Chain)Context recursion! - - Previously we only supported recursive sublookups with - ascending indices. We were also not correctly handling - non-1-to-1 recursed lookups. - - Fix all that! - - Fixes the three tests in test/shaping/tests/context-matching.tests, - which were derived from NotoSansBengali and NotoSansDevanagari - among others. - - src/hb-buffer-private.hh | 4 + - src/hb-buffer.cc | 46 ++++++++++ - src/hb-ot-layout-common-private.hh | 1 + - src/hb-ot-layout-gsub-table.hh | 1 + - src/hb-ot-layout-gsubgpos-private.hh | 157 - +++++++++++++++++------------------ - 5 files changed, 127 insertions(+), 82 deletions(-) - -commit 841e20d083aec8d814cd8d90aa6ab60127c0d1f2 -Author: Behdad Esfahbod -Date: Mon Oct 14 18:47:51 2013 +0200 - - Add test suite for shaping results - - The new test suite runs tests included under - hb/test/shaping/tests/*.tests, which themselves reference - font files stored by sha1sum under hb/test/shaping/fonts/sha1sum. - The fonts are produced using a subsetter to only include glyphs - needed to run the test. - - Four initial tests are added for (Chain)Context matching, - of which three currently fail. - - test/shaping/Makefile.am | 10 +++++- - .../4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf | Bin 0 -> 1320 bytes - .../ceadd106a8205214fbe7337ef9de32a862b59762.ttf | Bin 0 -> 3040 bytes - .../d629e7fedc0b350222d7987345fe61613fa3929a.ttf | Bin 0 -> 1768 bytes - .../f499fbc23865022234775c43503bba2e63978fe1.ttf | Bin 0 -> 3564 bytes - test/shaping/run-tests.sh | 34 - +++++++++++++++++++++ - test/shaping/tests/MANIFEST | 1 + - test/shaping/tests/context-matching.tests | 4 +++ - 8 files changed, 48 insertions(+), 1 deletion(-) - -commit e2dab69291a5d86fc90a8c273c458c16574eafb5 -Author: Behdad Esfahbod -Date: Mon Oct 14 16:44:44 2013 +0200 - - Minor - - test/shaping/hb_test_tools.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4e6e53db5da0a5da87ae732c3f9d01babf4ae6c2 -Author: Behdad Esfahbod -Date: Mon Oct 14 13:06:36 2013 +0200 - - [otlayout] "Minor" - - src/hb-ot-layout.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 9326d48e4309901e7e0b0e15230936a21ee3df72 -Author: Behdad Esfahbod -Date: Thu Oct 10 20:04:42 2013 +0200 - - Don't use g_mapped_file_unref() - - Was introduced in glib 2.22. - - src/test-buffer-serialize.cc | 2 +- - src/test-size-params.cc | 2 +- - src/test-would-substitute.cc | 2 +- - src/test.cc | 2 +- - util/options.cc | 4 ++-- - 5 files changed, 6 insertions(+), 6 deletions(-) - -commit e152d1a27891bd1d9d46a9c028c026843bad384a -Author: Behdad Esfahbod -Date: Thu Oct 3 15:09:37 2013 -0400 - - 0.9.22 - - NEWS | 13 +++++++++++++ - configure.ac | 2 +- - 2 files changed, 14 insertions(+), 1 deletion(-) - -commit 27674b4bb351e501373bd9994e4ba6546e465cf7 -Author: Behdad Esfahbod -Date: Thu Oct 3 14:54:50 2013 -0400 - - [OTLayout] Protect against out-of-range lookup indices - - Filter them out when compiling map. - - src/hb-ot-layout.cc | 17 +++++++++++++++++ - src/hb-ot-layout.h | 5 +++++ - src/hb-ot-map.cc | 8 +++++++- - 3 files changed, 29 insertions(+), 1 deletion(-) - -commit 6b4fdded94b7efb96c6e41cca4350878ed859ff1 -Author: Behdad Esfahbod -Date: Mon Sep 30 13:48:19 2013 -0400 - - Update git.mk - - git.mk | 20 +++++++++++++------- - 1 file changed, 13 insertions(+), 7 deletions(-) - -commit 2a2b5b89ef3a606ba2996bc89fd1c577a6c98f40 -Author: M1cha -Date: Mon Sep 30 08:55:52 2013 +0000 - - Cleanup Android.mk - - use common src files for both static and shared libs - - remove empty LOCAL_SHARED_LIBRARIES - - Android.mk | 58 - +++++++++++++++++----------------------------------------- - 1 file changed, 17 insertions(+), 41 deletions(-) - -commit 622bc3d829cab84c3a4148b88f2c91fee491ef39 -Merge: 3d2c4f0c d583df1e -Author: Behdad Esfahbod -Date: Sun Sep 29 13:31:58 2013 -0700 - - Merge pull request #4 from amarullz/master - - Add build static library on Android.mk - -commit 3d2c4f0c2ff8fab4262988aad65b170e5b479b20 -Author: Behdad Esfahbod -Date: Fri Sep 27 17:06:29 2013 -0400 - - Fix hiding of default_ignorables if font doesn't have space glyph - - Based on patch from Jonathan Kew. See discussion on the list. - - src/hb-ot-shape.cc | 40 ++++++++++++++++++++++++++++++---------- - 1 file changed, 30 insertions(+), 10 deletions(-) - -commit d583df1e78003f8f1039ad72331bf877b13d1ae5 -Author: Ahmad Amarullah -Date: Fri Sep 27 19:04:32 2013 +0700 - - Add build static library on Android.mk - - Use UCDN instead ICU - HAVE Freetype - - Android.mk | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 50 insertions(+) - -commit 078de49ca10285f6cd1452abd40f831a17af5d1a -Author: Behdad Esfahbod -Date: Thu Sep 26 18:26:43 2013 -0400 - - [util] Don't use g_array_unref() - - Was introduced in glib 2.22. - - util/view-cairo.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 48360ec03b225dfec5f90bc5cb93122203d2dd6b -Author: Behdad Esfahbod -Date: Thu Sep 26 16:48:42 2013 -0400 - - Bug 68990 - test-common fails on i686-linux - - Fix use-after-end-of-scope. - - src/hb-common.cc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit b61f97d544ce43d85f5fe93e682c324e042c0770 -Author: Behdad Esfahbod -Date: Mon Sep 16 22:07:22 2013 -0400 - - 0.9.21 - - NEWS | 12 ++++++++++++ - configure.ac | 2 +- - 2 files changed, 13 insertions(+), 1 deletion(-) - -commit 2af826296315d89f3a433952903c5968e56044ea -Author: Behdad Esfahbod -Date: Mon Sep 16 21:49:56 2013 -0400 - - Improve library checks - - src/Makefile.am | 1 + - src/check-defs.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ - src/check-symbols.sh | 37 ++++++++++++------------------------- - 3 files changed, 57 insertions(+), 25 deletions(-) - -commit 882edce48e507a1c76c908ec2db04aac218b67d6 -Author: Behdad Esfahbod -Date: Fri Sep 13 20:36:43 2013 -0400 - - [graphite2] Fix include - - src/hb-graphite2.cc | 5 ++--- - src/hb-graphite2.h | 2 ++ - 2 files changed, 4 insertions(+), 3 deletions(-) - -commit ace5c7eb4c2302a6a7eb3576e6dbc3bc026e569c -Author: Behdad Esfahbod -Date: Fri Sep 13 20:34:42 2013 -0400 - - [introspection] hb-ft annotations - - src/hb-face.cc | 2 +- - src/hb-ft.cc | 30 +++++++++++++++++++++++++++++- - 2 files changed, 30 insertions(+), 2 deletions(-) - -commit a8949df48780e680e03b9afbbafb3628a0acef52 -Author: Behdad Esfahbod -Date: Fri Sep 13 20:23:51 2013 -0400 - - [introspection] Annotate Unicode / font callbacks - - Should move these out of the public header... - - We're "clean" of introspection warnings now. Remaining ones are about - graphite2 / freetype types not being introspectable. - - src/hb-blob.cc | 4 +- - src/hb-face.cc | 2 +- - src/hb-font.cc | 4 +- - src/hb-font.h | 132 - +++++++++++++++++++++++++++++++++++++++++++++++++++++-- - src/hb-unicode.h | 106 ++++++++++++++++++++++++++++++++++++++++---- - 5 files changed, 231 insertions(+), 17 deletions(-) - -commit 4b011094d5e90cf93df2891e47aeab1bffad5bbf -Author: Behdad Esfahbod -Date: Fri Sep 13 20:17:42 2013 -0400 - - Move code around - - I believe I didn't break anything... - - src/hb-ot-shape.cc | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -commit 4878db218202ed804c9f76edb7e4aa220de8a8d8 -Author: Behdad Esfahbod -Date: Thu Sep 12 20:56:32 2013 -0400 - - Remove contrib/ Python hand-coded binding stuff - - gobject-introspection coming together. - - contrib/README | 2 - - contrib/python/README | 10 -- - contrib/python/lib/fontconfig.pyx | 47 --------- - contrib/python/lib/harfbuzz.pyx | 213 - -------------------------------------- - contrib/python/scripts/hbtestfont | 116 --------------------- - contrib/python/setup.py | 39 ------- - 6 files changed, 427 deletions(-) - -commit e478ebe4d3f74dc271ffe88680fd29f6b1924c93 -Author: Behdad Esfahbod -Date: Thu Sep 12 20:53:07 2013 -0400 - - [introspection] Add sample.py - - src/sample.py | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit dfdbe7f932daffcf73911ff4e4a36f749164d960 -Author: Behdad Esfahbod -Date: Thu Sep 12 20:52:20 2013 -0400 - - [introspection] Make hb_blob_create() introspectable - - src/Makefile.am | 2 ++ - src/hb-blob.cc | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -commit 085d4291a9f253a4b8e2eec8003ac11d02a9394f -Author: Behdad Esfahbod -Date: Thu Sep 12 17:14:33 2013 -0400 - - [introspection] Disable constructors for now - - Since our types are not associated with their methods, marking - constructors makes them inaccessible from bindings. Undo for now. - - src/hb-blob.cc | 2 +- - src/hb-buffer.cc | 2 +- - src/hb-face.cc | 2 +- - src/hb-font.cc | 4 ++-- - src/hb-set.cc | 2 +- - src/hb-shape-plan.cc | 2 +- - src/hb-unicode.cc | 2 +- - 7 files changed, 8 insertions(+), 8 deletions(-) - -commit 6c48f20eea22c6e686416ab4ec8388be3e8cd0b5 -Author: Behdad Esfahbod -Date: Mon Sep 9 15:43:10 2013 -0400 - - [otlayout] Add structs for JSTF table - - src/Makefile.am | 1 + - src/hb-ot-head-table.hh | 2 +- - src/hb-ot-hhea-table.hh | 2 +- - src/hb-ot-hmtx-table.hh | 2 +- - src/hb-ot-layout-gdef-table.hh | 2 +- - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-jstf-table.hh | 229 - +++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout.cc | 1 + - src/hb-ot-layout.h | 1 + - src/hb-ot-maxp-table.hh | 2 +- - src/hb-ot-name-table.hh | 2 +- - src/main.cc | 2 +- - 13 files changed, 241 insertions(+), 9 deletions(-) - -commit 70303cf23b22647bf641be22c8650310128322a9 -Author: Behdad Esfahbod -Date: Fri Sep 6 17:35:57 2013 -0400 - - [docs/introspection] Some more annotations - - src/hb-common.cc | 151 - ++++++++++++++++++++++++++++++++++++++++++++++++++-- - src/hb-font.cc | 16 +++--- - src/hb-version.h.in | 19 ------- - 3 files changed, 155 insertions(+), 31 deletions(-) - -commit 288f2899979bcc9e68f8115cb76e3271ed0e17bc -Author: Behdad Esfahbod -Date: Fri Sep 6 15:40:22 2013 -0400 - - [docs/introspection] More annotations - - src/hb-blob.cc | 63 +++--- - src/hb-buffer-serialize.cc | 63 ++++++ - src/hb-buffer.cc | 307 ++++++++++++++++++++++++++- - src/hb-face.cc | 171 +++++++++++++++ - src/hb-font-private.hh | 4 +- - src/hb-font.cc | 504 - ++++++++++++++++++++++++++++++++++++++++++++- - src/hb-set.cc | 2 +- - src/hb-shape-plan.cc | 104 ++++++++++ - src/hb-shape.cc | 56 +++++ - src/hb-unicode.cc | 128 ++++++++++++ - 10 files changed, 1355 insertions(+), 47 deletions(-) - -commit 17905c54f1bab9e6dfe13f59f5ec208de12832f7 -Author: Behdad Esfahbod -Date: Fri Sep 6 16:57:01 2013 -0400 - - [introspection] Work around g-i limitation with hb_language_t - - src/hb-gobject-structs.cc | 15 +++++++++++---- - src/hb-gobject-structs.h | 8 ++++++++ - 2 files changed, 19 insertions(+), 4 deletions(-) - -commit cd361c3cbe4a288e3019b9a029f44e4c5f24436c -Author: Behdad Esfahbod -Date: Fri Sep 6 16:20:21 2013 -0400 - - Minor change to hb_language_t - - Let me know if this breaks anyone's anything. - - src/hb-common.cc | 2 +- - src/hb-common.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 20cbc1f8eb0811e6cefa3be3550e80df9c372782 -Author: Behdad Esfahbod -Date: Fri Sep 6 15:29:22 2013 -0400 - - Annotate hb-set a bit; add HB_SET_VALUE_INVALID - - src/hb-set-private.hh | 20 +++-- - src/hb-set.cc | 244 - ++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-set.h | 2 + - src/hb-version.h.in | 6 +- - test/api/test-set.c | 26 +++--- - 5 files changed, 276 insertions(+), 22 deletions(-) - -commit c44b81833d5bfb9a926d348a76463314c3ec2018 -Author: Behdad Esfahbod -Date: Fri Sep 6 15:13:16 2013 -0400 - - Whitespace - - src/hb-buffer.cc | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit ae9dc717d37d58efdd3fabbe4a9c3c2bf9dc3568 -Author: Behdad Esfahbod -Date: Thu Sep 5 16:40:37 2013 -0400 - - [gtk-doc] Pass source files to gtk-doc - - docs/reference/Makefile.am | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 5f512017ba615ba6ac8e5da2ea0c57a72db2c26b -Author: Behdad Esfahbod -Date: Wed Sep 4 18:28:39 2013 -0400 - - [docs] Document a few symbols - - src/hb-blob.cc | 160 - +++++++++++++++++++++++++++++++++++++++++++++++++++- - src/hb-buffer.cc | 78 ++++++++++++++++++++++++- - src/hb-version.h.in | 17 ++++++ - 3 files changed, 251 insertions(+), 4 deletions(-) - -commit e0dbf99b4497be305d689a528282fd37214e7f1c -Author: Behdad Esfahbod -Date: Thu Sep 5 16:00:47 2013 -0400 - - [introspection] Pass source files to scanner - - src/Makefile.am | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 5a5350b39b81e0128d36ebc81307a6d698a4dc50 -Author: Behdad Esfahbod -Date: Tue Sep 3 20:11:01 2013 -0400 - - Revert "Round when scaling values" - - This reverts commit 10f964623f003c70f6bdd33423420abda3820ce0. - - See discussion with Khaled Hosny on mailing list. In short, since - integers here can be negative, and int division is "round towards - zero", proper rounding should take sign into account. Just skip - doing it again, has been serving us well before. - - TODO | 2 ++ - src/hb-font-private.hh | 6 +----- - 2 files changed, 3 insertions(+), 5 deletions(-) - -commit 74ff41c3a573bdf74b60623065eb92a49f055893 -Author: Behdad Esfahbod -Date: Tue Sep 3 20:09:14 2013 -0400 - - Minor - - Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit 63dd4b0ac2076fe9cc3dfe5d31ef3616d4ed01e5 -Author: Behdad Esfahbod -Date: Tue Sep 3 20:01:40 2013 -0400 - - [gtk-doc] Remove hack for deleting tmpl/ - - This was introduced in 029f46bde7e39094d3decb46525e91a97c5cc02c - and was in fact a bug in gtk-doc master: - - https://bugzilla.gnome.org/show_bug.cgi?id=707426 - - docs/reference/Makefile.am | 5 ----- - 1 file changed, 5 deletions(-) - -commit 213001aa99003422199245e96878f9fe348c55b4 -Author: Behdad Esfahbod -Date: Tue Sep 3 20:00:16 2013 -0400 - - [build] Fix EXTRA_DIST - - I was under the impression that EXTRA_DISTs will happen regardless of - automake conditionals. Apparently I was wrong. - - src/Makefile.am | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 1e994a8fcc94dfea42a6cbfe23a401142d79a1a6 -Author: Behdad Esfahbod -Date: Tue Sep 3 18:11:47 2013 -0400 - - [gtk-doc] Copy makefile - - autogen.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 81a007ffad683e53f12093a0c9e30112106f415d -Author: Behdad Esfahbod -Date: Fri Aug 30 19:45:13 2013 -0400 - - [TODO] Update - - TODO | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit a2a28235e8131a1e1d4b8c3d0933df5cf056bbc6 -Author: Behdad Esfahbod -Date: Fri Aug 30 19:38:47 2013 -0400 - - [gtk-doc] Generate version.xml from configure - - Even though this is not what autoconf recommends, it reduces doc - rebuilds when version doesn't change but configure changes. - - configure.ac | 1 + - docs/reference/Makefile.am | 11 +++-------- - docs/reference/version.xml.in | 1 + - 3 files changed, 5 insertions(+), 8 deletions(-) - -commit ac1b723917d9b8f247a350f8d3e1bc5d1e472073 -Author: Behdad Esfahbod -Date: Fri Aug 30 19:32:10 2013 -0400 - - Remove hb-old and hb-icu-le test shapers - - They've been disabled for a while and no one cared. We're past - the point to need them for testing, and if we ever need to - resurrect them again, well, they're in git graveyard somewhere. - - configure.ac | 23 +- - src/Makefile.am | 28 +- - src/hb-icu-le.cc | 265 -- - src/hb-icu-le/COPYING | 2 - - src/hb-icu-le/FontTableCache.cpp | 91 - - src/hb-icu-le/FontTableCache.h | 48 - - src/hb-icu-le/Makefile.am | 25 - - src/hb-icu-le/PortableFontInstance.cpp | 275 -- - src/hb-icu-le/PortableFontInstance.h | 119 - - src/hb-icu-le/README | 3 - - src/hb-icu-le/cmaps.cpp | 200 -- - src/hb-icu-le/cmaps.h | 87 - - src/hb-icu-le/letest.h | 63 - - src/hb-icu-le/license.html | 51 - - src/hb-icu-le/sfnt.h | 453 --- - src/hb-old.cc | 410 --- - src/hb-old/COPYING | 24 - - src/hb-old/Makefile.am | 56 - - src/hb-old/README | 7 - - src/hb-old/harfbuzz-arabic.c | 1150 ------ - src/hb-old/harfbuzz-buffer-private.h | 107 - - src/hb-old/harfbuzz-buffer.c | 383 -- - src/hb-old/harfbuzz-buffer.h | 102 - - src/hb-old/harfbuzz-external.h | 106 - - src/hb-old/harfbuzz-gdef-private.h | 135 - - src/hb-old/harfbuzz-gdef.c | 1163 ------ - src/hb-old/harfbuzz-gdef.h | 140 - - src/hb-old/harfbuzz-global.h | 125 - - src/hb-old/harfbuzz-gpos-private.h | 729 ---- - src/hb-old/harfbuzz-gpos.c | 6094 - -------------------------------- - src/hb-old/harfbuzz-gpos.h | 155 - - src/hb-old/harfbuzz-greek.c | 447 --- - src/hb-old/harfbuzz-gsub-private.h | 483 --- - src/hb-old/harfbuzz-gsub.c | 4329 ----------------------- - src/hb-old/harfbuzz-gsub.h | 148 - - src/hb-old/harfbuzz-hangul.c | 268 -- - src/hb-old/harfbuzz-hebrew.c | 187 - - src/hb-old/harfbuzz-impl.c | 84 - - src/hb-old/harfbuzz-impl.h | 135 - - src/hb-old/harfbuzz-indic.cpp | 1868 ---------- - src/hb-old/harfbuzz-khmer.c | 642 ---- - src/hb-old/harfbuzz-myanmar.c | 511 --- - src/hb-old/harfbuzz-open-private.h | 102 - - src/hb-old/harfbuzz-open.c | 1433 -------- - src/hb-old/harfbuzz-open.h | 288 -- - src/hb-old/harfbuzz-shaper-all.cpp | 37 - - src/hb-old/harfbuzz-shaper-private.h | 159 - - src/hb-old/harfbuzz-shaper.cpp | 996 ------ - src/hb-old/harfbuzz-shaper.h | 265 -- - src/hb-old/harfbuzz-stream-private.h | 81 - - src/hb-old/harfbuzz-stream.c | 114 - - src/hb-old/harfbuzz-stream.h | 51 - - src/hb-old/harfbuzz-tibetan.c | 249 -- - src/hb-old/harfbuzz.h | 38 - - 54 files changed, 2 insertions(+), 25532 deletions(-) - -commit b94243d6a9457864ad8ef3ad47ad01985b138862 -Author: Behdad Esfahbod -Date: Fri Aug 30 18:41:33 2013 -0400 - - [g-i] Rename library from harfbuzz to HarfBuzz - - src/Makefile.am | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit f730b5d1e2369762952481f1a2d3db26a2b48015 -Author: Behdad Esfahbod -Date: Thu Aug 29 15:53:33 2013 -0400 - - 0.9.20 - - NEWS | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 49 insertions(+), 1 deletion(-) - -commit b0e03508bad04d7dcf2c50ac81f6261425b34c5f -Author: Behdad Esfahbod -Date: Thu Aug 29 15:56:32 2013 -0400 - - Dist with gobject and introspection enabled - - Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit e4ce6745e15eab33ed693874e7a56981f4d6f79a -Author: Behdad Esfahbod -Date: Thu Aug 29 15:56:16 2013 -0400 - - [gtk-doc] Fix build without gobject - - docs/reference/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 263372f15ffdf4c0e4386133f64ff389ba73de33 -Author: Behdad Esfahbod -Date: Wed Aug 28 13:43:54 2013 -0400 - - Remove gtk-doc.make - - It's copied by gtk-docize. - - gtk-doc.make | 302 - ----------------------------------------------------------- - 1 file changed, 302 deletions(-) - -commit 79d754efeef89543d51775b110e8bd49cf7e699b -Author: Behdad Esfahbod -Date: Wed Aug 28 13:43:35 2013 -0400 - - Fix build - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 71ef22b04d466803076af1da6763fecab95ce5bb -Author: Behdad Esfahbod -Date: Wed Aug 28 12:52:55 2013 -0400 - - Turn hb-gobject, and introspection off by default - - Also enable bootstrapping without them. - - configure.ac | 39 ++++++++++++++++++++++++++++++++++----- - src/Makefile.am | 5 +++-- - 2 files changed, 37 insertions(+), 7 deletions(-) - -commit d8f507099b9ae5f0c643fb8dddbb069df6f62a94 -Author: Behdad Esfahbod -Date: Mon Aug 26 21:26:24 2013 -0400 - - Hookup harfbuzz-gobject to introspection - - src/Makefile.am | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -commit 71439a8c7ae9df25193bc3ad0f203117d2884a19 -Author: Behdad Esfahbod -Date: Mon Aug 26 20:56:58 2013 -0400 - - [gobject] Flesh out hb-gobject - - Move it to new harfbuzz-gobject library. Implement enums and - boxed types for object-types. Still have to do boxed types for - value types. - - configure.ac | 12 ++++- - docs/reference/Makefile.am | 12 ++++- - docs/reference/harfbuzz-docs.xml | 3 ++ - docs/reference/harfbuzz-sections.txt | 48 +++++++++++++++++++- - src/Makefile.am | 48 +++++++++++++------- - src/harfbuzz-gobject.pc.in | 12 +++++ - src/hb-gobject-enums.cc.tmpl | 11 +++-- - src/hb-gobject-enums.h.tmpl | 55 +++++++++++++++++++++++ - src/hb-gobject-structs.cc | 84 - +++++++++++++++++++++++++++------- - src/hb-gobject-structs.h | 87 - ++++++++++++++++++++++++++++++++++++ - src/hb-gobject.h | 38 ++-------------- - 11 files changed, 333 insertions(+), 77 deletions(-) - -commit 23027f7611b53b594e4b4008e916e42b5154f6ac -Author: Behdad Esfahbod -Date: Thu Aug 22 19:03:21 2013 -0400 - - [introspection] Enable gobject-introspection again - - configure.ac | 7 ++++--- - src/Makefile.am | 49 ++++++++++++++++++++++++++++--------------------- - 2 files changed, 32 insertions(+), 24 deletions(-) - -commit 757a7a9018577dcc399be03dc45a59589585d2fb -Author: Behdad Esfahbod -Date: Wed Aug 28 12:35:13 2013 -0400 - - [uniscribe] Fixed build with wide chars - - https://github.com/blinkseb/harfbuzz/commit/f65dafa4138e1fb4395bf646fa33bb01a86a7e9a - - src/hb-uniscribe.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4dc798de19c767b91fd3025c85593fa6809d1340 -Author: Behdad Esfahbod -Date: Mon Aug 26 20:39:00 2013 -0400 - - Add hb-deprecated.h, and rename a couple enum values - - Add deprecated alias for old name. - - src/Makefile.am | 1 + - src/hb-buffer.cc | 4 ++-- - src/hb-buffer.h | 8 +++---- - src/hb-common.h | 5 ----- - src/hb-deprecated.h | 51 - ++++++++++++++++++++++++++++++++++++++++++++ - src/hb.h | 1 + - src/test-buffer-serialize.cc | 2 +- - test/api/test-buffer.c | 2 +- - util/Makefile.am | 1 + - util/hb-shape.cc | 2 +- - util/options.hh | 2 +- - 11 files changed, 64 insertions(+), 15 deletions(-) - -commit 2e3a07abdf97b0ad2105c3a52f3ff0e0b60b29c4 -Author: Behdad Esfahbod -Date: Mon Aug 26 18:49:07 2013 -0400 - - Separate face source code from font - - Makes documentation / introspection easier. - - Android.mk | 1 + - docs/reference/harfbuzz-docs.xml | 1 + - docs/reference/harfbuzz-sections.txt | 6 +- - src/Makefile.am | 3 + - src/hb-face-private.hh | 108 ++++++++++++ - src/hb-face.cc | 311 - +++++++++++++++++++++++++++++++++++ - src/hb-face.h | 117 +++++++++++++ - src/hb-font-private.hh | 67 +------- - src/hb-font.cc | 269 ------------------------------ - src/hb-font.h | 75 +-------- - src/hb.h | 1 + - 11 files changed, 549 insertions(+), 410 deletions(-) - -commit d3490761e11ae308fbd8aaf02059653f579035c5 -Author: Behdad Esfahbod -Date: Mon Aug 26 21:15:29 2013 -0400 - - Improve check-includes.sh - - src/check-includes.sh | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit 381f2fb5e664715d67ffc9a234b0fd8aa540fada -Author: Behdad Esfahbod -Date: Mon Aug 26 19:20:38 2013 -0400 - - Minor - - docs/reference/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ac1f09b53e2c5d14c874e4d9f1b25b03ea1d1c44 -Author: Behdad Esfahbod -Date: Mon Aug 26 18:50:12 2013 -0400 - - [gtk-doc] Fix maintainer-clean rule - - docs/reference/Makefile.am | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 38b8b40526a85f33521542e24d1e0c82588efc85 -Author: Behdad Esfahbod -Date: Tue Aug 27 11:44:09 2013 -0400 - - Fix possible snprintf OOM - - https://bugzilla.redhat.com/show_bug.cgi?id=1001645 - - src/hb-buffer-serialize.cc | 14 +++++++------- - src/hb-font-private.hh | 3 ++- - src/hb-shape.cc | 6 +++--- - 3 files changed, 12 insertions(+), 11 deletions(-) - -commit d22548c0e362cc9447557440af9ecbb11badfa78 -Author: Behdad Esfahbod -Date: Mon Aug 26 18:46:21 2013 -0400 - - [check-*] Minor - - src/check-c-linkage-decls.sh | 4 ++-- - src/check-header-guards.sh | 4 ++-- - src/check-includes.sh | 4 ++-- - 3 files changed, 6 insertions(+), 6 deletions(-) - -commit 029f46bde7e39094d3decb46525e91a97c5cc02c -Author: Behdad Esfahbod -Date: Mon Aug 26 18:11:07 2013 -0400 - - [gtk-doc] Remove tmpl in make maintainer-clean - - docs/reference/Makefile.am | 3 +++ - 1 file changed, 3 insertions(+) - -commit dddf990c3687a47297eafc82b54fa96842e68003 -Author: Behdad Esfahbod -Date: Mon Aug 26 17:58:25 2013 -0400 - - [git.mk] Update - - git.mk | 17 +++++++++++++---- - 1 file changed, 13 insertions(+), 4 deletions(-) - -commit 700a15fe4b80da9c67befd85ae10a166f5b65962 -Author: Behdad Esfahbod -Date: Mon Aug 26 17:49:36 2013 -0400 - - Add HB_DISABLE_DEPRECATED - - That moment that you have to accept that you made API mistakes... - - docs/reference/Makefile.am | 2 +- - docs/reference/harfbuzz-sections.txt | 8 +++++--- - src/hb-common.h | 4 +++- - 3 files changed, 9 insertions(+), 5 deletions(-) - -commit ddc456a519a9a59e96f9d7fcad988369e0a8842b -Author: Behdad Esfahbod -Date: Mon Aug 26 17:34:18 2013 -0400 - - [travis] Add graphite2 - - .travis.yml | 1 + - 1 file changed, 1 insertion(+) - -commit f7c72b42efb8d42859023659fd2e3d589523436d -Author: Anthony Carrico -Date: Sun Feb 24 13:00:33 2013 -0500 - - [gtk-doc] Initial setup - - Initial setup of gtk-doc. Straight forward setup following the gtk-doc - instructions. Ignore some troublesome types in src/hb-gobject.h. To - build use "./autogen.sh --enable-gtk-doc" then "make". Docs are in - harfbuzz/docs/reference/html/index.html. - - .travis.yml | 10 +- - Makefile.am | 7 +- - autogen.sh | 7 + - configure.ac | 7 +- - docs/Makefile.am | 1 + - docs/reference/Makefile.am | 109 +++++++++ - docs/reference/harfbuzz-docs.xml | 61 +++++ - docs/reference/harfbuzz-overrides.txt | 0 - docs/reference/harfbuzz-sections.txt | 431 - ++++++++++++++++++++++++++++++++++ - gtk-doc.make | 302 ++++++++++++++++++++++++ - src/Makefile.am | 2 +- - src/hb-gobject.h | 3 +- - 12 files changed, 931 insertions(+), 9 deletions(-) - -commit 3409fb1c767118067cf7edfb97068936b6f4b717 -Author: Behdad Esfahbod -Date: Wed Aug 21 17:22:21 2013 -0400 - - [uniscribe] Ask Uniscribe to return shaping results in logical order - - See discussion on the list in the thread "Arabic presentation forms - and the uniscribe backend". - - Based on patch from Jonathan Kew. - - src/hb-uniscribe.cc | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -commit 1d05fdd09fa271b641f30a2138171e6fafcd8db7 -Author: Behdad Esfahbod -Date: Tue Aug 20 13:22:21 2013 -0400 - - [uniscribe] Print run info - - src/hb-uniscribe.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 3613696b57225111507a3f4263f5fa6937d0bc72 -Author: Behdad Esfahbod -Date: Mon Aug 12 00:33:28 2013 -0400 - - [coretext] Fully support user features - - Based on patch from Jonathan Kew and data from Apple. - - It's not working correctly though, and I suspect I'm hitting a bug in - CoreText. When I do this: - - hb-shape /Library/Fonts/Zapfino.ttf ZapfinoZapfino --shaper coretext \ - --features=-liga - - I expect both ligatures to turn off, but only the second one does: - - [Z_a_p_f_i_n_o=0+2333|Z=7+395|a=8+285|p_f=9+433|i=11+181|n=12+261|o=13+250] - - whereas if I disable 'dlig' instead of 'liga', both are turned off. - Smells... - - Doesn't resolve conflicting feature settings. - - src/hb-coretext.cc | 446 - +++++++++++++++++++++++++++++++++++++++++++++++----- - src/hb-uniscribe.cc | 2 +- - 2 files changed, 404 insertions(+), 44 deletions(-) - -commit 54e6f6c588a164f7de62ff88b3eff4f25adb8f17 -Author: Behdad Esfahbod -Date: Fri Aug 9 14:34:54 2013 -0400 - - Clean up list of Unicode scripts - - Rename HB_SCRIPT_CANADIAN_ABORIGINAL to HB_SCRIPT_CANADIAN_SYLLABICS - and a macro for the old name. - - src/hb-common.h | 277 - ++++++++++++++++++++----------------- - src/hb-glib.cc | 2 +- - src/hb-ot-shape-complex-private.hh | 2 + - src/hb-ucdn.cc | 2 +- - test/api/test-unicode.c | 2 +- - 5 files changed, 153 insertions(+), 132 deletions(-) - -commit 7cd4a715848c44be9aec6b6b622cfc2a60b1a5a9 -Author: Behdad Esfahbod -Date: Fri Aug 9 09:41:48 2013 -0400 - - Update TODO - - TODO | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 515a0ac81e531c95b1bb7f1a3c5df73a9e64b14f -Author: Behdad Esfahbod -Date: Fri Aug 9 09:40:59 2013 -0400 - - Fix compiler warning - - src/hb-ot-layout-common-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 10f964623f003c70f6bdd33423420abda3820ce0 -Author: Behdad Esfahbod -Date: Fri Aug 9 09:40:01 2013 -0400 - - Round when scaling values - - Doesn't matter for most users since they should be working in a - fixed sub-pixel scale anyway (ie. 22.10, 26.6, 16.16, etc). - - TODO | 2 -- - src/hb-font-private.hh | 6 +++++- - 2 files changed, 5 insertions(+), 3 deletions(-) - -commit df8f70ae5de6181d56efa3f076f14e4d52119a5e -Author: Behdad Esfahbod -Date: Fri Aug 9 09:35:10 2013 -0400 - - Minor - - src/hb-font-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ce8badf1808f9fbdd9a22e9215c7475d3afde5ed -Author: Behdad Esfahbod -Date: Fri Aug 9 09:31:06 2013 -0400 - - Minor - - src/hb-font-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d71c0df2d17f4590d5611239577a6cb532c26528 -Author: Behdad Esfahbod -Date: Fri Aug 9 09:28:32 2013 -0400 - - Remove vrt2, vkrn, vpal, and valt from default vertical features - - See thread by John Dagget on the list. - - TODO | 2 -- - src/hb-ot-shape.cc | 9 --------- - 2 files changed, 11 deletions(-) - -commit a782a5e9a37c8733ac2830410a514d38635b543a -Author: Behdad Esfahbod -Date: Wed Aug 7 21:08:54 2013 -0400 - - [coretext] Start adding support for features - - Unlike AAT, looks like with CoreText very few OT features can - be mapped. - :( - - src/hb-coretext.cc | 65 - +++++++++++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 54 insertions(+), 11 deletions(-) - -commit bdd8873fd8ae5c794018f6edac242b0a8b62ff31 -Author: Behdad Esfahbod -Date: Wed Aug 7 17:58:25 2013 -0400 - - Revert "[Indic] don't apply 'calt' by default in Indic shaper" - - This reverts commit 952121007c6f6f374e4cf1734ebcfe2d2d71c71c. - - In light of discussion on the mailing list... - - src/hb-ot-shape-complex-indic.cc | 4 ---- - 1 file changed, 4 deletions(-) - -commit 9a175914d72187d0c3f50ddad50c9569649c3072 -Author: Behdad Esfahbod -Date: Wed Aug 7 17:26:13 2013 -0400 - - [uniscribe] Support feature ranges - - As Khaled pointed out, right now setting any features, turns kern - and possibly other features off. - - src/hb-uniscribe.cc | 232 - ++++++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 199 insertions(+), 33 deletions(-) - -commit 627af695e48ef10b6e634c34b723f7e7013467f6 -Author: Behdad Esfahbod -Date: Tue Aug 6 16:53:56 2013 -0400 - - More git.mk updates - - git.mk | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 722252743d59e4cd53cb71720d823ea00b708ad8 -Author: Behdad Esfahbod -Date: Tue Aug 6 15:19:23 2013 -0400 - - Update git.mk - - git.mk | 37 +++++++++++++++++++++++-------------- - 1 file changed, 23 insertions(+), 14 deletions(-) - -commit 38d5c58d23fce38221689cda98cea1c3e42ed615 -Author: Behdad Esfahbod -Date: Tue Aug 6 14:45:36 2013 -0400 - - [uniscribe] Half-support user features - - Turning features on globally works now. - - src/hb-uniscribe.cc | 54 - ++++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 43 insertions(+), 11 deletions(-) - -commit 639afdc690c681a302080239a1967ce735ba5be5 -Author: Behdad Esfahbod -Date: Tue Aug 6 14:28:12 2013 -0400 - - Minor - - src/hb-private.hh | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -commit 952121007c6f6f374e4cf1734ebcfe2d2d71c71c -Author: Jonathan Kew -Date: Tue Aug 6 10:36:14 2013 -0400 - - [Indic] don't apply 'calt' by default in Indic shaper - - src/hb-ot-shape-complex-indic.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 625678436c29100eef82d87e635b251030a18f60 -Author: Behdad Esfahbod -Date: Mon Aug 5 22:44:18 2013 -0400 - - Fix glyph closure with class==0 - - As reported by cibu. Untested. - - src/hb-ot-layout-common-private.hh | 29 +++++++++++++++++++++++++++++ - 1 file changed, 29 insertions(+) - -commit 580d5eb93af5bbbc64994b626d5e011e2c256d74 -Author: Behdad Esfahbod -Date: Sun Aug 4 16:55:21 2013 -0400 - - Don't apply 'dlig' by default - - Windows 8 doesn't, and the spec will be fixed. - - src/hb-ot-shape-complex-arabic.cc | 1 - - 1 file changed, 1 deletion(-) - -commit 48382e2f41499a91181bea0acc5792989d2485bb -Author: Behdad Esfahbod -Date: Tue Jul 30 18:25:39 2013 -0400 - - Minor - - src/hb-ot-layout-common-private.hh | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit c461371419d186811d4bfc768e26535f48a807f4 -Author: Behdad Esfahbod -Date: Tue Jul 30 14:48:23 2013 -0400 - - [CoreText] Don't leak the CTLine object (and everything that hangs - off it) - - Patch from Jonathan Kew. - - src/hb-coretext.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5fbc952524ac8840f007dc0136823a4ab6e25f70 -Author: Behdad Esfahbod -Date: Mon Jul 29 14:34:40 2013 -0400 - - Fix glyph name printing in hb-ot-shape-closure - - util/hb-ot-shape-closure.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6fadd9dd7cc220f131c29946285831635afc8044 -Author: Behdad Esfahbod -Date: Fri Jul 26 10:33:06 2013 -0400 - - Apply 'mark' to Myanmar - - According to Andrew Glass: "The issue with Myanmar feature was - fixed via a servicing patch as soon as Windows 8 became available." - - src/hb-ot-shape-complex-myanmar.cc | 11 ----------- - 1 file changed, 11 deletions(-) - -commit 86522e493d071f395b5abf64289232bf8867ac29 -Author: Behdad Esfahbod -Date: Mon Jul 22 19:07:53 2013 -0400 - - Fix glyph closure recursion! - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 74439d0aa10184451adc6c6469f5119be352ecbb -Author: Behdad Esfahbod -Date: Mon Jul 22 19:02:29 2013 -0400 - - Minor - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8b427c78efa988ed27a2a394146d73f59688707b -Author: Behdad Esfahbod -Date: Mon Jul 22 10:57:05 2013 -0400 - - [uniscribe] Sanitize font file - - src/hb-uniscribe.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 12ff69df21ac91ae21860db7000d9f9973d3da1a -Author: Behdad Esfahbod -Date: Mon Jul 22 10:52:12 2013 -0400 - - [uniscribe] Handle TTC when renaming font - - src/hb-uniscribe.cc | 31 ++++++++++++++++++------------- - 1 file changed, 18 insertions(+), 13 deletions(-) - -commit 05bad3b8c25a89bc0f20f99f9215e492f48f03fe -Author: Behdad Esfahbod -Date: Sun Jul 21 17:05:02 2013 -0400 - - [uniscribe] Use OT::* types - - src/hb-open-type-private.hh | 10 ++++- - src/hb-ot-name-table.hh | 4 +- - src/hb-uniscribe.cc | 107 - +++++++++++++++++++++++--------------------- - 3 files changed, 66 insertions(+), 55 deletions(-) - -commit bdeea605fe597bff4430eaae3317189bb81ec76e -Author: Behdad Esfahbod -Date: Sun Jul 21 16:22:10 2013 -0400 - - [uniscribe] Move name generation into separate function - - src/hb-uniscribe.cc | 34 ++++++++++++++++++++++------------ - 1 file changed, 22 insertions(+), 12 deletions(-) - -commit 73f947e2a7bc5b29d731da2e9d1fafe958be839e -Author: Behdad Esfahbod -Date: Sun Jul 21 16:16:35 2013 -0400 - - [uniscribe] Use blob to pass data around - - src/hb-uniscribe.cc | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) - -commit 8ac2e88deff3d069c19fd59d0fbbfb88a762b113 -Author: Behdad Esfahbod -Date: Sun Jul 21 16:06:49 2013 -0400 - - [uniscribe] Use unique font name - - When installing per-process fonts using AddFontMemResourceEx(), - if a font with the same family name is already installed, sometimes - that one gets used. Which is problematic for us. As such, we - now mangle the font to install a new 'name' table with a unique - name, which we then use to choose the font. - - Patch from Jonathan Kew. - - configure.ac | 2 +- - src/hb-uniscribe.cc | 136 - ++++++++++++++++++++++++++++++++++++++++++++-------- - 2 files changed, 116 insertions(+), 22 deletions(-) - -commit 8751de50831338ce550601c34c17d152ad89c1fd -Author: Behdad Esfahbod -Date: Thu Jul 18 16:29:50 2013 -0400 - - Followup fix for 3f9e2dced298c3d00f31b2dfc38685bb071a3a22 - - During GSUB, if a ligation happens, subsequence context input matching - matches the new indexing. During GPOS however, the indices never - change. So just go one by one. - - Fixes 'dist' positioning with mmrtext.ttf and the following sequence: - - U+1014,U+1039,U+1011,U+1014,U+1039,U+1011,U+1014,U+1039,U+1011 - - Reported by Jonathan Kew. - - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 2b78d67e9f38f77086fbd9c3fd6f1c8c73927a51 -Author: Behdad Esfahbod -Date: Tue Jul 16 16:06:27 2013 -0400 - - 0.9.19 - - NEWS | 11 +++++++++++ - configure.ac | 2 +- - 2 files changed, 12 insertions(+), 1 deletion(-) - -commit e509d35cf1160f1449bc736b9445cdf61ab81d06 -Author: Behdad Esfahbod -Date: Thu Jul 11 14:56:45 2013 -0400 - - [ft] hb_ft_get_glyph_from_name fails for the name of glyph id 0 - - Based on patch from Jonathan Kew, as reported on the mailing list. - - src/hb-ft.cc | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 29b596ac67806c44441e65f3ece227df0fe2bb63 -Author: Behdad Esfahbod -Date: Mon Jul 8 08:37:15 2013 -0600 - - [uniscribe] Fix buffer allocation - - Email from Jonathan Kew: - - My cygwin build kept aborting on certain test words when run with the - uniscribe backend. Turned out this was caused by a bug in the - allocation - of scratch buffers in hb-uniscribe.cc. - - Commit 2a17f9568d9724e045d2c1d660e007f3acd747d9 introduced a new line - - ALLOCATE_ARRAY (SCRIPT_VISATTR, vis_attr, glyphs_size); - - but it failed to account for this in the computation of glyphs_size - (the number of glyphs for which scratch buffer space is available), - with the result that the vis_clusters array ends up overrunning the - end of the scratch buffer and clobbering the beginning of the buffer's - info[]. - - AFAICS, the vis_attr array is not actually used, so the simple fix is - to remove the line that allocates it. (If/when we -do- need to use - vis_attr for something, we'll need to add another term to the earlier - calculation of glyphs_size.) - - With this patch, the uniscribe backend runs reliably again. - - JK - - src/hb-uniscribe.cc | 1 - - 1 file changed, 1 deletion(-) - -commit 9245e98742667dfffe06523e8051beda1bc04811 -Author: Behdad Esfahbod -Date: Wed Jun 26 20:57:58 2013 -0400 - - [Indic] Add Javanese config - - We should add for other scripts too, send me the virama codepoint - and script name... - - src/hb-ot-shape-complex-indic.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 5f85c80a07dd2d18348824866bf4e984ac711a24 -Author: Behdad Esfahbod -Date: Wed Jun 26 20:14:18 2013 -0400 - - [OT] Collect requiredFeature only if features are not provided - - As per Werner's report on the list. - - src/hb-ot-layout.cc | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -commit 3f9e2dced298c3d00f31b2dfc38685bb071a3a22 -Author: Behdad Esfahbod -Date: Wed Jun 26 19:46:55 2013 -0400 - - Fix contextual lookup recursion indexing - - See email thread "Skipping Control for Attaching Marks using OpenType" - from earlier this month. - - src/hb-ot-layout-gsubgpos-private.hh | 10 ++-------- - 1 file changed, 2 insertions(+), 8 deletions(-) - -commit f5da11e0fa5adf8f782883dc5c30d8faaafc9c27 -Merge: 79d1007a 89312b74 -Author: Behdad Esfahbod -Date: Sat Jun 22 08:04:05 2013 -0700 - - Merge pull request #3 from LogosBible/master - - Destroy lookups before blobs. - -commit 89312b7417c0198a0635ca6b7e8ea11f6af2a4f8 -Author: Bradley Grainger -Date: Fri Jun 21 15:02:18 2013 -0700 - - Destroy lookups before blobs. - - 'layout->gsub' may depend on data owned by 'layout->gsub_blob', - so it must - be deinitialized before the blob is destroyed. - - src/hb-ot-layout.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 79d1007a501fd63c0ba4d51038c513e6b8b94740 -Author: Behdad Esfahbod -Date: Thu Jun 13 19:01:07 2013 -0400 - - If variation selector is not consumed by cmap, pass it on to GSUB - - This changes the semantics of get_glyph() callback and expect that - callbacks return false if the requested variant is not available, and - then we will call them back with variation_selector=0 and will retain - the glyph for the selector in the glyph stream. - - Apparently most Mongolian fonts implement the Mongolian Variation - Selectors using GSUB, not cmap. - - https://bugs.freedesktop.org/show_bug.cgi?id=65258 - - Note that this doesn't fix the Mongolian shaping yet, because the way - that's implemented is that the, say, 'init' feature ligates the letter - and the variation-selector. However, since currently the variation - selector doesn't have the 'init' mask on, it will not be matched... - - src/hb-ft.cc | 3 +-- - src/hb-ot-shape-normalize.cc | 14 ++++++++++++-- - 2 files changed, 13 insertions(+), 4 deletions(-) - -commit c7a84917208528040aaf9ad0a9a0b26aabeabc9c -Author: Behdad Esfahbod -Date: Thu Jun 6 20:17:32 2013 -0400 - - Skip over multiple variation selectors in a row - - src/hb-ot-shape-normalize.cc | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 7235f33f9e5e031622a00a84f4b2e98f16803579 -Author: Behdad Esfahbod -Date: Mon Jun 10 14:39:51 2013 -0400 - - Fix misc warnings reported by cppcheck - - https://bugs.freedesktop.org/show_bug.cgi?id=65544 - - src/hb-common.cc | 2 +- - src/hb-coretext.cc | 3 --- - src/hb-font-private.hh | 17 +++++++++++------ - src/hb-private.hh | 2 +- - src/hb-shape.cc | 2 +- - test/api/test-font.c | 1 - - util/ansi-print.cc | 1 + - util/hb-ot-shape-closure.cc | 5 +++-- - util/hb-shape.cc | 5 ++++- - util/shape-consumer.hh | 6 ++++-- - util/view-cairo.hh | 6 ++++-- - 11 files changed, 30 insertions(+), 20 deletions(-) - -commit 570bcccd3f41b9aecd51765a401299833a6d8ebd -Author: Behdad Esfahbod -Date: Mon Jun 10 13:56:51 2013 -0400 - - Fix PKG_CHECK_MODULES usage - - Oops. - - Bug 65246 - Fix build without graphite2 - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 270cfd7a9c01dfb1b1789929f020943ad63aca99 -Author: Behdad Esfahbod -Date: Thu Jun 6 18:57:15 2013 -0400 - - Fix PKG_CHECK_MODULES usage - - Bug 65246 - Fix build without graphite2 - - If we don't provide ACTION-IF-NOT-FOUND, configure aborts if it can't - find the libraries. We handle that ourselves so we don't want the - macro to abort. - - configure.ac | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit 2fd0e02706857bcaf61bf5151657eac96cfa73b9 -Author: Behdad Esfahbod -Date: Thu Jun 6 17:16:01 2013 -0400 - - Minor - - src/Makefile.am | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit b4c5c52944a44ba863a22a53035ff561af7318ca -Author: Chun-wei Fan -Date: Mon Jun 3 17:55:29 2013 +0800 - - util/ansi-print.cc: Use fallback implementation for lround on MSVC - - Unfortuately Visual Studio (still) does not support the C99 function - lround, so provide a fallback implementation for it. - - util/ansi-print.cc | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -commit a4446b10bfe0a9e7236bf941fa69a96697939e11 -Author: Behdad Esfahbod -Date: Mon Jun 3 18:39:14 2013 -0400 - - Fix build for C89 compilers - - test/api/test-buffer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4ddf937242048c4a044ada4559e26664a0c09b48 -Author: Behdad Esfahbod -Date: Mon Jun 3 18:36:26 2013 -0400 - - Remove unnecessary stdint.h include - - src/hb-ucdn/ucdn.c | 1 - - 1 file changed, 1 deletion(-) - -commit 93a04b8b5e6d8067cb925fdf532aadc24c1d4861 -Author: Chun-wei Fan -Date: Mon Jun 3 17:49:37 2013 +0800 - - hb-uniscribe.cc: Re-enable build under Visual Studio - - -Declare hinstLib at the top of block - -Fix the definitions of the typedefs of ScriptItemizeOpenType, - ScriptShapeOpenType and ScriptPlaceOpenType - - src/hb-uniscribe.cc | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit 280e52ae95df0cbee0bb305f5354381bc1d563f4 -Author: Behdad Esfahbod -Date: Thu May 30 18:04:24 2013 -0400 - - Fix ChangeLog regen - - Makefile.am | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit c1824daefa1253507636e4bfdf46374f835f10b3 -Author: Behdad Esfahbod -Date: Wed May 29 15:30:54 2013 -0400 - - Update TODO - - TODO | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit 2966d3603259430800cb5880491d28a1c5ea2314 -Author: Behdad Esfahbod -Date: Tue May 28 17:34:37 2013 -0400 - - Fix test build - - test/api/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 6873f6cc42aa1405e71be903bd0f39a7a15320ce -Author: Behdad Esfahbod -Date: Tue May 28 17:33:16 2013 -0400 - - Minor - - TODO | 2 -- - 1 file changed, 2 deletions(-) - -commit 4014aa4e53bddb29d939a168bd733942d3683732 -Author: Behdad Esfahbod -Date: Tue May 28 17:28:59 2013 -0400 - - 0.9.18 - - NEWS | 28 ++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 29 insertions(+), 1 deletion(-) - -commit d70be29831bb99e34fe18744129088f45d5b2023 -Author: Behdad Esfahbod -Date: Tue May 28 17:23:56 2013 -0400 - - Fix dist - - src/Makefile.am | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 22ce0961742df0a213f2cc86ca3d5a72453c00b1 -Author: Behdad Esfahbod -Date: Tue May 28 17:18:30 2013 -0400 - - Generate harfbuzz-icu.pc - - Currently it only works with ICU that has .pc files. I'll - wait till someone complains before fixing it for icu-config - systems. - - Makefile.am | 3 --- - configure.ac | 5 ++--- - harfbuzz.pc.in | 11 ----------- - src/Makefile.am | 13 +++++++++++++ - src/harfbuzz-icu.pc.in | 13 +++++++++++++ - src/harfbuzz.pc.in | 11 +++++++++++ - 6 files changed, 39 insertions(+), 17 deletions(-) - -commit d9afa111330771461b6182ada9f4edd68bcfce77 -Author: Behdad Esfahbod -Date: Tue May 28 15:27:40 2013 -0400 - - Build hb-icu into libharfbuzz-icu.so - - src/Makefile.am | 29 +++++++++++++++-------------- - src/hb-unicode.cc | 2 +- - test/api/Makefile.am | 1 + - 3 files changed, 17 insertions(+), 15 deletions(-) - -commit 7d395c2a255a44fd0d65365ea9b525dba70c062c -Author: Behdad Esfahbod -Date: Tue May 28 15:25:06 2013 -0400 - - Minor - - test/api/test-c.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 2a17f9568d9724e045d2c1d660e007f3acd747d9 -Author: Behdad Esfahbod -Date: Tue May 28 13:10:51 2013 -0400 - - Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP - - Fallback to older API if OpenType variants are not available. - - configure.ac | 14 +-- - src/hb-uniscribe.cc | 322 - +++++++++++++++++++++++++++++++++++++++++++--------- - 2 files changed, 271 insertions(+), 65 deletions(-) - -commit f8087ffbadc83a15d59367ba82976eae675736a7 -Author: Behdad Esfahbod -Date: Mon May 27 19:43:48 2013 -0400 - - Add --with-cairo - - configure.ac | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -commit 82eddfe5d658ef791d6ef6a566401c50601dfb1c -Author: Behdad Esfahbod -Date: Mon May 27 19:33:36 2013 -0400 - - Add --with-freetype - - Defaults to auto. - - configure.ac | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -commit 5e25eb77a49e7f95b6a6d540b26d60d430f89d4c -Author: Behdad Esfahbod -Date: Mon May 27 19:30:48 2013 -0400 - - Default glib to auto again - - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit eb63e786f37468867c81707504128cf8a4016e5b -Author: Behdad Esfahbod -Date: Mon May 27 19:29:09 2013 -0400 - - Add --with-coretext - - Defaults to no. - - configure.ac | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -commit ab2af17bc6faa8394656e6e82948dc3e9f437626 -Author: Behdad Esfahbod -Date: Mon May 27 19:27:43 2013 -0400 - - Add --with-uniscribe - - Defaults to no. - - configure.ac | 55 +++++++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 39 insertions(+), 16 deletions(-) - -commit 58db2c2542717858acbdf480b3f19a8aef4918cd -Author: Behdad Esfahbod -Date: Mon May 27 19:10:33 2013 -0400 - - Disable UCDN if glib is available - - We only want UCDN if we don't have any other Unicode provider. - I'm going to remove ICU from the list of default Unicode providers - as part of moving hb-icu into its own library. As such, the only - providers will be UCDN and glib. - - configure.ac | 3 +++ - 1 file changed, 3 insertions(+) - -commit ca65326cbd49b48792c4e3125af6c5006364f194 -Author: Behdad Esfahbod -Date: Mon May 27 19:09:50 2013 -0400 - - Minor - - configure.ac | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit 7ae14973ecb4614a83769d2bbd01f33d8474ffc0 -Author: Behdad Esfahbod -Date: Mon May 27 19:06:50 2013 -0400 - - Disable icu_le shaper - - Will add a way to enable it later. - - configure.ac | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 7e6ebf76236cc5ea69302e68186bdf8166d04a98 -Author: Behdad Esfahbod -Date: Mon May 27 19:05:23 2013 -0400 - - Remove icu-config fallback for icu_le shaper - - Bug 64878 - compile error with ICU but not ICU - - configure.ac | 18 ------------------ - 1 file changed, 18 deletions(-) - -commit 932b7471479c639244051b4dbae678e7d47ae99f -Author: Behdad Esfahbod -Date: Mon May 27 19:04:40 2013 -0400 - - Bug 65053 - Add configure option to enable/disable ICU support - - configure.ac | 46 ++++++++++++++++++++++++++++------------------ - 1 file changed, 28 insertions(+), 18 deletions(-) - -commit cf2c1c7eb81b54a344ed5cf36d5fbd3cd297eed1 -Author: Behdad Esfahbod -Date: Mon May 27 18:54:30 2013 -0400 - - Disable hb-old shaper - - Will add proper way to enable it later. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5a78d23f255a649353044af8e5df315f62907b7f -Author: Behdad Esfahbod -Date: Mon May 27 18:47:58 2013 -0400 - - Bug 65054 - Add configure option to enable/disable Graphite2 - - Add --with-graphite2. Defaults to off. - - configure.ac | 20 +++++++++++++++----- - 1 file changed, 15 insertions(+), 5 deletions(-) - -commit 61e7775fa75c7c1bdc29a6992c8c215897364600 -Author: Behdad Esfahbod -Date: Mon May 27 18:24:56 2013 -0400 - - Remove hb-icu dependency from hb-icu-le shaper - - src/hb-icu-le.cc | 33 +++++++++++++++++++++++++++++---- - 1 file changed, 29 insertions(+), 4 deletions(-) - -commit 7e08f1258da229dfaf7e1c4b5c41e5bb83906cb0 -Author: Behdad Esfahbod -Date: Mon May 27 14:48:34 2013 -0400 - - Don't zero advance of mark-non-mark ligatures - - If there's a mark ligating forward with non-mark, they were - inheriting the GC of the mark and later get advance-zeroed. - Don't do that if there's any non-mark glyph in the ligature. - - Sample test: U+1780,U+17D2,U+179F with Kh-Metal-Chrieng.ttf - - Also: - Bug 58922 - Issue with mark advance zeroing in generic shaper - - src/hb-ot-layout-gsubgpos-private.hh | 4 ++++ - src/hb-ot-layout-private.hh | 6 ++++++ - 2 files changed, 10 insertions(+) - -commit cf059ac69d10d9eb09f0d2a29b1bd989647bd800 -Author: Behdad Esfahbod -Date: Fri May 24 15:28:11 2013 -0400 - - [icu_le] Support non-BMP text - - src/hb-icu-le.cc | 35 ++++++++++++++++++++++++++++------- - 1 file changed, 28 insertions(+), 7 deletions(-) - -commit a447c528e68cabc9ca6e24e2c436f3d605ef9aaa -Author: Behdad Esfahbod -Date: Thu May 23 17:05:39 2013 -0400 - - [icu_le] A bit better scaling - - src/hb-icu-le.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit fb502a22787f4110472771ef771619342e64577a -Merge: b9408d24 9d9e72e9 -Author: Behdad Esfahbod -Date: Thu May 23 15:54:52 2013 -0400 - - Merge commit '9d9e72e94e7914f82ce62a304e7242f79c13edaf' - -commit b9408d24f3029f5287b17779235b1c750ff5158a -Author: Behdad Esfahbod -Date: Thu May 23 15:43:02 2013 -0400 - - [icu_le] Fix scaling - - Seems to work... - - src/hb-icu-le.cc | 2 ++ - src/hb-icu-le/PortableFontInstance.cpp | 23 +++++++++++++++-------- - src/hb-icu-le/PortableFontInstance.h | 9 ++++++++- - 3 files changed, 25 insertions(+), 9 deletions(-) - -commit 601526392dec5d8432f147c91658ba50ed6a4322 -Author: Behdad Esfahbod -Date: Tue May 21 17:22:13 2013 -0400 - - Copy stdint.h boilerplate to ucdn - - src/hb-ucdn/ucdn.h | 24 +++++++++++++++++++++++- - 1 file changed, 23 insertions(+), 1 deletion(-) - -commit f1b02f4f3c0db9fbfa6747188429df828b000010 -Author: Behdad Esfahbod -Date: Mon May 20 09:23:58 2013 -0400 - - 0.9.17 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit d785fa0c45f7f25f5e5f352b933a5f6fa29be5c0 -Author: Behdad Esfahbod -Date: Mon May 20 09:18:52 2013 -0400 - - Minor refactoring - - src/hb-ot-shape.cc | 54 - ++++++++++++++++++++++++++++-------------------------- - 1 file changed, 28 insertions(+), 26 deletions(-) - -commit 127daf15e0b2f509ebd29a104236c8b38884efb0 -Author: Behdad Esfahbod -Date: Mon May 20 09:11:35 2013 -0400 - - Arabic mark width-zeroing regression - - Mozilla Bug 873902 - Display Arabic text with diacritics is bad - https://bugzilla.mozilla.org/show_bug.cgi?id=873902 - - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape-complex-default.cc | 2 +- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - src/hb-ot-shape-complex-private.hh | 6 ++++-- - src/hb-ot-shape-complex-thai.cc | 2 +- - src/hb-ot-shape.cc | 36 - ++++++++++++++++++++++++++++-------- - 6 files changed, 36 insertions(+), 14 deletions(-) - -commit fa3d0a0ce60a9fcf2b7f906dec916463b1319eda -Author: Behdad Esfahbod -Date: Tue May 14 15:30:55 2013 -0400 - - Bug 64476 - Typo in hb_set_t.get_min() - - Fixes previous commit's test. - - src/hb-set-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dfbd115e6c1a86a5f1b8d15200672f1e9410b5de -Author: Behdad Esfahbod -Date: Tue May 14 15:30:17 2013 -0400 - - [test] Add test for hb_set_get_min() bug - - Failing now. - - Bug 64476 - Typo in hb_set_t.get_min() - - test/api/test-set.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 9d9e72e94e7914f82ce62a304e7242f79c13edaf -Author: Behdad Esfahbod -Date: Fri May 3 18:10:10 2013 -0400 - - [OTLayout] Use is_inplace() when flipping buffers - - src/hb-ot-layout.cc | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 45f3d980c9503bd94e64f6e3f67f97688347d00c -Author: Behdad Esfahbod -Date: Fri May 3 17:49:44 2013 -0400 - - [OTLayout] Merge / templateize apply_string() - - src/hb-ot-layout-gpos-table.hh | 25 --------------- - src/hb-ot-layout-gsub-table.hh | 48 ---------------------------- - src/hb-ot-layout.cc | 72 - ++++++++++++++++++++++++++++++++++++++++-- - 3 files changed, 69 insertions(+), 76 deletions(-) - -commit e015b8f2187d1102b9c34d1a63504e7b05ee20ee -Author: Behdad Esfahbod -Date: Fri May 3 17:34:29 2013 -0400 - - [OTLayout] Minor - - src/hb-ot-layout-gpos-table.hh | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 780cd930a974165d76dbf7a87701d11b7f15db06 -Author: Behdad Esfahbod -Date: Fri May 3 17:33:16 2013 -0400 - - [OTLayout] Minor - - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout.cc | 4 ++-- - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit 2e0c44f4bedd3e24c731c0e9e23358e9a4891a35 -Author: Behdad Esfahbod -Date: Wed Apr 24 16:42:05 2013 -0400 - - [OTLayout] Add is_inplace() method to GSUB - - src/hb-ot-layout-gpos-table.hh | 8 +- - src/hb-ot-layout-gsub-table.hh | 58 ++++++++++++- - src/hb-ot-layout-gsubgpos-private.hh | 158 - +++++++++++++++++++++++++++++++++++ - 3 files changed, 222 insertions(+), 2 deletions(-) - -commit bac1dd6a0ff4d4fae4254506d38ae662b7e9dda7 -Author: Behdad Esfahbod -Date: Thu May 2 18:52:24 2013 -0400 - - [OTLayout] Refactor a bit more - - src/hb-ot-layout-gsubgpos-private.hh | 10 +-- - src/hb-ot-layout-private.hh | 26 ++++---- - src/hb-ot-layout.cc | 100 - ++++++++++++++--------------- - src/hb-ot-map-private.hh | 7 +- - src/hb-ot-shape-complex-arabic-fallback.hh | 7 +- - src/hb-ot-shape-fallback.cc | 3 +- - 6 files changed, 78 insertions(+), 75 deletions(-) - -commit d2c96819de9a7428b65ef0adf794416224221f36 -Author: Behdad Esfahbod -Date: Thu May 2 18:18:24 2013 -0400 - - Move code around - - src/hb-ot-layout.cc | 52 - ++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-map.cc | 43 ------------------------------------------- - 2 files changed, 52 insertions(+), 43 deletions(-) - -commit 45fd9424c723f115ca98995b8f8a25185a6fc71d -Author: Behdad Esfahbod -Date: Thu May 2 18:06:51 2013 -0400 - - [OTLayout] Add hb_ot_layout_lookup_accelerator_t - - src/hb-ot-layout-private.hh | 21 +++++++++++++++++-- - src/hb-ot-layout.cc | 33 - +++++++++++++++--------------- - src/hb-ot-shape-complex-arabic-fallback.hh | 10 +++++---- - 3 files changed, 41 insertions(+), 23 deletions(-) - -commit 76ea563673d24ae1673a5aa3a21da6014479d433 -Author: Behdad Esfahbod -Date: Sat May 4 16:01:20 2013 -0400 - - [OTLayout] Add note about collect_glyphs() and recursive lookups - - src/hb-ot-layout-gsubgpos-private.hh | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit a8bf0e91f18341e1e20f4e3341fc7dcdd0c990e1 -Author: Behdad Esfahbod -Date: Fri May 3 14:45:04 2013 -0400 - - Add U+061C ARABIC LETTER MARK to Default_Ignorable - - src/hb-unicode-private.hh | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 5d59f999204aedfc433ab4989664d875f96b0364 -Author: Behdad Esfahbod -Date: Thu May 2 14:44:45 2013 -0400 - - [OTLayout] Make MultipleSubst in-place for sequences of len=1 - - src/hb-ot-layout-gsub-table.hh | 15 +++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) - -commit 54f84a6b8571ac7aaaa66f3eff562d23d69d7552 -Author: Behdad Esfahbod -Date: Thu May 2 15:27:53 2013 -0400 - - [OTLayout] Whitespace - - src/hb-ot-layout-gsub-table.hh | 56 - +++++++++++++++++++++--------------------- - 1 file changed, 28 insertions(+), 28 deletions(-) - -commit 3276c354daaff3acabecff11f8e4b5c54d53fc25 -Author: Behdad Esfahbod -Date: Thu May 2 15:16:59 2013 -0400 - - [OTLayout] Minor refactoring - - src/hb-ot-map-private.hh | 4 ++++ - src/hb-ot-map.cc | 46 - +++++++++++++++++++++++++--------------------- - 2 files changed, 29 insertions(+), 21 deletions(-) - -commit ea86efa486a5076e9bf844239bccf86d67577f88 -Author: Behdad Esfahbod -Date: Thu May 2 14:41:39 2013 -0400 - - Minor - - src/hb-ot-map-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 8b63efb6f80b2e9b2de5ec6ab24d6e15826565cb -Author: Behdad Esfahbod -Date: Thu May 2 14:29:32 2013 -0400 - - Minor - - src/hb-buffer-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 2265be0a620bc76ab65f12fedde67791beb51314 -Author: Behdad Esfahbod -Date: Thu May 2 14:25:09 2013 -0400 - - Minor - - src/hb-ot-map-private.hh | 17 ++++++++++------- - src/hb-ot-map.cc | 2 ++ - src/hb-ot-shape-private.hh | 3 +-- - 3 files changed, 13 insertions(+), 9 deletions(-) - -commit e6f19af08717a6a63ad0b5bf4bf368778edc63f0 -Author: Behdad Esfahbod -Date: Thu May 2 13:59:46 2013 -0400 - - Minor - - src/hb-set-private.hh | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -commit 6c15ddfe2b45383824b64058ae69939d002183a6 -Author: Behdad Esfahbod -Date: Tue Apr 30 11:34:00 2013 -0400 - - Renamed DEBUG to something else - - Some infrastructures use DEBUG as a generic symbol. - - src/hb-buffer.cc | 6 +++--- - src/hb-private.hh | 4 ++-- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 00b93f6610f36d8d14ca65fb99864be6d5bdb1ea -Author: Behdad Esfahbod -Date: Mon Apr 29 13:48:49 2013 -0400 - - Fix icu linking by requesting the library searchpath from icu-config - - This is not ideal as we don't like -L/usr/lib in our linker line. - But this is only relevant to environments that don't have pkgconfig - files for ICU... - - https://github.com/behdad/harfbuzz/pull/2 - - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 03adf38b22a37216dffac50d075ea9c881f1a22d -Author: Behdad Esfahbod -Date: Mon Apr 29 13:40:52 2013 -0400 - - Make both old autoconf and new automake happy - - Sigh.. - - Bug 64039 - undefined macro AM_PROG_AR - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ed79dff517bacfc87279079d5d42d079c21a0373 -Author: Behdad Esfahbod -Date: Sun Apr 21 15:39:25 2013 -0400 - - Minor - - src/hb-ot-layout-gpos-table.hh | 5 ----- - 1 file changed, 5 deletions(-) - -commit 893f57b32f01da3411b5596d59170bc340e9fa39 -Author: Behdad Esfahbod -Date: Sun Apr 21 15:21:49 2013 -0400 - - Minor renaming - - src/hb-ot-map-private.hh | 10 +++++----- - src/hb-ot-map.cc | 22 +++++++++++----------- - 2 files changed, 16 insertions(+), 16 deletions(-) - -commit 8ac3c9c0b6b8e76bce282825b9bb706c0c78c2a6 -Author: Behdad Esfahbod -Date: Sun Apr 21 15:19:38 2013 -0400 - - Rename "pause" to "stage" - - The compile() function is starting to become illegible... - - src/hb-ot-map-private.hh | 24 ++++++++++++------------ - src/hb-ot-map.cc | 38 +++++++++++++++++++------------------- - 2 files changed, 31 insertions(+), 31 deletions(-) - -commit dd0641a432691f9b6186b081c38053858c8bc5c1 -Author: Behdad Esfahbod -Date: Sun Apr 21 15:13:57 2013 -0400 - - Minor - - src/hb-ot-map.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 06a44e859328f5f1e2f6034e711b474116d22e22 -Author: Behdad Esfahbod -Date: Sun Apr 21 15:13:08 2013 -0400 - - Remove unneeded code - - We always push a pause at the end such that each lookup falls - in exactly - one pause_map_t. Now, only if I can find a better name for that... - - src/hb-ot-map-private.hh | 2 +- - src/hb-ot-map.cc | 12 +----------- - 2 files changed, 2 insertions(+), 12 deletions(-) - -commit a408d2375aa2ad96b58e56aef18e5000daf2516b -Author: Behdad Esfahbod -Date: Fri Apr 19 16:32:06 2013 -0400 - - 0.9.16 - - NEWS | 13 ++++++++++++- - configure.ac | 2 +- - 2 files changed, 13 insertions(+), 2 deletions(-) - -commit 8659c636087e433f56da458351e8b4d85fdb347c -Author: Behdad Esfahbod -Date: Fri Apr 19 14:33:17 2013 -0400 - - Hand-code bsearch in the hot inner loop. - - Saves another 3 / 4 percent with Amiri. - - src/hb-open-type-private.hh | 29 +++++++++++++++-------------- - 1 file changed, 15 insertions(+), 14 deletions(-) - -commit 797d76d07f80d796a825d850772087104e5a2575 -Author: Behdad Esfahbod -Date: Thu Apr 18 19:04:12 2013 -0400 - - Minor - - src/hb-ot-layout-common-private.hh | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit e4046080c5d785c8dbf9ec9e3478ab9acc83e479 -Author: Behdad Esfahbod -Date: Wed Apr 17 23:49:54 2013 -0400 - - [util] Unbreak --show-text / --show-unicode - - util/shape-consumer.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0dc3a4e0349d28f387a3b4c60a2f51962742738e -Author: Behdad Esfahbod -Date: Wed Apr 17 23:04:03 2013 -0400 - - Obssesive optimization - - Not measurable by any means, but conceptually this is faster since - the mask matches more often than the digest. - - src/hb-ot-layout-gpos-table.hh | 4 ++-- - src/hb-ot-layout-gsub-table.hh | 8 ++++---- - 2 files changed, 6 insertions(+), 6 deletions(-) - -commit f9a611026785a80baa4cbff31ad0847beb70ca9a -Author: Behdad Esfahbod -Date: Wed Apr 17 19:01:49 2013 -0400 - - Remove HB_DEBUG_SET_DIGESTS - - Wasn't correct with the new combiner. I should add it back somehow, - but for now the digests seem to be working very well... - - src/hb-set-private.hh | 16 +--------------- - src/hb-set.cc | 14 -------------- - 2 files changed, 1 insertion(+), 29 deletions(-) - -commit f7466ee76f2bd3812209426e2c39fe517227406d -Author: Behdad Esfahbod -Date: Wed Apr 17 18:20:44 2013 -0400 - - Remove hb_set_digest_common_bits_t - - Was unused. - - src/hb-set-private.hh | 38 -------------------------------------- - 1 file changed, 38 deletions(-) - -commit 0d5798a137b52d9be7ef88c79e59f9bf01d54f3b -Author: Behdad Esfahbod -Date: Wed Apr 17 18:19:21 2013 -0400 - - Improve hb_set_digest_t - - Make Amiri rendering faster a whopping 45% again! Speends up pretty - much anything I tested. - - src/hb-set-private.hh | 28 +++++++++++++++++++++++----- - 1 file changed, 23 insertions(+), 5 deletions(-) - -commit c7851efcd3a1e5317ab4ea57535cb755bace0848 -Author: Behdad Esfahbod -Date: Wed Apr 17 17:45:39 2013 -0400 - - Templatize hb_set_digest_lowest_bits_t filter - - src/hb-set-private.hh | 21 +++++++++++++++++---- - 1 file changed, 17 insertions(+), 4 deletions(-) - -commit 0edd0fd255790471118fae1fd7a1309a2b77cf62 -Author: Behdad Esfahbod -Date: Wed Apr 17 17:26:56 2013 -0400 - - Add comment - - src/hb-set-private.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit b40f2c0372acbc51b13be5cda7dd013e74e3e11a -Author: Behdad Esfahbod -Date: Tue Apr 16 23:21:38 2013 -0400 - - Add hb_set_digest_combiner_t - - src/hb-set-private.hh | 33 ++++++++++++++++++++------------- - 1 file changed, 20 insertions(+), 13 deletions(-) - -commit 02e5e583688999c4dc04f11b3924da65f99af7e3 -Author: Behdad Esfahbod -Date: Tue Apr 16 23:13:10 2013 -0400 - - Speed up Speed up hb_set_digest_common_bits_t calcs - - Correctly this time. - - src/hb-set-private.hh | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 893991fc9d2d3a57c4c148f3a9c3b98263cf3aed -Author: Behdad Esfahbod -Date: Tue Apr 16 21:50:33 2013 -0400 - - Initialize set digests - - We were not initializing the digests properly and as a result - they were - being initialized to zero, making digest1 to never do any useful work. - - Speeds up Amiri shaping significantly. - - src/hb-ot-layout.cc | 6 ++++++ - src/hb-ot-shape-complex-arabic-fallback.hh | 4 +++- - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit 4d2813d3e980c8e6150caafa604a78cc44bf62a2 -Author: Behdad Esfahbod -Date: Tue Apr 16 21:57:21 2013 -0400 - - Print set-digest hit ratio with HB_DEBUG_SET_DIGESTS - - src/hb-set-private.hh | 13 +++++++++++++ - src/hb-set.cc | 13 +++++++++++++ - 2 files changed, 26 insertions(+) - -commit 1357c2dd120d005ceecfa83ed328d05dc634d7bc -Author: Behdad Esfahbod -Date: Tue Apr 16 21:47:40 2013 -0400 - - Revert "Speed up hb_set_digest_common_bits_t calcs" - - This reverts commit 3d1b66a35e1ab3be19335705f310b278d76d66d2. - - The calculations were buggy. It's not worth optimizing right now. - - src/hb-set-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 2b712bba3f7c459653737dfa2f7d26f17f3b9f64 -Author: Behdad Esfahbod -Date: Tue Apr 16 16:11:09 2013 -0400 - - Fix typo in unused macro - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 50067e280f381918b8e90b26df9e7bf20f98f0bd -Author: Behdad Esfahbod -Date: Thu Apr 11 16:31:01 2013 -0400 - - [util] Add --num-iterations - - Useful for profiling shapers. - - util/options.cc | 1 + - util/options.hh | 2 ++ - util/shape-consumer.hh | 15 +++++++++------ - 3 files changed, 12 insertions(+), 6 deletions(-) - -commit 08677c250767bfc2c0dd1fc934dea92984741291 -Author: Behdad Esfahbod -Date: Thu Apr 11 14:45:58 2013 -0400 - - [old] Speed up Unicode properties access in hb-old shaper - - Just to be sure it's not punishing the old shaper performance - numbers. Doesn't seem to have a measurable effect. - - src/hb-old/harfbuzz-arabic.c | 44 - +++++++++++++++++++++--------------------- - src/hb-old/harfbuzz-external.h | 18 ++++++++--------- - src/hb-old/harfbuzz-greek.c | 2 +- - src/hb-old/harfbuzz-hebrew.c | 2 +- - src/hb-old/harfbuzz-indic.cpp | 10 +++++----- - src/hb-old/harfbuzz-shaper.cpp | 6 ++++-- - src/hb-old/harfbuzz-shaper.h | 1 + - 7 files changed, 43 insertions(+), 40 deletions(-) - -commit 36a661c0a03d958b95c9ea64a435b55bcd99c3d6 -Author: Behdad Esfahbod -Date: Thu Apr 11 13:38:37 2013 -0400 - - [git.mk] Update - - git.mk | 33 ++++++++++++++++++++------------- - 1 file changed, 20 insertions(+), 13 deletions(-) - -commit ef9e02eddfc9a37d50723e96839635d79191d849 -Author: Behdad Esfahbod -Date: Tue Apr 9 14:06:54 2013 -0400 - - Minor - - src/test.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 22e47456154ca0b8173268486e56ef3a0e1e7150 -Author: Behdad Esfahbod -Date: Fri Apr 5 18:02:43 2013 -0400 - - 0.9.15 - - NEWS | 10 ++++++++++ - configure.ac | 2 +- - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit 4d4fc920496c95621d5bb4800282ea8c028cdde3 -Author: Behdad Esfahbod -Date: Fri Apr 5 17:58:25 2013 -0400 - - [git.mk] Ignore ar-lib - - git.mk | 1 + - 1 file changed, 1 insertion(+) - -commit 587e5753e088b4d0b82c74ddbde790a8369a7517 -Author: Behdad Esfahbod -Date: Fri Apr 5 12:38:58 2013 -0400 - - Add note re Hangul shaping - - src/hb-ot-shape-complex-private.hh | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -commit 269de14dda7a86a20917fa9ea6a5864929c41364 -Author: Behdad Esfahbod -Date: Thu Apr 4 23:06:54 2013 -0400 - - Don't compose Hangul jamo - - See thread "an issue regarding discrepancy between Korean and Unicode - standards" on the mailing list for the rationale. In short: Uniscribe - doesn't, so fonts are designed to work without it. - - src/hb-ot-shape-complex-default.cc | 6 ------ - src/hb-ot-shape-normalize-private.hh | 1 - - src/hb-ot-shape-normalize.cc | 11 +++++------ - 3 files changed, 5 insertions(+), 13 deletions(-) - -commit 1f970609850bb4999b94e1e11b764ab4279cbd38 -Author: Behdad Esfahbod -Date: Thu Apr 4 15:02:03 2013 -0400 - - Put back MemoryBarrier fallback implementation on MINGW32 - - This almost reverts 2761e8a632c14353f286708898be8df6ebad7407, - but only if under MINGW32, so it doesn't affect MSVC. - - src/hb-atomic-private.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit f368ba4a9edec4e297616698097546e8e6c89e53 -Author: Behdad Esfahbod -Date: Thu Apr 4 14:25:36 2013 -0400 - - [Arabic] Zero marks by GDEF, not Unicode category - - Testing shows that this is closer to what Uniscribe does. - - Reported by Khaled Hosny: - - """ - commit 568000274c8edb5f41bc4f876ce21fcc8bdaeed8 - ... - This commit is causing a regression with Amiri, the string - “هَٰذ” with - Uniscribe and HarfBuzz before this commit, gives: - - [uni0630.fina=3+965|uni0670.medi=0+600|uni064E=0@-256,0+0|uni0647.init=0+926] - - But now it gives: - - [uni0630.fina=3+965|uni0670.medi=0+0|uni064E=0@-256,0+0|uni0647.init=0+926] - - i.e. uni0670.medi is zeroed though it has a base glyph GDEF class. - """ - - The test case is U+0647,U+064E,U+0670,U+0630 with Amiri. - - src/hb-ot-shape-complex-arabic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3b80674c50b8c3133848a4034f7106b2b9bfe224 -Author: Behdad Esfahbod -Date: Thu Apr 4 12:06:46 2013 -0400 - - Bug 63107 - FTBFS on ppc64: symbols marked with 'D' on powerpc64 - instead - - src/check-symbols.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7148dc1a978610af25b4f490691a62d709c8c463 -Author: Behdad Esfahbod -Date: Tue Apr 2 14:08:53 2013 -0400 - - [graphite2] Don't crash if language is not set - - https://bugs.webkit.org/show_bug.cgi?id=113796 - - src/hb-graphite2.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a88a62f70f87563725d47b9b6824565e5d6b78ab -Author: Behdad Esfahbod -Date: Thu Mar 21 21:02:16 2013 -0400 - - Minor - - src/hb-ot-shape-normalize.cc | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 0a2b2a505b647f6b4802750c87cd9c5f0baaadef -Author: Behdad Esfahbod -Date: Thu Mar 21 16:26:39 2013 -0400 - - Remove gthread leftovers - - We don't use gthread anymore, remove leftovers. - - configure.ac | 6 ------ - test/api/Makefile.am | 4 ++-- - test/api/hb-test.h | 3 --- - 3 files changed, 2 insertions(+), 11 deletions(-) - -commit b93de1ea085bfc0661ce3ad0e21fb5eba722c951 -Author: Behdad Esfahbod -Date: Thu Mar 21 16:25:20 2013 -0400 - - Minor - - configure.ac | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit f872a17462a75a3493623747bf3a3fbe54556c7b -Author: Behdad Esfahbod -Date: Thu Mar 21 13:38:06 2013 -0400 - - 0.9.14 - - NEWS | 14 ++++++++++++++ - configure.ac | 2 +- - 2 files changed, 15 insertions(+), 1 deletion(-) - -commit cc50bf5b13bfe88137fa7a42782872c40fb9aefb -Author: Behdad Esfahbod -Date: Tue Mar 19 06:59:40 2013 -0400 - - Remove Hangul filler characters from Default_Ignorable chars - - See discussion on mailing list. - - src/hb-unicode-private.hh | - 10 +++++++--- - .../texts/in-tree/shaper-default/script-hangul/misc/misc.txt | 1 + - 2 files changed, 8 insertions(+), 3 deletions(-) - -commit a8cf7b43fa795150ae3d42d64424bb6e0373d0b2 -Author: Behdad Esfahbod -Date: Tue Mar 19 05:53:26 2013 -0400 - - [Indic] Futher adjust ZWJ handling in Indic-like shapers - - After the Ngapi hackfest work, we were assuming that fonts - won't use presentation features to choose specific forms - (eg. conjuncts). As such, we were using auto-joiner behavior - for such features. It proved to be troublesome as many fonts - used presentation forms ('pres') for example to form conjuncts, - which need to be disabled when a ZWJ is inserted. - - Two examples: - - U+0D2F,U+200D,U+0D4D,U+0D2F with kartika.ttf - U+0995,U+09CD,U+200D,U+09B7 with vrinda.ttf - - What we do now is to never do magic to ZWJ during GSUB's main input - match for Indic-style shapers. Note that backtrack/lookahead - are still - matched liberally, as is GPOS. This seems to be an acceptable - compromise. - - As to the bug that initially started this work, that one needs to - be fixed differently: - - Bug 58714 - Kannada u+0cb0 u+200d u+0ccd u+0c95 u+0cbe does not - provide same results as Windows8 - https://bugs.freedesktop.org/show_bug.cgi?id=58714 - - New numbers: - - BENGALI: 353689 out of 354188 tests passed. 499 failed (0.140886%) - DEVANAGARI: 707305 out of 707394 tests passed. 89 failed (0.0125814%) - GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%) - GURMUKHI: 60706 out of 60747 tests passed. 41 failed (0.067493%) - KANNADA: 951030 out of 951913 tests passed. 883 failed (0.0927606%) - KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1048102 out of 1048334 tests passed. 232 failed - (0.0221304%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%) - TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - src/hb-ot-layout-gsubgpos-private.hh | 30 - ++++++++-------------- - src/hb-ot-layout-private.hh | 4 +-- - src/hb-ot-layout.cc | 8 +++--- - src/hb-ot-map-private.hh | 8 +++--- - src/hb-ot-map.cc | 18 ++++++------- - src/hb-ot-shape-complex-arabic-fallback.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 30 - +++++++++++----------- - src/hb-ot-shape-complex-myanmar.cc | 4 +-- - src/hb-ot-shape-complex-sea.cc | 4 +-- - src/hb-ot-shape-fallback.cc | 2 +- - .../indic/script-bengali/misc/misc.txt | 1 + - .../indic/script-malayalam/misc/misc.txt | 1 + - 12 files changed, 53 insertions(+), 59 deletions(-) - -commit 8226fb56f131362db877dc4be6857c684b8fd022 -Author: Behdad Esfahbod -Date: Tue Mar 19 05:22:27 2013 -0400 - - Allow disabling ICU by using a fake icu-config script - - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit a1f3e8ccbfad0d1148b905ae008ba63a26090cb9 -Author: Behdad Esfahbod -Date: Mon Mar 11 20:18:49 2013 -0400 - - [travis] Install libicu - - .travis.yml | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 14cfab52daa8d22b843110f32ca09af5bbc855a6 -Author: Behdad Esfahbod -Date: Mon Mar 11 19:53:44 2013 -0400 - - Add build system fallback to icu-config - - Ubuntu doesn't (or didn't until recently?) ship icu pkg-config - files. That's quite unfortunate. Work around it. - - Bug 57608 - ICU Detection fallback for non-pkgconfig systems - - configure.ac | 37 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -commit 190e19e6842875c7a487c66235300ee6b42fb5da -Author: Behdad Esfahbod -Date: Sat Mar 9 20:30:22 2013 -0500 - - [ft] Remove TODO items that I'm not going to fix - - src/hb-ft.cc | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -commit 392ee97431b368ee74e1b521fd539b69d2efadfb -Author: Behdad Esfahbod -Date: Sat Mar 9 20:27:55 2013 -0500 - - [ft] Remove TODO item re FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH - - That flag is redundant, deprecated, and ignored since April 2011. - From FreeType git log: - - commit 8c82ec5b17d0cfc9b0876a2d848acc207a62a25a - Author: Behdad Esfahbod - Date: Thu Apr 21 08:21:37 2011 +0200 - - Always ignore global advance. - - This makes FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH redundant, - deprecated, and ignored. The new behavior is what every - major user - of FreeType has been requesting. Global advance is broken in many - CJK fonts. Just ignoring it by default makes most sense. - - * src/truetype/ttdriver.c (tt_get_advances), - src/truetype/ttgload.c (TT_Get_HMetrics, TT_Get_VMetrics, - tt_get_metrics, compute_glyph_metrics, TT_Load_Glyph), - src/truetype/ttgload.h: Implement it. - - * docs/CHANGES: Updated. - - src/hb-ft.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit c5d91f39802078fc6f6de71940739ec4d04eca07 -Author: Behdad Esfahbod -Date: Sat Mar 9 04:34:21 2013 -0500 - - Add hb_auto_array_t - - src/hb-private.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit ee5464d17fa4c59f5adaaa13dde70dd5264dbc64 -Author: Behdad Esfahbod -Date: Sat Mar 9 01:59:30 2013 -0500 - - [OTLayout] Move code around - - src/hb-ot-layout-gpos-table.hh | 33 ++++++------ - src/hb-ot-layout-gsub-table.hh | 115 - +++++++++++++++++++++-------------------- - 2 files changed, 75 insertions(+), 73 deletions(-) - -commit 9c5a9ee967120c8a968a1160c420e03620d46c24 -Author: Behdad Esfahbod -Date: Sat Mar 9 01:55:04 2013 -0500 - - [OTLayout] Rename process() to dispatch() - - src/hb-open-type-private.hh | 2 +- - src/hb-ot-layout-gpos-table.hh | 80 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-table.hh | 78 - +++++++++++++++++------------------ - src/hb-ot-layout-gsubgpos-private.hh | 36 ++++++++-------- - 4 files changed, 98 insertions(+), 98 deletions(-) - -commit 2761e8a632c14353f286708898be8df6ebad7407 -Author: Behdad Esfahbod -Date: Thu Mar 7 20:51:30 2013 -0500 - - [win32] Remove MemoryBarrier() fallback implementation - - I added these because the older mingw32 toolchain didn't have - MemoryBarrier(). The newer mingw-w64 toolchain however has. - As reported by John Emmas this was causing build failure with - MSVC (on glib) because of inline issues. But that reminded me - that we may be taking this path even if the system implements - MemoryBarrier as a function, which is a waste. So, just remove - it. - - src/hb-atomic-private.hh | 14 +------------- - 1 file changed, 1 insertion(+), 13 deletions(-) - -commit ea11abfc5de8bc5cf651b37c9570593eed6a8f9b -Author: Behdad Esfahbod -Date: Wed Mar 6 20:21:11 2013 -0500 - - [build] Port to newer automake recommended syntax - - test/api/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit c39def9bc71559d59325a2c3282c1cec4286b2ae -Author: Behdad Esfahbod -Date: Wed Mar 6 20:20:45 2013 -0500 - - Move valgrind suppressions to the correct directory - - test/{ => api}/.valgrind-suppressions | 0 - 1 file changed, 0 insertions(+), 0 deletions(-) - -commit a8ac1d33c731f6200ee472ab6c37a80b72770564 -Author: Behdad Esfahbod -Date: Wed Mar 6 20:05:34 2013 -0500 - - [build] Add AM_PROG_AR - - Newer automake / libtools warns otherwise. - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -commit 5594c2d112c295147ee69215a2ce9dfd99984aa0 -Author: Behdad Esfahbod -Date: Wed Mar 6 19:37:31 2013 -0500 - - [FT] Just return if glyph name not found - - The fallback happens in higher level already. No need to do here. - - src/hb-ft.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit fb7c182bf92142540bff1ad7fb82de0d115fb2b5 -Author: Behdad Esfahbod -Date: Wed Mar 6 00:53:24 2013 -0500 - - [Indic] Minor - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8144936d072f94104242edf9e7aaa31d315b4094 -Author: Behdad Esfahbod -Date: Tue Mar 5 20:08:59 2013 -0500 - - [Indic] Work around fonts with broken new-spec tables - - See comments, and this thread: - - http://lists.freedesktop.org/archives/harfbuzz/2013-March/002990.html - - Originally reported here: - - https://code.google.com/p/chromium/issues/detail?id=96143 - - Doesn't change test suite numbers. - - src/hb-ot-shape-complex-indic.cc | 42 - +++++++++++++++++++++++++++------------- - 1 file changed, 29 insertions(+), 13 deletions(-) - -commit dfb799f57572e8123035a42a30f93c7fc4d37692 -Author: Behdad Esfahbod -Date: Tue Mar 5 17:23:33 2013 -0500 - - [travis] Oops. Run make check, not make test! - - .travis.yml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8bdce1cac1be9e79344c1f9a9811d98ed2e5c5fd -Author: Behdad Esfahbod -Date: Tue Mar 5 02:35:31 2013 -0500 - - Run autogen.sh, not configure, in travis-ci - - .travis.yml | 1 + - 1 file changed, 1 insertion(+) - -commit 5f705b437cb116275a8c20366e694d740bce715c -Author: Behdad Esfahbod -Date: Tue Mar 5 01:37:44 2013 -0500 - - Add .travis.yml for continuous building with travis-ci.org - - Notifications sent to IRC channel and mailing list. - - .travis.yml | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit cd54d505d1a2467a67e5ff96fe0eb101b953b265 -Author: Behdad Esfahbod -Date: Mon Mar 4 21:29:38 2013 -0500 - - Fix distcheck - - src/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit 22c625a490bbaac52ead2cd29ee49b170e6e9845 -Author: Behdad Esfahbod -Date: Mon Mar 4 20:56:15 2013 -0500 - - [git.mk] Update to commit efc928222179576270c5910416d8055dd7a97896 - - Move reusable list of files into variable definitions modules can - reuse - - Makefile.am | 22 ++++------------------ - git.mk | 59 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- - 2 files changed, 60 insertions(+), 21 deletions(-) - -commit 66f7b3509a121b8f3289ad4c4aed2b5b10a6de2e -Author: Behdad Esfahbod -Date: Mon Mar 4 18:52:12 2013 -0500 - - Add libtool m4 macros to MAINTAINERCLEANFILES - - Makefile.am | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 41732f1fe3ce856d8bb95850635034537b6ba047 -Author: Behdad Esfahbod -Date: Wed Feb 27 20:40:54 2013 -0500 - - [Indic] Help compiler put indic_features table in .rodata - - The overridden "or" operator was preventing the flag expression from - being const, and putting the table in .data instead or .rodata. - - src/hb-ot-map-private.hh | 2 ++ - src/hb-ot-shape-complex-indic.cc | 24 ++++++++++++------------ - 2 files changed, 14 insertions(+), 12 deletions(-) - -commit 778d7f844cb330289830c95431269db06ba1c969 -Author: Behdad Esfahbod -Date: Wed Feb 27 18:47:26 2013 -0500 - - [buffer] Better parse glyph names - - src/hb-buffer-deserialize-json.rl | 9 ++++++--- - src/hb-buffer-deserialize-text.rl | 5 ++++- - 2 files changed, 10 insertions(+), 4 deletions(-) - -commit 20b817ac21147e0a8edbf23ef071c2f4ce6c2b95 -Author: Behdad Esfahbod -Date: Wed Feb 27 18:39:37 2013 -0500 - - [buffer] Implement buffer deserialization for format=json - - Using a ragel machine. - - src/Makefile.am | 2 + - src/hb-buffer-deserialize-json.rl | 129 - ++++++++++++++++++++++++++++++++++++++ - src/hb-buffer-deserialize-text.rl | 52 +-------------- - src/hb-buffer-serialize.cc | 45 +++++++++++-- - src/hb-private.hh | 6 +- - src/hb-shape.cc | 2 - - src/test-buffer-serialize.cc | 4 +- - 7 files changed, 179 insertions(+), 61 deletions(-) - -commit 847794e929831750e97525137ab5e285ccd1064e -Author: Behdad Esfahbod -Date: Wed Feb 27 17:59:28 2013 -0500 - - [buffer] Implement buffer deserialization for format=text - - Using a ragel machine. - - src/Makefile.am | 2 + - src/hb-buffer-deserialize-text.rl | 169 - ++++++++++++++++++++++++++++++++++++++ - src/hb-buffer-private.hh | 3 +- - src/hb-buffer-serialize.cc | 36 +++----- - src/hb-buffer.cc | 13 ++- - src/hb-buffer.h | 2 +- - src/hb-private.hh | 5 +- - src/hb-shape.cc | 9 +- - src/test-buffer-serialize.cc | 16 +++- - 9 files changed, 221 insertions(+), 34 deletions(-) - -commit 4ee803b42a3baae4b0f295a07cb7ad591a538e4c -Author: Behdad Esfahbod -Date: Wed Feb 27 16:09:55 2013 -0500 - - [buffer] Fix serializing of buffer with invalid direction - - src/hb-buffer-serialize.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e54dd26300f50eb19907a9d39269a363279b3e07 -Author: Behdad Esfahbod -Date: Wed Feb 27 13:01:02 2013 -0500 - - [buffer] Start implementing buffer deserialization - - src/Makefile.am | 12 ++++- - src/hb-buffer-serialize.cc | 64 ++++++++++++++++++++++-- - src/hb-buffer.h | 2 +- - src/test-buffer-serialize.cc | 114 - +++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 187 insertions(+), 5 deletions(-) - -commit bcc8f32b4c46cd73f591924c64a6f63df6eaf9e7 -Author: Behdad Esfahbod -Date: Wed Feb 27 12:02:42 2013 -0500 - - [buffer] Minor - - src/hb-buffer-serialize.cc | 10 +++++++--- - src/hb-buffer.h | 4 ++-- - 2 files changed, 9 insertions(+), 5 deletions(-) - -commit d3e14aafff60e1314d0ef66e42cdde6bf949bb66 -Author: Behdad Esfahbod -Date: Wed Feb 27 11:06:36 2013 -0500 - - [buffer] Move buffer serialization code to a new file - - Android.mk | 1 + - src/Makefile.am | 1 + - src/hb-buffer-serialize.cc | 251 - +++++++++++++++++++++++++++++++++++++++++++++ - src/hb-buffer.cc | 228 ---------------------------------------- - 4 files changed, 253 insertions(+), 228 deletions(-) - -commit 8da51112696ec8641d7dd9184b7ab1dd48458813 -Author: Behdad Esfahbod -Date: Wed Feb 27 17:48:31 2013 -0500 - - Minor - - src/hb-shape.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 94789fd6012125acc8426dd88df97f03b0948ea5 -Author: Behdad Esfahbod -Date: Tue Feb 26 21:22:37 2013 -0500 - - [Indic] Sort pre-base reordering consonants with post-forms - - Before, we were marking them as below-form for initial reordering. - However, there is a rule that says "post consonants should follow - below consonsnts" for base determination purposes. Malayalam has - port-form YA/VA, and RA is pre-base. As such, for a sequence like - YA,Virama,YA,Virama,RA, the correct base is at index 0. But - because the code was seeing RA as a below-base, it was stopping at - the second YA as base, instead of jumping it as a post-base. - - By treating prebase-reordering consonants like post-forms, this - is fixed. - - MALAYALAM went down from 351 to 265. Other numbers didn't change: - - BENGALI: 353686 out of 354188 tests passed. 502 failed (0.141733%) - DEVANAGARI: 707305 out of 707394 tests passed. 89 failed (0.0125814%) - GUJARATI: 366262 out of 366457 tests passed. 195 failed (0.0532122%) - GURMUKHI: 60706 out of 60747 tests passed. 41 failed (0.067493%) - KANNADA: 950680 out of 951913 tests passed. 1233 failed (0.129529%) - KHMER: 299074 out of 299124 tests passed. 50 failed (0.0167155%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1048069 out of 1048334 tests passed. 265 failed - (0.0252782%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271539 out of 271847 tests passed. 308 failed (0.113299%) - TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6d69a2cec158061ef097c488d08813c9503824b8 -Author: Behdad Esfahbod -Date: Tue Feb 26 19:35:50 2013 -0500 - - [tests] Add Malayalam tests frim cibu - - .../indic/script-malayalam/misc/MANIFEST | 1 + - .../indic/script-malayalam/misc/cibu.txt | 188 - +++++++++++++++++++++ - 2 files changed, 189 insertions(+) - -commit 1edc6b97b67363d55cfb5914c991ae54d42a6440 -Author: Behdad Esfahbod -Date: Tue Feb 26 15:01:45 2013 -0500 - - Update Android.mk - - Android.mk | 3 +++ - 1 file changed, 3 insertions(+) - -commit 05d5d3cd63ba2fadfdb62190dd24ef80ee3df40c -Author: Behdad Esfahbod -Date: Mon Feb 25 23:57:51 2013 -0500 - - Fix "comparison between signed and unsigned" warnings - - Patch from Jonathan Kew. - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 07a52b62115f10caea5c2d174a4272eb9ddb2284 -Author: Behdad Esfahbod -Date: Mon Feb 25 19:09:57 2013 -0500 - - Give up sanitizing after 100 edit requests - - Such fonts are *definitely* really broken. Give up. - Limits time spent in sanitize for extremely / deliberately broken - fonts. For example, two fonts with these md5sum / names: - - 9343f0a1b8c84b8123e7d201cae62ffd.ttf - eb8c978547f09d368fc204194fb34688.ttf - - were spending over a second in sanitize! Not anymore. - - src/hb-open-type-private.hh | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 29ff25481584e20a2fa39195f295c8eb4bf3bad0 -Author: Behdad Esfahbod -Date: Mon Feb 25 19:04:56 2013 -0500 - - Add HB_DEBUG_VERBOSE - - Only affects the verbosity of function name printing right now. - - src/hb-private.hh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 05686b5f697ed40dd21b330d044c3c286461fb26 -Author: Behdad Esfahbod -Date: Mon Feb 25 18:19:20 2013 -0500 - - 0.9.13 - - NEWS | 29 +++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 30 insertions(+), 1 deletion(-) - -commit 9e5ac7b8c02c86a4f28c79173a5237503eaa7115 -Author: Behdad Esfahbod -Date: Mon Feb 25 17:54:10 2013 -0500 - - Fix blob test to match c3ba49b6fa1865e8318926eaa6c0f2063d1053bb - - test/api/test-blob.c | 57 - ++++++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 51 insertions(+), 6 deletions(-) - -commit c3ba49b6fa1865e8318926eaa6c0f2063d1053bb -Author: Behdad Esfahbod -Date: Mon Feb 25 17:06:35 2013 -0500 - - Always create sub-blobs in MEMORY_MODE_READONLY - - This fixes a design bug with sanitize and sub-blobs that can - cause crashes. Jonathan and I found and debugged this issue - when we tested a corrupt font with the md5sum / filename: - ea395483d37af0cb933f40689ff7b60a. Two hours of intense - debugging we found out that the font has overlapping GSUB/GPOS - tables, and as such, sanitizing the second table can modify - the first one, which can cause all kinds of undefined behavior. - - The correct way to fix this is to make sure sub-blobs are - always created readonly, since we consider the parent blob - to be a shared resource and can't modify it, even if it *is* - writable. - - This essentially makes the READONLY_MAY_MAKE_WRITABLE mode - unused... Maybe we should simply remove / deprecate it. - - src/hb-blob.cc | 2 +- - src/hb-blob.h | 26 ++++++++++++++++++++++++++ - 2 files changed, 27 insertions(+), 1 deletion(-) - -commit 57542d7f411c71d9b8110ce6f64090b2c0f6a925 -Author: Behdad Esfahbod -Date: Thu Feb 21 15:54:05 2013 -0500 - - Minor - - src/hb-ot-layout-private.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit d46606e119b48dcca375d6313abd0f93ba5d09c3 -Author: Behdad Esfahbod -Date: Thu Feb 21 15:39:57 2013 -0500 - - Port TrueType-kerning to use skippy iterator - - It skips joiners and default ignorables now. Skips marks too, - but only - if there is proper GDEF classes for marks. - - src/hb-ot-shape-fallback.cc | 50 - +++++++++++++++++++++++++-------------------- - 1 file changed, 28 insertions(+), 22 deletions(-) - -commit 722e8b857eafc52e07dee5d9b253b88ed5c5c8ed -Author: Behdad Esfahbod -Date: Thu Feb 21 15:37:51 2013 -0500 - - Fixup previous commit - - Was not decreasing num_items. Ouch! - - src/hb-ot-layout-gsubgpos-private.hh | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit ba87b8fc89bf745068ccd19264a2631ea0904846 -Author: Behdad Esfahbod -Date: Thu Feb 21 15:23:39 2013 -0500 - - Move code around - - src/hb-ot-shape-fallback-private.hh | 5 +++++ - src/hb-ot-shape-fallback.cc | 40 - +++++++++++++++++++++++++++++++++++++ - src/hb-ot-shape.cc | 38 - +---------------------------------- - 3 files changed, 46 insertions(+), 37 deletions(-) - -commit 2b2a6e8944144755ab641f2842e36d9a847719f3 -Author: Behdad Esfahbod -Date: Thu Feb 21 15:07:03 2013 -0500 - - [OTLayout] Correctly skip Default_Ignorable when match_func not set - - When a match_func was not set on the matcher_t object (ie. from GPOS), - then the Default_Ignorables (including joiners) were never skipped. - This meant that they were not skipped as they should during GPOS - matching. Fix that. - - A few Indic numbers have "regressed": BENGALI and DEVANAGARI went - up from 290 and 58 respectively, but in both cases new results are - superior to Uniscribe, as they apply GPOS when we weren't (and - Uniscribe isn't) before. - BENGALI: 353686 out of 354188 tests passed. 502 failed (0.141733%) - DEVANAGARI: 707305 out of 707394 tests passed. 89 failed (0.0125814%) - GUJARATI: 366262 out of 366457 tests passed. 195 failed (0.0532122%) - GURMUKHI: 60706 out of 60747 tests passed. 41 failed (0.067493%) - KANNADA: 950680 out of 951913 tests passed. 1233 failed (0.129529%) - KHMER: 299074 out of 299124 tests passed. 50 failed (0.0167155%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1047983 out of 1048334 tests passed. 351 failed - (0.0334817%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271539 out of 271847 tests passed. 308 failed (0.113299%) - TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - src/hb-ot-layout-gsubgpos-private.hh | 32 - ++++++++++++++++++++++---------- - 1 file changed, 22 insertions(+), 10 deletions(-) - -commit ff93ac8cb24cbc3d9dc1a2bfb0faa88950f4a507 -Author: Behdad Esfahbod -Date: Thu Feb 21 14:51:40 2013 -0500 - - Minor - - src/hb-ot-layout-gsubgpos-private.hh | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit e0486fc1affd3796fb8f664e2e7fc208f1d2106c -Author: Behdad Esfahbod -Date: Tue Feb 19 00:58:10 2013 -0500 - - [tests] Add Myanmar torture tests from Martin Hosken - - .../shaper-myanmar/script-myanmar/misc/MANIFEST | 1 + - .../shaper-myanmar/script-myanmar/misc/torture.txt | 23 - ++++++++++++++++++++++ - 2 files changed, 24 insertions(+) - -commit a3df9a7bf87aeba7a3d6110cd5e01a65bd0b16d0 -Author: Behdad Esfahbod -Date: Tue Feb 19 00:50:46 2013 -0500 - - Minor - - Moving files around - - test/shaping/texts/in-tree/MANIFEST | - 2 -- - test/shaping/texts/in-tree/shaper-default/MANIFEST | - 2 ++ - .../in-tree/{script-default => shaper-default/script-hangul}/MANIFEST - | 0 - .../{script-default => shaper-default/script-hangul}/misc/MANIFEST - | 0 - .../{shaper-hangul => shaper-default}/script-hangul/misc/misc.txt - | 0 - .../script-hangul => shaper-default/script-tibetan}/MANIFEST | - 0 - .../script-hangul => shaper-default/script-tibetan}/misc/MANIFEST - | 0 - .../{script-default => shaper-default/script-tibetan}/misc/misc.txt - | 0 - test/shaping/texts/in-tree/shaper-hangul/MANIFEST | - 1 - - 9 files changed, 2 insertions(+), 3 deletions(-) - -commit b1f440759161cb5a54e1b1b910f3a8383b8e8472 -Author: Behdad Esfahbod -Date: Sun Feb 17 12:12:37 2013 -0500 - - [SEA] Fix order of pre-base reordering Ra and left matras - - The code was confused because it was expecting left matra to have - POS_PRE_M, like we do in the Myanmar shaper, but that is not what - we were doing in this shaper. Rewrite to rely on category only. - - Test case: U+AA06,U+AA34,U+AA2F - - src/hb-ot-shape-complex-sea.cc | 13 - +++++++------ - .../texts/in-tree/shaper-sea/script-cham/misc/misc.txt | 1 + - 2 files changed, 8 insertions(+), 6 deletions(-) - -commit 99fa9ea020f26ed2697f38a7690ee1e1b5d946c4 -Author: Behdad Esfahbod -Date: Fri Feb 15 11:47:24 2013 -0500 - - Minor - - src/hb-ot-layout-gsub-table.hh | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 27589620ba2dcf356fd7fa21cd80221a07803202 -Author: Behdad Esfahbod -Date: Fri Feb 15 11:47:09 2013 -0500 - - [OTLayout] Remove unused code - - src/hb-open-type-private.hh | 5 ----- - 1 file changed, 5 deletions(-) - -commit ebb77b9c5e357ff7c9badb0f4bf1c3a965c3e91d -Author: Behdad Esfahbod -Date: Fri Feb 15 09:33:10 2013 -0500 - - Remove TODO items that don't make sense - - The spec says those features need to be disabled by default. - - TODO | 2 -- - 1 file changed, 2 deletions(-) - -commit c2a1cdc4c4cc51f4680ebc4ec2c462cb660f9492 -Author: Behdad Esfahbod -Date: Fri Feb 15 09:27:02 2013 -0500 - - [Arabic] Fix shaping of left-joining 'Phags-Pa U+A872 - - This is the first character in Unicode to have Arabic left-joining - behavior. Update the machine to recognize that. - - Test case: U+A840,U+A872,U+A840. - - src/hb-ot-shape-complex-arabic.cc | 40 - +++++++++++++++++++-------------------- - 1 file changed, 19 insertions(+), 21 deletions(-) - -commit 05ac87813d17d9ebbfa315eee3f80f25b53135c5 -Author: Behdad Esfahbod -Date: Fri Feb 15 09:26:41 2013 -0500 - - [tests] Add Syriac Alaph shaping test cases - - .../shaper-arabic/script-syriac/misc/MANIFEST | 1 + - .../shaper-arabic/script-syriac/misc/alaph.txt | 98 - ++++++++++++++++++++++ - 2 files changed, 99 insertions(+) - -commit c462b32dcb883a7aca066af24c4d28c7a2b7fa28 -Author: Behdad Esfahbod -Date: Fri Feb 15 07:51:47 2013 -0500 - - Disable automatic segment properties guessing - - Before, if one called hb_shape() without setting script, language, and - direction on the buffer, hb_shape() was calling - hb_buffer_guess_segment_properties() on the user's behalf to guess - these. - - This is very dangerous, since any serious user of HarfBuzz must set - these properly (specially important is direction). So now, we don't - guess properties by default. People not setting direction will get - an abort() now. If the old behavior is desired (fragile, good for - simple testing only), users can call - hb_buffer_guess_segment_properties() on the buffer just before calling - hb_shape(). - - src/hb-fallback-shape.cc | 1 - - src/hb-ot-shape.cc | 2 -- - src/hb-shape.cc | 2 -- - util/options.hh | 1 + - 4 files changed, 1 insertion(+), 5 deletions(-) - -commit 7abddbb47a489aaac8e76ac6e700cd815739b1d2 -Author: Behdad Esfahbod -Date: Fri Feb 15 07:46:57 2013 -0500 - - Add assertions for a couple programmer errors - - src/hb-shape-plan.cc | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit 038c98f6866fe1177b04bd2ae3bb461b2f0fd1ed -Author: Behdad Esfahbod -Date: Fri Feb 15 07:41:07 2013 -0500 - - Allow disabling of TrueType kerning - - Responds to the same feature tag that GPOS kerning does: - 'kern' for horizontal and 'vkrn' for vertical. - - TODO | 2 -- - src/hb-ot-shape.cc | 55 - ++++++++++++++++++++++++++++++++++-------------------- - 2 files changed, 35 insertions(+), 22 deletions(-) - -commit 398238a2526d322eb79e255c24634a275473920f -Author: Behdad Esfahbod -Date: Fri Feb 15 07:40:10 2013 -0500 - - Fix partial disabling of default-on features - - Surprisingly, if user ever tried to turn a default feature off - partially - (say, disable liga for a range), the feature was being turned off - globally! Fixed now. - - src/hb-ot-map.cc | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit cb90b1bbe6d27ca6968b70d2dbfea7ab7fb73293 -Author: Behdad Esfahbod -Date: Fri Feb 15 07:02:08 2013 -0500 - - [OTLayout] Respect syllable boundaries for backtrack/lookahead - matching - - Originally we meant to match backtrack/lookahead across syllable - boundaries. But a bug in the code meant that this was NOT done for - backtrack. We "fixed" that in - 2c7d0b6b80d412de3fddd443ed1a485ea1cbb03c, - but that broke Myanmar shaping. - - We now believe that for Indic-like shapers (which is where syllables - are - used), all basic shaping forms should be fully contained within their - syllables, so now we limit backtrack/lookahead matching to the - syllable - too. Unbreaks Myanmar. - - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit ee9c3a17d0bf263c5eee479fd778db97cff8e189 -Author: Behdad Esfahbod -Date: Fri Feb 15 06:22:26 2013 -0500 - - Minor refactoring - - src/hb-ot-shape-complex-myanmar.cc | 36 - ++++++++++-------------------------- - src/hb-ot-shape-complex-sea.cc | 37 - ++++++++++--------------------------- - src/hb-ot-shape.cc | 17 ++++++----------- - 3 files changed, 26 insertions(+), 64 deletions(-) - -commit cfc507c5432e6327e8484b07b9e091212653bc92 -Author: Behdad Esfahbod -Date: Thu Feb 14 10:40:12 2013 -0500 - - [Indic-like] Disable automatic joiner handling for basic shaping - features - - Not for Arabic, but for Indic-like scripts. ZWJ/ZWNJ have special - meanings in those scripts, so let font lookups take full control. - - This undoes the regression caused by automatic-joiners handling - introduced two commits ago. - - We only disable automatic joiner handling for the "basic shaping - features" of Indic, Myanmar, and SEAsian shapers. The "presentation - forms" and other features are still applied with automatic-joiner - handling. - - This change also changes the test suite failure statistics, such that - a few scripts show more "failures". The most affected is Kannada. - However, upon inspection, we believe that in most, if not all, of the - new failures, we are producing results superior to Uniscribe. Hard to - count those! - - Here's an example of what is fixed by the recent joiner-handling - changes: - - https://bugs.freedesktop.org/show_bug.cgi?id=58714 - - New numbers, for future reference: - - BENGALI: 353892 out of 354188 tests passed. 296 failed (0.0835714%) - DEVANAGARI: 707336 out of 707394 tests passed. 58 failed (0.00819911%) - GUJARATI: 366262 out of 366457 tests passed. 195 failed (0.0532122%) - GURMUKHI: 60706 out of 60747 tests passed. 41 failed (0.067493%) - KANNADA: 950680 out of 951913 tests passed. 1233 failed (0.129529%) - KHMER: 299074 out of 299124 tests passed. 50 failed (0.0167155%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1047983 out of 1048334 tests passed. 351 failed - (0.0334817%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271539 out of 271847 tests passed. 308 failed (0.113299%) - TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%) - TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - src/hb-ot-layout-gsubgpos-private.hh | 35 - +++++++++++++++++++----------- - src/hb-ot-layout-private.hh | 6 +++-- - src/hb-ot-layout.cc | 10 +++++---- - src/hb-ot-map-private.hh | 12 ++++++---- - src/hb-ot-map.cc | 32 - +++++++++++++++++++++------ - src/hb-ot-shape-complex-arabic-fallback.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 29 +++++++++++++------------ - src/hb-ot-shape-complex-myanmar.cc | 4 ++-- - src/hb-ot-shape-complex-sea.cc | 4 ++-- - 9 files changed, 85 insertions(+), 49 deletions(-) - -commit 0b45479198d61d5135dad771e9c68408eb13f930 -Author: Behdad Esfahbod -Date: Thu Feb 14 10:46:52 2013 -0500 - - [OTLayout] Add fine-grained control over ZWJ matching - - Not used yet. Next commit... - - src/hb-ot-layout-gsubgpos-private.hh | 10 ++++++++-- - src/hb-ot-layout-private.hh | 11 +++++++++-- - 2 files changed, 17 insertions(+), 4 deletions(-) - -commit 607feb7cff0e50f8738d2e49ca463fc9d7d494de -Author: Behdad Esfahbod -Date: Thu Feb 14 07:43:13 2013 -0500 - - [OTLayout] Ignore default-ignorables when matching GSUB/GPOS - - When matching lookups, be smart about default-ignorable characters. - In particular: - - Do nothing specific about ZWNJ, but for the other default-ignorables: - - If the lookup in question uses the ignorable character in a sequence, - then match it as we used to do. However, if the sequence match will - fail because the default-ignorable blocked it, try skipping the - ignorable character and continue. - - The most immediate thing it means is that if Lam-Alef forms a - ligature, - then Lam-ZWJ-Alef will do to. Finally! - - One exception: when matching for GPOS, or for backtrack/lookahead of - GSUB, we ignore ZWNJ too. That's the right thing to do. - - It certainly is possible to build fonts that this feature will result - in undesirable glyphs, but it's hard to think of a real-world case - that that would happen. - - This *does* break Indic shaping right now, since Indic Unicode has - specific rules for what ZWJ/ZWNJ mean, and skipping ZWJ is breaking - those rules. That will be fixed in upcoming commits. - - src/hb-ot-layout-gpos-table.hh | 1 + - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 279 - ++++++++++++++++++++++++----------- - src/hb-ot-layout-private.hh | 45 ++++++ - src/hb-ot-shape-private.hh | 44 ------ - 5 files changed, 237 insertions(+), 134 deletions(-) - -commit ec5448667b30ad662401c2b4f5fc0da524c013fd -Author: Behdad Esfahbod -Date: Thu Feb 14 11:25:10 2013 -0500 - - Add hb_ot_map_feature_flags_t - - Code cleanup. No (intended) functional change. - - src/hb-ot-map-private.hh | 29 +++++++++++++++++--- - src/hb-ot-map.cc | 24 ++++++++--------- - src/hb-ot-shape-complex-arabic.cc | 4 +-- - src/hb-ot-shape-complex-indic.cc | 55 - +++++++++++++++++++------------------- - src/hb-ot-shape-complex-myanmar.cc | 4 +-- - src/hb-ot-shape-complex-sea.cc | 2 +- - src/hb-ot-shape.cc | 6 +++-- - 7 files changed, 74 insertions(+), 50 deletions(-) - -commit e7ffcfafb1108801ac504f18f820e497226bf07f -Author: Behdad Esfahbod -Date: Thu Feb 14 11:05:56 2013 -0500 - - Clean-up add_bool_feature - - src/hb-ot-map-private.hh | 4 ++-- - src/hb-ot-shape-complex-arabic.cc | 16 ++++++++-------- - src/hb-ot-shape-complex-default.cc | 2 +- - src/hb-ot-shape-complex-indic.cc | 8 ++++---- - src/hb-ot-shape-complex-myanmar.cc | 8 ++++---- - src/hb-ot-shape-complex-sea.cc | 8 ++++---- - src/hb-ot-shape.cc | 10 +++++----- - 7 files changed, 28 insertions(+), 28 deletions(-) - -commit e7562f53fe6a506d2c6d59d6688e4fa468bba462 -Author: Behdad Esfahbod -Date: Thu Feb 14 11:05:36 2013 -0500 - - Fix compile warnings for ragel-generated machines - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - src/hb-ot-shape-complex-myanmar-machine.rl | 2 +- - src/hb-ot-shape-complex-sea-machine.rl | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit 4e51df73a337f7232a7dfa85df78a4f19b24771b -Author: Behdad Esfahbod -Date: Thu Feb 14 07:42:42 2013 -0500 - - [OTLayout] Remove unused function - - src/hb-ot-layout-gsubgpos-private.hh | 5 ----- - 1 file changed, 5 deletions(-) - -commit 8820bb235b1f63e4d93c8a2f5c08b44d89e06b78 -Author: Behdad Esfahbod -Date: Thu Feb 14 07:41:03 2013 -0500 - - [OTLayout] Port apply_lookup to skippy_iter - - src/hb-ot-layout-gsubgpos-private.hh | 50 - +++++++++++++++++++++++++----------- - 1 file changed, 35 insertions(+), 15 deletions(-) - -commit dfca269f069dae2f99990dac24da15d316eccb9f -Author: Behdad Esfahbod -Date: Thu Feb 14 07:20:52 2013 -0500 - - [OTLayout] Port ligate_input to skippy_iter - - src/hb-ot-layout-gsubgpos-private.hh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 7e53415c2d8859e8b5948a2edb38c39a8f78b825 -Author: Behdad Esfahbod -Date: Thu Feb 14 06:24:30 2013 -0500 - - [OTLayout] Minor fix for apply_lookup() - - Should NOT change behavior, since first glyph is a match. - - src/hb-ot-layout-gsubgpos-private.hh | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -commit 6880f7e19d44c50e45ecb86d26381aad956d9acb -Author: Behdad Esfahbod -Date: Wed Feb 13 12:17:25 2013 -0500 - - [OTLayout] Make table type known to apply context - - src/hb-ot-layout-gsubgpos-private.hh | 5 ++++- - src/hb-ot-layout.cc | 4 ++-- - src/hb-ot-shape-complex-arabic-fallback.hh | 2 +- - 3 files changed, 7 insertions(+), 4 deletions(-) - -commit 2c7d0b6b80d412de3fddd443ed1a485ea1cbb03c -Author: Behdad Esfahbod -Date: Wed Feb 13 12:10:08 2013 -0500 - - [OTLayou] Unbreak backtrack matching - - Was introduced by 28b9d502bb69a8045818d5f6113ded9c59a56bd7. - - src/hb-ot-layout-gsubgpos-private.hh | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit c074ebc466dcc9bcc0d8a5dd7e942dea974ff718 -Author: Behdad Esfahbod -Date: Wed Feb 13 11:22:42 2013 -0500 - - [OTLayout] Minor refactoring - - src/hb-ot-layout-gpos-table.hh | 9 ++++++--- - src/hb-ot-layout-gsubgpos-private.hh | 30 +++++++++++++++++------------- - 2 files changed, 23 insertions(+), 16 deletions(-) - -commit 407fc12466ef460d0edf11b89f0d04c4d724875f -Author: Behdad Esfahbod -Date: Wed Feb 13 11:13:06 2013 -0500 - - [OTLayout] Remove bogus caching of glyph property - - src/hb-ot-layout-gpos-table.hh | 21 ++++++++----------- - src/hb-ot-layout-gsub-table.hh | 7 +++---- - src/hb-ot-layout-gsubgpos-private.hh | 40 - ++++++++++++++---------------------- - 3 files changed, 26 insertions(+), 42 deletions(-) - -commit 6b1e3502e23c110dd810f854ba021f83baab1548 -Author: Behdad Esfahbod -Date: Wed Feb 13 11:02:54 2013 -0500 - - Remember ZWNJ - - To be used in upcoming changes. - - src/hb-ot-shape-private.hh | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 1f91c39677f840a1f630696d16d083060069abf5 -Author: Behdad Esfahbod -Date: Wed Feb 13 09:38:40 2013 -0500 - - Indent - - src/hb-ot-shape-complex-indic.cc | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit a0cb9f33ee064628debe8e848094dfd661334640 -Author: Behdad Esfahbod -Date: Wed Feb 13 09:26:55 2013 -0500 - - [Indic] Improve base finding in final_reordering - - Fixes 5 Malayalam failures! - - MALAYALAM: 1048016 out of 1048334 tests passed. 318 failed - (0.0303338%) - - src/hb-ot-shape-complex-indic.cc | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 126f39cd16cea87b2696f66467c83a585bd4c2cf -Author: Behdad Esfahbod -Date: Wed Feb 13 08:29:21 2013 -0500 - - Add more dot-reph tests - - .../shaper-indic/indic/script-malayalam/misc/dot-reph.txt | - 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit f22b7e77783fa2f44365e0fe6413c4474c07048d -Author: Behdad Esfahbod -Date: Wed Feb 13 07:32:46 2013 -0500 - - [Indic] Track base position when reordering things - - Ouch, how did things ever work without this?! The added test that - has a - dot-reph as well as a pre-base reordering Ra perfectly demonstrates - the - bug (tested with Nirmala font from Win8 for example). Testing - suggests - that Win8 shaper has the *exact* same bug / behavior that we used to - have. Odd. - - src/hb-ot-shape-complex-indic.cc | - 6 ++++++ - .../in-tree/shaper-indic/indic/script-malayalam/misc/dot-reph.txt | 1 + - 2 files changed, 7 insertions(+) - -commit bc11de144c0a7a95fa0945aa7f053d8117af282a -Author: Behdad Esfahbod -Date: Wed Feb 13 05:59:06 2013 -0500 - - [SEA] Don't zero any mark advances - - Keep the logic simple, easier to explain to font developers. - - src/hb-ot-shape-complex-sea.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0291a6528685f1f593707655943fb2360579cb9e -Author: Behdad Esfahbod -Date: Wed Feb 13 05:57:24 2013 -0500 - - Further adjust mark advance zeroing - - This is a followup to 568000274c8edb5f41bc4f876ce21fcc8bdaeed8. - Looks like in the Latin shaper, Uniscribe zeroes all Unicode NSM - advances *after* GPOS, not before. Match that. - - Can be tested using DejaVu Sans Mono, since that font has GPOS - rules to zero the mark advances on its own. - - src/hb-ot-shape.cc | 33 +++++++++++++++++++++++---------- - 1 file changed, 23 insertions(+), 10 deletions(-) - -commit 85c51ec2e1d518019e32801ae38659c74fc20d80 -Author: Behdad Esfahbod -Date: Tue Feb 12 18:17:39 2013 -0500 - - [Indic] Fix Eyelash Ra with old Devanagari spec - - src/hb-ot-shape-complex-indic.cc | 32 ++++++++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -commit cc5f24cde079b451799562b3af7ce06d932cbe6b -Author: Behdad Esfahbod -Date: Tue Feb 12 18:17:12 2013 -0500 - - [tests] Add tests for Devanagary Eyelash Ra - - Currently broken with Sanskrit 2003 font. - - .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST | - 1 + - .../in-tree/shaper-indic/indic/script-devanagari/misc/eyelash.txt | - 3 +++ - 2 files changed, 4 insertions(+) - -commit 63e48bc33b68f940c351af623a55a4cf650db102 -Author: Behdad Esfahbod -Date: Tue Feb 12 17:57:49 2013 -0500 - - [Indic] Apply 'blwf' before 'half' - - This reverts 167b625d988b74572d6b2f646c285b666b650d49. It didn't - matter before, but that's going to change with next commit. - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 70d656571194d2bd32671244530edbe159722cec -Author: Behdad Esfahbod -Date: Tue Feb 12 18:01:21 2013 -0500 - - [Indic] Apply 'vatu' before 'cjct' - - This essentially reverts 1d6846db9ebf84561bb30a4e48c6c43184914099, - but that commit is from way back when. We should be better - following the spec order now again. - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 64bb2ae857cfda35dd71c7f1e962722069674ec6 -Author: Behdad Esfahbod -Date: Tue Feb 12 16:29:25 2013 -0500 - - Didn't mean to push this out - - Ouch! - - test/shaping/hb_test_tools.py | 1 - - 1 file changed, 1 deletion(-) - -commit f9b660534c269d2257d6b5e8ec2173ee71668f2f -Author: Behdad Esfahbod -Date: Tue Feb 12 16:13:56 2013 -0500 - - [Myanmar] Use master Indic table for syllable data - - src/hb-ot-shape-complex-myanmar.cc | 144 - +++++++++---------------------------- - test/shaping/hb_test_tools.py | 1 + - 2 files changed, 35 insertions(+), 110 deletions(-) - -commit f60793e854393c32337a483c5d1700bf17d767fd -Author: Behdad Esfahbod -Date: Tue Feb 12 15:45:59 2013 -0500 - - [tests] Add Cham sample - - test/shaping/texts/in-tree/shaper-sea/script-cham/misc/misc.txt | 1 + - 1 file changed, 1 insertion(+) - -commit e2aab4b5db88c368c11cee81368b9ad41399e585 -Author: Behdad Esfahbod -Date: Tue Feb 12 15:35:32 2013 -0500 - - Improve checks for setmode() - - As reported by Jonathan, OS X has setmode() that is something other - than what setmode() is on Win32. So, limit invocation to Windows - platforms only. - - configure.ac | 4 ++-- - util/options.cc | 4 ++-- - util/options.hh | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit a6c1e040e594faeefd61b456ef995c7886cdea78 -Author: Behdad Esfahbod -Date: Tue Feb 12 15:31:58 2013 -0500 - - Improve check for Windows platforms - - Instead of checking for compiler, check for platform. - - src/hb-atomic-private.hh | 2 +- - src/hb-mutex-private.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 9e1f80ab3eea4a74cdaa6a390e4925a479ece1c5 -Author: Behdad Esfahbod -Date: Tue Feb 12 15:28:21 2013 -0500 - - [SEA] Treat Consonant_Final like Consonant_Medial - - src/hb-ot-shape-complex-indic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bab02d339f39ed5168daaef9461227f78e596a2f -Author: Behdad Esfahbod -Date: Tue Feb 12 15:26:45 2013 -0500 - - Rename HB_OT_INDIC_OPTIONS env var to HB_OPTIONS - - The Myanmar shaper now respects the uniscribe-bug-compatibility - option too. - - src/hb-common.cc | 20 ++++++++++++-- - src/hb-ot-shape-complex-indic.cc | 53 - ++++---------------------------------- - src/hb-ot-shape-complex-myanmar.cc | 7 ++--- - src/hb-private.hh | 29 +++++++++++++++++++++ - 4 files changed, 54 insertions(+), 55 deletions(-) - -commit 3a83d33ec0b1be6f5992816ff5ebb0f43c8dff00 -Author: Behdad Esfahbod -Date: Tue Feb 12 12:14:10 2013 -0500 - - Add South-East Asian shaper - - Handles Tai Tham, Cham, and New Tai Lue for now. - - src/Makefile.am | 12 +- - src/gen-indic-table.py | 9 +- - src/hb-ot-shape-complex-indic-private.hh | 241 +------------ - ...table.hh => hb-ot-shape-complex-indic-table.cc} | 9 +- - src/hb-ot-shape-complex-indic.cc | 239 ++++++++++++ - src/hb-ot-shape-complex-myanmar.cc | 2 +- - src/hb-ot-shape-complex-private.hh | 28 +- - src/hb-ot-shape-complex-sea-machine.rl | 102 ++++++ - src/hb-ot-shape-complex-sea.cc | 400 - +++++++++++++++++++++ - test/shaping/texts/in-tree/MANIFEST | 1 + - .../in-tree/shaper-indic/south-east-asian/MANIFEST | 1 - - test/shaping/texts/in-tree/shaper-myanmar/MANIFEST | 1 + - test/shaping/texts/in-tree/shaper-sea/MANIFEST | 3 + - .../script-cham}/MANIFEST | 0 - .../script-cham}/misc/MANIFEST | 0 - .../in-tree/shaper-sea/script-cham/misc/misc.txt | 1 + - .../in-tree/shaper-sea/script-new-tai-lue/MANIFEST | 1 + - .../shaper-sea/script-new-tai-lue/misc/MANIFEST | 1 + - .../script-new-tai-lue/misc/misc.txt | 0 - .../in-tree/shaper-sea/script-tai-tham/MANIFEST | 1 + - .../shaper-sea/script-tai-tham/misc/MANIFEST | 1 + - .../shaper-sea/script-tai-tham/misc/misc.txt | 2 + - 22 files changed, 792 insertions(+), 263 deletions(-) - -commit fb960212063016656dfaba83f072c81d1efc3202 -Author: Behdad Esfahbod -Date: Tue Feb 12 10:33:58 2013 -0500 - - Minor test reshufflings - - test/shaping/texts/in-tree/MANIFEST - | 1 + - .../{shaper-indic/south-asian/script-tibetan => script-default}/MANIFEST - | 0 - .../south-asian/script-tibetan => script-default}/misc/MANIFEST - | 0 - .../south-asian/script-tibetan => script-default}/misc/misc.txt - | 0 - test/shaping/texts/in-tree/shaper-indic/MANIFEST - | 1 - - test/shaping/texts/in-tree/shaper-indic/south-asian/MANIFEST - | 1 - - test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST - | 1 - - .../texts/in-tree/shaper-indic/south-east-asian/script-thai/MANIFEST - | 1 - - .../in-tree/shaper-indic/south-east-asian/script-thai/misc/MANIFEST - | 0 - 9 files changed, 1 insertion(+), 4 deletions(-) - -commit 5676d5d52784e16068ae483103d59111a8081854 -Author: Behdad Esfahbod -Date: Tue Feb 12 10:31:14 2013 -0500 - - [Indic] Make sure New Tai Lue works! - - src/hb-ot-shape-complex-private.hh | 12 - ++++++++---- - .../texts/in-tree/shaper-indic/south-east-asian/MANIFEST | 1 + - .../south-east-asian/script-new-tai-lue/MANIFEST | 1 + - .../south-east-asian/script-new-tai-lue/misc/MANIFEST | 1 + - .../south-east-asian/script-new-tai-lue/misc/misc.txt | 1 + - 5 files changed, 12 insertions(+), 4 deletions(-) - -commit 568000274c8edb5f41bc4f876ce21fcc8bdaeed8 -Author: Behdad Esfahbod -Date: Tue Feb 12 09:44:57 2013 -0500 - - Adjust mark advance-width zeroing logic for Myanmar - - Before, we were zeroing advance width of attached marks for - non-Indic scripts, and not doing it for Indic. - - We have now three different behaviors, which seem to better - reflect what Uniscribe is doing: - - - For Indic, no explicit zeroing happens whatsoever, which - is the same as before, - - - For Myanmar, zero advance width of glyphs marked as marks - *in GDEF*, and do that *before* applying GPOS. This seems - to be what the new Win8 Myanmar shaper does, - - - For everything else, zero advance width of glyphs that are - from General_Category=Mn Unicode characters, and do so - before applying GPOS. This seems to be what Uniscribe does - for Latin at least. - - With these changes, positioning of all tests matches for Myanmar, - except for the glitch in Uniscribe not applying 'mark'. See preivous - commit. - - src/hb-ot-layout-gpos-table.hh | 12 ++++-------- - src/hb-ot-layout-private.hh | 3 +-- - src/hb-ot-layout.cc | 4 ++-- - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape-complex-default.cc | 2 +- - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape-complex-myanmar.cc | 2 +- - src/hb-ot-shape-complex-private.hh | 9 ++++++++- - src/hb-ot-shape-complex-thai.cc | 2 +- - src/hb-ot-shape.cc | 31 +++++++++++++++++++++++++++++-- - 10 files changed, 49 insertions(+), 20 deletions(-) - -commit 99749ca8e0c4c8dbea4620f07c4d0e6d1515cc65 -Author: Behdad Esfahbod -Date: Tue Feb 12 09:44:35 2013 -0500 - - [Myanmar] Add note re Uniscribe NOT applying 'mark' - - src/hb-ot-shape-complex-myanmar.cc | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -commit b8427801381180da9611b2e3e0f0b3514274de81 -Author: Behdad Esfahbod -Date: Mon Feb 11 17:02:17 2013 -0500 - - Minor - - src/hb-atomic-private.hh | 2 +- - src/hb-mutex-private.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 419c933ed1b5d97c7561546536ef5810a7b0ebd0 -Author: Behdad Esfahbod -Date: Mon Feb 11 16:16:16 2013 -0500 - - [Myanmar] Fix handling of Punctuation and Symbol types - - Testing with "clusters" now on par with testing without them. 15 - failures both. - - src/hb-ot-shape-complex-myanmar.cc | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 0572c1410a9cb0ac5dd5dc84a8034698cc5c4892 -Author: Behdad Esfahbod -Date: Mon Feb 11 16:06:02 2013 -0500 - - [Myanmar] Fixup handling of joiners and GB characters - - src/hb-ot-shape-complex-myanmar-machine.rl | 6 ++---- - src/hb-ot-shape-complex-myanmar.cc | 19 +++++++++++++++++-- - 2 files changed, 19 insertions(+), 6 deletions(-) - -commit 1c8654ead41ca746d577549c92d2a41c594ab639 -Author: Behdad Esfahbod -Date: Mon Feb 11 14:27:02 2013 -0500 - - [Myanmar] Prevent reordering between Asat and Dot below - - Implemented as a hack for now. Myanmar failures down from 23 to 15. - - MYANMAR: 1123868 out of 1123883 tests passed. 15 failed (0.00133466%) - - The remaining 15 cases are all where the syllable is wrong according - to - the OpenType spec. We insert dottedcircle. Uniscribe fails to - do that, - but it also fails to reorder the prebase-reordering medial-Ra. So it - gets it wrong. - - src/hb-unicode-private.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit bed687f886b8def06642ad986648e9149a935add -Author: Behdad Esfahbod -Date: Mon Feb 11 14:24:03 2013 -0500 - - Shuffle test data around - - test/shaping/texts/in-tree/MANIFEST - | 1 + - test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST - | 1 - - .../in-tree/shaper-indic/south-east-asian/script-thai/misc/MANIFEST - | 1 - - .../south-east-asian => shaper-myanmar}/script-myanmar/MANIFEST - | 0 - .../south-east-asian => shaper-myanmar}/script-myanmar/misc/MANIFEST - | 0 - .../south-east-asian => shaper-myanmar}/script-myanmar/misc/misc.txt - | 0 - .../south-east-asian => shaper-myanmar}/script-myanmar/misc/utn11.txt - | 0 - test/shaping/texts/in-tree/shaper-thai/script-thai/misc/MANIFEST - | 1 + - .../south-east-asian => shaper-thai}/script-thai/misc/misc.txt - | 0 - 9 files changed, 2 insertions(+), 2 deletions(-) - -commit 98628cac9f733f2674d6409954cddb7d0634c233 -Author: Behdad Esfahbod -Date: Mon Feb 11 13:36:23 2013 -0500 - - Add Win8-style Myanmar shaper - - Myanmar failures down from 51% to 0.00204648%! - - MYANMAR: 1123860 out of 1123883 tests passed. 23 failed (0.00204648%) - - src/Makefile.am | 14 +- - src/hb-ot-shape-complex-indic.cc | 2 - - src/hb-ot-shape-complex-myanmar-machine.rl | 127 ++++++ - src/hb-ot-shape-complex-myanmar.cc | 599 - +++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-private.hh | 5 +- - 5 files changed, 740 insertions(+), 7 deletions(-) - -commit 1df56449586bd32275a6fa69dcadd5fb77a84f82 -Author: Behdad Esfahbod -Date: Mon Feb 11 14:17:54 2013 -0500 - - Minor - - src/hb-ot-shape-complex-indic.cc | 3 --- - 1 file changed, 3 deletions(-) - -commit 54f7b4d9ec13f8454aa298534da318c023fa3c63 -Author: Behdad Esfahbod -Date: Mon Feb 11 13:27:17 2013 -0500 - - [OTLayout] Respect lookup-flags skipping over non-mark glyphs - - Before, when matching ligatures, we never skipping over base / liga - glyphs even if that was what the LookupFlags asked for. - - Fixed now. We carefully reviewed all instances of this, and - tested with - Amiri as well as some Indic scripts, and are confident that this - should - NOT break anyone's fonts. It's also how Uniscribe does it, from what - we can tell. - - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 25 ++++++++++--------------- - 2 files changed, 11 insertions(+), 16 deletions(-) - -commit 9082efc4aacb34de8574d6a4a3c037987df58bd8 -Author: Behdad Esfahbod -Date: Mon Feb 11 13:14:15 2013 -0500 - - [OTLayout] s/mark_skipping/skipping/ - - In aticipation of upcoming changes. - - src/hb-ot-layout-gpos-table.hh | 12 ++++++------ - src/hb-ot-layout-gsubgpos-private.hh | 28 ++++++++++++++-------------- - 2 files changed, 20 insertions(+), 20 deletions(-) - -commit 9621e0ba294c9cc6d458bbf632e63e92fda71e10 -Author: Behdad Esfahbod -Date: Mon Feb 11 06:58:27 2013 -0500 - - [Indic] Fix bug introduced in 8b217f5ac54aa0dcbba2dd6d59aa89dde33e56c2 - - Was breaking reph formation logic when the Ra is the only consonant. - Devanagari regression fixed. Down to 57 failures again. Ouch. - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6e74c64211b6aaac48bae8c87f9420d8dc03fd93 -Author: Behdad Esfahbod -Date: Mon Feb 11 06:50:17 2013 -0500 - - Improve normalization heuristic - - Before, for most scripts, we were not trying to recompose two - characters - if the second one had ccc=0. That fails for Myanmar where U+1026 - decomposes to U+1025,U+102E, both of which have ccc=0. However, we do - want to try to recompose those. We now check whether the second is a - mark, using general category instead. - - At the same time, remove optimization that was conflicting with this. - - [Let the Ngapi hackfest begin!] - - src/hb-ot-shape-normalize.cc | 39 +++++++++++++-------------------------- - 1 file changed, 13 insertions(+), 26 deletions(-) - -commit 614242efb043f2ed78916377138d456279a20a54 -Author: Behdad Esfahbod -Date: Wed Feb 6 23:45:27 2013 -0500 - - Revert "Include config.h.in in tree" - - This reverts commit 01013a0f5c58d5d54a37e5b4d6692e0bbd4baf80. - - Conflicts: - config.h.in - - Same argument as previous commit. - - Makefile.am | 1 + - config.h.in | 153 - ------------------------------------------------------------ - 2 files changed, 1 insertion(+), 153 deletions(-) - -commit adff3778155facb7b149ce66ab7d573368e048de -Author: Behdad Esfahbod -Date: Wed Feb 6 23:43:27 2013 -0500 - - Revert "[Indic] Import ragel-generated Indic machine in git" - - This reverts commit fab7a71f110ed646745d54b23284537c50058c21. - - Conflicts: - src/hb-ot-shape-complex-indic-machine.hh - - Keeping that generated file in-tree causes problems with processes - like - tinderbox that automatically fetch and build harfbuzz. It's harder - to - bootstrap harfbuzz now (as was previously), but I'm willing to - give this - another chance and see how it goes. - - autogen.sh | 6 + - src/Makefile.am | 1 + - src/hb-ot-shape-complex-indic-machine.hh | 1443 - ------------------------------ - 3 files changed, 7 insertions(+), 1443 deletions(-) - -commit 5898fa94d12b19686f649104bd6efe8daa1ba0c9 -Author: Behdad Esfahbod -Date: Wed Feb 6 15:29:07 2013 -0500 - - Don't use $(ENV) - - As reported by Peter Breitenlohner: - - I think this is a very bad idea because ENV is used to specify - a startup - file to be read by some/all shells. - - test/api/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 52d66c26a2102bd1a49463b8e8f04612598f8ac1 -Author: Behdad Esfahbod -Date: Mon Feb 4 23:31:24 2013 -0500 - - Add color-tests automake option - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9de5f98f363d96f308adc33f1c2286e5c33117de -Author: Behdad Esfahbod -Date: Mon Feb 4 23:28:22 2013 -0500 - - Bug 60035 - intermittent make install failure on hb-version.h - - src/Makefile.am | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit 6c1e8b614cfd6ed016fba6bf20af1e422e79eb71 -Author: Behdad Esfahbod -Date: Mon Feb 4 23:24:16 2013 -0500 - - Bug 59637 - check-exported-symbols.sh & check-internal-symbols.sh - fail on mips/mipsel - - src/check-symbols.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bafdf3d983dcc277d6e7e322277c0bb25b41a173 -Author: Behdad Esfahbod -Date: Mon Feb 4 23:06:50 2013 -0500 - - Merge check-internal-symbols.sh and check-exported-symbols.sh - - src/Makefile.am | 3 +- - src/check-internal-symbols.sh | 34 - ---------------------- - ...{check-exported-symbols.sh => check-symbols.sh} | 16 ++++++++-- - 3 files changed, 14 insertions(+), 39 deletions(-) - -commit ceeae30f47b9d628484ae398bc38f3f60ee8eab4 -Author: Behdad Esfahbod -Date: Thu Jan 31 19:27:36 2013 -0500 - - Really fix setmode this time - - Thanks to Khaled for spotting it. - - util/options.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7cba8a673b4b436a737fc4ffe85dc84ddd2bf41f -Author: Behdad Esfahbod -Date: Thu Jan 31 18:37:10 2013 -0500 - - Fixup previous commit - - Now, it looks like this breaks Cygwin again. Have to figure out - what's - going on. - - util/options.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit bc76449f51f20491a4540b4f240f5a3e0dcb20fe -Author: Behdad Esfahbod -Date: Thu Jan 31 18:18:05 2013 -0500 - - Use setmode() instead of _setmode() - - Looks like Cygwin / MSVC declare it that way, and it still works on - MinGW32 cross. - - config.h.in | 6 +++--- - configure.ac | 2 +- - util/options.cc | 2 +- - util/options.hh | 2 +- - 4 files changed, 6 insertions(+), 6 deletions(-) - -commit e9171af55cc6a402eb20db4ea74c86a0b1e70e85 -Author: Behdad Esfahbod -Date: Tue Jan 29 22:45:00 2013 -0500 - - Bug 60053 - hb-common.cc:181:6: warning: ‘void free_langs()’ - defined but not used - - src/hb-common.cc | 2 +- - src/hb-ft.cc | 2 +- - src/hb-shape.cc | 2 +- - src/hb-shaper.cc | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -commit 09b5393874e56fcfd63a92d28e6c1c2ddeee0942 -Author: Behdad Esfahbod -Date: Fri Jan 18 17:10:47 2013 -0600 - - 0.9.12 - - NEWS | 7 +++++++ - configure.ac | 2 +- - 2 files changed, 8 insertions(+), 1 deletion(-) - -commit eb45c0a2fbaeeb34e77a2935934e8d1302728ec8 -Author: Behdad Esfahbod -Date: Wed Jan 16 22:07:50 2013 -0600 - - Minor - - src/hb-ot-layout.cc | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit 52c8d1226f3509276b11a1fadbd29e5363c0ecd7 -Author: Behdad Esfahbod -Date: Mon Jan 14 13:51:46 2013 -0600 - - Minor - - src/hb-blob.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f88d3bd7e407d332bb04688344c54756d24128c9 -Author: Behdad Esfahbod -Date: Mon Jan 14 00:33:58 2013 -0600 - - Fix build with Sun compiler - - src/hb-blob.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 08b29c08094097f1c23ec53b10084bc390cea833 -Author: Behdad Esfahbod -Date: Mon Jan 14 00:32:12 2013 -0600 - - Revert "Minor" - - This reverts commit 0a492357016bc9a614d2a726f2006c10af68ca58. - - Enables code on more compilers. - - src/hb-warning.cc | 33 ++++++++++++++++++++++++++++++--- - 1 file changed, 30 insertions(+), 3 deletions(-) - -commit e78463211e7d85f237bd55afab7e8e5dae42346c -Author: Behdad Esfahbod -Date: Mon Jan 14 00:27:21 2013 -0600 - - Fix linking with non-gcc compilers - - configure.ac | 2 ++ - src/Makefile.am | 6 +++++- - 2 files changed, 7 insertions(+), 1 deletion(-) - -commit de649f07f1f8fdeb998a0b049759f4f7363e25d2 -Author: Behdad Esfahbod -Date: Mon Jan 14 00:26:43 2013 -0600 - - Fix residuals from fontconfig changes - - src/hb-atomic-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit cf81fb3624466b9df2250b58b27a92187c5b5b5c -Author: Behdad Esfahbod -Date: Thu Jan 10 09:06:34 2013 -0600 - - 0.9.11 - - NEWS | 14 ++++++++++++++ - configure.ac | 2 +- - 2 files changed, 15 insertions(+), 1 deletion(-) - -commit 2dcb333f52492018816f0d5d67a47634a612e49c -Author: Behdad Esfahbod -Date: Thu Jan 10 01:17:59 2013 -0600 - - Add atomic ops for Solaris - - Based on fontconfig patch from Raimund Steger. - - config.h.in | 5 ++++- - configure.ac | 27 +++++++++++++++++++++++++-- - src/hb-atomic-private.hh | 12 ++++++++++++ - 3 files changed, 41 insertions(+), 3 deletions(-) - -commit 69fd6e157c7ec83a5d5d8731fc14675ce4509b09 -Author: Behdad Esfahbod -Date: Thu Jan 10 00:03:36 2013 -0600 - - Fix crasher during multi-thread shaper data creation - - Sample crash: - - 0 _hb_graphite2_shaper_face_data_destroy (data=0xffffffffffffffff) - at ../../src/hb-graphite2.cc:129 - 1 0x00007ffff4271d7d in hb_graphite2_shaper_face_data_ensure ( - face=) at ../../src/hb-shaper-list.hh:35 - 2 hb_shape_plan_plan (shaper_list=, - num_user_features=0, - user_features=0x0, shape_plan=0xf7b490) at - ../../src/hb-shaper-list.hh:35 - 3 hb_shape_plan_create (face=, props=, - user_features=0x0, num_user_features=0, shaper_list=) - at ../../src/hb-shape-plan.cc:108 - 4 0x00007ffff4272c93 in hb_shape_plan_create_cached (face=0x10cf2b0, - props=0x11980d8, user_features=0x0, num_user_features=, - shaper_list=0x0) at ../../src/hb-shape-plan.cc:283 - - src/hb-shaper-private.hh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit ecd454b3cd75050e0c95e1d2aa55744559338ec8 -Author: Behdad Esfahbod -Date: Tue Jan 8 18:09:46 2013 -0600 - - [Indic] In old-spec shaping, don't move viramas around if seq ends - with one - - For example: u0c9a u0ccd u0c9a u0ccd with Lohit. See: - - https://bugs.freedesktop.org/show_bug.cgi?id=59118 - - src/hb-ot-shape-complex-indic.cc | - 7 ++++--- - .../texts/in-tree/shaper-indic/indic/script-kannada/misc/misc.txt | 1 + - 2 files changed, 5 insertions(+), 3 deletions(-) - -commit e95e031b5682809488cc965883e15404cb9cfb6a -Author: Behdad Esfahbod -Date: Tue Jan 8 16:15:46 2013 -0600 - - [GPOS] If an Anchor offset is NULL, return false - - If in a MarkPos table, a base has no anchor for a particular mark - class, - return NULL such that the subsequent subtables get a chance at it. - - Test case: - hb-shape ./EBGaramond12-Regular.otf ἂ --features="ss20","smcp" - - src/hb-open-type-private.hh | 14 ++++++++++++-- - src/hb-ot-layout-gpos-table.hh | 10 ++++++++-- - 2 files changed, 20 insertions(+), 4 deletions(-) - -commit e5dbf39900fa63051f64cc447a6742665cbee339 -Author: Behdad Esfahbod -Date: Mon Jan 7 17:34:24 2013 -0600 - - Bug 58638 - Building fails with ICU due to not passing required flags - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -commit 1172dc736280566426eb6dade1a886b2a0ca9aa4 -Author: Behdad Esfahbod -Date: Mon Jan 7 16:46:37 2013 -0600 - - Rename hb_buffer_clear() to hb_buffer_clear_contents() - - The previous name was clashing with harfbuzz.old. There are systems - that need to link both... - - Clash-free now again. - - src/hb-buffer.cc | 2 +- - src/hb-buffer.h | 2 +- - test/api/test-buffer.c | 2 +- - util/options.hh | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -commit 7b912c1936c3e8a7df27a30782ca127d0a83822d -Author: Behdad Esfahbod -Date: Fri Jan 4 01:25:27 2013 -0600 - - Remove a few unnecessary const's - - Apparently helps with MSVC compilation. - - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 34e6c3e3e452bdf6f93df565a70453a6e74d4c6e -Author: Behdad Esfahbod -Date: Thu Jan 3 00:14:24 2013 -0600 - - 0.9.10 - - NEWS | 24 ++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 25 insertions(+), 1 deletion(-) - -commit f0c82410dbe800cb6429ba4aa7cfd9f5a11cc70c -Author: Behdad Esfahbod -Date: Thu Jan 3 00:07:16 2013 -0600 - - [OTLayout] Always collect default language system in collect_lookups - - Not sure if this is the most desired behavior. It's the most easily - defined though. - - src/hb-ot-layout.cc | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 15e9e4e1ddaad655988144e7a56a765e8adf8782 -Author: Behdad Esfahbod -Date: Thu Jan 3 00:04:40 2013 -0600 - - [OTLayout] Fix feature iteration in collect_lookups - - Previous logic was just wrong. - - src/hb-ot-layout.cc | 46 ++++++++++++++++++++++++++++++++-------------- - 1 file changed, 32 insertions(+), 14 deletions(-) - -commit 733e8c0d7bf0765884f2cc953c8edcd7ab7fb49b -Author: Behdad Esfahbod -Date: Thu Jan 3 00:00:23 2013 -0600 - - [OTLayout] Whitespace - - src/hb-ot-layout.cc | 82 - ++++++++++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 68 insertions(+), 14 deletions(-) - -commit d37ae38047bee12639741af9bb083b857fab950d -Author: Behdad Esfahbod -Date: Wed Jan 2 23:57:36 2013 -0600 - - [OTLayout] Handle required_feature_index in collect_lookups - - src/hb-ot-layout.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 11fba79ee9383eb995ddf7eb924dd64c67e2df63 -Author: Behdad Esfahbod -Date: Wed Jan 2 23:36:37 2013 -0600 - - [OTLayout] Fix various introspection issues with ClassDef's - - As reported by Jonathan Kew. - - src/hb-ot-layout-gsubgpos-private.hh | 19 +++++++++++++++---- - 1 file changed, 15 insertions(+), 4 deletions(-) - -commit e81aff9ef785be28751aab1fcd484af550656181 -Author: Behdad Esfahbod -Date: Wed Jan 2 23:22:54 2013 -0600 - - [tests] Finish test-set.c - - All passing now. - - test/api/test-set.c | 373 - +++++++++++++++++++++------------------------------- - 1 file changed, 149 insertions(+), 224 deletions(-) - -commit 7b1b720a8da69b68b775ce17104a40d55401b7ef -Author: Behdad Esfahbod -Date: Wed Jan 2 23:02:59 2013 -0600 - - Protect sets in-error from further modication - - Fixes test-set.c - - src/hb-set-private.hh | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit 8165f2765b93e99577ecc79b7956ae38c614bc78 -Author: Behdad Esfahbod -Date: Wed Jan 2 22:50:36 2013 -0600 - - [tests] Start adding tests for hb-set.h - - Fails now. Fixing. - - TODO | 2 - - src/hb-set-private.hh | 6 + - src/hb-set.cc | 9 +- - src/hb-set.h | 3 + - test/api/Makefile.am | 1 + - test/api/test-set.c | 312 - ++++++++++++++++++++++++++++++++++++++++++++++++++ - 6 files changed, 330 insertions(+), 3 deletions(-) - -commit b9d28f696c433b94c5ffbad8d7c87cf3acff4056 -Author: Behdad Esfahbod -Date: Wed Jan 2 22:49:58 2013 -0600 - - [tests] Add set object to test-object.c - - test/api/test-object.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 11d2956553f0d4a0086166a04ffc352fcfacf56e -Author: Behdad Esfahbod -Date: Wed Jan 2 17:41:27 2013 -0600 - - Minor - - src/hb-atomic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 596740db04e7c1dadae0d8be6e401089fcaffc2d -Author: Behdad Esfahbod -Date: Fri Dec 21 19:41:04 2012 -0500 - - [Indic] Insert dottedcircle after a lone Malayalam dot-reph - - src/hb-ot-shape-complex-indic-machine.hh | 1617 - ++++++++++++++++-------------- - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - src/hb-ot-shape-complex-indic.cc | 13 +- - 3 files changed, 881 insertions(+), 751 deletions(-) - -commit 3cdce6497b2b9aeb2841bf077daa9dd9b196429d -Author: Behdad Esfahbod -Date: Fri Dec 21 16:54:22 2012 -0500 - - Remove TODO that I don't intend to fix - - TODO | 1 - - 1 file changed, 1 deletion(-) - -commit 6f69fa283e0a488da811df78bc83c41ed248b688 -Author: Behdad Esfahbod -Date: Fri Dec 21 16:51:15 2012 -0500 - - Minor - - src/hb-shape.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f4abcbfc628718bb276363746440df06e7658f6e -Author: Behdad Esfahbod -Date: Fri Dec 21 16:48:51 2012 -0500 - - Minor - - src/hb-buffer.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4a765f092d71bb4adeb468c004987a9121d39db5 -Author: Behdad Esfahbod -Date: Fri Dec 21 16:48:47 2012 -0500 - - Minor - - util/hb-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9815a88111072aa51e78e258c5f660993b47d4df -Author: Behdad Esfahbod -Date: Fri Dec 21 16:46:53 2012 -0500 - - [util] List supported output formats in --help output - - util/hb-shape.cc | 6 +++--- - util/helper-cairo.cc | 2 +- - util/helper-cairo.hh | 1 + - util/options.cc | 9 ++++++++- - util/options.hh | 5 ++++- - util/view-cairo.hh | 2 +- - 6 files changed, 18 insertions(+), 7 deletions(-) - -commit f95a87b7b813f588c7910ad4785ee68bb452e864 -Author: Behdad Esfahbod -Date: Fri Dec 21 16:35:28 2012 -0500 - - [util] List supported output formats in hb-view - - TODO | 1 - - util/helper-cairo.cc | 30 +++++++++++++++++++++++++++++- - 2 files changed, 29 insertions(+), 2 deletions(-) - -commit 6bad092aa87bc3e6bbf0b9faf07693e6ebbe55f2 -Author: Behdad Esfahbod -Date: Fri Dec 21 16:01:52 2012 -0500 - - [util] Default to "text" output format in hb-shape - - If you say: - - hb-shape font.ttf text --output-file out.txt - - This was previously failing: - - Unknown output format `txt'; supported formats are: TEXT / JSON - - Now we simply fallback to TEXT if no explicit format was requested. - - util/hb-shape.cc | 11 ++++++++--- - util/options.hh | 5 +++++ - 2 files changed, 13 insertions(+), 3 deletions(-) - -commit 8b217f5ac54aa0dcbba2dd6d59aa89dde33e56c2 -Author: Behdad Esfahbod -Date: Fri Dec 21 15:48:32 2012 -0500 - - [Indic] Reorder Malayalam dot-reph to after base - - Test sequence is simple: U+0D4E,U+0D15. The doth-reph should be - reordered to after the Ka. - - https://bugzilla.redhat.com/show_bug.cgi?id=799565 - - src/hb-ot-shape-complex-indic.cc | 13 - ++++++++++--- - .../shaper-indic/indic/script-malayalam/misc/MANIFEST | 1 + - .../shaper-indic/indic/script-malayalam/misc/dot-reph.txt | 1 + - 3 files changed, 12 insertions(+), 3 deletions(-) - -commit 742c4ee97e1311e000ebcdf9f33361c4dc6400a4 -Author: Behdad Esfahbod -Date: Fri Dec 21 15:35:03 2012 -0500 - - Minor - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 94afeb6ebe27534fc80d7173cc6f67375c3aaca6 -Author: Behdad Esfahbod -Date: Fri Dec 21 11:54:50 2012 -0500 - - Add Android.mk - - Android.mk | 74 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - Makefile.am | 1 + - 2 files changed, 75 insertions(+) - -commit d16ddbcbbee39b07a028776995c635119fe3cd98 -Author: Behdad Esfahbod -Date: Thu Dec 20 01:02:36 2012 -0500 - - Add build confirmation notice to configure - - configure.ac | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -commit e24d8dab749a1a796e7484e18572da5f7a733bd4 -Author: Behdad Esfahbod -Date: Wed Dec 19 15:23:02 2012 -0500 - - [TODO] Remove done items - - TODO | 7 ------- - 1 file changed, 7 deletions(-) - -commit 044d38527664d933c18c751c38fcf6fb4b5f888e -Author: Behdad Esfahbod -Date: Wed Dec 19 13:00:16 2012 -0500 - - Bug 58498 - Tests fail with gold linker on ARM - - src/check-exported-symbols.sh | 2 +- - src/check-internal-symbols.sh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit b68b86daf1a8478b86aeae44a8c39a606ed873cb -Author: Behdad Esfahbod -Date: Tue Dec 18 20:39:40 2012 -0500 - - Use C++ linker if ICU is disabled - - Bug 54948 - Undefined symbols: "operator delete(void*)" "operator - new(unsigned long)" "___cxa_pure_virtual" - - src/Makefile.am | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 1ffd23cb47a61465d52a7aeebb9c1b676e7c9a7e -Author: Behdad Esfahbod -Date: Mon Dec 17 23:29:15 2012 -0500 - - [OTLayout] Limit alternate-location FeatureParams to 'size' feature - - src/hb-ot-layout-common-private.hh | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit efe252e6000558f78075adadb2a3dba25ab67c04 -Author: Behdad Esfahbod -Date: Mon Dec 17 23:21:05 2012 -0500 - - [OTLayout] Fix 'size' featureParams implementation - - Looks at alternate location now. - - src/hb-ot-layout-common-private.hh | 133 - ++++++++++++++++++++++++++++--------- - src/hb-ot-layout.cc | 93 ++++---------------------- - 2 files changed, 117 insertions(+), 109 deletions(-) - -commit e77b4425746ac9eb407ca4e742d962f1955971b4 -Author: Behdad Esfahbod -Date: Mon Dec 17 18:42:59 2012 -0500 - - [OTLayout] Fix tracing - - src/hb-open-type-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 9b54562d63f1a9e0e5b33d71c32bd1588759ebf1 -Author: Behdad Esfahbod -Date: Mon Dec 17 13:55:36 2012 -0500 - - [OTLayout] Towards correct FeatureParams handling - - src/hb-open-type-private.hh | 8 +++++++- - src/hb-ot-layout-common-private.hh | 25 +++++++++++++++++++++++-- - 2 files changed, 30 insertions(+), 3 deletions(-) - -commit 87e43b7f2be25840748f920ca33ff553833da45f -Author: Behdad Esfahbod -Date: Fri Dec 14 17:48:23 2012 -0500 - - [OTLayout] Wire tag and list start all the way to Feature - - To fix FeatureParam issues. No actual fix yet, just plumbing. - - src/hb-ot-layout-common-private.hh | 16 ++++++++++++---- - 1 file changed, 12 insertions(+), 4 deletions(-) - -commit 85bc44b90a19c6a669ed567a9cd8513448600afe -Author: Behdad Esfahbod -Date: Wed Dec 12 11:38:49 2012 -0500 - - [OTLayout] More 'size' feature sanity checking - - We still don't look for the old incorrect place of the featureParams. - I'll wait till someone actually complains about it... - - src/hb-ot-layout.cc | 99 - ++++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 79 insertions(+), 20 deletions(-) - -commit 0bae50a36f3022f9bb6b2c001c191eeaaa4ef954 -Author: Behdad Esfahbod -Date: Tue Dec 11 16:01:31 2012 -0500 - - [OTLayout] Add FeatureParamsCharacterVariants struct - - No API yet. - - src/hb-ot-layout-common-private.hh | 52 - +++++++++++++++++++++++++++++++++++--- - 1 file changed, 49 insertions(+), 3 deletions(-) - -commit bd61bc13ea8ff350ada5449b2cfeb612e66ecafa -Author: Behdad Esfahbod -Date: Tue Dec 11 16:00:43 2012 -0500 - - [OTLayout] Add UINT24 type - - src/hb-open-type-private.hh | 33 ++++++++++++++++++++++----------- - src/hb-private.hh | 4 ++++ - 2 files changed, 26 insertions(+), 11 deletions(-) - -commit 9cf7f9d4f61741932570afbefdee5edf61f79ae4 -Author: Behdad Esfahbod -Date: Tue Dec 11 14:31:13 2012 -0500 - - Make test-size-params write size in points - - src/test-size-params.cc | 18 ++++-------------- - 1 file changed, 4 insertions(+), 14 deletions(-) - -commit 372fe2b67b1757e809bf33e1e9055a00c5bed304 -Author: Behdad Esfahbod -Date: Tue Dec 11 14:30:57 2012 -0500 - - [OTLayout] Make hb_ot_layout_get_size_params() do some checks - - src/hb-ot-layout.cc | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -commit 875a5cbc9c37f4264241c43b80afad2628eab749 -Author: Behdad Esfahbod -Date: Tue Dec 11 14:17:01 2012 -0500 - - [OTLayout] Change hb_ot_layout_get_params() API - - And add implementation for StylisticSet UINameID. No API yet. - - src/hb-ot-layout-common-private.hh | 85 - ++++++++++++++++++++++++++++++++++++-- - src/hb-ot-layout.cc | 28 +++++++++---- - src/hb-ot-layout.h | 8 +++- - src/test-size-params.cc | 9 +++- - 4 files changed, 115 insertions(+), 15 deletions(-) - -commit 5e7e52ddf2b0c4fbc9d933d24336100368d39a5c -Author: Behdad Esfahbod -Date: Mon Dec 10 17:44:22 2012 -0500 - - [uniscribe] Enable Uniscribe backend only if it has - ScriptShapeOpenType() - - Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP - - config.h.in | 6 ------ - configure.ac | 14 +++++++++++++- - 2 files changed, 13 insertions(+), 7 deletions(-) - -commit d41c0c955b8ad9b52191ca47e1f3b1bfe606deb1 -Author: Behdad Esfahbod -Date: Mon Dec 10 16:41:20 2012 -0500 - - Update config template - - config.h.in | 4 ---- - 1 file changed, 4 deletions(-) - -commit c48a04e5ea899b82465a0f3f2cfdcffb3bf38f61 -Author: John Ralls -Date: Mon Dec 10 16:24:24 2012 -0500 - - [coretext] Better test for CoreText - - Instead of checking for ApplicationServices.h, which is present in all - versions of MacOSX, check for CTFontRef, a CoreText basic type. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0e9f0f3e5f16a45951423a1229af42dc2fd798c3 -Author: Behdad Esfahbod -Date: Mon Dec 10 15:25:21 2012 -0500 - - Fix atomic ops on iOS - - Patch from John Ralls. - - src/hb-atomic-private.hh | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 5f9569c1391c65d7addff363ad6e5ec9b087f01a -Author: Behdad Esfahbod -Date: Mon Dec 10 13:38:42 2012 -0500 - - Make older MSVC happy - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 071d5b831e6de5f3b24160dc77b139cb040ab886 -Author: Behdad Esfahbod -Date: Mon Dec 10 00:57:00 2012 -0500 - - Work around missing OSAtomicCompareAndSwapPtrBarrier() on OS X 10.4 - - Not sure how to handle iOS. - - src/hb-atomic-private.hh | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -commit e923e6487b25ab86f6f629af480b291e8e5407b5 -Author: Behdad Esfahbod -Date: Sun Dec 9 19:39:40 2012 -0500 - - [coretext] Fixed typo - - Oops. Thanks Khaled for catching this. - - src/hb-coretext.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9a8395824bf51c2ff2cfe0887ecad52b3d2c02e2 -Author: Behdad Esfahbod -Date: Sun Dec 9 18:47:36 2012 -0500 - - [coretext] Add hb_coretext_face_get_cg_font() - - Not sure if it's useful, but it was missing. - - src/hb-coretext.cc | 20 ++++++++++++++------ - src/hb-coretext.h | 3 +++ - 2 files changed, 17 insertions(+), 6 deletions(-) - -commit 86112356885fde32163882b6c9dd19a494304f7a -Author: Behdad Esfahbod -Date: Sun Dec 9 18:47:09 2012 -0500 - - [coretext] Remove hack around GlyphID - - We not namespace our types, so the hack is not needed anymore. - - src/hb-coretext.cc | 4 ---- - 1 file changed, 4 deletions(-) - -commit 8e58459aeb949591bb5bca340ef9bdd5cfd54e47 -Author: Behdad Esfahbod -Date: Sun Dec 9 18:45:47 2012 -0500 - - [graphite2] "Update to new API" - - Part of patch from Martin Hosken. I believe he knows what he's doing - :). - - src/hb-graphite2.cc | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -commit a5a4ab3846ef06769784e6469d76eace35e68805 -Author: Behdad Esfahbod -Date: Sun Dec 9 18:44:41 2012 -0500 - - [graphite2] Add hb_graphite2_face_get_gr_face and - hb_graphite2_font_get_gr_font - - Based on patch from Martin Hosken. I believe it returns NULL if the - font doesn't have graphite tables, but have not tested. - - src/hb-graphite2.cc | 14 ++++++++++++++ - src/hb-graphite2.h | 8 +++++++- - 2 files changed, 21 insertions(+), 1 deletion(-) - -commit 737ba156442f723d126c7c58c73729786b67c17a -Author: Behdad Esfahbod -Date: Sun Dec 9 18:43:03 2012 -0500 - - [graphite2] Preload all tables - - Part of patch from Martin Hosken. - - src/hb-graphite2.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0ae6dbf1b4de8a0326b8a2f201597427cecfb6db -Author: Behdad Esfahbod -Date: Sun Dec 9 18:37:38 2012 -0500 - - Minor - - src/hb-uniscribe.cc | 32 ++++++++++++++++---------------- - 1 file changed, 16 insertions(+), 16 deletions(-) - -commit 3fe5c159d3532f8ce8a85d217a00681225dd8ed1 -Author: Behdad Esfahbod -Date: Sun Dec 9 18:20:19 2012 -0500 - - Remove excess return - - Oops! - - src/hb-uniscribe.cc | 1 - - 1 file changed, 1 deletion(-) - -commit ba2d543004573e8e4e56df70b7fe2a66a42bc83f -Author: Behdad Esfahbod -Date: Sat Dec 8 19:28:41 2012 -0500 - - Update OT language tags - - Patch from Roozbeh Pournader. - - src/hb-ot-tag.cc | 212 - +++++++++++++++++++++++++++++-------------------------- - 1 file changed, 110 insertions(+), 102 deletions(-) - -commit aba38173c6b464c2884b73ef6cd4577d4efcebbc -Author: Behdad Esfahbod -Date: Wed Dec 5 19:54:48 2012 -0500 - - Minor - - src/hb-ot-tag.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 61865745e35eb60aeb59968e7826e37059090780 -Author: Behdad Esfahbod -Date: Wed Dec 5 19:42:10 2012 -0500 - - Fix test with gold linker - - Bug 57633 - Symbol tests should ignore __bss_start, _edata, _end - - src/check-exported-symbols.sh | 2 +- - src/check-internal-symbols.sh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit b71b0bd9ee64feadd7289e195bc58f6361ce707a -Author: Behdad Esfahbod -Date: Wed Dec 5 19:20:31 2012 -0500 - - [Indic] Add link to Sinhala split matra section of the Sinhala spec - - src/hb-ot-shape-complex-indic.cc | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 9a34a50daac3563464e0031f377e85f0c704f2d6 -Author: Behdad Esfahbod -Date: Wed Dec 5 19:18:18 2012 -0500 - - Fix build with C++11 - - util/options.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 0beb66e3a61ae8bb1fa66e54b1ff1abb2f8711e9 -Author: Behdad Esfahbod -Date: Wed Dec 5 18:46:04 2012 -0500 - - Fix warnings - - src/hb-fallback-shape.cc | 10 +++++----- - src/hb-glib.cc | 2 +- - src/hb-icu-le.cc | 6 +++--- - src/hb-old.cc | 14 +++++++------- - src/hb-open-type-private.hh | 4 +--- - src/hb-ot-layout-gsubgpos-private.hh | 24 ++++++++++++------------ - src/hb-ot-shape-complex-arabic-fallback.hh | 4 ++-- - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape-complex-indic-machine.hh | 2 +- - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - src/hb-ot-shape-complex-indic.cc | 6 +++--- - src/hb-ot-shape-complex-thai.cc | 2 +- - src/hb-ot-shape-fallback.cc | 4 ++-- - src/hb-private.hh | 8 ++++---- - src/hb-ucdn.cc | 27 - +++++++++++++++------------ - src/hb-utf-private.hh | 4 ++-- - 16 files changed, 61 insertions(+), 60 deletions(-) - -commit c6408a1009d2370fbdcfa694898819d99d53c3df -Author: Behdad Esfahbod -Date: Wed Dec 5 17:36:52 2012 -0500 - - 0.9.9 - - NEWS | 8 ++++++++ - configure.ac | 2 +- - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit 130bb3f6144afe5c88bb5b4e4c98e7cba03b1e26 -Author: Behdad Esfahbod -Date: Wed Dec 5 16:49:47 2012 -0500 - - Rename VOID and void_t to have HarfBuzz prefix - - Fixes build on Windows. Ouch! - - src/hb-ot-layout-gsubgpos-private.hh | 22 +++++++++++----------- - src/hb-private.hh | 12 ++++++------ - 2 files changed, 17 insertions(+), 17 deletions(-) - -commit 4a350d0eb25db60d95638664c892d4c8dacf050b -Author: Behdad Esfahbod -Date: Tue Dec 4 17:13:09 2012 -0500 - - [OTLayout] Reuse context in collect_glyphs() recursion - - src/hb-ot-layout-gsubgpos-private.hh | 19 +++++++++++++++---- - 1 file changed, 15 insertions(+), 4 deletions(-) - -commit 8303593ba1db06e402eab52df47f21f13049112d -Author: Behdad Esfahbod -Date: Tue Dec 4 17:08:41 2012 -0500 - - Minor - - Use pointers instead of references, in preparation for upcoming - change. - - src/hb-ot-layout-gpos-table.hh | 28 +++++++++++++------------- - src/hb-ot-layout-gsub-table.hh | 30 ++++++++++++++-------------- - src/hb-ot-layout-gsubgpos-private.hh | 38 - ++++++++++++++++++------------------ - 3 files changed, 48 insertions(+), 48 deletions(-) - -commit 1bcfa06d1173f219809542a7380ce77f1c907bec -Author: Behdad Esfahbod -Date: Tue Dec 4 16:58:09 2012 -0500 - - [OTLayout] Don't recurse in collect_glyphs() for GPOS - - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 4 ++++ - 2 files changed, 5 insertions(+), 1 deletion(-) - -commit b5e04c7dc6b78e311d1a14f1f808fac76a64c889 -Author: Behdad Esfahbod -Date: Tue Dec 4 15:57:02 2012 -0500 - - [ucdn] Match upstream changes - - src/hb-ucdn/ucdn.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit a52f51b21635c626f6e5ccdba505c4df19bcff2c -Author: Behdad Esfahbod -Date: Tue Dec 4 15:43:38 2012 -0500 - - 0.9.8 - - NEWS | 16 ++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 17 insertions(+), 1 deletion(-) - -commit 7babfe5a7904c26060c5b8441ca1bf23e1444f35 -Author: Behdad Esfahbod -Date: Tue Dec 4 00:35:54 2012 +0200 - - Move object mutext into the user-data array - - We are not using it for anything lse it seems. - - src/hb-common.cc | 12 ++---------- - src/hb-object-private.hh | 24 ++++++++++-------------- - 2 files changed, 12 insertions(+), 24 deletions(-) - -commit a1900114770952778563dd6f3bc79334b0ca8df5 -Author: Behdad Esfahbod -Date: Tue Dec 4 00:29:35 2012 +0200 - - Remove unused functions - - src/hb-object-private.hh | 20 -------------------- - 1 file changed, 20 deletions(-) - -commit 88b7564183ae1cf59500b13c7e48756fe200c7cd -Author: Behdad Esfahbod -Date: Sun Dec 2 19:14:29 2012 +0200 - - "Update" to Unicode 6.2.0 tables - - Nothing changed... - - src/hb-ot-shape-complex-arabic-table.hh | 4 ++-- - src/hb-ot-shape-complex-indic-table.hh | 12 ++++++------ - 2 files changed, 8 insertions(+), 8 deletions(-) - -commit 4ab99fb8c363cfc6a4f5952e69a19757f0cab344 -Author: Behdad Esfahbod -Date: Fri Nov 30 15:02:04 2012 +0200 - - Minor - - src/hb-ot-layout.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6748b96d27477b35dd69129e55d861259d66bf9f -Author: Behdad Esfahbod -Date: Fri Nov 30 12:02:21 2012 +0200 - - Minor - - src/hb-ot-layout.cc | 1 - - 1 file changed, 1 deletion(-) - -commit 624933f67642997ee0a46d5acea285362e837142 -Author: Behdad Esfahbod -Date: Fri Nov 30 11:46:35 2012 +0200 - - Add Persian test cases from Mehran Mehr - - test/shaping/texts/in-tree/shaper-arabic/script-arabic/MANIFEST | 1 + - .../in-tree/shaper-arabic/script-arabic/language-persian/MANIFEST | 1 + - .../shaper-arabic/script-arabic/language-persian/mehran.txt | - 8 ++++++++ - 3 files changed, 10 insertions(+) - -commit 0f3f5299047e3cfc4d1202fee83d484b871279ad -Author: Behdad Esfahbod -Date: Fri Nov 30 09:06:59 2012 +0200 - - Add test-size-params - - Eventually this will become part of a yet-to-be-written hb-ot cmdline - tool. - - src/Makefile.am | 10 ++++- - src/test-size-params.cc | 98 - +++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 107 insertions(+), 1 deletion(-) - -commit 8465a05a89742295d4b009a9b4442eb0a899fd80 -Author: Behdad Esfahbod -Date: Fri Nov 30 08:46:43 2012 +0200 - - Fix hb_buffer_guess_segment_properties() for empty buffer - - Was causing assertion failure in shape_plan(). - - src/hb-buffer.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit e75943de803f571b7ad2cf2f777119753a209656 -Author: Behdad Esfahbod -Date: Fri Nov 30 08:38:24 2012 +0200 - - [OTLayout] Fix collect_glyphs() recursion in ContextFormat3 - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3038ae6adbb61e55d6c665dea0c5271e0c9f0ed8 -Author: Behdad Esfahbod -Date: Fri Nov 30 08:24:13 2012 +0200 - - [OTLayout] Minor - - src/hb-ot-layout-gpos-table.hh | 4 ---- - src/hb-ot-layout-gsub-table.hh | 4 ---- - src/hb-ot-layout.cc | 4 ++-- - 3 files changed, 2 insertions(+), 10 deletions(-) - -commit 0dff11f6bfbda444a153ca75ff2b947f94e9b3c5 -Author: Behdad Esfahbod -Date: Fri Nov 30 08:14:20 2012 +0200 - - [OTLayout] Look for any 'size' feature, not only in DFLT script - - The old code doesn't work with all fonts, as Khaled has reported. - - src/hb-ot-layout.cc | 14 +++++--------- - 1 file changed, 5 insertions(+), 9 deletions(-) - -commit e9ad71dee845407da74ccacfbb53ad7ededf07fd -Author: Behdad Esfahbod -Date: Fri Nov 30 08:10:26 2012 +0200 - - [OTLayout] Rename hb_ot_layout_position_get_size() to - hb_ot_layout_get_size_params() - - src/hb-ot-layout.cc | 4 ++-- - src/hb-ot-layout.h | 7 ++++--- - 2 files changed, 6 insertions(+), 5 deletions(-) - -commit f18ff5a84d9fe859c40a7a0c9a207cb40df0e84a -Author: Behdad Esfahbod -Date: Fri Nov 30 08:07:06 2012 +0200 - - [OTLayout] Return correct value from recursion - - Commit 4c4e8f0e754b79ac6190d21878eaaf0b790c7579 broke contextual - lookups - by making the recurse() function always return false. - - Reported by Khaled. Test case: لا in Amiri. - - src/hb-ot-layout-gsubgpos-private.hh | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit f54cce3c6a0432268ce159dbe6c5c6b7f583b87a -Author: Behdad Esfahbod -Date: Mon Nov 26 14:02:31 2012 +0200 - - [OTLayout] Implement 'size' feature - - src/hb-ot-layout-common-private.hh | 36 - ++++++++++++++++++++++++++++++++++-- - src/hb-ot-layout.cc | 31 +++++++++++++++++++++++++++++++ - src/hb-ot-layout.h | 5 +++++ - 3 files changed, 70 insertions(+), 2 deletions(-) - -commit 2dc1141d7d0a9f5818862b09d6b9cfe0a27f1fc1 -Author: Behdad Esfahbod -Date: Sat Nov 24 19:16:34 2012 -0500 - - [OTLayout] Remove operator() from ClassDef - - src/hb-ot-layout-common-private.hh | 2 -- - src/hb-ot-layout-gpos-table.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- - 3 files changed, 6 insertions(+), 8 deletions(-) - -commit b67881b171a7cf865af58df146da52fc1e27b160 -Author: Behdad Esfahbod -Date: Sat Nov 24 19:13:55 2012 -0500 - - [OTLayout] Remove operator() from Coverage - - src/hb-ot-layout-common-private.hh | 2 -- - src/hb-ot-layout-gdef-table.hh | 4 ++-- - src/hb-ot-layout-gpos-table.hh | 24 ++++++++++++------------ - src/hb-ot-layout-gsub-table.hh | 24 ++++++++++++------------ - src/hb-ot-layout-gsubgpos-private.hh | 16 ++++++++-------- - 5 files changed, 34 insertions(+), 36 deletions(-) - -commit a88e7160217b9f44e4e5b4b814d0ca98c457ee40 -Author: Behdad Esfahbod -Date: Sat Nov 24 02:31:02 2012 -0500 - - [OTLayout] Implement hb_ot_layout_collect_lookups() - - Untested. - - src/hb-ot-layout.cc | 97 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout.h | 4 +-- - 2 files changed, 98 insertions(+), 3 deletions(-) - -commit 1ea375da446bf68f705a70ce4a480db9fb9d13f3 -Author: Behdad Esfahbod -Date: Sat Nov 24 02:05:52 2012 -0500 - - [OTLayout] Only collect output glyphs during recursion in - collect_glyphs() - - src/hb-ot-layout-gsubgpos-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit f1b12781d279a73b5754afee31e930b5cd87aac6 -Author: Behdad Esfahbod -Date: Sat Nov 24 01:55:34 2012 -0500 - - [OTLayout] Implement ChainContext collect_glyphs() - - All of collect_glyphs() complete and untested now. - - src/hb-ot-layout-gsubgpos-private.hh | 103 - ++++++++++++++++++++++++++++++++--- - 1 file changed, 96 insertions(+), 7 deletions(-) - -commit cdd756b9f40665a201f5c4e65a87b9a27c390601 -Author: Behdad Esfahbod -Date: Sat Nov 24 01:38:41 2012 -0500 - - [OTLayout] Implement GPOS collect_glyphs() - - src/hb-ot-layout-gpos-table.hh | 95 - +++++++++++++++++++++++++++++++++++++++++- - src/hb-ot-layout.cc | 9 ++-- - 2 files changed, 99 insertions(+), 5 deletions(-) - -commit 4c4e8f0e754b79ac6190d21878eaaf0b790c7579 -Author: Behdad Esfahbod -Date: Sat Nov 24 01:13:20 2012 -0500 - - [OTLayout] Reuse apply context for recursion - - src/hb-ot-layout-gpos-table.hh | 7 ++++++- - src/hb-ot-layout-gsub-table.hh | 7 ++++++- - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- - 3 files changed, 16 insertions(+), 6 deletions(-) - -commit 53a69f49e58ef4c4226958e0496fc22455ee6c87 -Author: Behdad Esfahbod -Date: Sat Nov 24 01:03:05 2012 -0500 - - [OTLayout] Remove unused members - - src/hb-ot-layout-gsubgpos-private.hh | 3 --- - 1 file changed, 3 deletions(-) - -commit d0a5233785eb327c4080432f597fe470a1046af3 -Author: Behdad Esfahbod -Date: Fri Nov 23 18:54:59 2012 -0500 - - [OTLayout] Implement Context::collect_glyphs() - - src/hb-ot-layout-gsubgpos-private.hh | 122 - +++++++++++++++++++++++++++++++---- - 1 file changed, 111 insertions(+), 11 deletions(-) - -commit 26514d51b6669f092d9ccb7523443a5ece74169a -Author: Behdad Esfahbod -Date: Fri Nov 23 18:13:48 2012 -0500 - - [OTLayout] More collect_glyphs() - - src/hb-ot-layout-gpos-table.hh | 6 ++--- - src/hb-ot-layout-gsub-table.hh | 32 +++++++++++++++------- - src/hb-ot-layout-gsubgpos-private.hh | 51 - ++++++++++++++++++++++++++++++++---- - 3 files changed, 71 insertions(+), 18 deletions(-) - -commit c6fb843f2a1c26322c6f4c85d1589f01a9e7a2ef -Author: Behdad Esfahbod -Date: Fri Nov 23 18:04:08 2012 -0500 - - [OTLayout] Templatize process_recurse_func - - src/hb-ot-layout-gpos-table.hh | 10 ++++++++++ - src/hb-ot-layout-gsub-table.hh | 8 +++++--- - 2 files changed, 15 insertions(+), 3 deletions(-) - -commit 9b34677f362fb0ef5a7cb8a284a9e06d1a4cc03b -Author: Behdad Esfahbod -Date: Fri Nov 23 17:55:40 2012 -0500 - - [OTLayout] Clean up closure() a bit - - src/hb-ot-layout-gsub-table.hh | 29 ++++++++++++++--------------- - src/hb-ot-layout-gsubgpos-private.hh | 7 ++++--- - src/hb-ot-layout.cc | 6 +++++- - 3 files changed, 23 insertions(+), 19 deletions(-) - -commit adf7758a27a11fb1a8a14a2673867589437d22a3 -Author: Behdad Esfahbod -Date: Fri Nov 23 17:32:00 2012 -0500 - - Improve debug log format in presence of templates - - src/hb-private.hh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 2c53bd3c3ec4f81eff126c5bf84b7f2ddf2f0fef -Author: Behdad Esfahbod -Date: Fri Nov 23 17:29:05 2012 -0500 - - [OTLayout] Start porting sanitize() to process() - - src/hb-open-type-private.hh | 12 +++++++++++- - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- - 2 files changed, 15 insertions(+), 5 deletions(-) - -commit f48ec0e83432c038b50d9715a38ba1469e82e1e4 -Author: Behdad Esfahbod -Date: Fri Nov 23 17:23:41 2012 -0500 - - [OTLayout] Add process() tracing - - src/hb-ot-layout-gpos-table.hh | 60 - ++++++++++++++++++++---------------- - src/hb-ot-layout-gsub-table.hh | 51 +++++++++++++++++------------- - src/hb-ot-layout-gsubgpos-private.hh | 17 +++++----- - 3 files changed, 72 insertions(+), 56 deletions(-) - -commit ed2e13594479c6ed7909401509962ea2f03f9a6e -Author: Behdad Esfahbod -Date: Fri Nov 23 17:10:40 2012 -0500 - - [OTLayout] More Extension templatizing - - src/hb-ot-layout-gpos-table.hh | 11 ----------- - src/hb-ot-layout-gsub-table.hh | 11 ----------- - src/hb-ot-layout-gsubgpos-private.hh | 12 ++++++++++-- - 3 files changed, 10 insertions(+), 24 deletions(-) - -commit 7dddd4e72bc35be962d93dc1b76c7e26c63aaa6d -Author: Behdad Esfahbod -Date: Fri Nov 23 17:04:55 2012 -0500 - - [OTLayout] More templatizing Extension - - src/hb-ot-layout-gpos-table.hh | 7 +------ - src/hb-ot-layout-gsub-table.hh | 9 ++------- - src/hb-ot-layout-gsubgpos-private.hh | 10 +++++++++- - 3 files changed, 12 insertions(+), 14 deletions(-) - -commit 653eeb26450053b731b46346606931f5ae88db72 -Author: Behdad Esfahbod -Date: Fri Nov 23 16:57:36 2012 -0500 - - Make Extension a template - - src/hb-ot-layout-gpos-table.hh | 11 +---------- - src/hb-ot-layout-gsub-table.hh | 11 +---------- - src/hb-ot-layout-gsubgpos-private.hh | 7 +++++++ - 3 files changed, 9 insertions(+), 20 deletions(-) - -commit 08f1eede1bbc01ece2adf89847614a0670e50443 -Author: Behdad Esfahbod -Date: Fri Nov 23 16:51:43 2012 -0500 - - Minor - - src/hb-ot-layout-gpos-table.hh | 19 ++----------------- - src/hb-ot-layout-gsub-table.hh | 19 ++----------------- - 2 files changed, 4 insertions(+), 34 deletions(-) - -commit 2c9d6485a1f89c11f84e720d3c7978dc11a5039a -Author: Behdad Esfahbod -Date: Fri Nov 23 16:49:19 2012 -0500 - - More tracing fixup - - src/hb-private.hh | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit a1733db1c6ff40aae71fa142a12b1fea7b53dd37 -Author: Behdad Esfahbod -Date: Fri Nov 23 16:40:04 2012 -0500 - - [OTLayout] Start adding process() tracing - - src/hb-ot-layout-gsubgpos-private.hh | 44 - +++++++++++++++++++++++++++--------- - src/hb-private.hh | 6 +++-- - 2 files changed, 37 insertions(+), 13 deletions(-) - -commit 73c18ae1b982a4e65086afe5177afa79e721e2c0 -Author: Behdad Esfahbod -Date: Fri Nov 23 15:34:11 2012 -0500 - - Cleanup - - src/hb-ot-layout-gsubgpos-private.hh | 16 ++++------------ - 1 file changed, 4 insertions(+), 12 deletions(-) - -commit be218c688cbb037a99c8c64bb835f3c980040c0b -Author: Behdad Esfahbod -Date: Fri Nov 23 15:32:14 2012 -0500 - - Pass this object to trace macros - - src/hb-open-file-private.hh | 10 +-- - src/hb-open-type-private.hh | 34 +++++----- - src/hb-ot-head-table.hh | 2 +- - src/hb-ot-hhea-table.hh | 2 +- - src/hb-ot-hmtx-table.hh | 2 +- - src/hb-ot-layout-common-private.hh | 36 +++++------ - src/hb-ot-layout-gdef-table.hh | 20 +++--- - src/hb-ot-layout-gpos-table.hh | 80 +++++++++++------------ - src/hb-ot-layout-gsub-table.hh | 122 - +++++++++++++++++------------------ - src/hb-ot-layout-gsubgpos-private.hh | 100 ++++++++++++++-------------- - src/hb-ot-maxp-table.hh | 2 +- - src/hb-ot-name-table.hh | 6 +- - 12 files changed, 208 insertions(+), 208 deletions(-) - -commit 902cc8aca0b3ff25eeee50b3a84d729e31731ef3 -Author: Behdad Esfahbod -Date: Fri Nov 23 15:06:59 2012 -0500 - - [OTLayout] Start unbreaking tracing - - src/hb-open-type-private.hh | 37 - +++++++++++++++++++++--------------- - src/hb-ot-layout-gsubgpos-private.hh | 37 - +++++++++++++++++++++++++----------- - src/hb-private.hh | 30 +++++++++++++++++++---------- - 3 files changed, 68 insertions(+), 36 deletions(-) - -commit dabe698fcbeb02911128b17aa8e3b2d864795960 -Author: Behdad Esfahbod -Date: Fri Nov 23 14:21:35 2012 -0500 - - Minor - - src/hb-open-type-private.hh | 5 ----- - src/hb-ot-layout-gsubgpos-private.hh | 10 ++++------ - src/hb-private.hh | 27 +++++++++++++++++++++++++-- - 3 files changed, 29 insertions(+), 13 deletions(-) - -commit c779d82b2fc801eec0d349a106c0e860448fcf4e -Author: Behdad Esfahbod -Date: Fri Nov 23 14:07:24 2012 -0500 - - Fix warnings - - src/hb-ot-layout-gpos-table.hh | 2 -- - src/hb-ot-layout-gsub-table.hh | 8 +++----- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-private.hh | 2 +- - 4 files changed, 5 insertions(+), 9 deletions(-) - -commit 81822528efc63d867cb2343a8ff7af64fac1c70d -Author: Behdad Esfahbod -Date: Fri Nov 23 13:27:16 2012 -0500 - - Minor - - src/hb-open-type-private.hh | 6 ++++++ - src/hb-ot-layout-gsubgpos-private.hh | 3 --- - 2 files changed, 6 insertions(+), 3 deletions(-) - -commit 1d67ef980f35ae30d4f8975f65ee07b8cc5deeea -Author: Behdad Esfahbod -Date: Thu Nov 22 16:47:53 2012 -0500 - - Move code around - - src/hb-ot-layout-gsubgpos-private.hh | 44 - ++++++++++++++++++------------------ - 1 file changed, 22 insertions(+), 22 deletions(-) - -commit ec35a72a44301934b8f123ab2833f59d8c875a09 -Author: Behdad Esfahbod -Date: Thu Nov 22 16:05:59 2012 -0500 - - [OTLayout] Port apply() operator to process() template - - src/hb-ot-layout-gpos-table.hh | 117 - ++++------------------------------- - src/hb-ot-layout-gsub-table.hh | 108 - +++----------------------------- - src/hb-ot-layout-gsubgpos-private.hh | 99 +++++++++++++---------------- - src/hb-ot-layout.cc | 2 +- - 4 files changed, 65 insertions(+), 261 deletions(-) - -commit 2005fa5340fc528c32dc2af945ad2431964a47d2 -Author: Behdad Esfahbod -Date: Thu Nov 22 14:38:10 2012 -0500 - - [OTLayout] Port would_apply() and get_coverage() to process() - templates - - src/hb-ot-layout-gpos-table.hh | 175 - +++++++++++-------------------- - src/hb-ot-layout-gsub-table.hh | 198 - ++++++++++++----------------------- - src/hb-ot-layout-gsubgpos-private.hh | 76 +++++--------- - 3 files changed, 156 insertions(+), 293 deletions(-) - -commit 44fc237b53ebfbaf8a539de16ad735d2c6afc52b -Author: Behdad Esfahbod -Date: Wed Nov 21 23:33:13 2012 -0500 - - [OTLayout] Port closure() to process() template - - src/hb-ot-layout-gsub-table.hh | 297 - ++++++++--------------------------- - src/hb-ot-layout-gsubgpos-private.hh | 209 ++++++++++++------------ - src/hb-ot-layout.cc | 10 +- - 3 files changed, 171 insertions(+), 345 deletions(-) - -commit 5be86b1bb4fbb37b50a1e2798df0c9a3a528b6b2 -Author: Behdad Esfahbod -Date: Thu Nov 22 16:26:22 2012 -0500 - - [ucdn] Make data tables const! - - src/hb-ucdn/ucdn.c | 16 ++++++++-------- - src/hb-ucdn/unicodedata_db.h | 28 ++++++++++++++-------------- - 2 files changed, 22 insertions(+), 22 deletions(-) - -commit 7c5b7fe686c9163afe2f31fbeac6f8c8512f5516 -Author: Behdad Esfahbod -Date: Thu Nov 22 14:15:08 2012 -0500 - - Fix hb_shape_plan_get_shaper() - - src/hb-shape-plan.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 4c8963576573483269b327c6465f6ec99f489e05 -Author: Behdad Esfahbod -Date: Wed Nov 21 01:20:56 2012 -0500 - - 0.9.7 - - NEWS | 86 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 87 insertions(+), 1 deletion(-) - -commit ac064a2db2b7a010d99527e183145286215aea81 -Author: Behdad Esfahbod -Date: Wed Nov 21 01:14:19 2012 -0500 - - Rename hb_set_population() to hb_set_get_population() - - src/hb-set.cc | 2 +- - src/hb-set.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 16c914c2a6efeb6999054333985b1f711e33cf94 -Author: Behdad Esfahbod -Date: Wed Nov 21 01:04:15 2012 -0500 - - [Indic] One more try at unbreaking Khmer fonts - - See comments and discussion on the list. - - src/hb-ot-shape-complex-private.hh | 16 ++++++++++------ - 1 file changed, 10 insertions(+), 6 deletions(-) - -commit e8cfdd7fa8d0fb66e0a261f3547e5824897e5131 -Author: Behdad Esfahbod -Date: Fri Nov 16 19:07:06 2012 -0800 - - Start implementing collect_glyphs() operation - - Not functional yet. - - src/hb-ot-layout-gsub-table.hh | 185 - +++++++++++++++++++++++++++++++++++ - src/hb-ot-layout-gsubgpos-private.hh | 57 +++++++++++ - src/hb-ot-layout.cc | 29 ++++++ - src/hb-ot-layout.h | 4 +- - 4 files changed, 272 insertions(+), 3 deletions(-) - -commit 7d52e6601f0e695690cd168a288466746cf25300 -Author: Behdad Esfahbod -Date: Fri Nov 16 18:49:54 2012 -0800 - - Whitespace - - src/hb-coretext.cc | 32 +++++----- - src/hb-icu-le.cc | 2 +- - src/hb-old.cc | 10 ++-- - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 2 +- - src/hb-ot-head-table.hh | 2 +- - src/hb-ot-hhea-table.hh | 2 +- - src/hb-ot-hmtx-table.hh | 2 +- - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gdef-table.hh | 2 +- - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-maxp-table.hh | 2 +- - src/hb-ot-name-table.hh | 2 +- - src/hb-ot-shape-complex-default.cc | 109 - ++++++++++++++++++----------------- - src/hb-tt-font.cc | 2 +- - 17 files changed, 87 insertions(+), 92 deletions(-) - -commit 51bb498b7b07bff4a447405b72f09b68d07a3e95 -Author: Behdad Esfahbod -Date: Fri Nov 16 14:08:05 2012 -0800 - - Minor - - src/hb-ot-shape.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 89ca8eeb83fedde06727d386369a0a39d410f12b -Author: Behdad Esfahbod -Date: Fri Nov 16 13:53:40 2012 -0800 - - Implement hb_ot_layout_get_glyphs_in_class() - - src/hb-ot-layout-common-private.hh | 24 ++++++++++++++++++++++++ - src/hb-ot-layout-gdef-table.hh | 2 ++ - src/hb-ot-layout.cc | 8 ++++++++ - src/hb-ot-layout.h | 5 ++--- - 4 files changed, 36 insertions(+), 3 deletions(-) - -commit 5a08ecf9200a6ac9b4ebb7ec5c13dcb42d8820ce -Author: Behdad Esfahbod -Date: Fri Nov 16 13:34:29 2012 -0800 - - Implement hb_ot_layout_get_glyph_class() - - src/hb-ot-layout-gdef-table.hh | 10 +++++----- - src/hb-ot-layout-gpos-table.hh | 8 ++++---- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 10 +++++----- - src/hb-ot-layout-private.hh | 10 +++++++++- - src/hb-ot-layout.cc | 6 ++++++ - src/hb-ot-layout.h | 14 ++++++-------- - src/hb-ot-shape.cc | 4 ++-- - 8 files changed, 38 insertions(+), 26 deletions(-) - -commit f9edd5d56bd219625f5b16b23eac53b4c4a8b194 -Author: Behdad Esfahbod -Date: Fri Nov 16 13:23:37 2012 -0800 - - Implement hb_shape_plan_get_shaper() - - Untested. - - src/hb-shape-plan-private.hh | 1 + - src/hb-shape-plan.cc | 7 +++++++ - src/hb-shape-plan.h | 4 +--- - 3 files changed, 9 insertions(+), 3 deletions(-) - -commit 43b653150081a2f9dc6b7481229ac4cd952575dc -Author: Behdad Esfahbod -Date: Fri Nov 16 13:12:35 2012 -0800 - - [Indic] Another try to unbreak Sinhala split matras - - Just read the comments... - - src/hb-ot-shape-complex-indic.cc | 43 - ++++++++++++++++++---- - .../indic/script-sinhala/misc/MANIFEST | 1 + - .../indic/script-sinhala/misc/split-matras.txt | 4 ++ - 3 files changed, 40 insertions(+), 8 deletions(-) - -commit 977f1740ace730dcdff8221a17f2a592c2ec7c74 -Author: Behdad Esfahbod -Date: Fri Nov 16 13:10:07 2012 -0800 - - Unbreak tests - - src/hb-ot-layout.h | 14 +++++++------- - src/hb-shape-plan.h | 2 +- - 2 files changed, 8 insertions(+), 8 deletions(-) - -commit eba312c8d1b2bbe8cb9b6414e843e78d2c521aa4 -Author: Behdad Esfahbod -Date: Fri Nov 16 12:39:23 2012 -0800 - - Plumbing to get shape plan and font into complex decompose function - - So we can handle Sinhala split matras smartly... Coming soon. - - src/hb-ot-shape-complex-default.cc | 6 ++-- - src/hb-ot-shape-complex-indic.cc | 14 ++++----- - src/hb-ot-shape-complex-private.hh | 16 +++++------ - src/hb-ot-shape-normalize-private.hh | 22 ++++++++++++-- - src/hb-ot-shape-normalize.cc | 56 - ++++++++++++++---------------------- - src/hb-ot-shape.cc | 2 +- - 6 files changed, 61 insertions(+), 55 deletions(-) - -commit 3f82f8ff07a9d16a7c047129658c1bbedfdb5436 -Author: Behdad Esfahbod -Date: Thu Nov 15 18:45:31 2012 -0800 - - Rename hb_buffer_guess_properties() to - hb_buffer_guess_segment_properties() - - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 6 +++--- - src/hb-buffer.h | 2 +- - src/hb-fallback-shape.cc | 2 +- - src/hb-ot-shape.cc | 2 +- - src/hb-shape.cc | 2 +- - 6 files changed, 8 insertions(+), 8 deletions(-) - -commit f30641038ba96e83950729b1bd9d86d2e98e46c5 -Author: Behdad Esfahbod -Date: Thu Nov 15 18:39:46 2012 -0800 - - Bunch of independent changes (ouch) - - API additions: - - hb_segment_properties_t - HB_SEGMENT_PROPERTIES_DEFAULT - hb_segment_properties_equal() - hb_segment_properties_hash() - - hb_buffer_set_segment_properties() - hb_buffer_get_segment_properties() - - hb_ot_layout_glyph_class_t - - hb_shape_plan_t - hb_shape_plan_create() - hb_shape_plan_create_cached() - hb_shape_plan_get_empty() - hb_shape_plan_reference() - hb_shape_plan_destroy() - hb_shape_plan_set_user_data() - hb_shape_plan_get_user_data() - hb_shape_plan_execute() - - hb_ot_shape_plan_collect_lookups() - - API changes: - - Rename hb_ot_layout_feature_get_lookup_indexes() to - hb_ot_layout_feature_get_lookups(). - - New header file: - - hb-shape-plan.h - - And a bunch of prototyped but not implemented stuff. Coming soon. - (Tests fail because of the prototypes right now.) - - src/Makefile.am | 2 +- - src/hb-buffer-private.hh | 37 --------------- - src/hb-buffer.cc | 45 +++++++++++++++++- - src/hb-buffer.h | 47 +++++++++++++++++-- - src/hb-ot-layout-private.hh | 8 ---- - src/hb-ot-layout.cc | 12 ++--- - src/hb-ot-layout.h | 108 - ++++++++++++++++++++++++++++++++++++++++--- - src/hb-ot-map-private.hh | 2 +- - src/hb-ot-map.cc | 15 +++--- - src/hb-ot-shape-private.hh | 11 ++++- - src/hb-ot-shape.cc | 52 ++++++++++++++------- - src/hb-ot.h | 1 + - src/hb-shape-plan-private.hh | 3 +- - src/hb-shape-plan.cc | 23 +++++++-- - src/hb-shape-plan.h | 50 +++++++++++++------- - src/hb-shaper-private.hh | 2 - - src/hb-shaper.cc | 2 +- - src/hb.h | 1 + - 18 files changed, 304 insertions(+), 117 deletions(-) - -commit 75da37dcb17aacc0be6bb006683a84aa31155938 -Author: Behdad Esfahbod -Date: Thu Nov 15 18:39:23 2012 -0800 - - Minor - - util/hb-ot-shape-closure.cc | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -commit e05a999495e6575f7cebd7f35db087d964f11ef6 -Author: Behdad Esfahbod -Date: Thu Nov 15 16:23:21 2012 -0800 - - Add hb_face_[sg]et_glyph_count() - - src/hb-font-private.hh | 9 +++++++++ - src/hb-font.cc | 29 ++++++++++++++++++++++++++++- - src/hb-font.h | 7 +++++++ - 3 files changed, 44 insertions(+), 1 deletion(-) - -commit aec89de5641fbe1c3031d63dd5f40ec99bf2a538 -Author: Behdad Esfahbod -Date: Thu Nov 15 16:15:42 2012 -0800 - - Add / modify set API a bit - - src/hb-ot-shape.cc | 2 +- - src/hb-set-private.hh | 35 ++++++++++++++++-- - src/hb-set.cc | 86 - ++++++++++++++++++++++++++++++--------------- - src/hb-set.h | 55 +++++++++++++++++++---------- - util/hb-ot-shape-closure.cc | 2 +- - 5 files changed, 128 insertions(+), 52 deletions(-) - -commit c54599ad269380c7aa28d885fcfd660fc2c10a7b -Author: Behdad Esfahbod -Date: Thu Nov 15 16:14:23 2012 -0800 - - Minor - - src/hb-buffer.cc | 2 +- - src/hb-buffer.h | 8 +++----- - 2 files changed, 4 insertions(+), 6 deletions(-) - -commit d1aa143ca434fe272de21d2002768c83387b583b -Author: Behdad Esfahbod -Date: Thu Nov 15 15:38:08 2012 -0800 - - [Thai] Remove U+0E2C from "AC" consonants - - WinXP doesn't include it. - - src/hb-ot-shape-complex-thai.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 362a990b2246f5448ecb9d600761f710aea7d42d -Author: Behdad Esfahbod -Date: Thu Nov 15 14:57:31 2012 -0800 - - Rename hb_ot_layout_would_substitute_lookup() and - hb_ot_layout_substitute_closure_lookup() - - To match upcoming API. - - src/hb-ot-layout-private.hh | 2 +- - src/hb-ot-layout.cc | 8 ++++---- - src/hb-ot-layout.h | 4 ++-- - src/hb-ot-map.cc | 2 +- - src/hb-ot-shape-complex-indic.cc | 2 +- - src/test-would-substitute.cc | 2 +- - 6 files changed, 10 insertions(+), 10 deletions(-) - -commit a4bef84e375b090c1bc7e4221b8e0ee435dfcbba -Author: Behdad Esfahbod -Date: Thu Nov 15 13:29:51 2012 -0800 - - [util] Make hb-shape err if output-format is not understood - - And list supported formats. - - util/hb-shape.cc | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 3cec819d39e45470d03085bb6fa132882cc85943 -Author: Behdad Esfahbod -Date: Thu Nov 15 13:15:39 2012 -0800 - - Make the OT shaper default, even if CoreText or Uniscribe is enabled - - src/hb-shaper-list.hh | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -commit 072ae7a982bf640804eee0b41525e7c328806bf5 -Author: Behdad Esfahbod -Date: Thu Nov 15 13:14:12 2012 -0800 - - Add hb_buffer_serialize_list_formats() - - src/hb-buffer.cc | 6 ++++++ - src/hb-buffer.h | 3 +++ - 2 files changed, 9 insertions(+) - -commit f9edf1672511c3bcc3796cc79578ffea43b2bda1 -Author: Behdad Esfahbod -Date: Thu Nov 15 12:14:09 2012 -0800 - - Add buffer serialization / deserialization API - - Two output formats for now: TEXT, and JSON. For example: - - hb-shape --output-format=json - - Deserialization API is added, but not implemented yet. - - src/hb-buffer.cc | 222 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-buffer.h | 42 +++++++++++ - util/hb-shape.cc | 21 +++++- - util/options.cc | 57 +++++--------- - util/options.hh | 7 +- - 5 files changed, 304 insertions(+), 45 deletions(-) - -commit fd0de881f4fc004da6f36d50a91d0e62f8eb4d8c -Author: Behdad Esfahbod -Date: Thu Nov 15 10:47:14 2012 -0800 - - Avoid C++ undefined behavior - - https://bugzilla.mozilla.org/show_bug.cgi?id=810823 - - src/hb-open-type-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f41dc2d35b23220d59d38990bb66f1cbd66a55b3 -Author: Behdad Esfahbod -Date: Thu Nov 15 10:36:43 2012 -0800 - - Fix undefined behavior in Indic dottedcircle - - Chromium Issue 158998: Conditional jump in harfbuzz-ng - http://code.google.com/p/chromium/issues/detail?id=158998 - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1eb3e94fe99a072ce422e60ac4d4d89ef489b08a -Author: Behdad Esfahbod -Date: Wed Nov 14 17:25:03 2012 -0800 - - [Thai] Implement PUA-based fallback shaping - - As explained here: - - http://linux.thai.net/~thep/th-otf/shaping.html - - Our output now matches Uniscribe for old fonts (eg. XP Tahoma) with no - Thai GSUB table. - - src/hb-ot-shape-complex-thai.cc | 217 - ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 217 insertions(+) - -commit 851784f8372004e0a40b698c0cdc2d7db8629aa2 -Author: Behdad Esfahbod -Date: Wed Nov 14 16:24:05 2012 -0800 - - Improve shaper selection - - src/hb-ot-map-private.hh | 8 ++++---- - src/hb-ot-map.cc | 6 ++++-- - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape-complex-private.hh | 13 ++++++++----- - src/hb-ot-shape-complex-thai.cc | 24 ++++++++++++++++++++++-- - 5 files changed, 39 insertions(+), 14 deletions(-) - -commit f3584d3a3a627e38dfd7769975a670db340d2a48 -Author: Behdad Esfahbod -Date: Wed Nov 14 15:55:17 2012 -0800 - - Add test cases for Thai PUA shaping - - .../texts/in-tree/shaper-thai/script-thai/misc/MANIFEST | 1 + - .../in-tree/shaper-thai/script-thai/misc/pua-shaping.txt | - 11 +++++++++++ - 2 files changed, 12 insertions(+) - -commit 43f04a7456419153cb03e610a825056a47824780 -Author: Behdad Esfahbod -Date: Wed Nov 14 15:51:54 2012 -0800 - - Move Thai shaper into a separate file - - src/Makefile.am | 3 +- - ...plex-misc.cc => hb-ot-shape-complex-default.cc} | 114 - ----------------- - src/hb-ot-shape-complex-thai.cc | 141 - +++++++++++++++++++++ - 3 files changed, 143 insertions(+), 115 deletions(-) - -commit ba82325b7a6311b787ae47f41a56964e2f2cba9f -Author: Behdad Esfahbod -Date: Wed Nov 14 15:36:53 2012 -0800 - - Add note re 'Phags-pa letter U+A872, which is Joining_Type=L - - src/hb-ot-shape-complex-arabic.cc | 1 + - 1 file changed, 1 insertion(+) - -commit d469fadce8290c7dda559c5927dd19df65f91c1a -Author: Behdad Esfahbod -Date: Wed Nov 14 15:07:36 2012 -0800 - - [Indic] Exchange abort() for assert() - - src/hb-ot-shape-complex-indic.cc | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 0f80a89de99293ddbf0b8b815fe360677d057e38 -Author: Behdad Esfahbod -Date: Wed Nov 14 15:05:19 2012 -0800 - - Don't route Kharoshthi through the Indic shaper - - It's a simple, right-to-left, script. - - src/hb-ot-shape-complex-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e67072bb179a5c17db04075de74215597fb43c82 -Author: Behdad Esfahbod -Date: Wed Nov 14 15:00:53 2012 -0800 - - [Indic] Handle overstruck matra position - - src/hb-ot-shape-complex-indic-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 7e99e4f0740e47efda5882604954cb7d12700a4b -Author: Behdad Esfahbod -Date: Wed Nov 14 14:09:46 2012 -0800 - - Reposition Lao marks - - Lao marks are center-aligned, unlike Thai ones. - - src/hb-ot-shape-fallback.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 865745b5b87236651f5663cae3461db9cb505eed -Author: Behdad Esfahbod -Date: Wed Nov 14 13:48:26 2012 -0800 - - Don't do fallback positioning for Indic and Thai shapers - - src/hb-ot-shape-complex-arabic.cc | 1 + - src/hb-ot-shape-complex-indic.cc | 1 + - src/hb-ot-shape-complex-misc.cc | 2 ++ - src/hb-ot-shape-complex-private.hh | 1 + - src/hb-ot-shape.cc | 20 +++++--------------- - 5 files changed, 10 insertions(+), 15 deletions(-) - -commit 981748cb2e9b48b77177b19ec1f972cab7afda89 -Author: Behdad Esfahbod -Date: Wed Nov 14 13:38:16 2012 -0800 - - [Indic] If Khmer fonts have a 'liga' feature, use generic shaper - - Seems to produce more coherent results than trying the Indic shaper on - them. I'm looking at you, Kh-* fonts... - - src/hb-ot-shape-complex-private.hh | 21 +++++++++++++++++---- - 1 file changed, 17 insertions(+), 4 deletions(-) - -commit 6b19fa48621dbf36d471d5005f6ae20df350954f -Author: Behdad Esfahbod -Date: Wed Nov 14 11:38:50 2012 -0800 - - Adjust diff rule for the new hb-shape output format - - test/shaping/hb_test_tools.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dde5506fd963e3cec27c3389bb1fc092f86d1e06 -Author: Behdad Esfahbod -Date: Wed Nov 14 11:37:04 2012 -0800 - - [Indic] Don't move virama with left matra - - This is important for the Sinhala U+0DDA split matra since it - decomposes - to U+0DD9,U+0DCA where U+0DD9 is a left matra and U+0DCA is the - virama. - We don't want to move the virama with the left matra. - TEST: U+0D9A,U+0DDA - - Note that we were already doing this in the Uniscribe bug - compatibility - mode. We now do it all the time. - - src/hb-ot-shape-complex-indic.cc | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 82c4d9880a2cd321f6426888511c5f0318f96ad5 -Author: Behdad Esfahbod -Date: Wed Nov 14 10:56:02 2012 -0800 - - Add Sinhala test case for split matra U+0DDA - - .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt - | 1 + - 1 file changed, 1 insertion(+) - -commit d04b12853167d756a8cccaf4154f0fd894bce6de -Author: Behdad Esfahbod -Date: Wed Nov 14 10:53:10 2012 -0800 - - Fix test - - test/api/test-buffer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 92f9bfed42f720c1fd78e795845542661aaf4f8a -Author: Behdad Esfahbod -Date: Tue Nov 13 16:50:45 2012 -0800 - - Minor - - src/hb-buffer.h | 26 ++++++++++++++------------ - 1 file changed, 14 insertions(+), 12 deletions(-) - -commit 66ac2ff32e24f0d5658ca172147613081a133847 -Author: Behdad Esfahbod -Date: Tue Nov 13 16:26:32 2012 -0800 - - API change: Remove "mask" from hb_buffer_add() - - I don't expect anybody using hb_buffer_add(), so this shouldn't break - anyone's code. - - src/hb-buffer-private.hh | 1 - - src/hb-buffer.cc | 8 +++----- - src/hb-buffer.h | 1 - - 3 files changed, 3 insertions(+), 7 deletions(-) - -commit 407f80d62589774f845ef1a6a0a7d841b09d57c6 -Author: Behdad Esfahbod -Date: Tue Nov 13 15:33:27 2012 -0800 - - [util] Add --bot / --eot / --preserve-default-ignorables - - util/options.cc | 3 +++ - util/options.hh | 12 ++++++++++++ - 2 files changed, 15 insertions(+) - -commit 78d41d8d69142ae95928b51215c0c0c5e3f5b3f0 -Author: Behdad Esfahbod -Date: Tue Nov 13 15:15:09 2012 -0800 - - Minor - - util/options.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 321f73c16efa0730c96e001d65268f4927a0f735 -Author: Behdad Esfahbod -Date: Tue Nov 13 15:12:24 2012 -0800 - - [util] Add --text-before and --text-after to hb-shape / hb-view - - Use with Arabic, for example, to see the effect on joining. - - util/hb-ot-shape-closure.cc | 4 +++- - util/main-font-text.hh | 2 +- - util/options.cc | 2 ++ - util/options.hh | 18 ++++++++++++++++-- - util/shape-consumer.hh | 6 ++++-- - 5 files changed, 26 insertions(+), 6 deletions(-) - -commit e13f8d280bafc6a6b6e31e2eee587660b8333c56 -Author: Behdad Esfahbod -Date: Tue Nov 13 15:12:06 2012 -0800 - - Fix UTF-8 backward iteration - - Ouch! - - src/hb-utf-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 5669a6cf418f3a8b9281c36e9d662d843be80433 -Author: Behdad Esfahbod -Date: Tue Nov 13 15:11:51 2012 -0800 - - [Arabic] Fix post-context handling - - Ouch! - - src/hb-ot-shape-complex-arabic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0c7df2222862122ebbdc8665a21d6771ef5e0252 -Author: Behdad Esfahbod -Date: Tue Nov 13 14:42:35 2012 -0800 - - Add buffer flags - - New API: - - hb_buffer_flags_t - - HB_BUFFER_FLAGS_DEFAULT - HB_BUFFER_FLAG_BOT - HB_BUFFER_FLAG_EOT - HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES - - hb_buffer_set_flags() - hb_buffer_get_flags() - - We use the BOT flag to decide whether to insert dottedcircle if the - first char in the buffer is a combining mark. - - The PRESERVE_DEFAULT_IGNORABLES flag prevents removal of characters - like - ZWNJ/ZWJ/... - - src/hb-buffer-private.hh | 1 + - src/hb-buffer.cc | 18 ++++++++++++++++++ - src/hb-buffer.h | 13 +++++++++++++ - src/hb-ot-shape-complex-arabic.cc | 40 - ++++++++++++++++++++------------------- - src/hb-ot-shape.cc | 9 ++++++--- - test/api/test-buffer.c | 9 +++++++++ - 6 files changed, 68 insertions(+), 22 deletions(-) - -commit 1c7e55511a870f2689680ca8f977e00879f3b3e3 -Author: Behdad Esfahbod -Date: Tue Nov 13 14:42:22 2012 -0800 - - Minor fix - - Ouch - - src/hb-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c8d4f8b0fe56ce909e3ca07f8a30cb4fb940868b -Author: Behdad Esfahbod -Date: Tue Nov 13 14:10:19 2012 -0800 - - Minor - - test/api/test-object.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 82ecaff736e245e117d70b6ec1497508c6eb08d2 -Author: Behdad Esfahbod -Date: Tue Nov 13 13:57:52 2012 -0800 - - Add hb_buffer_clear() - - Which is like _reset(), but does NOT clear unicode-funcs. - - src/hb-buffer-private.hh | 1 + - src/hb-buffer.cc | 15 +++++++++++++++ - src/hb-buffer.h | 4 ++++ - test/api/test-buffer.c | 22 +++++++++++++++++++++- - 4 files changed, 41 insertions(+), 1 deletion(-) - -commit da43a92b04929e93356ae393803ef101154d2267 -Author: Behdad Esfahbod -Date: Tue Nov 13 13:48:26 2012 -0800 - - 0.9.6 - - NEWS | 28 ++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 29 insertions(+), 1 deletion(-) - -commit 0736915b8ed789a209205fec762997af3a8af89c -Author: Behdad Esfahbod -Date: Tue Nov 13 12:35:35 2012 -0800 - - [Indic] Decompose Sinhala split matras the way old HarfBuzz / - Pango did - - Had to do some refactoring to make this happen... - - Under uniscribe bug compatibility mode, we still plit them - Uniscrie-style, but Jonathan and I convinced ourselves that there - is no - harm doing this the Unicode way. This change makes that happen, and - unbreaks free Sinhala fonts. - - src/hb-ot-shape-complex-arabic.cc | 2 + - src/hb-ot-shape-complex-indic.cc | 74 +++++++++- - src/hb-ot-shape-complex-misc.cc | 133 ++++++++++++++++- - src/hb-ot-shape-complex-private.hh | 28 +++- - src/hb-ot-shape-normalize-private.hh | 6 +- - src/hb-ot-shape-normalize.cc | 278 - ++++++++++------------------------- - src/hb-ot-shape.cc | 5 +- - 7 files changed, 312 insertions(+), 214 deletions(-) - -commit c8149ca85ed97112778590bc9f090f3ee0254100 -Author: Behdad Esfahbod -Date: Tue Nov 13 11:07:20 2012 -0800 - - [hb-shape] Adjust postioning output format - - 1. If there is any offset (x or y), print out both x and y offsets. - - 2. Always print out the advance in the major direction of the buffer. - Ie. even for zero-advance glyphs, print a "+0". This is more - intuitive. - - util/options.cc | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -commit 6fd5335622087e87739684f581aa9f88635ff970 -Author: Behdad Esfahbod -Date: Mon Nov 12 18:42:18 2012 -0800 - - [Indic] Update auto-generated Indic machine to reflect previous commit - - src/hb-ot-shape-complex-indic-machine.hh | 1126 - +++++++++++++++--------------- - 1 file changed, 567 insertions(+), 559 deletions(-) - -commit 9cac1338c4bc3e9034cbfa104291ed0329debefe -Author: Behdad Esfahbod -Date: Mon Nov 12 18:41:22 2012 -0800 - - [Indic] Allow Consonant_Medial's after Consonant's - - Mostly affects Myanmar, but also Tai Tham, Javanese, and Cham. The - latter three are untested (no fonts!). - - src/hb-ot-shape-complex-indic-machine.rl | 3 ++- - src/hb-ot-shape-complex-indic-private.hh | 7 ++++--- - 2 files changed, 6 insertions(+), 4 deletions(-) - -commit d187099cbab8e75f870a2bc9c23b6a1cf226905e -Author: Behdad Esfahbod -Date: Mon Nov 12 18:38:06 2012 -0800 - - [Indic] Categorize Myanmar "tone marks" as nuktas - - src/hb-ot-shape-complex-indic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8173f23f3f16972c2e8e0a120724533100acfda2 -Author: Behdad Esfahbod -Date: Mon Nov 12 18:37:20 2012 -0800 - - [Indic] Add config for Myanmar - - src/hb-ot-shape-complex-indic.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 9e92978c8aa3d3cdab4d20c81698c56adbb3dbdd -Author: Behdad Esfahbod -Date: Mon Nov 12 18:36:10 2012 -0800 - - [Indic] Route "new" Myanmar tag through the Indic shaper - - Windows 8 adds a Myanmar shaper using the 'mym2' tag. Route that - through the Indic shaper. It's still very broken, but at least this - does NOT break old-style Myanmar shaping using the generic shaper. - - src/hb-ot-shape-complex-private.hh | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit 5ab3855f8106158ee7e68797e8c35e63e9216e5d -Author: Behdad Esfahbod -Date: Mon Nov 12 18:27:42 2012 -0800 - - Choose shaper based on chosen OT script tag - - For Arabic and Indic shapers, if the font doesn't have a script system - for the script, use default shaper. - - Make an exception for Arabic script since we have fallback logic for - that one. - - src/hb-ot-map-private.hh | 4 ++++ - src/hb-ot-shape-complex-private.hh | 11 +++++++++-- - 2 files changed, 13 insertions(+), 2 deletions(-) - -commit 9b37b4c5800b158f61602d2aba8a01349e24d251 -Author: Behdad Esfahbod -Date: Mon Nov 12 18:23:38 2012 -0800 - - Make planner available to complex shaper choosing logic - - src/hb-ot-shape-complex-private.hh | 4 ++-- - src/hb-ot-shape.cc | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 6fddf2d7397411bba8a23ac535e8b851495d3105 -Author: Behdad Esfahbod -Date: Mon Nov 12 17:57:24 2012 -0800 - - Refactoring ot-map building to make chosen script available earlier - - src/hb-ot-map-private.hh | 13 ++++++++---- - src/hb-ot-map.cc | 51 - ++++++++++++++++++++++++++-------------------- - src/hb-ot-shape-private.hh | 4 ++-- - 3 files changed, 40 insertions(+), 28 deletions(-) - -commit f17ed8116e7b6429af3fa60bb43d5f4fac66eae3 -Author: Behdad Esfahbod -Date: Mon Nov 12 17:48:26 2012 -0800 - - Minor TODO - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit de796a6fb98f4deda276caa82266b7c830978e0b -Author: Behdad Esfahbod -Date: Mon Nov 12 17:27:51 2012 -0800 - - Add "new" Myanmar OT Script tag - - Windows 8 added support for Myanmar shaping using the "mym2" - script tag, - even though Windows never supported the old "mymr" tag. - - src/hb-ot-tag.cc | 2 ++ - test/api/test-ot-tag.c | 1 + - 2 files changed, 3 insertions(+) - -commit 27f52dc3f6bbb97594a44f27b180aed73d9e5608 -Author: Behdad Esfahbod -Date: Mon Nov 12 16:54:03 2012 -0800 - - Add Myanmar tests from UTN#11 - - .../south-east-asian/script-myanmar/misc/MANIFEST | 1 + - .../south-east-asian/script-myanmar/misc/utn11.txt | 34 - ++++++++++++++++++++++ - 2 files changed, 35 insertions(+) - -commit e9334ce97bb7f1de87fb211bb5a8168033629b14 -Author: Behdad Esfahbod -Date: Mon Nov 12 14:57:02 2012 -0800 - - Break build when ragel is needed and missing - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dba186711e3f5e723f917b7104e849c4c525d3b8 -Author: Behdad Esfahbod -Date: Mon Nov 12 14:48:33 2012 -0800 - - [Indic] Make more room in the table - - To be used in upcoming commits. - - src/hb-ot-shape-complex-indic-private.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit c4be9917438c45b972ec76dc68409014110f0837 -Author: Behdad Esfahbod -Date: Mon Nov 12 14:27:33 2012 -0800 - - Typo - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 56be677781736bbedc80df6f6aaa2b5f0bc4041c -Author: Behdad Esfahbod -Date: Mon Nov 12 14:09:40 2012 -0800 - - [Indic] Port 'pref' logic to look into font tables - - ...instead of using a hardcoded list of Ra characters. - - src/hb-ot-shape-complex-indic.cc | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit f2c0f59043c93c225274fc0c8177077d16c89d61 -Author: Behdad Esfahbod -Date: Mon Nov 12 14:02:02 2012 -0800 - - [Indic] Port reph handling logic to look into font features - - ...instead of using a hardcoded list of Ra characters. - - src/hb-ot-shape-complex-indic.cc | 48 - +++++++++++++++++++++++++--------------- - 1 file changed, 30 insertions(+), 18 deletions(-) - -commit 43149afbc0007ea075a7017c0e56056c3c0f3614 -Author: Behdad Esfahbod -Date: Mon Nov 12 13:34:17 2012 -0800 - - Route MEETEI_MAYEK through the Indic shaper - - Since it has a couple of left-"matras". - - src/hb-ot-shape-complex-private.hh | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit d0905c3400085f9c0901c558ba1b81b5039510e4 -Author: Behdad Esfahbod -Date: Mon Nov 12 13:02:20 2012 -0800 - - Minor - - src/hb-ot-head-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 365f27ab5ba025bf1be6a882ed213c695cbfed7e -Author: Behdad Esfahbod -Date: Mon Nov 12 11:16:57 2012 -0800 - - Work around older compilers - - As reported on the list: - - I am seeing a similar problem building harfbuzz 0.9.5 with Apple gcc - 4.0.1 on OS X 10.5 Leopard: - - hb-ot-layout-common-private.hh:406: error: 'struct - OT::CoverageFormat1::Iter' is private - hb-ot-layout-common-private.hh:646: error: within this context - hb-ot-layout-common-private.hh:500: error: 'struct - OT::CoverageFormat2::Iter' is private - hb-ot-layout-common-private.hh:647: error: within this context - make[4]: *** [libharfbuzz_la-hb-ot-layout.lo] Error 1 - - Also reported as happening with MSVC 2005. - - src/hb-ot-layout-common-private.hh | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 6b389ddc3623d042ded4731f4d62dc354002fdd0 -Author: Behdad Esfahbod -Date: Mon Nov 12 11:02:56 2012 -0800 - - [Indic] Don't apply 'liga' - - Uniscribe doesn't. And some fonts abuse this feature to get Indic - shaping working in non-complex applications like Adobe's apps. - - No change in numbers: - - BENGALI: 353897 out of 354188 tests passed. 291 failed (0.0821598%) - DEVANAGARI: 707337 out of 707394 tests passed. 57 failed (0.00805774%) - GUJARATI: 366440 out of 366457 tests passed. 17 failed (0.00463902%) - GURMUKHI: 60704 out of 60747 tests passed. 43 failed (0.0707854%) - KANNADA: 951046 out of 951913 tests passed. 867 failed (0.0910798%) - KHMER: 299074 out of 299124 tests passed. 50 failed (0.0167155%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1048011 out of 1048334 tests passed. 323 failed - (0.0308108%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%) - TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%) - TELUGU: 970557 out of 970573 tests passed. 16 failed (0.00164851%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - src/hb-ot-shape-complex-indic.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit d05ac7dc3f2949e85f1fe996315b31b7aae370fe -Author: Behdad Esfahbod -Date: Mon Nov 12 10:26:50 2012 -0800 - - Fix hb-ft glyph name for broken fonts that return empty glyph names - - src/hb-ft.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3bc22eb7b843c77706bb13fc332009097f247813 -Author: Behdad Esfahbod -Date: Mon Nov 12 10:07:28 2012 -0800 - - Minor - - util/options.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4899801155cc0fef7a8aa58c33ac2d30ba34bcc3 -Author: Behdad Esfahbod -Date: Thu Nov 8 15:08:26 2012 -0800 - - U+A872 PHAGS-PA SUPERFIXED LETTER RA is "Right"-Joining - - src/hb-ot-shape-complex-arabic.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 22a685836a59d1c02914761c02d3852810b83ec5 -Author: Behdad Esfahbod -Date: Mon Nov 5 15:20:10 2012 -0800 - - Adjust Mongolian shaping - - For U+1880..U+1886 Uniscribe thinks they are non-joining. - For U+1887 Uniscribe thinks it's joining, but looks wrong to me. - For now, match Uniscribe. - - src/hb-ot-shape-complex-arabic.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit e6b86c8519f894bf7fe18d5c143276521fcacece -Author: Behdad Esfahbod -Date: Mon Nov 5 15:18:49 2012 -0800 - - Add test for non-joining Mongolian letters - - For U+1880..U+1886 Uniscribe thinks they are non-joining. - For U+1887 Uniscribe thinks it's joining, but looks wrong to me. - - .../texts/in-tree/shaper-arabic/script-mongolian/misc/MANIFEST | 1 + - .../in-tree/shaper-arabic/script-mongolian/misc/non-joining.txt | - 8 ++++++++ - 2 files changed, 9 insertions(+) - -commit c26a52fbe62e5ba4d0e1e2ba13bfb6ceb3f773dc -Author: Behdad Esfahbod -Date: Sun Nov 4 16:48:45 2012 -0800 - - Minor - - src/hb-ot-shape-fallback.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f60d3ed35d94f1adcfd73ca05d03d7e81fb5de03 -Author: Behdad Esfahbod -Date: Sun Nov 4 16:44:47 2012 -0800 - - Minor - - src/hb-set-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f5e55754f962184d2fb7dcab837cdba56e8c7731 -Author: Behdad Esfahbod -Date: Fri Nov 2 13:53:18 2012 -0700 - - Add Tifinagh test data - - test/shaping/texts/in-tree/shaper-default/MANIFEST | 2 ++ - .../texts/in-tree/shaper-default/script-tifinagh/MANIFEST | 1 + - .../in-tree/shaper-default/script-tifinagh/misc/MANIFEST | 1 + - .../in-tree/shaper-default/script-tifinagh/misc/misc.txt | - 11 +++++++++++ - 4 files changed, 15 insertions(+) - -commit 10a33296e674ee84b9ed2df25cf373de7d020b8d -Author: Behdad Esfahbod -Date: Fri Nov 2 13:38:55 2012 -0700 - - Minor - - src/hb-ot-tag.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit c21498afd857e78230f761ee5c9e73adece89dd0 -Author: Behdad Esfahbod -Date: Fri Nov 2 10:21:26 2012 -0700 - - Add Mongolian and 'Phags-pa joining test cases - - test/shaping/texts/in-tree/shaper-arabic/MANIFEST | 1 + - .../in-tree/shaper-arabic/script-mongolian/misc/misc.txt | 3 +++ - .../texts/in-tree/shaper-arabic/script-phags-pa/MANIFEST | 1 + - .../in-tree/shaper-arabic/script-phags-pa/misc/MANIFEST | 1 + - .../in-tree/shaper-arabic/script-phags-pa/misc/misc.txt | 14 - ++++++++++++++ - 5 files changed, 20 insertions(+) - -commit 3ba7bc14ea652d27639f34109e51a497a678a54a -Author: Behdad Esfahbod -Date: Thu Nov 1 20:05:04 2012 -0700 - - Implement 'Phags-pa shaping - - Through the Arabic shaper. It's similar to Mongolian. - - src/hb-ot-shape-complex-arabic.cc | 15 ++++++++++++--- - src/hb-ot-shape-complex-private.hh | 4 +--- - 2 files changed, 13 insertions(+), 6 deletions(-) - -commit 431bef2e16c7888ca3960f5797432d3a20903550 -Author: Behdad Esfahbod -Date: Thu Nov 1 16:26:01 2012 -0700 - - Minor build fix - - test/api/Makefile.am | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit da70111ab234e8b740ce6fb1789a1809fbec0c44 -Author: Behdad Esfahbod -Date: Wed Oct 31 13:45:30 2012 -0700 - - Don't clear buffer pre-context if no new context is being provided - - Patch from Jonathan Kew. - - Part of fixing: - - Mozilla Bug 801410 - avoid inserting dotted-circle for run-initial - Unicode combining characters in "simple" scripts such as Latin - - https://bugzilla.mozilla.org/show_bug.cgi?id=801410 - - src/hb-buffer.cc | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 0bc7a38463bfb37f12efeb1b8cb2024cf4a347bc -Author: Behdad Esfahbod -Date: Mon Oct 29 22:02:45 2012 -0700 - - [OT] Fix ReverseChainingSubst - - We should make it clear that we don't want output buffer in this case, - otherwise buffer->backtrack_len() would be wrong. - - src/hb-buffer-private.hh | 1 + - src/hb-buffer.cc | 13 +++++++++++++ - src/hb-ot-layout-gsub-table.hh | 1 + - 3 files changed, 15 insertions(+) - -commit 2616689d159024d2b1cb1e68f9936b2129bf9be6 -Author: Behdad Esfahbod -Date: Mon Oct 29 21:51:56 2012 -0700 - - More tracing fixups - - src/hb-ot-layout-gsubgpos-private.hh | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -commit 937f8d3871863b8b1ed1d8900cf41999d92ba30f -Author: Behdad Esfahbod -Date: Mon Oct 29 21:49:33 2012 -0700 - - [Arabic] Enable dlig and mset for Arabic - - That's what the spec says, and what Uniscribe does. - - src/hb-ot-shape-complex-arabic.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 911ed096980630fd4a37bf2024036daae13a6056 -Author: Behdad Esfahbod -Date: Mon Oct 29 19:42:19 2012 -0700 - - Ignore gid0 in test results - - test/shaping/hb_test_tools.py | 1 + - 1 file changed, 1 insertion(+) - -commit bc513add7999baf32f126ceebbd318105ee66985 -Author: Behdad Esfahbod -Date: Mon Oct 29 19:03:55 2012 -0700 - - Add missing TRACE_RETURN - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 10b88d89ef1efcfddbbfabd3669399b472c8a900 -Author: Behdad Esfahbod -Date: Mon Oct 29 18:18:24 2012 -0700 - - Add Ethiopic test case - - This sequence: U+120B,U+135F,U+120B with the Nyala font from Win7 - exposes a GPOS bug in Uniscribe, in that the positioned mark is - wrongly - moved as a result a following kern. - - This is the one "failure" in the Ethiopic test suite :-). - - ETHIOPIC: 118900 out of 118901 tests passed. 1 failed (0.000841036%) - - test/shaping/texts/in-tree/shaper-default/script-ethiopic/MANIFEST | - 1 + - test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/MANIFEST | - 1 + - test/shaping/texts/in-tree/shaper-default/script-ethiopic/misc/misc.txt | - 1 + - 3 files changed, 3 insertions(+) - -commit 88d3c98e309e14c3115825d1d8d40d0b3eec2d97 -Author: Behdad Esfahbod -Date: Mon Oct 29 16:27:02 2012 -0700 - - [Indic] Position pre-base reordering Ra after Chillus in Malayalam - - The logic for pre-base reordering follows the left matra logic. - We had an exception for Malayalam/Tamil in the left matra - repositioning - which was not reflected in pre-base reordering. - - Malayalam failures down from 337 to 323. - - BENGALI: 353996 out of 354285 tests passed. 289 failed (0.0815727%) - DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%) - GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%) - GURMUKHI: 60769 out of 60809 tests passed. 40 failed (0.0657797%) - KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%) - KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1048011 out of 1048334 tests passed. 323 failed - (0.0308108%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271726 out of 271847 tests passed. 121 failed (0.0445103%) - TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%) - TELUGU: 970558 out of 970573 tests passed. 15 failed (0.00154548%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - src/hb-ot-shape-complex-indic.cc | 35 +++++++++++++++++++++-------------- - 1 file changed, 21 insertions(+), 14 deletions(-) - -commit 21bf796954678d02f136709cade43adef6f8f42b -Author: Behdad Esfahbod -Date: Mon Oct 29 14:21:09 2012 -0700 - - Add missed file - - src/hb-ucdn/COPYING | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit 01013a0f5c58d5d54a37e5b4d6692e0bbd4baf80 -Author: Behdad Esfahbod -Date: Mon Oct 29 10:56:04 2012 -0700 - - Include config.h.in in tree - - I typically don't like including generating files in tree. - But like to - make an exception for this, since this forms the canonical list of - options one would need to go through when building with alternative - build systems. - - Makefile.am | 1 - - config.h.in | 160 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 160 insertions(+), 1 deletion(-) - -commit 02ed52169ad3bb48f4989f721b0c6572e064a712 -Author: Behdad Esfahbod -Date: Sun Oct 28 21:26:19 2012 -0700 - - Improve license information - - COPYING | 2 ++ - src/hb-icu-le/COPYING | 2 ++ - src/hb-icu-le/Makefile.am | 2 +- - src/hb-ucdn/Makefile.am | 2 +- - src/hb-ucdn/README | 7 +++++++ - 5 files changed, 13 insertions(+), 2 deletions(-) - -commit 4c1d9244617e472464722e64d2cdbc1f9e8827f6 -Author: Behdad Esfahbod -Date: Sun Oct 28 20:27:25 2012 -0700 - - Minor - - src/hb-icu-le.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 38b015e57ffa75d3b078a368c23685beb7c3f946 -Author: Behdad Esfahbod -Date: Sun Oct 28 20:11:47 2012 -0700 - - Fix hb_buffer_set_length(buffer, 0) - - Was causing invalid realloc()s. - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b7115b63be72e109b51f538ba581aed1017b2d55 -Author: Behdad Esfahbod -Date: Sun Oct 28 20:11:42 2012 -0700 - - Add XXX - - src/hb-icu-le.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 71ee1f24503cd066ffc1a36cc5dd9a3c1d1a6dfd -Author: Behdad Esfahbod -Date: Sun Oct 28 19:18:11 2012 -0700 - - Port to ICU LayoutEngine C API - - Incidentally, this makes it not crash with icu-le-hb anymore... - I'm not smart / stupid enough to spend two more days debugging C++ - linking issues, and this is ABI-stable at least. - - src/hb-icu-le.cc | 31 ++++++++++++++++--------------- - 1 file changed, 16 insertions(+), 15 deletions(-) - -commit 0144f05e57088b30ac894cdae8b04b265d4dfbe7 -Author: Behdad Esfahbod -Date: Fri Oct 26 13:48:06 2012 -0700 - - Remove unused members - - src/hb-icu-le/PortableFontInstance.h | 3 --- - 1 file changed, 3 deletions(-) - -commit cf3afd8979b1db76d437f428cbd51cb363e0d18e -Author: Behdad Esfahbod -Date: Thu Oct 25 16:32:54 2012 -0700 - - Rename and revamp is_zero_width() to be is_default_ignorable() - - That's really the logic desired. Except that MONGOLIAN VOWEL - SEPARATOR - is not default_ignorable but it really should be. Reported to - Unicode. - - Based on suggestion from Konstantin Ritt. - - src/hb-fallback-shape.cc | 2 +- - src/hb-ot-shape-private.hh | 4 +-- - src/hb-ot-shape.cc | 2 +- - src/hb-unicode-private.hh | 90 - +++++++++++++++++++++++++++++----------------- - 4 files changed, 62 insertions(+), 36 deletions(-) - -commit a724139e641bf1592b1ff786a75a9de2ea8163cf -Author: Behdad Esfahbod -Date: Wed Oct 24 14:02:15 2012 -0700 - - Update TODO - - TODO | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -commit 13c058472913b7b6d689f9022226079da65420b0 -Author: Behdad Esfahbod -Date: Sun Oct 14 18:37:09 2012 -0500 - - 0.9.5 - - NEWS | 23 +++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 24 insertions(+), 1 deletion(-) - -commit fecdfa95daf4916695f23e7dab89ab363be11b89 -Author: Behdad Esfahbod -Date: Sun Oct 7 17:19:58 2012 -0400 - - Fixup hb_ot_shape_closure() - - Broke it when merged cmap mapping and normalizer. Ouch! - - src/hb-ot-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2d1dcb3ce3354c2d5e2b4d1d291beb8d23cdea22 -Author: Behdad Esfahbod -Date: Sun Oct 7 17:13:46 2012 -0400 - - Mark debug message functions static - - src/hb-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 9947bd6daffb5ec76b67536575e7617ba4f10b1e -Author: Behdad Esfahbod -Date: Tue Oct 2 20:44:43 2012 -0400 - - Update UCDN to upstream commit - 3f159c87824230b59af56e40e2db32caf6afa51a - - - Unicode 6.2.0 goodness, - - Unassigned codepoints now have correct properties. Passes test - suite. - - src/hb-ucdn/unicodedata_db.h | 1966 - ++++++++++++++++++++++-------------------- - 1 file changed, 1036 insertions(+), 930 deletions(-) - -commit 32dbfcf763d1ae497d3c95de986a83441331678f -Author: Behdad Esfahbod -Date: Tue Oct 2 17:42:13 2012 -0400 - - Fix visibility of UCDN symbols - - src/hb-ucdn.cc | 2 -- - src/hb-ucdn/ucdn.h | 19 +++++++++++++++++++ - 2 files changed, 19 insertions(+), 2 deletions(-) - -commit 3f33f0d1f2603f22e86adffe3c3836136ba5e5fd -Author: Behdad Esfahbod -Date: Tue Oct 2 16:03:18 2012 -0400 - - Import UCDN into source tree - - https://github.com/grigorig/ucdn - - configure.ac | 11 +- - src/Makefile.am | 7 + - src/hb-ucdn.cc | 207 ++ - src/hb-ucdn/Makefile.am | 18 + - src/hb-ucdn/README | 33 + - src/hb-ucdn/ucdn.c | 282 +++ - src/hb-ucdn/ucdn.h | 290 +++ - src/hb-ucdn/unicodedata_db.h | 4648 - ++++++++++++++++++++++++++++++++++++++++++ - src/hb-unicode.cc | 3 + - 9 files changed, 5498 insertions(+), 1 deletion(-) - -commit 0e292eb2a2abbac152eeea2060e58b7a66449745 -Author: Behdad Esfahbod -Date: Tue Oct 2 14:59:00 2012 -0400 - - Remove Glib thread-safety support - - Now that we have pthread detection in configure, we don't need Glib - anymore. Glib will only be a Unicode data provider. - - configure.ac | 8 ++++---- - src/hb-atomic-private.hh | 13 ------------- - src/hb-mutex-private.hh | 20 -------------------- - 3 files changed, 4 insertions(+), 37 deletions(-) - -commit 66efe896483c58f3ef9bd218c02bb7ea604f68ee -Author: Behdad Esfahbod -Date: Tue Oct 2 14:55:32 2012 -0400 - - Check for pthreads - - configure.ac | 7 +++++++ - src/Makefile.am | 5 +++++ - 2 files changed, 12 insertions(+) - -commit 10a8162dddb8b39ae130fe5bb7d1819471fa7e06 -Author: Behdad Esfahbod -Date: Tue Oct 2 14:46:34 2012 -0400 - - Add ax_pthread.m4 - - m4/ax_pthread.m4 | 309 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 309 insertions(+) - -commit 8ac34bc6ff1d0646503a45659b1846d8cf9c0603 -Author: Behdad Esfahbod -Date: Tue Oct 2 14:46:04 2012 -0400 - - Add pkg.m4 to git repo - - m4/pkg.m4 | 157 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 157 insertions(+) - -commit c7afac0aa6e51e6a49ebf13f72537398698c9e49 -Author: Behdad Esfahbod -Date: Tue Oct 2 14:44:47 2012 -0400 - - Add AC_CONFIG_MACRODIR - - Makefile.am | 2 ++ - configure.ac | 2 ++ - 2 files changed, 4 insertions(+) - -commit f2eb3fa9dca8d21fae20c9b9dddad3245df74a05 -Author: Behdad Esfahbod -Date: Tue Sep 25 21:35:35 2012 -0400 - - [OT] Only insert dottedcircle if at the beginning of paragraph - - If the first char in the run is a combining mark, but there is text - before the run, don't insert dottedcircle. - - Part of addressing: - https://bugzilla.redhat.com/show_bug.cgi?id=858736 - - src/hb-ot-shape.cc | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit bdc2fc8294da7f374701aafe9f5a82d60633946f -Author: Behdad Esfahbod -Date: Tue Sep 25 21:32:35 2012 -0400 - - [Arabic] Respect Arabic joining from neighboring context - - Now we respect Arabic joining across runs. - - src/hb-ot-shape-complex-arabic.cc | 31 +++++++++++++++++++++++++++++-- - 1 file changed, 29 insertions(+), 2 deletions(-) - -commit 05207a79e0ae1769c5feaebe3fd99bdf9cfcf834 -Author: Behdad Esfahbod -Date: Tue Sep 25 17:44:53 2012 -0400 - - [buffer] Save pre/post textual context - - To be used for a variety of purposes. We save up to five characters - in each direction. No public API changes, everything is taken care - of already. All clients need to do is to call hb_buffer_add_utf* with - the full text + segment info (or at least some context) instead of - just passing in the segment. - - Various operations (hb_buffer_reset, hb_buffer_set_length, - hb_buffer_add*) automatically reset the relevant contexts. - - src/hb-buffer-private.hh | 13 ++++++++++++- - src/hb-buffer.cc | 44 - ++++++++++++++++++++++++++++++++++++++++---- - src/hb-buffer.h | 2 +- - 3 files changed, 53 insertions(+), 6 deletions(-) - -commit 89ac39dbbe028e6379f64392f2e590e3f1fdd847 -Author: Behdad Esfahbod -Date: Tue Sep 25 13:59:24 2012 -0400 - - Add hb_utf_prev() - - src/hb-utf-private.hh | 71 - +++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 69 insertions(+), 2 deletions(-) - -commit 70ea4ac6887c7057113d714a98e55738b6196562 -Author: Behdad Esfahbod -Date: Tue Sep 25 12:30:16 2012 -0400 - - Slightly optimize UTF-8 parsing - - src/hb-utf-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4445e5e2ecc257a5d0fa2f2715bb7181a47346da -Author: Behdad Esfahbod -Date: Tue Sep 25 12:26:12 2012 -0400 - - [buffer] Cleanup / optimize UTF-16 parsing a bit - - src/hb-utf-private.hh | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit 1f66c3c1a0eb869c0d85a015235313177e0cec62 -Author: Behdad Esfahbod -Date: Tue Sep 25 11:42:16 2012 -0400 - - Add hb_utf_strlen() - - Speeds up UTF-8 parsing by calling strlen(). - - src/hb-buffer.cc | 13 ++----------- - src/hb-utf-private.hh | 22 ++++++++++++++++++++++ - 2 files changed, 24 insertions(+), 11 deletions(-) - -commit 7f19ae7b9f806a2e35206b2ad41651c5f80b2537 -Author: Behdad Esfahbod -Date: Tue Sep 25 11:22:28 2012 -0400 - - [buffer] Templatize UTF handling - - Also move UTF routines into a separate file, to be reused from shapers - that need it. - - src/Makefile.am | 1 + - src/hb-buffer.cc | 157 - +++++++++++++------------------------------------- - src/hb-utf-private.hh | 113 ++++++++++++++++++++++++++++++++++++ - 3 files changed, 155 insertions(+), 116 deletions(-) - -commit 0e0a4da9b7677a09e00d27313236e1f333864dd6 -Author: Behdad Esfahbod -Date: Tue Sep 25 11:09:04 2012 -0400 - - [buffer] Towards template'izing different UTF adders - - src/hb-buffer.cc | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -commit 7d37280600c157f3c4eae8746e99511702a58e8f -Author: Behdad Esfahbod -Date: Tue Sep 25 11:04:41 2012 -0400 - - Minor - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 54d5da4ee9d902ff36473cec558137eef8f23825 -Author: Behdad Esfahbod -Date: Tue Sep 25 10:50:41 2012 -0400 - - Remove unused indic.cc - - src/Makefile.am | 6 +----- - src/indic.cc | 51 --------------------------------------------------- - 2 files changed, 1 insertion(+), 56 deletions(-) - -commit fab7a71f110ed646745d54b23284537c50058c21 -Author: Behdad Esfahbod -Date: Mon Sep 24 21:51:13 2012 -0400 - - [Indic] Import ragel-generated Indic machine in git - - I don't expect ragel to be creating too much noise in its generated - output, and including this in-tree helps users right now. We can - revisit this later if it proved to be too much trouble. - - autogen.sh | 6 - - src/Makefile.am | 1 - - src/hb-ot-shape-complex-indic-machine.hh | 1314 - ++++++++++++++++++++++++++++++ - 3 files changed, 1314 insertions(+), 7 deletions(-) - -commit 20a840c7cd08069720050782b4533cde505df09a -Author: Behdad Esfahbod -Date: Mon Sep 24 20:23:00 2012 -0400 - - Use a C++ linker on Windows - - On Windows we don't care whether or not we link to libstdc++. - Seems to fix build with mingw32 on msys, as reported by Werner. - - src/Makefile.am | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit eb7669a38072b66eef3bd905a93c4815bef3f0e5 -Author: Behdad Esfahbod -Date: Tue Sep 18 19:42:06 2012 -0400 - - Better autofoo - - src/Makefile.am | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -commit d00f7d83750258eff915a3826700c4819e63e481 -Author: Behdad Esfahbod -Date: Mon Sep 17 20:59:09 2012 -0400 - - Fix dependencies - - src/Makefile.am | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 811eefe225d20b20f1de20c6e62a0ebd6d89102a -Author: Behdad Esfahbod -Date: Mon Sep 10 09:56:27 2012 -0400 - - Return NULL, not false - - Oh well... - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 166b5cf7ec2d37fb54a909c437ccdec1edaf37aa -Author: Behdad Esfahbod -Date: Fri Sep 7 14:55:07 2012 -0400 - - [Indic] Find syllables before any features are applied - - With FreeSerif, it seems that the 'ccmp' feature does ligature - substituttions. That was then causing syllable match failures. - We now - find syllables before any features have been applied. - - Test sequence: U+0D9A,U+0DCA,U+200D,U+0DBB,U+0DCF - - src/hb-ot-shape-complex-indic-machine.rl | 4 +- - src/hb-ot-shape-complex-indic.cc | 56 - +++++++++++++++------- - .../indic/script-sinhala/misc/misc.txt | 1 + - 3 files changed, 43 insertions(+), 18 deletions(-) - -commit 96fdc04e5c6daafce3d45e7508418e4db94df44c -Author: Behdad Esfahbod -Date: Thu Sep 6 22:26:16 2012 -0400 - - Add hb_buffer_[sg]et_content_type - - And hb_buffer_content_type_t and enum values. - - TODO | 1 + - src/hb-buffer-private.hh | 2 ++ - src/hb-buffer.cc | 34 ++++++++++++++++++++++++++++++++++ - src/hb-buffer.h | 14 ++++++++++++++ - src/hb-shape.cc | 5 +++++ - 5 files changed, 56 insertions(+) - -commit e30ebd2794b37bd8ec716a258d5cb017fb1dfadc -Author: Behdad Esfahbod -Date: Thu Sep 6 22:09:06 2012 -0400 - - Add hb_feature_to/from_string() - - TODO | 4 +- - src/hb-common.cc | 9 +++ - src/hb-common.h | 6 +- - src/hb-shape.cc | 168 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-shape.h | 13 +++++ - util/options.cc | 132 ++----------------------------------------- - 6 files changed, 201 insertions(+), 131 deletions(-) - -commit f67917161bbe317a33d6407fbc62ebffcafe7154 -Author: Behdad Esfahbod -Date: Thu Sep 6 17:22:31 2012 -0400 - - [OT] Do per-ligature-component fallback mark positioning - - With this in place, you can remove GDEF/GSUB/GPOS tables from Arabic - fonts and still get per-component marks positioned on - oh-yeah-fallback-formed LAM-ALEF ligatures with marks in between - the LAM - and ALEF. - - Now *that*'s pretty cool, if a bit anachronistic... - - src/hb-ot-shape-fallback.cc | 43 - ++++++++++++++++++++++++++++++++++++------- - 1 file changed, 36 insertions(+), 7 deletions(-) - -commit 525c6855783a018d52867b9ece2ee90868ff1f91 -Author: Behdad Esfahbod -Date: Thu Sep 6 16:02:07 2012 -0400 - - [OT] Make fallback mark positioning more robust - - ...with clusters spanning multiple base characters. - - src/hb-ot-shape-fallback.cc | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 5d502443f5a07cbd0aa860dd71a0fa4ea8b6ff9f -Author: Behdad Esfahbod -Date: Thu Sep 6 15:29:29 2012 -0400 - - [old] Clear offset array - - src/hb-old.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 9433c218b4853442dd9ad53d0588a837a33dbf1e -Author: Behdad Esfahbod -Date: Thu Sep 6 14:27:15 2012 -0400 - - [OT] Simplify fallback positioning condition - - src/hb-ot-shape-fallback.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 028a1706f898bfcee0d14acfba47ebe1de09f0c4 -Author: Behdad Esfahbod -Date: Thu Sep 6 14:25:48 2012 -0400 - - Refactor common macro - - src/hb-ot-shape-fallback.cc | 5 +---- - src/hb-ot-shape-normalize.cc | 5 +---- - src/hb-ot-shape.cc | 5 +---- - src/hb-unicode-private.hh | 9 +++++++++ - 4 files changed, 12 insertions(+), 12 deletions(-) - -commit 07cfbe21b511056d5c3c75cbfe84e4e982c3e8fb -Author: Behdad Esfahbod -Date: Thu Sep 6 01:16:39 2012 -0400 - - [OT] Streamline Arabic fallback shaping table - - src/gen-arabic-table.py | 6 +- - src/hb-ot-shape-complex-arabic-fallback.hh | 2 +- - src/hb-ot-shape-complex-arabic-table.hh | 266 - ++++++++++++++--------------- - 3 files changed, 137 insertions(+), 137 deletions(-) - -commit 82f6b6f388b801a1483854cb56a2cadbb94e0f2b -Author: Behdad Esfahbod -Date: Thu Sep 6 01:12:50 2012 -0400 - - Minor - - src/hb-ot-shape-complex-arabic-fallback.hh | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -commit fabd3113a98c5f4114f48920fa7ea38bd65a8d32 -Author: Behdad Esfahbod -Date: Wed Sep 5 22:19:28 2012 -0400 - - [OT] Port Arabic fallback shaping to synthetic GSUB - - All of init/medi/fina/isol and rlig implemented. - - Let there be dragons... ⻯ - - src/Makefile.am | 1 + - src/hb-open-type-private.hh | 69 +++++--- - src/hb-ot-layout-common-private.hh | 9 +- - src/hb-ot-layout-gsub-table.hh | 11 +- - src/hb-ot-map-private.hh | 6 + - src/hb-ot-map.cc | 1 + - src/hb-ot-shape-complex-arabic-fallback.hh | 252 - +++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-arabic.cc | 158 ++++++------------ - src/hb-ot-shape.cc | 7 +- - src/hb-private.hh | 11 +- - 10 files changed, 369 insertions(+), 156 deletions(-) - -commit f0b8ed1b6dd9f1d2b9084c101a6fc5dee0cc22a8 -Author: Behdad Esfahbod -Date: Wed Sep 5 17:32:57 2012 -0400 - - [Indic] Allow "H,ZWJ,M" - - Uniscribe accepts a Halant,ZWJ before matras. Allow that. - - BENGALI down from 295 to 291 - DEVANAGARI down from 69 to 57 - GUJARATI down from 19 to 17 - KANNADA down from 871 to 867 - MALAYALAM down from 340 to 337 - TELUGU down from 20 to 16 - - Currently at: - - BENGALI: 353897 out of 354188 tests passed. 291 failed (0.0821598%) - DEVANAGARI: 707337 out of 707394 tests passed. 57 failed (0.00805774%) - GUJARATI: 366440 out of 366457 tests passed. 17 failed (0.00463902%) - GURMUKHI: 60704 out of 60747 tests passed. 43 failed (0.0707854%) - KANNADA: 951046 out of 951913 tests passed. 867 failed (0.0910798%) - KHMER: 299077 out of 299124 tests passed. 47 failed (0.0157125%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1047997 out of 1048334 tests passed. 337 failed - (0.0321462%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%) - TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%) - TELUGU: 970557 out of 970573 tests passed. 16 failed (0.00164851%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4ed717ef61813fa16cf74f2874848e9feb81568f -Author: Behdad Esfahbod -Date: Wed Sep 5 17:21:17 2012 -0400 - - [Indic] Relax grammar - - Now that we insert dotted-circle, tests break more easily when - our indic - machine breaks. - - In particular, a few Devanagari tests were having sequences like - "C,H,ZWJ,N", and because of the ZWJ the Nukta does NOT get reordered - to - before the Halant as the grammar used to expect... Fixup. - - Another case is as simple as "C,ZWJ,SM". - - Fixes 10 out of 79 failures: - - DEVANAGARI: 707325 out of 707394 tests passed. 69 failed (0.00975411%) - - src/hb-ot-shape-complex-indic-machine.rl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit aa7141efe49991a1160489106984e95163fe2ab8 -Author: Behdad Esfahbod -Date: Wed Sep 5 15:54:21 2012 -0400 - - [Indic] Fix Khmer syllable-final coeng-consonant - - Brings down Khmer failures from 162 to 47. - - KHMER: 299077 out of 299124 tests passed. 47 failed (0.0157125%) - - Also rebaselined some of the test files that had only-inherited lines. - Removing those, the stats are: - - BENGALI: 353893 out of 354188 tests passed. 295 failed (0.0832891%) - DEVANAGARI: 707315 out of 707394 tests passed. 79 failed (0.0111678%) - GUJARATI: 366438 out of 366457 tests passed. 19 failed (0.00518478%) - GURMUKHI: 60704 out of 60747 tests passed. 43 failed (0.0707854%) - KANNADA: 951042 out of 951913 tests passed. 871 failed (0.0915%) - KHMER: 299077 out of 299124 tests passed. 47 failed (0.0157125%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1047994 out of 1048334 tests passed. 340 failed - (0.0324324%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%) - TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%) - TELUGU: 970553 out of 970573 tests passed. 20 failed (0.00206064%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - Still some regressions, but some of the more egregious cases are - addressed. - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit efb8d3eb713bca7cbfca41380a012bdb4d380e5c -Author: Behdad Esfahbod -Date: Wed Sep 5 15:50:47 2012 -0400 - - Fixup test failure reporting - - After we implemented dotted-circle, we were still ignoring any tests - that had dottedcircle in it for any of the shapers. That meant - that if - we wrongly outputted dottedcircle, the test was being ignored. Ouch! - - Fixing that shows regressions across the board. Most are Uniscribe - bugs: NOT inserting dotted-circle when it should. Some are arou - machine bugs. This is in fact a nice way to catch Indic-machine - deficiencies and when I fix the regressions, our clusters should be - much closer to Uniscribe. For now, we regressed from: - - BENGALI: 353997 out of 354285 tests passed. 288 failed (0.0812905%) - DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%) - GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%) - GURMUKHI: 60769 out of 60809 tests passed. 40 failed (0.0657797%) - KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%) - KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1048104 out of 1048416 tests passed. 312 failed - (0.0297592%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271747 out of 271847 tests passed. 100 failed (0.0367854%) - TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%) - TELUGU: 970558 out of 970573 tests passed. 15 failed (0.00154548%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - To: - - BENGALI: 353990 out of 354285 tests passed. 295 failed (0.0832663%) - DEVANAGARI: 707315 out of 707394 tests passed. 79 failed (0.0111678%) - GUJARATI: 366447 out of 366506 tests passed. 59 failed (0.016098%) - GURMUKHI: 60707 out of 60809 tests passed. 102 failed (0.167738%) - KANNADA: 951042 out of 951913 tests passed. 871 failed (0.0915%) - KHMER: 298962 out of 299124 tests passed. 162 failed (0.0541581%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1048074 out of 1048416 tests passed. 342 failed - (0.0326206%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%) - TAMIL: 1091835 out of 1091837 tests passed. 2 failed (0.000183178%) - TELUGU: 970553 out of 970573 tests passed. 20 failed (0.00206064%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - Investigating. - - test/shaping/hb_test_tools.py | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 27bd55bd2ca599d501f10c2fae81861137517e46 -Author: Behdad Esfahbod -Date: Wed Sep 5 15:11:14 2012 -0400 - - [Indic] Tamil does not have half-forms either - - The Win7 Tamil font does not realy on this behavior, but the WinXP - version does. Handle Tamil like Malayalam: Matras always move to - before base. - - WinXP Tamil failures went down from 168964 (15.4752%) to 167 - (0.0152953%) (two orders of magnitude reduction!). - - Included in this is a minor fixup that actually fixed a few tests - with non-Tamil too. Numbers at: - - BENGALI: 353997 out of 354285 tests passed. 288 failed (0.0812905%) - DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%) - GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%) - GURMUKHI: 60769 out of 60809 tests passed. 40 failed (0.0657797%) - KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%) - KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1048104 out of 1048416 tests passed. 312 failed - (0.0297592%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271747 out of 271847 tests passed. 100 failed (0.0367854%) - TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%) - TELUGU: 970558 out of 970573 tests passed. 15 failed (0.00154548%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - src/hb-ot-shape-complex-indic.cc | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 87b75d0a4aa03fe7a03e3bf7baf8ece131aec1bb -Author: Behdad Esfahbod -Date: Tue Sep 4 23:06:38 2012 -0400 - - [OT] Allow adding features with fallback implementation - - src/hb-ot-map-private.hh | 7 ++++--- - src/hb-ot-map.cc | 6 ++++-- - 2 files changed, 8 insertions(+), 5 deletions(-) - -commit 1d3947a6bda6986c9c7d993589053051c119cc81 -Author: Behdad Esfahbod -Date: Tue Sep 4 22:42:17 2012 -0400 - - Minor - - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit b3b89b66586897a69b410ef02e7434691de84ae6 -Author: Behdad Esfahbod -Date: Tue Sep 4 21:13:17 2012 -0400 - - [OT] Add SubstLookup serialize API - - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 65 - +++++++++++++++++++++++++++++++++++++- - 2 files changed, 65 insertions(+), 2 deletions(-) - -commit 715e03bc21d6adaa8e1f647235843839dc47dad1 -Author: Behdad Esfahbod -Date: Tue Sep 4 20:10:17 2012 -0400 - - Minor - - src/hb-open-type-private.hh | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -commit 652d1e0d64e47313ead2fc8318d1236f0e0d80ca -Author: Behdad Esfahbod -Date: Tue Sep 4 20:00:44 2012 -0400 - - [OT] Start adding Lookup-level serialize API - - src/hb-ot-layout-common-private.hh | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) - -commit a930c68e9c50aade78c1eb0eef075c9c117e4ef6 -Author: Behdad Esfahbod -Date: Tue Sep 4 18:17:57 2012 -0400 - - [OT] More serialize. Implements all basic GSUB subtables - - src/hb-open-type-private.hh | 53 +++++++++++++++- - src/hb-ot-layout-common-private.hh | 8 ++- - src/hb-ot-layout-gsub-table.hh | 125 - +++++++++++++++++++++++++++++-------- - 3 files changed, 156 insertions(+), 30 deletions(-) - -commit 1b38b4e817d871b9549be65af6030bd0eea7f775 -Author: Behdad Esfahbod -Date: Tue Sep 4 18:17:21 2012 -0400 - - Minor - - src/hb-ot-layout-gsub-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f7e81ce0b882aa942ae33c787e741c5e8e5a0173 -Author: Behdad Esfahbod -Date: Tue Sep 4 15:32:37 2012 -0400 - - 0.9.4 - - NEWS | 18 ++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 19 insertions(+), 1 deletion(-) - -commit 2bd9fe359839a653f7caae534bf768af1735f155 -Author: Behdad Esfahbod -Date: Tue Sep 4 15:15:19 2012 -0400 - - Refactor - - src/hb-ot-layout-gpos-table.hh | 7 ++----- - src/hb-ot-layout-gsub-table.hh | 16 +++++----------- - src/hb-ot-layout-gsubgpos-private.hh | 13 +++---------- - src/hb-ot-layout.cc | 23 +++++++++++++++++------ - src/hb-ot-shape-complex-arabic.cc | 4 +--- - 5 files changed, 28 insertions(+), 35 deletions(-) - -commit a5ddd9e31cd7906c4b559aa5b2fafdae4b9c8935 -Author: Behdad Esfahbod -Date: Tue Sep 4 14:55:00 2012 -0400 - - [OT] Really fix possible NULL dereference this time - - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- - src/hb-ot-layout.cc | 6 +++--- - src/hb-ot-shape-complex-arabic.cc | 4 +++- - 3 files changed, 10 insertions(+), 8 deletions(-) - -commit 29416833584d7831ece84aaeada6f5ebba7828c0 -Author: Behdad Esfahbod -Date: Mon Sep 3 23:31:14 2012 -0400 - - [OT] Implement serialize() for AlternateSubst - - src/hb-ot-layout-gsub-table.hh | 33 +++++++++++++++++++++++++++++++++ - 1 file changed, 33 insertions(+) - -commit 1f07e3382a1608b054cbf88b89fef74f6c485434 -Author: Behdad Esfahbod -Date: Mon Sep 3 23:28:34 2012 -0400 - - [OT] Implement serialize() for MultiSubst - - src/hb-open-type-private.hh | 10 ++++++++++ - src/hb-ot-layout-gsub-table.hh | 43 - ++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 53 insertions(+) - -commit 4912030dfba740c822e200d33cbb5c6dbbeaf79e -Author: Behdad Esfahbod -Date: Mon Sep 3 20:58:03 2012 -0400 - - Minor - - src/hb-open-type-private.hh | 4 ++-- - src/hb-ot-layout-gsub-table.hh | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit f8fa2b5cf67b02d74514dec7885d03de73ec7349 -Author: Behdad Esfahbod -Date: Mon Sep 3 20:19:46 2012 -0400 - - Fix possible NULL dereference - - As reported by Kenichi Ishibashi. - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4b312fb288faa383a2c5bd3be0428f0e58e02699 -Author: Behdad Esfahbod -Date: Sat Sep 1 21:56:06 2012 -0400 - - [OT] Remove serialize alignment - - Will reintroduce in a different way when we actually need it. - - src/hb-open-type-private.hh | 24 +++++++++++------------- - 1 file changed, 11 insertions(+), 13 deletions(-) - -commit c61be03d6df122f18eebda3b29e42c9e768d45b9 -Author: Behdad Esfahbod -Date: Sat Sep 1 21:43:38 2012 -0400 - - [OT] A bit more serialize - - src/hb-open-type-private.hh | 14 +++++++++++++ - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 43 - ++++++++++++++++++++++++++++++++++++-- - 3 files changed, 56 insertions(+), 3 deletions(-) - -commit abcc5ac1fde1c493e4055dd2f27b8aade7713156 -Author: Behdad Esfahbod -Date: Sat Sep 1 21:30:17 2012 -0400 - - [OT] Improve serialize syntax - - For some definition of improvement... - - src/hb-open-type-private.hh | 6 ++++-- - src/hb-ot-layout-gsub-table.hh | 3 +-- - 2 files changed, 5 insertions(+), 4 deletions(-) - -commit bc5be24014371ceb811b9ffd37062ede63d87bb1 -Author: Behdad Esfahbod -Date: Sat Sep 1 20:48:22 2012 -0400 - - [OT] Restart work on serialize() - - src/hb-open-type-private.hh | 39 ++++++++++++++++++------ - src/hb-ot-layout-common-private.hh | 61 - +++++++++++++++++++------------------- - src/hb-ot-layout-gsub-table.hh | 13 ++++++++ - 3 files changed, 73 insertions(+), 40 deletions(-) - -commit 6912e476dd92639c3ddf07ca51c8d4a262c8b3a5 -Author: Behdad Esfahbod -Date: Sat Sep 1 20:38:45 2012 -0400 - - [OT] Insert dotted-circle for run-initial marks - - Unfortunately if the font has GPOS and 'mark' feature does - not position mark on dotted-circle, our inserted dotted-circle - will not get the mark repositioned to itself. Uniscribe cheats - here. - - If there is no GPOS however, the fallback positioning kicks in - and sorts this out. - - I'm not willing to address the first case. - - src/hb-ot-shape.cc | 32 ++++++++++++++++++++++++++++++++ - 1 file changed, 32 insertions(+) - -commit 1d581ec384bc1780995e32e1c44103af57596eda -Author: Behdad Esfahbod -Date: Sat Sep 1 20:06:26 2012 -0400 - - [OT] Fallback-position ccc=0 Thai / Lao marks - - Not perfect, but so is fallback positioning in 2012... - - src/hb-ot-shape-fallback.cc | 56 - +++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 46 insertions(+), 10 deletions(-) - -commit 3992b5ec4cb43d114d87ff7ee2b992bcf819c9cd -Author: Behdad Esfahbod -Date: Sat Sep 1 19:20:41 2012 -0400 - - Move code around - - src/hb-ot-shape-fallback-private.hh | 5 ++++ - src/hb-ot-shape-fallback.cc | 46 - +++++++++++++++++++++++++------------ - src/hb-ot-shape-private.hh | 6 +++++ - src/hb-ot-shape.cc | 4 ++++ - 4 files changed, 46 insertions(+), 15 deletions(-) - -commit b85800f9de8976a7418ef9df467d3080c6ab0199 -Author: Behdad Esfahbod -Date: Fri Aug 31 18:12:01 2012 -0400 - - [Indic] Implement dotted-circle insertion for broken clusters - - No panic, we reeally insert dotted circle when it's absolutely broken. - - Fixes most of the dotted-circle cases against Uniscribe. (for - Devanagari - fixes 80% of them, for Khmer 70%; the rest look like Uniscribe being - really bogus...) - - I had to make a decision. Apparently Uniscribe adds one dotted circle - to each broken character. I tried that, but that goes wrong - easily with - split matras. So I made it add only one dotted circle to an entire - broken syllable tail. As in: "if there was a dotted circle here, this - would have formed a correct cluster." That works better for split - stuff, and I like it more. - - src/hb-buffer-private.hh | 1 + - src/hb-buffer.cc | 10 +++++ - src/hb-ot-shape-complex-indic-machine.rl | 4 +- - src/hb-ot-shape-complex-indic-private.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 67 - +++++++++++++++++++++++++++++--- - src/hb-ot-shape-normalize-private.hh | 1 + - src/hb-ot-shape-normalize.cc | 11 +++--- - 7 files changed, 83 insertions(+), 13 deletions(-) - -commit 327d14ef188396006d54af976506ab6f8bb2869a -Author: Behdad Esfahbod -Date: Fri Aug 31 16:49:34 2012 -0400 - - [Indic] Start adding dotted-circle instrastructure - - src/hb-ot-shape-complex-indic-machine.rl | 19 +++++++------ - src/hb-ot-shape-complex-indic.cc | 46 - +++++++++++++++++++++++++++++--- - 2 files changed, 51 insertions(+), 14 deletions(-) - -commit 1be368e96fb7de8c77bf992874e0d5bd6b272ebe -Author: Behdad Esfahbod -Date: Fri Aug 31 16:29:17 2012 -0400 - - Minor - - src/hb-buffer-private.hh | 16 +++++++++++++++- - src/hb-buffer.cc | 15 --------------- - 2 files changed, 15 insertions(+), 16 deletions(-) - -commit 784f29d061a2939562eca0c4943feb01174aee00 -Author: Behdad Esfahbod -Date: Fri Aug 31 14:06:26 2012 -0400 - - Minor - - src/hb-ot-shape.cc | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit 5a7f18767a87a3f07269d0814f984a98f86ab852 -Author: Behdad Esfahbod -Date: Thu Aug 30 22:53:29 2012 -0400 - - [OT] Better fallback-position Thai / Lao ccc!=0 marks - - src/hb-ot-shape-fallback.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 9f2348de58f0f85593027378169bc03c4dd64e59 -Author: Behdad Esfahbod -Date: Wed Aug 29 21:08:59 2012 -0400 - - [OT] Add serialize() for Coverage - - src/hb-open-type-private.hh | 34 +++++++++++++++++---- - src/hb-ot-layout-common-private.hh | 62 - ++++++++++++++++++++++++++++++++++++++ - 2 files changed, 90 insertions(+), 6 deletions(-) - -commit e901b954c6ec44ac3ae7fb3c326e6e7a40718e4b -Author: Behdad Esfahbod -Date: Wed Aug 29 20:26:08 2012 -0400 - - [OT] Start adding serialize() API - - src/hb-open-type-private.hh | 77 - +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 77 insertions(+) - -commit 965c280de09b49d711cb78d629da321c802084de -Author: Behdad Esfahbod -Date: Wed Aug 29 13:59:16 2012 -0400 - - Add HB_BUFFER_ASSERT_VAR - - To be used in places we access buffer vars... - - src/hb-buffer-private.hh | 3 +++ - src/hb-buffer.cc | 16 ++++++++++++++++ - 2 files changed, 19 insertions(+) - -commit 0ccf9b64736559a230425fd131c9eb8aa3048221 -Author: Behdad Esfahbod -Date: Wed Aug 29 11:53:26 2012 -0400 - - Move code around - - src/hb-ot-shape.cc | 21 ++++++++++----------- - 1 file changed, 10 insertions(+), 11 deletions(-) - -commit 2fcbbdb41a322f54b61d9ce983ab54434504c5ed -Author: Behdad Esfahbod -Date: Wed Aug 29 11:11:54 2012 -0400 - - Port Arabic fallback ligating to share code with GSUB - - This will eventually allow us to skip marks, as well as (fallback) - attach marks to ligature components of fallback-shaped Arabic. - That would be pretty cool. I kludged GDEF props in, so mark-skipping - works, but the produced ligature id/components will be cleared later - by substitute_start() et al. - - Perhaps using a synthetic table for Arabic fallback shaping was - a better - idea. The current approach has way too many layering violations... - - src/hb-ot-layout-gsubgpos-private.hh | 4 ++ - src/hb-ot-shape-complex-arabic.cc | 72 - ++++++++++++++++++++++++------------ - src/hb-ot-shape.cc | 4 +- - 3 files changed, 56 insertions(+), 24 deletions(-) - -commit 5e399a8a45bddb49e06e2ca39df1ed04398c0aff -Author: Behdad Esfahbod -Date: Wed Aug 29 10:40:49 2012 -0400 - - Minor - - src/hb-ot-layout-gsub-table.hh | 1 - - src/hb-ot-layout-gsubgpos-private.hh | 1 - - 2 files changed, 2 deletions(-) - -commit a177d027d1d0ad9539e30ed75d8652e0e8da20ff -Author: Behdad Esfahbod -Date: Tue Aug 28 23:18:22 2012 -0400 - - [GSUB] Move ligation logic over - - src/hb-ot-layout-gsub-table.hh | 78 - ++++------------------------------- - src/hb-ot-layout-gsubgpos-private.hh | 80 - ++++++++++++++++++++++++++++++++++++ - 2 files changed, 89 insertions(+), 69 deletions(-) - -commit 191fa885d9e0a2dce92dd8727cddd18495e62409 -Author: Behdad Esfahbod -Date: Tue Aug 28 22:58:55 2012 -0400 - - [GSUB] Merge Ligature and context input matching - - Looks better now... - - TODO | 4 -- - src/hb-ot-layout-gsub-table.hh | 71 - +++++++----------------------------- - src/hb-ot-layout-gsubgpos-private.hh | 29 ++++++++++++++- - 3 files changed, 40 insertions(+), 64 deletions(-) - -commit 93814ca7dc2a7251f861c1c47ba155ba6e6bdf19 -Author: Behdad Esfahbod -Date: Tue Aug 28 22:24:51 2012 -0400 - - Start converging Ligature and match_input - - src/hb-ot-layout-gsub-table.hh | 58 - +++++++++++++++++---------------- - src/hb-ot-layout-gsubgpos-private.hh | 62 - ++++++++++++++++++++++++++++-------- - 2 files changed, 78 insertions(+), 42 deletions(-) - -commit 2eef71737ea29ffadbb5a2be4a898b44f53f66ac -Author: Behdad Esfahbod -Date: Tue Aug 28 19:16:38 2012 -0400 - - [hb-icu-le] Add visbility - - src/hb-icu-le/FontTableCache.h | 6 +++++- - src/hb-icu-le/PortableFontInstance.cpp | 39 - ---------------------------------- - src/hb-icu-le/PortableFontInstance.h | 7 ++++-- - src/hb-icu-le/cmaps.cpp | 2 +- - src/hb-icu-le/cmaps.h | 5 ++++- - src/hb-icu-le/letest.h | 14 ++++++++++++ - src/hb-icu-le/sfnt.h | 6 +++++- - 7 files changed, 34 insertions(+), 45 deletions(-) - -commit d59e28e49204ed609d8a1bf3c0f21ab5fc178337 -Author: Behdad Esfahbod -Date: Tue Aug 28 19:08:36 2012 -0400 - - Minor - - src/Makefile.am | 6 +++++- - src/check-libstdc++.sh | 2 +- - src/check-static-inits.sh | 4 ++-- - 3 files changed, 8 insertions(+), 4 deletions(-) - -commit af169d2813ff8075288cd4a7811f0715e4fea3da -Author: Behdad Esfahbod -Date: Tue Aug 28 19:08:22 2012 -0400 - - Minor - - src/hb-icu-le/PortableFontInstance.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 52ff2681d88886e2165ced397966ba29c2073583 -Author: Behdad Esfahbod -Date: Tue Aug 28 18:03:35 2012 -0400 - - Use VisualStudio-style atomic intrinsics on mingw32 - - src/hb-atomic-private.hh | 25 ++++++++++++++++++------- - 1 file changed, 18 insertions(+), 7 deletions(-) - -commit 7c8e844d92aa604fc4b396343721ea90eb83adb8 -Author: Behdad Esfahbod -Date: Tue Aug 28 17:57:49 2012 -0400 - - Use namespace for OpenType tables - - Avoids USHORT, SHORT, ULONG, LONG clashes with Windows API. - - src/hb-font.cc | 12 ++--- - src/hb-open-file-private.hh | 4 ++ - src/hb-open-type-private.hh | 9 ++-- - src/hb-ot-head-table.hh | 4 ++ - src/hb-ot-hhea-table.hh | 5 ++ - src/hb-ot-hmtx-table.hh | 6 +++ - src/hb-ot-layout-common-private.hh | 5 ++ - src/hb-ot-layout-gdef-table.hh | 4 ++ - src/hb-ot-layout-gpos-table.hh | 4 ++ - src/hb-ot-layout-gsub-table.hh | 4 ++ - src/hb-ot-layout-gsubgpos-private.hh | 4 ++ - src/hb-ot-layout-private.hh | 12 +++-- - src/hb-ot-layout.cc | 91 - ++++++++++++++++++------------------ - src/hb-ot-maxp-table.hh | 4 ++ - src/hb-ot-name-table.hh | 4 ++ - src/hb-uniscribe.cc | 8 ++-- - src/main.cc | 2 + - 17 files changed, 117 insertions(+), 65 deletions(-) - -commit dc5df5af6b349c3d9e4ab876864d9dec8096401f -Author: Behdad Esfahbod -Date: Tue Aug 28 16:31:23 2012 -0400 - - Revert "Minor" - - This reverts commit 3e0a03978b91994bb7fa7922593cbdfc50878dfc. - - I know remember why that line is there :). - - src/hb-ot-shape-complex-arabic.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 3e0a03978b91994bb7fa7922593cbdfc50878dfc -Author: Behdad Esfahbod -Date: Mon Aug 27 17:10:02 2012 -0400 - - Minor - - src/hb-ot-shape-complex-arabic.cc | 1 - - 1 file changed, 1 deletion(-) - -commit 667218a5b134728863a318c73070f4e323590bbd -Author: Behdad Esfahbod -Date: Mon Aug 27 17:00:44 2012 -0400 - - Minor - - src/hb-ot-shape-fallback.cc | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 30dd62251fcd04c2cbaa9b979d47ddbf62c6d460 -Author: Behdad Esfahbod -Date: Mon Aug 27 16:54:34 2012 -0400 - - Only fallback-position glyphs if we have the ccc - - Previously, ccc=0 Thai / Lao marks were being - mispositioned. Don't touch them. - - src/hb-ot-shape-fallback.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e1ba62811a61afb046d349e578cd141363c7fb34 -Author: Behdad Esfahbod -Date: Mon Aug 27 16:28:05 2012 -0400 - - Center unknown marks horizontally - - src/hb-ot-shape-fallback.cc | 1 + - 1 file changed, 1 insertion(+) - -commit a4e75e4128751bb902117abc1a59dce4f2147672 -Author: Behdad Esfahbod -Date: Mon Aug 27 15:54:15 2012 -0400 - - Minor - - test/shaping/hb_test_tools.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 23b0e9d7dc801e11640979af3c2b00649a519bb1 -Author: Behdad Esfahbod -Date: Sun Aug 26 14:30:18 2012 -0400 - - [Indic] Fix switch - - D'oh. Was working by pure chance :)). - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ae4d4e1de6b4512576080e95896383887b30982f -Author: Behdad Esfahbod -Date: Sun Aug 26 14:27:44 2012 -0400 - - Bug 53815 - CoreText backend doesn't link - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ec0e46376a2afec4ff7606f95582b0ec49c2a44a -Author: Behdad Esfahbod -Date: Fri Aug 24 00:44:53 2012 -0400 - - Remove TODO items - - TODO | 4 ---- - 1 file changed, 4 deletions(-) - -commit 56e878ab875ff06d74702145e380e198be967bd6 -Author: Behdad Esfahbod -Date: Fri Aug 24 00:41:51 2012 -0400 - - [graphite2] Cleanup scratch buffer allocation - - src/hb-graphite2.cc | 77 - ++++++++++++++++++++++++++++++----------------------- - 1 file changed, 44 insertions(+), 33 deletions(-) - -commit 2f7586c6229096143ca0a96712a27416ee0d3c85 -Author: Behdad Esfahbod -Date: Thu Aug 23 23:59:55 2012 -0400 - - [icu-le] Implement icu layout engine shaper - - configure.ac | 2 +- - src/hb-icu-le.cc | 113 - +++++++++++++++++++++++++++++++++++++++++++++----- - src/hb-icu-le/cmaps.h | 1 - - src/hb-shaper-list.hh | 4 ++ - 4 files changed, 108 insertions(+), 12 deletions(-) - -commit ba7f6c3797e5b440557bacd9b666bf09713dca76 -Author: Behdad Esfahbod -Date: Thu Aug 23 21:52:44 2012 -0400 - - [icu-le] Hook up to hb_face_t - - src/hb-icu-le.cc | 17 +++- - src/hb-icu-le/FontTableCache.cpp | 34 ++++---- - src/hb-icu-le/FontTableCache.h | 9 ++- - src/hb-icu-le/PortableFontInstance.cpp | 144 - +++------------------------------ - src/hb-icu-le/PortableFontInstance.h | 21 ++--- - src/hb-icu-le/README | 1 + - 6 files changed, 57 insertions(+), 169 deletions(-) - -commit e96bb36995b2a5321b4d32bb11906e1701aaf115 -Author: Behdad Esfahbod -Date: Thu Aug 23 21:37:51 2012 -0400 - - [icu-le] Actually use the FontTableCache - - src/hb-icu-le/PortableFontInstance.cpp | 25 ++++++++----------------- - 1 file changed, 8 insertions(+), 17 deletions(-) - -commit 7d242364ea647f655a7092bda25f9a10774c57f5 -Author: Behdad Esfahbod -Date: Thu Aug 23 21:23:41 2012 -0400 - - [icu-le] Start adding a icu-layout-engine backend - - Import PortableFontInstance and add shaper stub. - - configure.ac | 9 + - src/Makefile.am | 8 + - src/hb-icu-le.cc | 111 ++++++++ - src/hb-icu-le/FontTableCache.cpp | 91 +++++++ - src/hb-icu-le/FontTableCache.h | 41 +++ - src/hb-icu-le/Makefile.am | 25 ++ - src/hb-icu-le/PortableFontInstance.cpp | 436 - ++++++++++++++++++++++++++++++++ - src/hb-icu-le/PortableFontInstance.h | 117 +++++++++ - src/hb-icu-le/README | 2 + - src/hb-icu-le/cmaps.cpp | 200 +++++++++++++++ - src/hb-icu-le/cmaps.h | 85 +++++++ - src/hb-icu-le/letest.h | 49 ++++ - src/hb-icu-le/license.html | 51 ++++ - src/hb-icu-le/sfnt.h | 449 - +++++++++++++++++++++++++++++++++ - 14 files changed, 1674 insertions(+) - -commit b5584ee4be46b47e1678acf28426970a6d670b4f -Author: Behdad Esfahbod -Date: Thu Aug 23 16:26:07 2012 -0400 - - [Indic] For old-spec, match non-zero context - - Fixes consonant-position with old-spec Malayalam. Uniscribe seem - to be - doing this. Fixes below-base La (eg. Pa,H,La) with AnjaliNewLipi.ttf. - Doesn't regress new-spec or other scripts. - - src/hb-ot-shape-complex-indic.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit d9b204d3d24cde165167714728bf380267903d6a -Author: Behdad Esfahbod -Date: Thu Aug 23 16:22:28 2012 -0400 - - [GSUB] Allow non-zero-context matching in would_apply() - - To be used in the next patch. - - src/hb-ot-layout-gsubgpos-private.hh | 6 ++++-- - src/hb-ot-layout-private.hh | 3 ++- - src/hb-ot-layout.cc | 14 ++++++++------ - src/hb-ot-layout.h | 7 ++++--- - src/hb-ot-map.cc | 12 ++---------- - src/hb-ot-shape-complex-indic.cc | 2 +- - src/test-would-substitute.cc | 2 +- - 7 files changed, 22 insertions(+), 24 deletions(-) - -commit 1f2bb172fe9a173ecfd61054f1fdd850943ef059 -Author: Behdad Esfahbod -Date: Thu Aug 23 16:10:37 2012 -0400 - - Revert "[Indic/GSUB] Ignore context when matching would_apply()" - - This reverts commit 24dd4e56743c6ce5e01cb710ca9e01b3e527af58. - - Oops. My bad. The change _regressed_ Malayalam test suite, not - improved it. I'll redo it, differentiating between old-spec and - new-spec cases. - - src/hb-ot-layout-gsubgpos-private.hh | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -commit 24dd4e56743c6ce5e01cb710ca9e01b3e527af58 -Author: Behdad Esfahbod -Date: Thu Aug 23 15:47:10 2012 -0400 - - [Indic/GSUB] Ignore context when matching would_apply() - - The MS Indic specs say "...all classifications are determined - ... using - context-free substitutions." However, testing shows that MS's - Malayalam - shapers (both old and new), "match" even if there is no zero-context - rule. - We follow. - - Fixes below-base La (eg. Pa,H,La) with AnjaliNewLipi.ttf (old spec). - Moreover, test suite Malayalam failures are down to 312 from 875! No - change in other scripts. - - Current numbers: - - BENGALI: 353996 out of 354285 tests passed. 289 failed (0.0815727%) - DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%) - GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%) - GURMUKHI: 60769 out of 60809 tests passed. 40 failed (0.0657797%) - KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%) - KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1047541 out of 1048416 tests passed. 875 failed - (0.0834592%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271726 out of 271847 tests passed. 121 failed (0.0445103%) - TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%) - TELUGU: 970558 out of 970573 tests passed. 15 failed (0.00154548%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - src/hb-ot-layout-gsubgpos-private.hh | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 6732d62e78b13842ead9549c97bede25c73976cb -Author: Behdad Esfahbod -Date: Thu Aug 23 15:19:45 2012 -0400 - - [Indic] Implement pre-base reordering Ra for old-spec Malayalam - - Fixes Pa,H,Ra sequence with AnjaliNewLipi.ttf. - - src/hb-ot-shape-complex-indic.cc | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 80cd92326f8a3f48a7821e720e8ecb2072e73286 -Author: Behdad Esfahbod -Date: Thu Aug 23 12:06:14 2012 -0400 - - [Indic] Only apply basic features per-syllable - - Free up syllables and let features work across syllables for the - presentation forms features and GPOS. - - Fixed: - - 1 GURMUKHI test (remains 40) - - 12 KHMER tests (remains 18) - - 11 SINHALA tests (remains 121) - - Regresses: - - 5 MALAYALAM tests (up to 312) - - Current numbers: - - BENGALI: 353996 out of 354285 tests passed. 289 failed (0.0815727%) - DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%) - GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%) - GURMUKHI: 60769 out of 60809 tests passed. 40 failed (0.0657797%) - KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%) - KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%) - LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%) - MALAYALAM: 1048104 out of 1048416 tests passed. 312 failed - (0.0297592%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271726 out of 271847 tests passed. 121 failed (0.0445103%) - TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%) - TELUGU: 970558 out of 970573 tests passed. 15 failed (0.00154548%) - TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%) - - src/hb-ot-shape-complex-indic.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit df5d5c68f3a5cab17bf4a429802a1a1a834c3456 -Author: Behdad Esfahbod -Date: Thu Aug 23 09:33:30 2012 -0400 - - Whitespace - - src/hb-ot-layout-gpos-table.hh | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit 7fe00d15da20193ca94a8ead9aee60df24074a9e -Author: Behdad Esfahbod -Date: Sat Aug 18 13:59:46 2012 -0400 - - Release 0.9.3 - - NEWS | 16 ++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 17 insertions(+), 1 deletion(-) - -commit 7068e534c4ef7ed2eb7ef8e1370fd4a449556ce8 -Author: Behdad Esfahbod -Date: Sat Aug 18 13:56:10 2012 -0400 - - Fix ChangeLog generation rule - - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2f1747ed7d28148807ad07eb8e22db3ab5c54966 -Author: Behdad Esfahbod -Date: Thu Aug 16 11:46:46 2012 -0400 - - Add comment - - src/hb-ot-shape-complex-arabic.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit bd08d5d126aa878d1dbf7bfd4b1a764c170cd9ad -Author: Behdad Esfahbod -Date: Thu Aug 16 11:35:50 2012 -0400 - - [OT] Fix Arabic shaper OOB access - - https://bugzilla.mozilla.org/show_bug.cgi?id=782908 - - src/hb-ot-shape-complex-arabic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b161bfc4f6f2db0edea780b95b798ff7b559cf33 -Author: Behdad Esfahbod -Date: Thu Aug 16 08:09:44 2012 -0400 - - [configure] Cleanup check for ICU - - Check for upstream-provided 'icu-uc' pkgconfig package. - - configure.ac | 21 +-------------------- - 1 file changed, 1 insertion(+), 20 deletions(-) - -commit daf0731865f91da960446928667d4095bde471ea -Author: Behdad Esfahbod -Date: Thu Aug 16 07:32:59 2012 -0400 - - [ICU] Fix includes - - As reported by Steven Loomis, including uversion.h works everywhere. - - src/hb-icu.cc | 6 ------ - 1 file changed, 6 deletions(-) - -commit a67ba9c0fe6798a3500af9f4acee8d678f5144ee -Author: Behdad Esfahbod -Date: Wed Aug 15 18:52:17 2012 -0400 - - Whitespace - - src/hb-old/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 9fe76051f7003d6b6a10486c5595bf1a4dbf5fe6 -Author: Behdad Esfahbod -Date: Wed Aug 15 17:24:28 2012 -0400 - - [NEWS] Fix date - - Oops! - - NEWS | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 45c1383cc7315f89c23c0ed388b99e87224884e7 -Author: Behdad Esfahbod -Date: Tue Aug 14 09:33:18 2012 -0400 - - Minor - - src/hb-coretext.cc | 8 ++++---- - src/hb-fallback-shape.cc | 8 ++++---- - src/hb-graphite2.cc | 8 ++++---- - src/hb-uniscribe.cc | 8 ++++---- - 4 files changed, 16 insertions(+), 16 deletions(-) - -commit 4ac4c6f2e12ddc8bf5e750671321458218b6e0c8 -Author: Behdad Esfahbod -Date: Mon Aug 13 10:52:52 2012 -0400 - - Fix ICU build with older ICUs - - src/hb-icu.cc | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit 883cbf5ed79d2b60191f803a5ee3f3e4496f3441 -Author: Behdad Esfahbod -Date: Sun Aug 12 17:11:27 2012 -0400 - - Minor - - contrib/README | 2 ++ - 1 file changed, 2 insertions(+) - -commit b7a4d37d0b162f2222b65d09b9271b8c636086f8 -Author: Behdad Esfahbod -Date: Sat Aug 11 21:32:23 2012 -0400 - - minor - - configure.ac | 2 ++ - 1 file changed, 2 insertions(+) - -commit d5045a5f4017631a4660f985fe451c5a64c42ca0 -Author: Behdad Esfahbod -Date: Sat Aug 11 21:26:25 2012 -0400 - - [ICU] Use new normalizer2 compose/decompose API - - It's considerably faster than the fallback implementation we had - previously! - - src/hb-buffer.cc | 9 +++--- - src/hb-glib.cc | 26 +++++++--------- - src/hb-icu.cc | 75 - +++++++++++++++++++++++++++++++++++++---------- - src/hb-unicode-private.hh | 13 ++------ - src/hb-unicode.cc | 35 ++++++++++++++++++++-- - src/hb-warning.cc | 8 ----- - 6 files changed, 110 insertions(+), 56 deletions(-) - -commit 2b73a1f112c489c2553743c08dc03cd89f60cb2d -Author: Behdad Esfahbod -Date: Sat Aug 11 19:17:54 2012 -0400 - - Add TODO - - TODO | 1 + - 1 file changed, 1 insertion(+) - -commit 9f9f04c2229227bb0712166e824157bbbf5cef80 -Author: Behdad Esfahbod -Date: Sat Aug 11 18:34:13 2012 -0400 - - [OT] Unbreak Thai shaping and fallback Arabic shaping - - The merger of normalizer and glyph-mapping broke shapers that - modified text stream. Unbreak them by adding a new preprocess_text - shaping stage that happens before normalizing/cmap and disallow - setup_mask modification of actual text. - - src/hb-ot-shape-complex-arabic.cc | 42 - ++++++++++++++++++++++++++++---------- - src/hb-ot-shape-complex-indic.cc | 1 + - src/hb-ot-shape-complex-misc.cc | 12 ++++++----- - src/hb-ot-shape-complex-private.hh | 15 +++++++++++--- - src/hb-ot-shape.cc | 3 +++ - 5 files changed, 54 insertions(+), 19 deletions(-) - -commit e9f28a38f54b98fa59f9159ccaaa3be6027e1378 -Author: Behdad Esfahbod -Date: Sat Aug 11 18:20:28 2012 -0400 - - [OT] Add shape_plan to Arabic shaper - - src/hb-ot-shape-complex-arabic.cc | 82 - +++++++++++++++++++++++++-------------- - 1 file changed, 53 insertions(+), 29 deletions(-) - -commit 344cc56698a8c84c4c1a05a71d829e5171aa3a60 -Author: Behdad Esfahbod -Date: Sat Aug 11 17:36:23 2012 -0400 - - Add TODO - - TODO | 4 ++++ - 1 file changed, 4 insertions(+) - -commit daf13afb0801740dcc7900c4af190e24b80a05c0 -Author: Behdad Esfahbod -Date: Fri Aug 10 16:38:44 2012 -0400 - - [OT] Implement fallback mark positioning for "double" combining marks - - src/hb-ot-shape-fallback.cc | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit d345313104d9e3c8a8533ccdebd74e0648d0bee3 -Author: Behdad Esfahbod -Date: Fri Aug 10 16:34:04 2012 -0400 - - [OT] Fix fallback mark positioning with left-to-right text - - Ouch! - - src/hb-ot-shape-fallback.cc | 13 +++++++++++-- - 1 file changed, 11 insertions(+), 2 deletions(-) - -commit e297ee4acd6f9d950f8542fc6ad71fd580b69284 -Author: Behdad Esfahbod -Date: Fri Aug 10 14:49:37 2012 -0400 - - Bump version to 0.9.2 - - A *real* release this time, with NEWS, ChangeLog, etc. - - AUTHORS | 8 ++++ - COPYING | 9 ++-- - Makefile.am | 13 +++--- - NEWS | 136 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - THANKS | 7 +++ - configure.ac | 4 +- - 6 files changed, 165 insertions(+), 12 deletions(-) - -commit 6efe1200b97cefe019857b0b5951a4a87deeb02b -Author: Behdad Esfahbod -Date: Fri Aug 10 13:49:32 2012 -0400 - - Bump version to 0.9.1 - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 206ab6057303273590a3d005660e075bdcee0f5f -Author: Behdad Esfahbod -Date: Fri Aug 10 09:06:30 2012 -0400 - - [test] Move around - - test/shaping/texts/in-tree/shaper-arabic/script-arabic/MANIFEST | - 2 +- - .../texts/in-tree/shaper-arabic/script-arabic/language-urdu/MANIFEST | - 1 + - .../shaper-arabic/script-arabic/{ => language-urdu}/crulp/MANIFEST - | 0 - .../script-arabic/{ => language-urdu}/crulp/ligatures/2grams.txt - | 0 - .../script-arabic/{ => language-urdu}/crulp/ligatures/3grams.txt - | 0 - .../script-arabic/{ => language-urdu}/crulp/ligatures/4grams.txt - | 0 - .../script-arabic/{ => language-urdu}/crulp/ligatures/5grams.txt - | 0 - .../script-arabic/{ => language-urdu}/crulp/ligatures/6grams.txt - | 0 - .../script-arabic/{ => language-urdu}/crulp/ligatures/7grams.txt - | 0 - .../script-arabic/{ => language-urdu}/crulp/ligatures/8grams.txt - | 0 - .../script-arabic/{ => language-urdu}/crulp/ligatures/LICENSE - | 0 - .../script-arabic/{ => language-urdu}/crulp/ligatures/MANIFEST - | 0 - .../script-arabic/{ => language-urdu}/crulp/ligatures/README | - 0 - .../script-arabic/{ => language-urdu}/crulp/ligatures/SOURCES - | 0 - 14 files changed, 2 insertions(+), 1 deletion(-) - -commit 7a484c601e0958533eb85a6902296733c39537fe -Author: Behdad Esfahbod -Date: Fri Aug 10 09:05:29 2012 -0400 - - [test] Add Urdu ligature sequences from CRULP - - .../in-tree/shaper-arabic/script-arabic/MANIFEST | 1 + - .../shaper-arabic/script-arabic/crulp/MANIFEST | 1 + - .../script-arabic/crulp/ligatures/2grams.txt | 601 ++ - .../script-arabic/crulp/ligatures/3grams.txt | 3415 +++++++++++ - .../script-arabic/crulp/ligatures/4grams.txt | 6316 - ++++++++++++++++++++ - .../script-arabic/crulp/ligatures/5grams.txt | 5029 - ++++++++++++++++ - .../script-arabic/crulp/ligatures/6grams.txt | 1542 +++++ - .../script-arabic/crulp/ligatures/7grams.txt | 354 ++ - .../script-arabic/crulp/ligatures/8grams.txt | 26 + - .../script-arabic/crulp/ligatures/LICENSE | 3 + - .../script-arabic/crulp/ligatures/MANIFEST | 7 + - .../script-arabic/crulp/ligatures/README | 16 + - .../script-arabic/crulp/ligatures/SOURCES | 4 + - 13 files changed, 17315 insertions(+) - -commit f4cb4762986a28634fa7de9b706f9d37859b881e -Author: Behdad Esfahbod -Date: Fri Aug 10 03:51:44 2012 -0400 - - [OT] Slightly adjust normalizer - - The change is very subtle. If we have a single-char cluster that - decomposes to three or more characters, then try recomposition, in - case the farther mark may compose with the base. - - src/hb-ot-shape-normalize.cc | 81 - +++++++++++++++++++++++++++++--------------- - 1 file changed, 54 insertions(+), 27 deletions(-) - -commit 07d682806349aee81f53114778ce0beb23909ed7 -Author: Behdad Esfahbod -Date: Fri Aug 10 03:28:50 2012 -0400 - - Minor - - src/hb-ot-shape-normalize.cc | 25 ++++++++----------------- - src/hb-ot-shape.cc | 2 +- - 2 files changed, 9 insertions(+), 18 deletions(-) - -commit b00321ea78793d9b3592b5173a9800e6322424fe -Author: Behdad Esfahbod -Date: Thu Aug 9 22:33:32 2012 -0400 - - [OT] Avoid calling get_glyph() twice - - Essentially move the glyph mapping to normalization process. - The effect on Devanagari is small (but observable). Should be more - observable in simple text, like ASCII. - - src/hb-ot-shape-normalize-private.hh | 2 + - src/hb-ot-shape-normalize.cc | 76 - +++++++++++++++++++++++++----------- - src/hb-ot-shape.cc | 44 ++++++++++----------- - 3 files changed, 77 insertions(+), 45 deletions(-) - -commit 12c0875eafa4bd92db650e5acca046d99594d1e6 -Author: Behdad Esfahbod -Date: Thu Aug 9 22:00:53 2012 -0400 - - [OT] Remove redundant check - - src/hb-ot-shape.cc | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -commit 5c60b70c89b4e0a6512d9fd1ab5394dd76feb742 -Author: Behdad Esfahbod -Date: Thu Aug 9 21:58:07 2012 -0400 - - [OT] More code shuffling around - - Preparing for merging map_glyphs() and normalize(). - - src/hb-ot-shape.cc | 167 - +++++++++++++++++++++++++++-------------------------- - 1 file changed, 86 insertions(+), 81 deletions(-) - -commit cd0c6e148f6d078b364370cb2f808b793b921be2 -Author: Behdad Esfahbod -Date: Thu Aug 9 21:48:55 2012 -0400 - - Shuffle buffer variable allocations around - - To room for more allocations, coming. - - src/hb-ot-layout-private.hh | 6 +++--- - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape-complex-indic-private.hh | 4 ++-- - src/hb-ot-shape-complex-private.hh | 5 ++--- - src/hb-ot-shape-private.hh | 4 ++-- - 5 files changed, 10 insertions(+), 11 deletions(-) - -commit 8d1eef3f32fb539de2a72804fa3834acc18daab5 -Author: Behdad Esfahbod -Date: Thu Aug 9 21:31:52 2012 -0400 - - Minor - - src/hb-ot-shape-normalize.cc | 50 - +++++++++++++++++++++++++++----------------- - 1 file changed, 31 insertions(+), 19 deletions(-) - -commit 56c9e7c004e802ddcb8c704346026f1d7a812f9f -Author: Behdad Esfahbod -Date: Thu Aug 9 21:12:30 2012 -0400 - - Fill out combining class resetting for fallback shaping - Thai/Lao/Tibetan - - src/hb-ot-shape-fallback.cc | 38 +++++++++++++++++++++++++++++++++++++- - src/hb-unicode-private.hh | 7 ++++--- - src/hb-unicode.cc | 2 +- - 3 files changed, 42 insertions(+), 5 deletions(-) - -commit a321e1d51e0e7fa02738410e8d6e77c841bc6b13 -Author: Behdad Esfahbod -Date: Thu Aug 9 18:30:34 2012 -0400 - - Revert "Reject lookups with no subTable" - - This reverts commit 30ec9002d84e8b49290e782e6192069821ffa942. - - See previous commit. - - src/hb-ot-layout-common-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 2eaf482b371034ce6ebfaedee98049b036fd3493 -Author: Behdad Esfahbod -Date: Thu Aug 9 18:30:05 2012 -0400 - - Revert "[GSUB/GPOS] Reject Context/ChainContext lookups with zero - input" - - This reverts commit 0981068b75710397f08e0d2d776a0a2ea68d7117. - - I was confused. Even if we access coverage[0] unconditionally, - we don't - need bound checks since the array machinary already handles that. - - src/hb-ot-layout-gsubgpos-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit a02d86484be870615297abfc7be9f94645434762 -Author: Behdad Esfahbod -Date: Wed Aug 8 18:04:29 2012 -0400 - - Add check-exported-symbols.sh - - And misc linking fixes. - - src/Makefile.am | 1 + - src/check-exported-symbols.sh | 40 - ++++++++++++++++++++++++++++++++++++++++ - src/check-internal-symbols.sh | 2 +- - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape.cc | 6 +++--- - 5 files changed, 46 insertions(+), 5 deletions(-) - -commit 4c8ac4f47e95d2b266b2f64e75c55af8233b6b91 -Author: Behdad Esfahbod -Date: Wed Aug 8 17:44:19 2012 -0400 - - Misc minor fixes - - src/check-internal-symbols.sh | 10 +-- - src/hb-font-private.hh | 29 +++++++- - src/hb-font.cc | 63 +++++++--------- - src/hb-font.h | 2 +- - src/hb-graphite2.cc | 4 +- - src/hb-old.cc | 2 +- - src/hb-ot-layout.cc | 6 +- - src/hb-ot-shape-fallback.cc | 10 +-- - src/hb-ot-shape.cc | 2 +- - src/hb-shape-plan.cc | 2 +- - src/hb-shape-plan.h | 2 +- - src/hb-tt-font.cc | 166 - +----------------------------------------- - 12 files changed, 72 insertions(+), 226 deletions(-) - -commit 560d68af8168d1baff607b9616a3590af70fe9ec -Author: Behdad Esfahbod -Date: Wed Aug 8 17:16:01 2012 -0400 - - Use a export-file for Windows builds - - Apparently even that doesn't make check-internal-symbols.sh happy with - mingw32. Going to disable that for DLLs again, but hopefully the - export-file is doing *something*. - - configure.ac | 14 +++++++++++++- - src/Makefile.am | 22 +++++++++++++++++++++- - src/hb-buffer.h | 4 ++-- - 3 files changed, 36 insertions(+), 4 deletions(-) - -commit f8751cf8e0a16125d63a88da65fdbfa76a19453f -Author: Behdad Esfahbod -Date: Wed Aug 8 17:15:44 2012 -0400 - - [hb-old] speed-up build - - src/hb-old/harfbuzz-external.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 5f4c52867ce67faa15f5d26b59c18c8d068e9261 -Author: Behdad Esfahbod -Date: Wed Aug 8 16:53:37 2012 -0400 - - Minor - - src/hb-ot-layout.h | 1 - - 1 file changed, 1 deletion(-) - -commit fe2b8a7777ab1c84980424ede713cb0d6701f987 -Author: Behdad Esfahbod -Date: Wed Aug 8 15:27:14 2012 -0400 - - Minor - - TODO | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 7e7d245b332306949a19c628bacd920717434769 -Author: Behdad Esfahbod -Date: Wed Aug 8 15:23:48 2012 -0400 - - Make default_language threadsafe - - src/hb-common.cc | 15 +++++---------- - 1 file changed, 5 insertions(+), 10 deletions(-) - -commit 06b192c458010c847362d809673209c87ea29949 -Author: Behdad Esfahbod -Date: Wed Aug 8 15:23:45 2012 -0400 - - Minor - - src/hb-common.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 37191ede7583fdb864db32a8f4d90956657926c7 -Author: Behdad Esfahbod -Date: Wed Aug 8 14:59:09 2012 -0400 - - Minor - - src/hb-common.h | 4 ++-- - src/hb-icu.h | 1 - - 2 files changed, 2 insertions(+), 3 deletions(-) - -commit 6d9a329a8a0f11f4b175e407de59c55924de1ef6 -Author: Behdad Esfahbod -Date: Wed Aug 8 14:48:41 2012 -0400 - - Adjust a couple source checks - - src/check-internal-symbols.sh | 4 ++-- - src/check-static-inits.sh | 10 ++++++++-- - 2 files changed, 10 insertions(+), 4 deletions(-) - -commit 9c929abdcfef44c0193a2917b20981df37ade21c -Author: Behdad Esfahbod -Date: Wed Aug 8 14:33:37 2012 -0400 - - Minor renaming - - src/Makefile.am | - 4 ++-- - ...sition-fallback-private.hh => hb-ot-shape-fallback-private.hh} | - 8 ++++---- - src/{hb-ot-shape-position-fallback.cc => hb-ot-shape-fallback.cc} | - 4 ++-- - src/hb-ot-shape.cc | - 4 ++-- - 4 files changed, 10 insertions(+), 10 deletions(-) - -commit 801298b590effd768607bb532dc83c73ba65d16b -Author: Behdad Esfahbod -Date: Wed Aug 8 14:26:36 2012 -0400 - - Fix cast - - https://bugs.freedesktop.org/show_bug.cgi?id=53233 - - src/hb-buffer-private.hh | 10 ++++++---- - src/hb-shape-plan.cc | 4 ++-- - 2 files changed, 8 insertions(+), 6 deletions(-) - -commit 21756934a15e31dc243e2b6d80adec5752477652 -Author: Behdad Esfahbod -Date: Wed Aug 8 01:20:45 2012 -0400 - - [OT] Implement fallback positioning - - Implemented for Arabic, Hebrew, and generic marks. - Activated if no GPOS table present. - - src/hb-font.h | 3 +- - src/hb-ft.cc | 3 +- - src/hb-old.cc | 2 +- - src/hb-ot-shape-position-fallback.cc | 237 - ++++++++++++++++++++++++++++++++++- - src/hb-unicode-private.hh | 81 ++++++++++++ - src/hb-unicode.cc | 107 ++++++---------- - 6 files changed, 356 insertions(+), 77 deletions(-) - -commit fb56e7628362a73e20f7f0b49fe31e802dc01f4f -Author: Behdad Esfahbod -Date: Tue Aug 7 23:44:47 2012 -0400 - - [hb-old] Fix warnings - - src/hb-old/harfbuzz-shaper.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -commit affaf8a0e5aa38e5820455f789eebf916e02eb7b -Author: Behdad Esfahbod -Date: Tue Aug 7 22:41:38 2012 -0400 - - [OT] Start adding fallback positioning - - Used when there is no GPOS. - - src/Makefile.am | 2 ++ - src/hb-ot-shape-position-fallback-private.hh | 39 +++++++++++++++++++++++ - src/hb-ot-shape-position-fallback.cc | 47 - ++++++++++++++++++++++++++++ - src/hb-ot-shape.cc | 23 +++----------- - 4 files changed, 93 insertions(+), 18 deletions(-) - -commit 7e4920fd1577987bf6804f67765e22a84983e057 -Author: Behdad Esfahbod -Date: Tue Aug 7 22:32:23 2012 -0400 - - Minor - - src/hb-ot-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 472f229a63f0d1bb21b02179ef430b7698df8f12 -Author: Behdad Esfahbod -Date: Tue Aug 7 22:25:24 2012 -0400 - - [GSUB] Generalize would_apply() - - Fixes logic also, where before we were always matching if - glyphs_len==1 - and a ligature started with the glyph. - - src/hb-ot-layout-gsub-table.hh | 26 ++++++++++++++++++++----- - src/hb-ot-layout-gsubgpos-private.hh | 37 - ++++++++++++++++++------------------ - src/hb-ot-layout.cc | 3 +-- - 3 files changed, 40 insertions(+), 26 deletions(-) - -commit 6f3a300138f659020c21c3e08b7981c78df5f332 -Author: Behdad Esfahbod -Date: Tue Aug 7 22:13:25 2012 -0400 - - Add hb_font_glyph_from/to_string - - src/hb-font-private.hh | 43 - +++++++++++++++++++++++++++++++++++++++++++ - src/hb-font.cc | 24 ++++++++++++++++++++---- - src/hb-font.h | 11 +++++++++++ - src/hb-private.hh | 16 ++++++++++++++++ - src/test-would-substitute.cc | 11 ++++++++++- - util/options.cc | 2 +- - 6 files changed, 101 insertions(+), 6 deletions(-) - -commit eb56f6ae96260c5b4bcd4e1dfb7ab733a230f3a8 -Author: Behdad Esfahbod -Date: Tue Aug 7 21:44:25 2012 -0400 - - Minor - - src/hb-mutex-private.hh | 1 + - src/hb-uniscribe.cc | 1 + - src/hb-uniscribe.h | 2 ++ - 3 files changed, 4 insertions(+) - -commit f4e48adcdd4315ce09e755f87a0f801d88194f42 -Author: Behdad Esfahbod -Date: Tue Aug 7 21:12:49 2012 -0400 - - [OT] Apply 'rclt' feature in horizontal mode - - 'rclt' is "Required Contextual Forms" being proposed by Microsoft. - It's like 'calt', but supposedly always on. We apply 'calt' anyway, - and now apply this too. - - src/hb-ot-shape.cc | 1 + - 1 file changed, 1 insertion(+) - -commit b1914b8bd08ecdea79930dda7e3bb2ae9e6134a1 -Author: Behdad Esfahbod -Date: Tue Aug 7 16:57:48 2012 -0400 - - Fix warnings - - src/hb-icu.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 0f8881d6bbf6cd59938315eeff9b71cfc736aa4e -Author: Behdad Esfahbod -Date: Tue Aug 7 16:57:02 2012 -0400 - - More refactoring - - src/hb-ot-shape-normalize.cc | 161 - +++++++++++++++++++++++++++++++++++++++++- - src/hb-unicode-private.hh | 164 - +------------------------------------------ - 2 files changed, 162 insertions(+), 163 deletions(-) - -commit 428dfcab6634ff264570a0a5d715efb8048c3db5 -Author: Behdad Esfahbod -Date: Tue Aug 7 16:51:48 2012 -0400 - - Minor refactoring - - src/hb-ot-shape-normalize.cc | 27 +++++++++++++++++++++++---- - 1 file changed, 23 insertions(+), 4 deletions(-) - -commit 61f41849af6ff9edf8b55cf9610066d1bfb4a8df -Author: Behdad Esfahbod -Date: Tue Aug 7 16:45:27 2012 -0400 - - Add Hebrew presentation forms shaping - - Lifted from https://bugzilla.mozilla.org/show_bug.cgi?id=728866 - - src/hb-unicode-private.hh | 121 - +++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 120 insertions(+), 1 deletion(-) - -commit 32d71dc13317b322e2c5de00d767b2cb15fddd8b -Author: Behdad Esfahbod -Date: Tue Aug 7 14:11:16 2012 -0400 - - [Graphite] Minor - - src/hb-graphite2.cc | 60 - +++++++++++++++++++++++++---------------------------- - 1 file changed, 28 insertions(+), 32 deletions(-) - -commit 030ac5022e8a43b9329c26e72527bafc582ef44b -Author: Behdad Esfahbod -Date: Tue Aug 7 13:01:12 2012 -0400 - - Remove enum trailing comma - - ...again. - - src/hb-ot-shape-normalize-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 368b4e7649f9bc8c6bebf7c7ff03c9b9ec425a25 -Author: Behdad Esfahbod -Date: Mon Aug 6 23:06:04 2012 -0400 - - Minor - - src/hb-font.cc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit ade7459ea7c75b4f33f7cfa43dd5bdfa0c18d6d5 -Author: Behdad Esfahbod -Date: Mon Aug 6 19:42:47 2012 -0700 - - [util] Fix leaks - - src/hb-graphite2.cc | 18 ++++++++++++++---- - util/options.cc | 2 +- - util/options.hh | 2 +- - 3 files changed, 16 insertions(+), 6 deletions(-) - -commit 2fef993460dcfd94c92ab35413bdde18ad2b0ceb -Author: Behdad Esfahbod -Date: Mon Aug 6 19:35:04 2012 -0700 - - [Graphite] Fix graphite2 backend with RTL text - - Patch from Martin Hosken. - - src/hb-graphite2.cc | 33 ++++++++++++++++++--------------- - 1 file changed, 18 insertions(+), 15 deletions(-) - -commit e4992e13e19877a73ea05fc1d31005a262c685ad -Author: Behdad Esfahbod -Date: Mon Aug 6 19:25:39 2012 -0700 - - [Graphite] Port graphite2 backend to new shaper infrastructure - - src/hb-graphite2.cc | 234 - +++++++++++++++++++++++--------------------------- - src/hb-graphite2.h | 2 +- - src/hb-shaper-list.hh | 2 +- - 3 files changed, 109 insertions(+), 129 deletions(-) - -commit 66591ececfba9791de06c814f5f30131e95e5fd2 -Author: Behdad Esfahbod -Date: Mon Aug 6 17:07:19 2012 -0700 - - Remove unnecessary lifecycle bits - - We already set recount to INVALID when destroying. - This block was not necessary. - - src/hb-font.cc | 3 --- - 1 file changed, 3 deletions(-) - -commit e3320ecc1b5a7eaccc7c9370b2d1b76850f054be -Author: Behdad Esfahbod -Date: Mon Aug 6 11:44:10 2012 -0700 - - Fix compiler warnings - - configure.ac | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -commit 167b625d988b74572d6b2f646c285b666b650d49 -Author: Behdad Esfahbod -Date: Sun Aug 5 21:16:26 2012 -0700 - - [Indic] Minor, move 'blwf' after 'half' - - We don't apply them together anyway. Should not make any difference - right now. - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 048e3b596fb7fccd3fb5f48de98b6b67788f774a -Author: Behdad Esfahbod -Date: Sat Aug 4 18:04:57 2012 -0700 - - Speed up hb_set_digest_lowest_bits_t calcs - - src/hb-set-private.hh | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -commit 3d1b66a35e1ab3be19335705f310b278d76d66d2 -Author: Behdad Esfahbod -Date: Sat Aug 4 17:42:28 2012 -0700 - - Speed up hb_set_digest_common_bits_t calcs - - src/hb-set-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit bdc48a879a1900138d8caaa8d90fb9fe1e768d1d -Author: Behdad Esfahbod -Date: Sat Aug 4 17:08:38 2012 -0700 - - Enlarge glyph_name buffer - - Lohit Devanagari has a glyph named: - u0924_u094D.half_u0930_u094D.blwf.vatu - - util/options.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 25326c2359b0a3e25222b94acd142bc36eff78a4 -Author: Behdad Esfahbod -Date: Sat Aug 4 16:43:18 2012 -0700 - - Rewrite ARRAY_LENGTH as a template function - - Such it wouldn't apply to pointers accidentally. - - src/hb-ot-shape-complex-arabic-table.hh | 4 ++-- - src/hb-private.hh | 9 ++++++--- - 2 files changed, 8 insertions(+), 5 deletions(-) - -commit 8ba8042821e4581fe4e87419e58c823520441205 -Author: Behdad Esfahbod -Date: Fri Aug 3 18:54:54 2012 -0700 - - [Indic] Fix consonant position font lookup logic - - Oops. I broken this badly and the test suite did not notice. That - worries me. Have to investigate. - - src/hb-ot-shape-complex-indic.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit abd0c05f1f7f0546593bb2f1c4d59db12cb32e46 -Author: Behdad Esfahbod -Date: Fri Aug 3 18:45:05 2012 -0700 - - Minor - - src/test-would-substitute.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 46ee108ef80f5d4675899862698a8c34d8fcfab5 -Author: Behdad Esfahbod -Date: Fri Aug 3 18:21:13 2012 -0700 - - Fix leak - - src/hb-shape-plan.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 71baea0062da4d7f143d62da38492a0813814e49 -Author: Behdad Esfahbod -Date: Fri Aug 3 17:40:07 2012 -0700 - - [OT] Use general-category, not GDEF class, to decide to zero mark - advances - - At this point, the GDEF glyph synthesis looks pointless. Not that I - have many fonts without GDEF lying around. - - As for mark advance zeroing when GPOS not available, that also - is being - replaced by proper fallback mark positioning soon. - - src/hb-ot-shape.cc | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -commit 3a7e137a68ec8f723dc3afa89c918ca2df7ff6bf -Author: Behdad Esfahbod -Date: Fri Aug 3 17:23:40 2012 -0700 - - Dn't use gint - - src/hb-glib.cc | 4 ++-- - src/hb-icu.cc | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 11b0e20ba42bf0b17133c3e1087732802bb4f230 -Author: Behdad Esfahbod -Date: Thu Aug 2 14:21:40 2012 -0400 - - [Indic] Add per-script configuration tables - - This concludes the Indic shape_plan work. May do for Arabic also... - - src/hb-ot-shape-complex-indic-private.hh | 16 +- - src/hb-ot-shape-complex-indic.cc | 309 - +++++++++++++++---------------- - 2 files changed, 159 insertions(+), 166 deletions(-) - -commit 85fc6c483f6d734febbe39270e84701a651f01f1 -Author: Behdad Esfahbod -Date: Thu Aug 2 12:21:44 2012 -0400 - - [Indic] Move more stuff to the shape_plan - - Almost done. Need to add per-script static tables. - - src/hb-ot-shape-complex-indic-machine.rl | 4 +- - src/hb-ot-shape-complex-indic.cc | 216 - ++++++++++++++++--------------- - 2 files changed, 116 insertions(+), 104 deletions(-) - -commit 914ffaa40fcca020f65bacdd709421e9047afd83 -Author: Behdad Esfahbod -Date: Thu Aug 2 11:03:39 2012 -0400 - - [Indic] Move more repeated work into shape_plan - - src/hb-ot-shape-complex-indic.cc | 63 - ++++++++++++++++++++++++++-------------- - 1 file changed, 42 insertions(+), 21 deletions(-) - -commit a8c6da90f4c6e8d27a3a1b758a55476776d9f750 -Author: Behdad Esfahbod -Date: Thu Aug 2 10:46:34 2012 -0400 - - [OT] Add per-complex-shaper shape_plan data - - Hookup some Indic data to it. More to come. - - src/hb-ot-shape-complex-arabic.cc | 2 + - src/hb-ot-shape-complex-indic.cc | 128 - ++++++++++++++++++++++--------------- - src/hb-ot-shape-complex-misc.cc | 4 ++ - src/hb-ot-shape-complex-private.hh | 16 ++++- - src/hb-ot-shape-private.hh | 1 + - src/hb-ot-shape.cc | 23 +++++-- - 6 files changed, 113 insertions(+), 61 deletions(-) - -commit 8bb5deba9630d35878eb6edb4643ecfabf99f15f -Author: Behdad Esfahbod -Date: Thu Aug 2 10:07:58 2012 -0400 - - [OT] Pipe shape_plan down to pause_callbacks - - src/hb-ot-map-private.hh | 8 ++--- - src/hb-ot-map.cc | 11 ++++--- - src/hb-ot-shape-complex-indic-machine.rl | 4 +-- - src/hb-ot-shape-complex-indic.cc | 50 - +++++++++++++++----------------- - src/hb-ot-shape-private.hh | 6 ++++ - src/hb-ot-shape.cc | 28 ++++++++++-------- - 6 files changed, 57 insertions(+), 50 deletions(-) - -commit 3e38c0f2886c38d2f0a9d80a97a36edf2479d2c7 -Author: Behdad Esfahbod -Date: Thu Aug 2 09:44:18 2012 -0400 - - More massaging - - src/hb-ot-map-private.hh | 20 ++++++++------------ - src/hb-ot-map.cc | 17 ++++++++--------- - src/hb-ot-shape-complex-arabic.cc | 8 ++++---- - src/hb-ot-shape-complex-indic.cc | 18 +++++++----------- - 4 files changed, 27 insertions(+), 36 deletions(-) - -commit 16c6a27b4bffc19026944c7bea9cf0a3a8ff1d8f -Author: Behdad Esfahbod -Date: Thu Aug 2 09:38:28 2012 -0400 - - [OT] Port complex_shaper to planner/plan - - src/hb-ot-shape-complex-arabic.cc | 17 ++++++++--------- - src/hb-ot-shape-complex-indic.cc | 19 ++++++++----------- - src/hb-ot-shape-complex-misc.cc | 20 ++++++++------------ - src/hb-ot-shape-complex-private.hh | 32 +++++++++++--------------------- - src/hb-ot-shape-private.hh | 14 +++++++++++--- - src/hb-ot-shape.cc | 9 +++++---- - 6 files changed, 51 insertions(+), 60 deletions(-) - -commit 5393e3a62ba09fd7bcf3767b36225c8f49badb9d -Author: Behdad Esfahbod -Date: Thu Aug 2 09:24:35 2012 -0400 - - [OT] Minor refactoring - - src/hb-ot-map.cc | 4 ---- - src/hb-ot-shape-private.hh | 26 ++++++++++++++++++++++++++ - src/hb-ot-shape.cc | 26 ++------------------------ - src/hb-shape-plan.cc | 2 ++ - src/hb-shape.cc | 2 -- - 5 files changed, 30 insertions(+), 30 deletions(-) - -commit 24eacf17c801c66a2d466e8ae02b73f501a26b25 -Author: Behdad Esfahbod -Date: Thu Aug 2 08:42:11 2012 -0400 - - [Indic] Move consonant-position-setting into initial_reordering() - - src/hb-ot-shape-complex-indic.cc | 65 - +++++++++++++++++++++------------------- - 1 file changed, 35 insertions(+), 30 deletions(-) - -commit afbcc24be01a64bdb5c05c63880269145fa1d3c8 -Author: Behdad Esfahbod -Date: Thu Aug 2 08:36:40 2012 -0400 - - [GSUB] Wire the font, not just the face, down to substitute() - - We need the font for glyph lookup during GSUB pauses in Indic shaper. - Could perhaps be avoided, but at this point, we don't mean to support - separate substitute()/position() entry points (anymore), so there is - no point in not providing the font to GSUB. - - src/hb-ot-layout-gsub-table.hh | 13 +++++-------- - src/hb-ot-layout-gsubgpos-private.hh | 7 ++----- - src/hb-ot-layout-private.hh | 6 +++--- - src/hb-ot-layout.cc | 18 +++++++++--------- - src/hb-ot-map-private.hh | 15 ++++++--------- - src/hb-ot-map.cc | 8 ++++---- - src/hb-ot-shape-complex-indic.cc | 8 ++++---- - src/hb-ot-shape.cc | 6 +++--- - 8 files changed, 36 insertions(+), 45 deletions(-) - -commit b0e6a26a10ccca70ebc88a9e158a89ccfab0add5 -Author: Behdad Esfahbod -Date: Thu Aug 2 08:11:14 2012 -0400 - - [OT] Hide some API - - It was impossible to meaningfully use them from the outside these - days. - - src/hb-ot-layout-private.hh | 40 ++++++++++++++++++++++++++++++++-------- - src/hb-ot-layout.cc | 20 -------------------- - src/hb-ot-layout.h | 34 ---------------------------------- - src/hb-ot-map.cc | 8 ++++---- - 4 files changed, 36 insertions(+), 66 deletions(-) - -commit 305246744ed178f116e01498b7f9d1af6950ca30 -Author: Behdad Esfahbod -Date: Thu Aug 2 08:08:04 2012 -0400 - - Minor - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8ef3d53255ae9fbb0e46c22909e50009d1e7eeb0 -Author: Behdad Esfahbod -Date: Thu Aug 2 07:53:18 2012 -0400 - - [Indic] More refactoring of consonant position peeking in the font - - To be moved to initial_reordering next... - - src/hb-ot-shape-complex-indic.cc | 59 - ++++++++++++++++++++++++++++------------ - 1 file changed, 41 insertions(+), 18 deletions(-) - -commit 3eb6f81fd3f1e56679eec10d08f5e2303121753f -Author: Behdad Esfahbod -Date: Thu Aug 2 07:37:46 2012 -0400 - - [Indic] Refactor - - Move all the logic that needs to eventually move into the indic table - into hb-ot-shape-complex-indic-private.hh. - - src/hb-ot-shape-complex-indic-private.hh | 210 - ++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-indic.cc | 227 - ++----------------------------- - 2 files changed, 218 insertions(+), 219 deletions(-) - -commit 3614ba242fc7d338761acdda365a134706035b6d -Author: Behdad Esfahbod -Date: Thu Aug 2 07:13:55 2012 -0400 - - [Indic] Rename - - src/hb-ot-shape-complex-indic.cc | 40 - +++++++++++++++++++++------------------- - 1 file changed, 21 insertions(+), 19 deletions(-) - -commit 610e5e8f713bb2a68939b72cb2b801a7aaede4f9 -Author: Behdad Esfahbod -Date: Thu Aug 2 05:27:46 2012 -0400 - - [Indic] Streamline feature would_apply() - - Comes with some 10% speedup for Devanagari even! - - src/hb-ot-map-private.hh | 85 - +++++++++++++++++++++++++--------------- - src/hb-ot-map.cc | 18 ++++----- - src/hb-ot-shape-complex-indic.cc | 85 - +++++++++++++++++++++++----------------- - 3 files changed, 110 insertions(+), 78 deletions(-) - -commit 1d002048d5afcd45abbb09fdf0419f13b2e2265c -Author: Behdad Esfahbod -Date: Thu Aug 2 05:01:11 2012 -0400 - - [Indic] Minor - - src/hb-ot-shape-complex-indic-private.hh | 16 -------- - src/hb-ot-shape-complex-indic.cc | 64 - +++++++++++++++++++++----------- - 2 files changed, 43 insertions(+), 37 deletions(-) - -commit 6f7611375521c6d285a9aa763f2ea5cb44cd0d39 -Author: Behdad Esfahbod -Date: Thu Aug 2 04:00:31 2012 -0400 - - [GSUB/GPOS] Check array size before accessing digests - - src/hb-ot-layout-private.hh | 3 +++ - src/hb-ot-layout.cc | 32 ++++++++++++++++---------------- - 2 files changed, 19 insertions(+), 16 deletions(-) - -commit 22148b8c4af3ed296d96e969cdd47bac97b32307 -Author: Behdad Esfahbod -Date: Thu Aug 2 03:51:51 2012 -0400 - - Use Coverage digests in would_apply - - src/hb-ot-layout-gsub-table.hh | 1 + - src/hb-ot-layout-gsubgpos-private.hh | 6 +++++- - src/hb-ot-layout.cc | 4 ++-- - 3 files changed, 8 insertions(+), 3 deletions(-) - -commit 6c459c8fef85bc44f45d7b58c28a34abfb2c33fc -Author: Behdad Esfahbod -Date: Thu Aug 2 03:45:53 2012 -0400 - - Minor - - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit e2b8d75fa6e847ecf5c040f4e1e16a565c5d8aaf -Author: Behdad Esfahbod -Date: Wed Aug 1 22:17:48 2012 -0400 - - Use wider set digests on 64-bit archs - - src/hb-set-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 0120ce9679aab3ac936aeb18f6709529eef000a4 -Author: Behdad Esfahbod -Date: Wed Aug 1 21:56:35 2012 -0400 - - [GSUB/GPOS] Remove unused get_coverage() methods - - src/hb-ot-layout-gpos-table.hh | 11 ----------- - src/hb-ot-layout-gsub-table.hh | 11 ----------- - 2 files changed, 22 deletions(-) - -commit 1336ecdf8e4e9879b96b26ecfbf5c9ba6c49e2b9 -Author: Behdad Esfahbod -Date: Wed Aug 1 21:46:36 2012 -0400 - - [GSUB/GPOS] Use Coverage digests as gatekeeper - - Gives me a good 10% speedup for the Devanagari test case. Less so - for less lookup-intensive tests. - - For the Devanagari test case, the false positive rate of the GSUB - digest - is 4%. - - src/hb-ot-layout-gpos-table.hh | 30 +++++++++--------------------- - src/hb-ot-layout-gsub-table.hh | 35 - ++++++++++++----------------------- - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++++-- - src/hb-ot-layout-private.hh | 4 ++++ - src/hb-ot-layout.cc | 29 +++++++++++++++++++++++++---- - 5 files changed, 56 insertions(+), 50 deletions(-) - -commit a878c58a8fc1500986d713b2bcedfeb90a0087b0 -Author: Behdad Esfahbod -Date: Wed Aug 1 21:18:54 2012 -0400 - - [GSUB/GPOS] Add add_coverage() - - src/hb-ot-layout-gpos-table.hh | 18 ++++++++++++++++++ - src/hb-ot-layout-gsub-table.hh | 18 ++++++++++++++++++ - 2 files changed, 36 insertions(+) - -commit 60a3035ac5ec8227e4cc0e6708732bb139c9e0b8 -Author: Behdad Esfahbod -Date: Wed Aug 1 21:06:27 2012 -0400 - - Add hb_set_digest_t - - Implement two set digests, and one that combines the two. - - src/hb-set-private.hh | 95 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 95 insertions(+) - -commit c8accf1dd2d92cc4f714393eb0ea46f69bb182a6 -Author: Behdad Esfahbod -Date: Wed Aug 1 21:05:57 2012 -0400 - - [OT] Templatize Coverage::add_coverage() - - src/hb-ot-layout-common-private.hh | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit 8fbfda920e0b3bb4ab7afb732826026964b79be9 -Author: Behdad Esfahbod -Date: Wed Aug 1 19:03:46 2012 -0400 - - Inline font getters - - src/hb-fallback-shape.cc | 21 ++-- - src/hb-font-private.hh | 204 - ++++++++++++++++++++++++++++++++++++++ - src/hb-font.cc | 129 ++++-------------------- - src/hb-graphite2.cc | 6 +- - src/hb-old.cc | 10 +- - src/hb-ot-layout-gdef-table.hh | 2 +- - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-shape-complex-arabic.cc | 4 +- - src/hb-ot-shape-complex-indic.cc | 6 +- - src/hb-ot-shape-normalize.cc | 12 +-- - src/hb-ot-shape.cc | 47 +++++---- - 11 files changed, 277 insertions(+), 166 deletions(-) - -commit 6adf417bc15d4524e280b284e3accd1ae647662e -Author: Behdad Esfahbod -Date: Wed Aug 1 18:07:42 2012 -0400 - - Use a lookup table for modified_combining_class - - src/hb-unicode-private.hh | 10 ++- - src/hb-unicode.cc | 213 - +++++++++++++++++++++++++++++++--------------- - src/hb-unicode.h | 4 + - 3 files changed, 157 insertions(+), 70 deletions(-) - -commit 208f70f0553d73d2908b21b9552298029482a8b9 -Author: Behdad Esfahbod -Date: Wed Aug 1 17:13:10 2012 -0400 - - Inline Unicode callbacks internally - - src/hb-buffer.cc | 2 +- - src/hb-fallback-shape.cc | 2 +- - src/hb-old.cc | 2 +- - src/hb-ot-shape-complex-misc.cc | 2 +- - src/hb-ot-shape-normalize.cc | 13 +++-- - src/hb-ot-shape-private.hh | 6 +-- - src/hb-ot-shape.cc | 4 +- - src/hb-unicode-private.hh | 112 - ++++++++++++++++++++-------------------- - src/hb-unicode.cc | 5 +- - 9 files changed, 73 insertions(+), 75 deletions(-) - -commit 7470315a3e782aa6192bbe64f7a3944266fb1521 -Author: Behdad Esfahbod -Date: Wed Aug 1 17:01:59 2012 -0400 - - Move unicode accessors around - - src/hb-unicode-private.hh | 73 - ++++++++++++++++++++++++++++++++++++++++++++++- - src/hb-unicode.cc | 65 ++++------------------------------------- - 2 files changed, 78 insertions(+), 60 deletions(-) - -commit 21fdcee00125b6e1c09f0bed3064d16ccd3a7a5d -Author: Behdad Esfahbod -Date: Wed Aug 1 16:23:44 2012 -0400 - - Add hb_unicode_combining_class_t - - src/hb-common.h | 38 +------------- - src/hb-glib.cc | 4 +- - src/hb-icu.cc | 4 +- - src/hb-unicode-private.hh | 2 +- - src/hb-unicode.cc | 11 ++-- - src/hb-unicode.h | 124 - +++++++++++++++++++++++++++++++++++++++++++++- - 6 files changed, 134 insertions(+), 49 deletions(-) - -commit 84186a64004e5dcd2ce98b564d0e0a09aa5d68b2 -Author: Behdad Esfahbod -Date: Wed Aug 1 13:32:39 2012 -0400 - - Add commentary on the compatibility decomposition in the normalizer - - src/hb-ot-shape-normalize.cc | 18 +++++++++++++++--- - 1 file changed, 15 insertions(+), 3 deletions(-) - -commit 0834d952017a04c6f4599e574cb75ecf3ca27d3b -Author: Behdad Esfahbod -Date: Wed Aug 1 00:21:09 2012 -0400 - - [hb-old] Adjust mark positioning parameters - - Fallback mark positioning works now... With hb-ft and hb-view / - hb-shape at least. - - src/hb-old.cc | 10 +++++----- - src/hb-old/harfbuzz-shaper.cpp | 1 + - 2 files changed, 6 insertions(+), 5 deletions(-) - -commit 4ca743dfb8e09f9fa525061c7f1144d55f72effb -Author: Behdad Esfahbod -Date: Wed Aug 1 00:03:41 2012 -0400 - - [old] Implement fontMetrics - - src/hb-old.cc | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -commit 1e7d860613032e40a3f90e2caa2ee5ac44ab8c8c -Author: Behdad Esfahbod -Date: Tue Jul 31 23:41:06 2012 -0400 - - [GPOS] Adjust mark advance-width zeroing logic - - If there is no GPOS, zero mark advances. - - If there *is* GPOS and the shaper requests so, zero mark advances for - attached marks. - - Fixes regression with Tibetan, where the font has GPOS, and marks a - glyph as mark where it shouldn't get zero advance. - - src/hb-ot-layout-gpos-table.hh | 14 ++++++++------ - src/hb-ot-layout.cc | 4 ++-- - src/hb-ot-layout.h | 3 ++- - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape-complex-misc.cc | 4 ++-- - src/hb-ot-shape-complex-private.hh | 2 +- - src/hb-ot-shape.cc | 6 ++---- - 8 files changed, 19 insertions(+), 18 deletions(-) - -commit a8842e4a448efb30f3f2f3c628d6dc4824829726 -Author: Behdad Esfahbod -Date: Tue Jul 31 23:10:11 2012 -0400 - - Remove some TODO items - - TODO | 27 --------------------------- - src/hb-shape.cc | 2 ++ - 2 files changed, 2 insertions(+), 27 deletions(-) - -commit 2bc3b9a616cedbc56ff4a915f9e3439ff3a6bf13 -Author: Behdad Esfahbod -Date: Tue Jul 31 23:08:25 2012 -0400 - - [OT] Zero mark advances if the shaper desires so - - Enabled for all shapers except for Indic. - - src/hb-ot-shape-complex-arabic.cc | 1 + - src/hb-ot-shape-complex-indic.cc | 1 + - src/hb-ot-shape-complex-misc.cc | 2 ++ - src/hb-ot-shape-complex-private.hh | 2 ++ - src/hb-ot-shape.cc | 15 +++++++++++++++ - 5 files changed, 21 insertions(+) - -commit 5fecd8b0355894ceda14b3d3c654f20c3d5e77f4 -Author: Behdad Esfahbod -Date: Tue Jul 31 22:48:38 2012 -0400 - - [OT] Synthesize glyph classes - - TODO | 2 -- - src/hb-ot-shape.cc | 20 ++++++++++++++++++-- - 2 files changed, 18 insertions(+), 4 deletions(-) - -commit 03b09214c073ce37eeb8af5218942c85b2d393df -Author: Behdad Esfahbod -Date: Tue Jul 31 22:43:58 2012 -0400 - - [GSUB] Minor - - src/hb-ot-layout-gsub-table.hh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit f0fc1df8fc949739b68d55948741016081b69c3a -Author: Behdad Esfahbod -Date: Tue Jul 31 22:43:32 2012 -0400 - - [hb-old] Implement getGlyphMetrics() - - Still working on it. - - src/hb-old.cc | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -commit 378d279bbf692195c4654e312dae854ab3be04cf -Author: Behdad Esfahbod -Date: Tue Jul 31 21:36:16 2012 -0400 - - Implement Unicode compatibility decompositions - - Based on patch from Philip Withnall. - https://bugs.freedesktop.org/show_bug.cgi?id=41095 - - src/hb-glib.cc | 30 +++++++++++++++++++++++++ - src/hb-icu.cc | 36 +++++++++++++++++++++++++++++- - src/hb-ot-shape-normalize.cc | 53 - +++++++++++++++++++++++++++++--------------- - src/hb-unicode-private.hh | 1 + - src/hb-unicode.cc | 27 +++++++++++++++++++++- - src/hb-unicode.h | 37 ++++++++++++++++++++++++++++++- - test/api/hb-test.h | 1 + - test/api/test-unicode.c | 50 - +++++++++++++++++++++++++++++++++++++++++ - 8 files changed, 214 insertions(+), 21 deletions(-) - -commit 321ec29cc270e7e66a529696b70b2caac553c95f -Author: Behdad Esfahbod -Date: Tue Jul 31 21:10:16 2012 -0400 - - Remove unused function - - src/hb-ot-shape-complex-indic.cc | 7 ------- - 1 file changed, 7 deletions(-) - -commit 69cc492dc120847ed00cae65ec958593ebf550c5 -Author: Behdad Esfahbod -Date: Tue Jul 31 14:51:36 2012 -0400 - - [buffer] Minor - - src/hb-buffer-private.hh | 3 ++- - src/hb-buffer.cc | 24 ++++++++++++------------ - 2 files changed, 14 insertions(+), 13 deletions(-) - -commit 693918ef8541014a5ef7dfb91c6ea0ae36d9c368 -Author: Behdad Esfahbod -Date: Mon Jul 30 21:08:51 2012 -0400 - - [OT] Streamline complex shaper enumeration - - Add a shaper class struct. - - src/hb-ot-shape-complex-arabic.cc | 37 ++++---- - src/hb-ot-shape-complex-indic.cc | 47 ++++++--- - src/hb-ot-shape-complex-misc.cc | 67 ++++++------- - src/hb-ot-shape-complex-private.hh | 179 - ++++++++++------------------------- - src/hb-ot-shape-normalize-private.hh | 4 +- - src/hb-ot-shape-private.hh | 2 +- - src/hb-ot-shape.cc | 16 ++-- - 7 files changed, 143 insertions(+), 209 deletions(-) - -commit c2e42c3db691515f3a458eb4c71fe1e6439d5620 -Author: Behdad Esfahbod -Date: Mon Jul 30 19:54:50 2012 -0400 - - Minor - - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- - src/hb-ot-layout-private.hh | 4 ++-- - 4 files changed, 9 insertions(+), 9 deletions(-) - -commit 03f67bc012f42131b36083a23efc78e1b04b828c -Author: Behdad Esfahbod -Date: Mon Jul 30 19:47:53 2012 -0400 - - More refactoring glyph class access - - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 154 - +++++++++++++++++------------------ - 3 files changed, 76 insertions(+), 82 deletions(-) - -commit 300c7307eb7943ba7416b672345506be1e27c6ba -Author: Behdad Esfahbod -Date: Mon Jul 30 19:37:44 2012 -0400 - - [OT] Don't crash if no GDEF available - - src/hb-ot-layout-gsubgpos-private.hh | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 3dcbdc2125c04c173f29f04922fc031929893f4e -Author: Behdad Esfahbod -Date: Mon Jul 30 19:31:17 2012 -0400 - - Minor - - src/hb-ot-layout.cc | 15 +++++---------- - 1 file changed, 5 insertions(+), 10 deletions(-) - -commit 05bd1b63426e07d1df7a1b40bf845dc94ab995a8 -Author: Behdad Esfahbod -Date: Mon Jul 30 19:30:01 2012 -0400 - - [GSUB/GPOS] Move glyph props matching around - - src/hb-ot-layout-gpos-table.hh | 11 ++-- - src/hb-ot-layout-gsub-table.hh | 18 +++--- - src/hb-ot-layout-gsubgpos-private.hh | 99 - +++++++++++++++++++++++++++++---- - src/hb-ot-layout-private.hh | 12 ---- - src/hb-ot-layout.cc | 104 - +++-------------------------------- - src/hb-ot-layout.h | 12 ++-- - src/hb-ot-shape.cc | 10 ++-- - 7 files changed, 127 insertions(+), 139 deletions(-) - -commit 2fca1426ca06cabbe8f027f2dc9dee9c27560c76 -Author: Behdad Esfahbod -Date: Mon Jul 30 18:46:41 2012 -0400 - - [GSUB] Don't erase glyph classes if GDEF does not have glyph classes - - src/hb-ot-layout-gsubgpos-private.hh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit fd42257f8c45ff8e036e1c3eb1a788a101be7ead -Author: Behdad Esfahbod -Date: Mon Jul 30 18:40:27 2012 -0400 - - Minor - - src/hb-ot-layout.cc | 29 +++++------------------------ - 1 file changed, 5 insertions(+), 24 deletions(-) - -commit 7fbbf86efe675e4c038dfc5985c24bbc544620cd -Author: Behdad Esfahbod -Date: Mon Jul 30 18:36:42 2012 -0400 - - [GSUB] Minor - - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 6 ++++++ - 2 files changed, 7 insertions(+), 1 deletion(-) - -commit 713914d3203109a8e9213f5a1d3b384730703ce9 -Author: Behdad Esfahbod -Date: Mon Jul 30 17:54:38 2012 -0400 - - [Uniscribe] Clean up a bit - - src/hb-uniscribe.cc | 17 +++++------------ - 1 file changed, 5 insertions(+), 12 deletions(-) - -commit 301168dae77a63ee25adfb26ce2b54a708f83791 -Author: Behdad Esfahbod -Date: Mon Jul 30 17:48:04 2012 -0400 - - [CoreText] Port to shape_plan infrastructure - - src/hb-coretext.cc | 161 - ++++++++++++++++++++++++++--------------------------- - 1 file changed, 80 insertions(+), 81 deletions(-) - -commit 6cdfd14bb19d60ac3d6b20ff611408432254f273 -Author: Behdad Esfahbod -Date: Mon Jul 30 17:22:17 2012 -0400 - - Fix build on Mac - - src/hb-ot-layout-gsub-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 7e34601dededd521bcef15111e39293df3d0d13d -Author: Behdad Esfahbod -Date: Mon Jul 30 14:53:41 2012 -0400 - - Unbreak Hangul jamo composition - - When we removed the separate Hangul shaper, the specific normalization - preference of Hangul was lost. Fix that. Also, the Thai shaper was - copied from Hangul, so had the fully-composed normalization behavior, - which was unnecessary. So, fix that too. - - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape-complex-indic.cc | 4 +--- - src/hb-ot-shape-complex-misc.cc | 12 +++++++++--- - src/hb-ot-shape-complex-private.hh | 9 ++++----- - src/hb-ot-shape.cc | 4 +++- - 5 files changed, 18 insertions(+), 13 deletions(-) - -commit 7afb14407e59dfeaa79c33aca1ffa60e7982e349 -Author: Behdad Esfahbod -Date: Mon Jul 30 13:54:46 2012 -0400 - - [Indic] Recategorize Telugu length marks - - Fixes 8 more Telugu tests. Failures at 15 (0.00154548%). - - src/hb-unicode.cc | 8 ++++++++ - src/indic.cc | 11 ++++++++--- - 2 files changed, 16 insertions(+), 3 deletions(-) - -commit 70b3dc327232b20051b36397aa2b196ab8c62397 -Author: Behdad Esfahbod -Date: Mon Jul 30 12:40:18 2012 -0400 - - Add Hebrew test - - .../texts/in-tree/shaper-default/script-hebrew/misc/diacritics.txt - | 1 + - 1 file changed, 1 insertion(+) - -commit f2377155e35c15919af4d7db21b6edc6783146b6 -Author: Behdad Esfahbod -Date: Mon Jul 30 10:50:57 2012 -0400 - - [hb-old] Fix misc leaks - - Backport (forward-port?!) from upstream: - - commit 3ab7b37bdebf0f8773493a1fee910b151c4de30f - Author: Behdad Esfahbod - Date: Mon Jul 30 10:50:22 2012 -0400 - - Fix misc leaks - - https://bugs.freedesktop.org/show_bug.cgi?id=31992 - https://bugs.freedesktop.org/show_bug.cgi?id=31993 - https://bugs.freedesktop.org/show_bug.cgi?id=31994 - https://bugs.freedesktop.org/show_bug.cgi?id=31995 - - src/hb-old/harfbuzz-arabic.c | 12 +++++++++--- - src/hb-old/harfbuzz-gpos.c | 6 +++--- - src/hb-old/harfbuzz-gsub.c | 6 +++--- - src/hb-old/harfbuzz-tibetan.c | 1 + - 4 files changed, 16 insertions(+), 9 deletions(-) - -commit 3f4764bb56bb7e42ba8859f1905810bd2f998838 -Author: Behdad Esfahbod -Date: Mon Jul 30 10:06:42 2012 -0400 - - Don't lock user_data set during destruction if empty - - src/hb-private.hh | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 4ba647eecf0f70917ac4229af1f2dd3c62fcb7d5 -Author: Behdad Esfahbod -Date: Mon Jul 30 09:53:06 2012 -0400 - - Fix leak - - src/hb-ot-shape.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit f860366456d9e59b139a940da6d89c3c4fb9e96e -Author: Behdad Esfahbod -Date: Mon Jul 30 02:38:39 2012 -0400 - - [OT] Gain back some lost speed - - src/hb-ot-layout-private.hh | 27 +++++++++++++++- - src/hb-ot-layout.cc | 63 - ++++++++++++++++++++++++++++++++++---- - src/hb-ot-map-private.hh | 26 +++------------- - src/hb-ot-map.cc | 35 +++++++++++++++------ - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape-complex-private.hh | 5 --- - 6 files changed, 114 insertions(+), 44 deletions(-) - -commit 11f4c87d01924cac43bf40044f67838440e19e42 -Author: Behdad Esfahbod -Date: Mon Jul 30 02:36:46 2012 -0400 - - [OT] Remove hb_ot_layout_ensure() - - I didn't like it from the beginning. - - src/hb-ot-layout.cc | 9 +++++---- - src/hb-ot-layout.h | 5 ----- - 2 files changed, 5 insertions(+), 9 deletions(-) - -commit 578e42182b9b9cf15b4c5426fae36e224160cbd7 -Author: Behdad Esfahbod -Date: Mon Jul 30 02:35:07 2012 -0400 - - Minor - - src/hb-ot-layout-private.hh | 2 -- - src/hb-ot-layout.cc | 1 - - 2 files changed, 3 deletions(-) - -commit a973b5ce86051e8ef0d20df362db1a50488842ab -Author: Behdad Esfahbod -Date: Mon Jul 30 01:46:34 2012 -0400 - - [GSUB] Further adjustments to mark-attachment vs ligation interaction - - The d1d69ec52e75a78575b620a1c456d528b6078170 change broke Kannada - badly, - since it was ligating consonants, pushing matra out, and then ligating - with the matra. Adjust for that. See comments. - - src/hb-ot-layout-gsub-table.hh | - 11 ++++++++--- - .../in-tree/shaper-indic/indic/script-kannada/misc/misc.txt | 1 + - 2 files changed, 9 insertions(+), 3 deletions(-) - -commit 0aef425e25e2c58445157057f17ef18f695c5240 -Author: Behdad Esfahbod -Date: Mon Jul 30 00:55:15 2012 -0400 - - [GSUB] Minor - - src/hb-ot-layout-gpos-table.hh | 15 ++++++--------- - 1 file changed, 6 insertions(+), 9 deletions(-) - -commit d1d69ec52e75a78575b620a1c456d528b6078170 -Author: Behdad Esfahbod -Date: Mon Jul 30 00:51:47 2012 -0400 - - [GSUB] Don't ligate glyphs attached to different components of - ligatures - - This concludes the mark-attachment vs ligating interaction fixes - (for now). - - src/hb-ot-layout-gsub-table.hh | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -commit 4751dec8be05883483fd5f6b474ebd22583ae566 -Author: Behdad Esfahbod -Date: Mon Jul 30 00:42:07 2012 -0400 - - Minor - - src/hb-ot-layout-private.hh | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit f24bcfbed1f3b4f4f6311246bd870f73ad6ba750 -Author: Behdad Esfahbod -Date: Mon Jul 30 00:39:00 2012 -0400 - - Minor - - src/hb-ot-layout-gsub-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fe20c0f84f5ff518dc471bf22ac5a83ef079eb69 -Author: Behdad Esfahbod -Date: Mon Jul 30 00:00:59 2012 -0400 - - [GSUB] Fix mark component stuff when ligatures form ligatures! - - See comments. - - Fixes https://bugzilla.gnome.org/show_bug.cgi?id=437633 - - src/hb-ot-layout-gsub-table.hh | 117 - +++++++++++++++++++++++------------ - src/hb-ot-layout-gsubgpos-private.hh | 8 --- - src/hb-ot-layout-private.hh | 8 +-- - 3 files changed, 79 insertions(+), 54 deletions(-) - -commit 2ec3ba46a3c24469096e901750e38f6ee555479a -Author: Behdad Esfahbod -Date: Sun Jul 29 22:02:24 2012 -0400 - - [GSUB/GPOS] Minor - - Start squeezing more out of lig_id/lig_comp. - - src/hb-ot-layout-gsub-table.hh | 6 +++--- - src/hb-ot-layout-private.hh | 35 +++++++++++++++++++++++++++++++---- - 2 files changed, 34 insertions(+), 7 deletions(-) - -commit ef6e9cec3399e4f63f4b662abd77cf6d4683e8a3 -Author: Behdad Esfahbod -Date: Sun Jul 29 21:35:22 2012 -0400 - - Fixup bb0e4ba3e9c5a407fc5d73c914e429d24d336380 - - src/hb-shape-plan.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cb3d34063154bf164c61eeba41c6166b0bd304fb -Author: Behdad Esfahbod -Date: Sun Jul 29 20:37:38 2012 -0400 - - [GSUB] Don't set new lig_id on mark ligatures - - If two marks form a ligature, retain their previous lig_id, such that - the mark ligature can attach to ligature components... - - Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676343 - - In fact, I noticed that we should not let ligatures form between - glyphs - coming from different components of a previous ligature. For example, - if the sequence is: LAM,SHADDA,LAM,FATHA,HEH, the LAM,LAM,HEH form a - ligature, putting SHADDA and FATHA next to eachother. However, - it would - be wrong to ligate them. Uniscribe has this bug also. - - src/hb-ot-layout-gsub-table.hh | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -commit 97a201becf936f62046914b568e5763e27ee936e -Author: Behdad Esfahbod -Date: Sun Jul 29 20:31:36 2012 -0400 - - Add Arabic tests for mark ligature component attachments - - .../script-arabic/misc/diacritics/MANIFEST | 1 + - .../misc/diacritics/ligature-components.txt | 18 - ++++++++++++++++++ - 2 files changed, 19 insertions(+) - -commit a15b70a81a609f024083cb04f9819483f4d5cab7 -Author: Behdad Esfahbod -Date: Sun Jul 29 20:09:22 2012 -0400 - - [hb-old] Fix cluster formation in RTL - - Unlike Uniscribe, hb-old returns glyphs in logical order, so the logic - does not need to duplicated for RTL. - - src/hb-old.cc | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -commit 8a7e70ef65952fc16b8c1d5f1126c94d9d81e755 -Author: Behdad Esfahbod -Date: Sun Jul 29 19:56:54 2012 -0400 - - [Minor] - - src/test.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bb0e4ba3e9c5a407fc5d73c914e429d24d336380 -Author: Behdad Esfahbod -Date: Sun Jul 29 17:34:14 2012 -0400 - - Minor - - src/hb-shape-plan.cc | 2 +- - src/test-would-substitute.cc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit a00ad60bc0fe74bf0e11d73da563239f3392f351 -Author: Behdad Esfahbod -Date: Sat Jul 28 21:16:08 2012 -0400 - - [Uniscribe] Remove hb_uniscribe_font_ensure() - - Wasn't a huge fan of putting the burden on the user. Just remove - it and - do what we've got to do transparently. - - src/hb-uniscribe.cc | 6 +++++- - src/hb-uniscribe.h | 4 ---- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 5d874d566fe5d2cc4cfaf02c79b663d8a626ca1e -Author: Behdad Esfahbod -Date: Sat Jul 28 21:05:25 2012 -0400 - - [GPOS] Fix mark-to-mark positioning when one of the marks is - a ligature - - This commit: a3313e54008167e415b72c780ca7b9cda958d07e broke - MarkMarkPos - when one of the marks itself is a ligature. That regressed 26 Tibetan - tests (up from zero!). Fix that. Tibetan back to zero. - - src/hb-ot-layout-gpos-table.hh | 27 - ++++++++++++++++------ - src/hb-ot-layout-private.hh | 5 ++-- - test/shaping/texts/in-tree/shaper-indic/MANIFEST | 1 + - .../indic/script-sinhala/misc/MANIFEST | 1 + - .../in-tree/shaper-indic/south-asian/MANIFEST | 1 + - .../south-asian/script-tibetan/MANIFEST | 1 + - .../south-asian/script-tibetan/misc/MANIFEST | 1 + - .../south-asian/script-tibetan/misc/misc.txt | 1 + - 8 files changed, 29 insertions(+), 9 deletions(-) - -commit 338fe662b50f9309bf0050dd99becb644874195b -Author: Behdad Esfahbod -Date: Sat Jul 28 18:53:01 2012 -0400 - - [GSUB] Minor - - src/hb-ot-layout-gsub-table.hh | 33 ++++++++++++++++----------------- - 1 file changed, 16 insertions(+), 17 deletions(-) - -commit e6f7479fe34fb4a7cada61d84c2ed70d1fd565c8 -Author: Behdad Esfahbod -Date: Sat Jul 28 18:34:58 2012 -0400 - - [GSUB] Simplify would-apply - - src/hb-ot-layout-gsub-table.hh | 71 - +++--------------------------------- - src/hb-ot-layout-gsubgpos-private.hh | 24 +++--------- - 2 files changed, 11 insertions(+), 84 deletions(-) - -commit dadede012e4841f9fcb70d514fdc752f3ea4663d -Author: Behdad Esfahbod -Date: Sat Jul 28 18:03:20 2012 -0400 - - Minor - - src/hb-ot-layout-common-private.hh | 7 +++---- - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - 3 files changed, 5 insertions(+), 6 deletions(-) - -commit 0b99429ead05ae32b3c210cb499af401b02770a9 -Author: Behdad Esfahbod -Date: Sat Jul 28 17:31:01 2012 -0400 - - [GSUB/GPOS] Add get_coverage() and use it to speed up main loop - - And use it to speed up the hotspot by checking coverage directly in - the main loop, not 10 functions deep in. - - Gives me a solid 20% boost with Indic test suite. Less so for less - lookup-intensive scenarios. - - Remove the "fast_path" hack from before. - - src/hb-ot-layout-gpos-table.hh | 179 - ++++++++++++++++++++++++++++++----- - src/hb-ot-layout-gsub-table.hh | 166 - ++++++++++++++++++++++++++------ - src/hb-ot-layout-gsubgpos-private.hh | 26 +++++ - 3 files changed, 321 insertions(+), 50 deletions(-) - -commit 30ec9002d84e8b49290e782e6192069821ffa942 -Author: Behdad Esfahbod -Date: Sat Jul 28 17:25:20 2012 -0400 - - Reject lookups with no subTable - - src/hb-ot-layout-common-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 0981068b75710397f08e0d2d776a0a2ea68d7117 -Author: Behdad Esfahbod -Date: Sat Jul 28 17:01:59 2012 -0400 - - [GSUB/GPOS] Reject Context/ChainContext lookups with zero input - - src/hb-ot-layout-gsubgpos-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 2f87cebe1062c7007021ebd05c1664e60da80825 -Author: Behdad Esfahbod -Date: Fri Jul 27 04:02:38 2012 -0400 - - Implement shape_plan caching - - Should give us some performance boost. - - TODO | 4 ++ - src/hb-buffer-private.hh | 30 ++++++++++++++ - src/hb-font-private.hh | 6 +++ - src/hb-font.cc | 15 ++++++- - src/hb-shape-plan.cc | 100 - +++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-shape-plan.h | 7 ++++ - src/hb-shape.cc | 2 +- - 7 files changed, 162 insertions(+), 2 deletions(-) - -commit e9eb9503e97044222f843daacfa47e26e51312b7 -Author: Behdad Esfahbod -Date: Fri Jul 27 03:16:22 2012 -0400 - - Add default_shaper_list to shape_plan - - src/hb-shape-plan-private.hh | 1 + - src/hb-shape-plan.cc | 2 ++ - 2 files changed, 3 insertions(+) - -commit 3b7c4e270694ed962e2a2839e44f2a59c26b326c -Author: Behdad Esfahbod -Date: Fri Jul 27 03:12:23 2012 -0400 - - Don't fail choosing shaper on planning failure - - Shapers have a chance to reject a font in face shaper_data creation. - No need to allow failing during planning. - - src/hb-shape-plan.cc | 17 ++++++----------- - 1 file changed, 6 insertions(+), 11 deletions(-) - -commit cfe9882610489e1b917e09a74dfbf6bbba2e4a57 -Author: Behdad Esfahbod -Date: Fri Jul 27 03:06:30 2012 -0400 - - Add hb_ot_layout_ensure() and hb_uniscribe_font_ensure() - - src/hb-ot-layout.cc | 7 +++++++ - src/hb-ot-layout.h | 6 ++++++ - src/hb-shape-plan.cc | 22 ++-------------------- - src/hb-shaper-private.hh | 18 ++++++++++++++++++ - src/hb-uniscribe.cc | 11 +++++++++++ - src/hb-uniscribe.h | 4 ++++ - 6 files changed, 48 insertions(+), 20 deletions(-) - -commit c5b668fb9239c912d2448280a7176e331ebc9181 -Author: Behdad Esfahbod -Date: Fri Jul 27 02:49:39 2012 -0400 - - Choose one shaper per plan - - src/hb-shape-plan-private.hh | 2 +- - src/hb-shape-plan.cc | 19 +++++++++---------- - 2 files changed, 10 insertions(+), 11 deletions(-) - -commit e82061e8db922f0ddbefd5a184ee2f9f967b9a05 -Author: Behdad Esfahbod -Date: Fri Jul 27 02:29:32 2012 -0400 - - Move ot shaper completely to shape_plan - - src/hb-ot-shape-private.hh | 6 -- - src/hb-ot-shape.cc | 181 - +++++++++++++++++++++------------------------ - src/hb-uniscribe.cc | 2 +- - 3 files changed, 84 insertions(+), 105 deletions(-) - -commit ea278d3895fe0c92801d692cd71d8d9f1de7c048 -Author: Behdad Esfahbod -Date: Fri Jul 27 02:12:28 2012 -0400 - - Partially switch ot shaper to shape_plan - - src/hb-buffer-private.hh | 1 + - src/hb-buffer.cc | 1 - - src/hb-font-private.hh | 2 -- - src/hb-font.cc | 22 ++++++++++++++-------- - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 4 ++-- - src/hb-ot-layout-private.hh | 1 + - src/hb-ot-layout.cc | 9 ++++++--- - src/hb-ot-shape.cc | 3 ++- - src/hb-shape-plan.cc | 11 +++++++++++ - src/hb-shaper-private.hh | 3 ++- - 11 files changed, 40 insertions(+), 19 deletions(-) - -commit b6b7ba1313bf686e6ed567183466104c90504a67 -Author: Behdad Esfahbod -Date: Fri Jul 27 01:26:11 2012 -0400 - - Switch old and uniscribe backends to shape_plan - - src/hb-old.cc | 80 ++------------------------ - src/hb-shape.cc | 5 ++ - src/hb-shaper-impl-private.hh | 3 +- - src/hb-shaper-private.hh | 4 -- - src/hb-uniscribe.cc | 130 - ++++++++++++------------------------------ - 5 files changed, 48 insertions(+), 174 deletions(-) - -commit c32c096a429da3e64896cf42ff5ab8c775d3c2ec -Author: Behdad Esfahbod -Date: Fri Jul 27 01:13:53 2012 -0400 - - Switch to shape_plan - - Not optimized yet. Eats babies. And no shaper uses the shape_plan. - - src/hb-shape-plan.cc | 37 +++++++++++++++++++++++++++++++++++-- - src/hb-shape-plan.h | 8 ++++++++ - src/hb-shape.cc | 27 ++++----------------------- - 3 files changed, 47 insertions(+), 25 deletions(-) - -commit 5b95c148cc485f79fd7018bc4520b4cb5f728a18 -Author: Behdad Esfahbod -Date: Thu Jul 26 23:46:53 2012 -0400 - - Start implementing shape_plan - - src/hb-fallback-shape.cc | 4 ++- - src/hb-font-private.hh | 4 +++ - src/hb-old.cc | 4 ++- - src/hb-ot-shape.cc | 4 ++- - src/hb-shape-plan-private.hh | 7 ++++ - src/hb-shape-plan.cc | 76 - ++++++++++++++++++++++++++++++++++++++++++-- - src/hb-shape.cc | 4 +++ - src/hb-shaper-private.hh | 4 +-- - src/hb-uniscribe.cc | 4 ++- - 9 files changed, 103 insertions(+), 8 deletions(-) - -commit bd26b4d21f59312805d294f46f15182adbcc47da -Author: Behdad Esfahbod -Date: Thu Jul 26 22:05:39 2012 -0400 - - Minor - - src/Makefile.am | 1 + - src/hb-fallback-shape.cc | 3 +- - src/hb-old.cc | 3 +- - src/hb-ot-shape.cc | 3 +- - src/hb-shape-plan-private.hh | 2 +- - src/hb-shape-plan.cc | 2 + - src/hb-shape.cc | 98 ++++---------------------------------- - src/hb-shaper-private.hh | 16 ++++++- - src/hb-shaper.cc | 109 - +++++++++++++++++++++++++++++++++++++++++++ - src/hb-uniscribe.cc | 3 +- - 10 files changed, 145 insertions(+), 95 deletions(-) - -commit 027857d0412477fb4427dcb8a8c45287c272e143 -Author: Behdad Esfahbod -Date: Thu Jul 26 17:34:25 2012 -0400 - - Start adding a unified shaper access infrastructure - - Add global shape_plan. Unused so far. - - src/Makefile.am | 15 +- - src/hb-coretext-private.hh | 42 ----- - src/hb-coretext.cc | 6 +- - src/hb-fallback-shape.cc | 62 ++++++- - src/hb-font-private.hh | 12 ++ - src/hb-font.cc | 15 +- - src/hb-old.cc | 109 +++++++++--- - src/hb-ot-shape-private.hh | 8 - - src/hb-ot-shape.cc | 60 ++++++- - ...aphite2-private.hh => hb-shape-plan-private.hh} | 28 +++- - src/hb-shape-plan.cc | 85 ++++++++++ - ...b-fallback-shape-private.hh => hb-shape-plan.h} | 39 +++-- - src/hb-shape.cc | 48 +----- - ...scribe-private.hh => hb-shaper-impl-private.hh} | 20 ++- - src/{hb-old-private.hh => hb-shaper-list.hh} | 30 ++-- - src/hb-shaper-private.hh | 81 +++++++++ - src/hb-uniscribe.cc | 186 - +++++++++++++-------- - 17 files changed, 608 insertions(+), 238 deletions(-) - -commit fa2dfcd560444d8c54b6349ee106134d3536f79b -Author: Behdad Esfahbod -Date: Thu Jul 26 16:06:16 2012 -0400 - - Fix visibility warnings with MinGW32 - - src/hb-old/harfbuzz-global.h | 17 +++++++++++------ - src/hb-old/harfbuzz-impl.h | 6 +++++- - 2 files changed, 16 insertions(+), 7 deletions(-) - -commit ac2085d4b391b0a72473ecac3dd6c22efe66833f -Author: Jonathan Kew -Date: Thu Jul 26 15:58:45 2012 -0400 - - [CoreText] Ensure cluster indices in output buffer are non-decreasing. - - Does not provide Uniscribe-compatible results, but should at least - avoid - breaking hb-view due to out-of-order cluster values. - - For RTL runs, ensure cluster values are non-increasing (instead of - non-decreasing). - - src/hb-coretext.cc | 37 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -commit 441d3bb7de311d54b9f0a5210344f9a96e97e153 -Author: Behdad Esfahbod -Date: Thu Jul 26 12:01:12 2012 -0400 - - Minor - - src/hb-coretext.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2e7f223054d310695bdb3498b2b2b5d17b6cce78 -Author: Behdad Esfahbod -Date: Wed Jul 25 19:30:15 2012 -0400 - - [hb-old] Fix Arabic cursive positioning - - Backporting from upstream: - - commit b847f24ce855d24f6822bcd9c0006905e81b94d8 - Author: Behdad Esfahbod - Date: Wed Jul 25 19:29:16 2012 -0400 - - [arabic] Fix Arabic cursive positioning - - This was clearly broken in testing. Who knows... Fixes for me. - Test with a Nastaleeq font, or with Arabic Typesetting. - - Backporting from Chromium. - - src/hb-old/harfbuzz-shaper.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9550a8c4e8b4e28be60d38c27d59253846ff9569 -Author: Behdad Esfahbod -Date: Wed Jul 25 19:22:57 2012 -0400 - - [hb-old] Fixup not-enough-space handling - - src/hb-old.cc | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -commit 91e721ea8693205f4f738bca97a5055ee75cf463 -Author: Behdad Esfahbod -Date: Wed Jul 25 19:20:34 2012 -0400 - - [hb-old] Fix clusters - - Unlike its "documentation", hb-old's log_clusters are, well, indeed - logical, not visual. Fixup. Adapted / copied from hb-uniscribe. - - src/hb-old.cc | 51 - ++++++++++++++++++++++++++++++++++---------- - src/hb-old/harfbuzz-shaper.h | 1 + - src/hb-uniscribe.cc | 5 +++-- - 3 files changed, 44 insertions(+), 13 deletions(-) - -commit a3313e54008167e415b72c780ca7b9cda958d07e -Author: Behdad Esfahbod -Date: Wed Jul 25 18:37:51 2012 -0400 - - [GPOS] Fix MarkMarkPos applied to results of MultipleSubst - - This was broken as a result of - 7b84c536c10ab90ed96a033d88e9ad232d46c5b8. - As Khaled reported, MarkMark positioning was broken with glyphs - resulting from a MultipleSubst. Fixed. Test with the ALLAH character - in Amiri. - - src/hb-ot-layout-gpos-table.hh | 10 +++++----- - src/hb-ot-layout-private.hh | 23 +++++++++++++++++++++-- - 2 files changed, 26 insertions(+), 7 deletions(-) - -commit 35bdab3cf1f0836807160e3ce93766c321b32e8c -Author: Behdad Esfahbod -Date: Wed Jul 25 11:59:52 2012 -0400 - - Minor - - src/hb-unicode-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8fe4c7405b922cf0f936a46a9baedf4885b05254 -Author: Behdad Esfahbod -Date: Tue Jul 24 21:05:12 2012 -0400 - - [hb-old] Add HarfBuzz.old shaper - - Choose using shaper name "old". - - configure.ac | 8 + - src/Makefile.am | 14 +- - src/hb-old-private.hh | 40 +++ - src/hb-old.cc | 369 ++++++++++++++++++++++++ - src/hb-old/.gitignore | 7 - - src/hb-old/Makefile.am | 2 + - src/hb-old/Makefile.in | 762 - ------------------------------------------------- - src/hb-shape.cc | 8 +- - 8 files changed, 436 insertions(+), 774 deletions(-) - -commit 5e1987005eb1b9af7a4d3d9f90c5768d8cc80015 -Author: Behdad Esfahbod -Date: Tue Jul 24 19:53:55 2012 -0400 - - [hb-old] Define Unicode funcs in terms of new HarfBuzz - - src/hb-old/Makefile.am | 4 + - src/hb-old/Makefile.in | 182 - ++++++++++++++++++++++++++++++++++++----- - src/hb-old/harfbuzz-external.h | 100 +++++++++++++--------- - 3 files changed, 224 insertions(+), 62 deletions(-) - -commit 4a31166b2853c1ec052844140e114158f47c2355 -Author: Behdad Esfahbod -Date: Tue Jul 24 19:49:48 2012 -0400 - - [hb-old] Shovel out the line-breaking / word-segmentation stuff - - src/hb-old/Makefile.am | 10 +- - src/hb-old/Makefile.in | 13 +- - src/hb-old/harfbuzz-external.h | 66 ------ - src/hb-old/harfbuzz-indic.cpp | 26 --- - src/hb-old/harfbuzz-khmer.c | 25 --- - src/hb-old/harfbuzz-myanmar.c | 28 --- - src/hb-old/harfbuzz-shaper-private.h | 12 -- - src/hb-old/harfbuzz-shaper.cpp | 403 - +++-------------------------------- - src/hb-old/harfbuzz-shaper.h | 31 --- - src/hb-old/harfbuzz-thai.c | 111 ---------- - src/hb-old/harfbuzz-tibetan.c | 26 --- - src/hb-old/harfbuzz.c | 32 --- - 12 files changed, 33 insertions(+), 750 deletions(-) - -commit 0bcbe88cf313117f739b98a11dbe698b75784e9d -Author: Behdad Esfahbod -Date: Tue Jul 24 19:38:24 2012 -0400 - - [hb-old] Add visibility attributes - - src/hb-old/harfbuzz-global.h | 10 ++++++---- - src/hb-old/harfbuzz-impl.h | 2 +- - 2 files changed, 7 insertions(+), 5 deletions(-) - -commit 6a9d43c3178c920672a84382ca3797e3c478b2b0 -Author: Behdad Esfahbod -Date: Tue Jul 24 19:21:22 2012 -0400 - - [hb-old] Remove unused header file - - src/hb-old/harfbuzz-shape.h | 199 - -------------------------------------------- - 1 file changed, 199 deletions(-) - -commit fb47209c5b3aa992faf18d1a3f78b9d7682cf62f -Author: Behdad Esfahbod -Date: Tue Jul 24 19:20:19 2012 -0400 - - [hb-old] Rename hb_buffer_* to HB_Buffer_* - - src/hb-old/harfbuzz-buffer.c | 22 +++++++++++----------- - src/hb-old/harfbuzz-buffer.h | 8 ++++---- - src/hb-old/harfbuzz-shaper.cpp | 8 ++++---- - 3 files changed, 19 insertions(+), 19 deletions(-) - -commit 1512a7357513b72e2a07dda706a176bb23d694e9 -Author: Behdad Esfahbod -Date: Tue Jul 24 19:16:56 2012 -0400 - - [hb-old] Start adding HarfBuzz-old as a new backend - - configure.ac | 1 + - src/Makefile.am | 5 + - src/hb-old/.gitignore | 7 + - src/hb-old/COPYING | 24 + - src/hb-old/Makefile.am | 56 + - src/hb-old/Makefile.in | 631 ++++ - src/hb-old/README | 7 + - src/hb-old/harfbuzz-arabic.c | 1144 +++++++ - src/hb-old/harfbuzz-buffer-private.h | 107 + - src/hb-old/harfbuzz-buffer.c | 383 +++ - src/hb-old/harfbuzz-buffer.h | 102 + - src/hb-old/harfbuzz-external.h | 151 + - src/hb-old/harfbuzz-gdef-private.h | 135 + - src/hb-old/harfbuzz-gdef.c | 1163 +++++++ - src/hb-old/harfbuzz-gdef.h | 140 + - src/hb-old/harfbuzz-global.h | 118 + - src/hb-old/harfbuzz-gpos-private.h | 729 ++++ - src/hb-old/harfbuzz-gpos.c | 6094 - ++++++++++++++++++++++++++++++++++ - src/hb-old/harfbuzz-gpos.h | 155 + - src/hb-old/harfbuzz-greek.c | 447 +++ - src/hb-old/harfbuzz-gsub-private.h | 483 +++ - src/hb-old/harfbuzz-gsub.c | 4329 ++++++++++++++++++++++++ - src/hb-old/harfbuzz-gsub.h | 148 + - src/hb-old/harfbuzz-hangul.c | 268 ++ - src/hb-old/harfbuzz-hebrew.c | 187 ++ - src/hb-old/harfbuzz-impl.c | 84 + - src/hb-old/harfbuzz-impl.h | 131 + - src/hb-old/harfbuzz-indic.cpp | 1894 +++++++++++ - src/hb-old/harfbuzz-khmer.c | 667 ++++ - src/hb-old/harfbuzz-myanmar.c | 539 +++ - src/hb-old/harfbuzz-open-private.h | 102 + - src/hb-old/harfbuzz-open.c | 1433 ++++++++ - src/hb-old/harfbuzz-open.h | 288 ++ - src/hb-old/harfbuzz-shape.h | 199 ++ - src/hb-old/harfbuzz-shaper-all.cpp | 37 + - src/hb-old/harfbuzz-shaper-private.h | 171 + - src/hb-old/harfbuzz-shaper.cpp | 1338 ++++++++ - src/hb-old/harfbuzz-shaper.h | 294 ++ - src/hb-old/harfbuzz-stream-private.h | 81 + - src/hb-old/harfbuzz-stream.c | 114 + - src/hb-old/harfbuzz-stream.h | 51 + - src/hb-old/harfbuzz-thai.c | 111 + - src/hb-old/harfbuzz-tibetan.c | 274 ++ - src/hb-old/harfbuzz.c | 32 + - src/hb-old/harfbuzz.h | 38 + - 45 files changed, 24892 insertions(+) - -commit 478fd0529b868b22905a9dedf331ac7cc9721723 -Author: Behdad Esfahbod -Date: Tue Jul 24 17:09:01 2012 -0400 - - Minor - - src/hb-unicode-private.hh | 27 ++++++++++++++------------- - 1 file changed, 14 insertions(+), 13 deletions(-) - -commit 8979a7f6f2b44ade4c0198a31ae08561b35ce009 -Author: Behdad Esfahbod -Date: Tue Jul 24 17:03:55 2012 -0400 - - [Mongolian] Remove Mongolian Vowel Separator at the end of shaping - - Results match Uniscribe now. - - src/hb-unicode-private.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit aa6d849838d5231465ae1a25a4dd5ea1e9380ff9 -Author: Jonathan Kew -Date: Tue Jul 24 15:52:32 2012 -0400 - - [CoreText] Add basic Core Text backend for comparison with our - native shaping - - Does not attempt to handle clusters in a Uniscribe- or - HarfBuzz-compatible way; - just returns the original string indexes that CT maintains. These - may even be - out-of-order in the case of reordrant glyphs. - - configure.ac | 12 ++ - src/Makefile.am | 7 + - src/hb-coretext-private.hh | 42 ++++++ - src/hb-coretext.cc | 323 - +++++++++++++++++++++++++++++++++++++++++++++ - src/hb-coretext.h | 43 ++++++ - src/hb-shape.cc | 6 + - 6 files changed, 433 insertions(+) - -commit ec8d2494694275dfbbac2dd0d33ca2894b0463d6 -Author: Behdad Esfahbod -Date: Tue Jul 24 15:40:37 2012 -0400 - - Make data members of various OpenType structs protected instead - of private - - Should fix warnings generated when building with - -Wunused-private-field. - Based on patch from Jonathan Kew. - - src/hb-open-file-private.hh | 8 +++--- - src/hb-ot-head-table.hh | 2 +- - src/hb-ot-hhea-table.hh | 2 +- - src/hb-ot-hmtx-table.hh | 2 +- - src/hb-ot-layout-common-private.hh | 14 ++++++----- - src/hb-ot-layout-gdef-table.hh | 20 +++++++-------- - src/hb-ot-layout-gpos-table.hh | 48 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-table.hh | 30 +++++++++++----------- - src/hb-ot-layout-gsubgpos-private.hh | 32 ++++++++++++------------ - src/hb-ot-maxp-table.hh | 2 +- - src/hb-ot-name-table.hh | 2 +- - 11 files changed, 82 insertions(+), 80 deletions(-) - -commit 97aa0b738a33b73a3f9763dd2950f2dd39f596ed -Author: Behdad Esfahbod -Date: Tue Jul 24 15:02:34 2012 -0400 - - Minor const correctness shuffling - - src/hb-shape.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 6411e74caf23af7b0545f1fe54d19a1c8da895e8 -Author: Behdad Esfahbod -Date: Tue Jul 24 13:48:49 2012 -0400 - - [Indic] Reposition Gurmukhi top matras to after post - - The font is forming a post-base consonant in some samples, and - Uniscribe - positions top matra on the post-base. Do the same. - - Gurmukhi failures down from 59 to 41 (0.0674242%). - - src/hb-ot-shape-complex-indic.cc | - 2 +- - .../texts/in-tree/shaper-indic/indic/script-gurmukhi/misc/misc.txt | - 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit c3f769ba09df319fa69d04f68c57444f95eceee6 -Author: Behdad Esfahbod -Date: Tue Jul 24 13:26:32 2012 -0400 - - [Indic] Ignore Uniscribe output containing two zero-width space glyphs - - Uniscribe is buggy and sometimes /eats/ a mark next to a non-joiner. - Most of Malayalam failures where actually hitting this bug. - - Ignore test output with two zero-width space glyphs. This is a hack - until we build up the test suite infrastructure better. - - Bengali went down by 9, Devanagari by 2, Kannada by 130, Malayalm down - from 1197 to 307, Sinhala down by 16, Telugu down by 26. New stats: - - BENGALI: 353996 out of 354285 tests passed. 289 failed (0.0815727%) - DEVANAGARI: 693573 out of 693628 tests passed. 55 failed (0.00792932%) - GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%) - GURMUKHI: 60750 out of 60809 tests passed. 59 failed (0.0970251%) - KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%) - KHMER: 299094 out of 299124 tests passed. 30 failed (0.0100293%) - MALAYALAM: 1048109 out of 1048416 tests passed. 307 failed - (0.0292823%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271715 out of 271847 tests passed. 132 failed (0.0485567%) - TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%) - TELUGU: 970550 out of 970573 tests passed. 23 failed (0.00236973%) - - test/shaping/hb_test_tools.py | - 1 + - .../texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt | - 2 ++ - 2 files changed, 3 insertions(+) - -commit 65c43accdc4d2082282d5cedba8514b8df0c18a2 -Author: Behdad Esfahbod -Date: Tue Jul 24 03:36:47 2012 -0400 - - [Indic] Better position left-matra in Malayalam - - Just put it before base, which is what's expected. - - Malayalam failures down from 1559 to 1197 (0.114172%). - - BENGALI: 353988 out of 354285 tests passed. 297 failed (0.0838308%) - DEVANAGARI: 693571 out of 693628 tests passed. 57 failed (0.00821766%) - GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%) - GURMUKHI: 60750 out of 60809 tests passed. 59 failed (0.0970251%) - KANNADA: 950956 out of 951913 tests passed. 957 failed (0.100534%) - KHMER: 299094 out of 299124 tests passed. 30 failed (0.0100293%) - MALAYALAM: 1047219 out of 1048416 tests passed. 1197 failed - (0.114172%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271699 out of 271847 tests passed. 148 failed (0.0544424%) - TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%) - TELUGU: 970524 out of 970573 tests passed. 49 failed (0.00504856%) - - src/hb-ot-shape-complex-indic.cc | 41 - +++++++++++++++------- - .../indic/script-malayalam/misc/misc.txt | 1 + - 2 files changed, 29 insertions(+), 13 deletions(-) - -commit 88f413b56f2858d149e2fc067685aeecaea779ca -Author: Behdad Esfahbod -Date: Tue Jul 24 03:04:36 2012 -0400 - - [Indic] Implement Reph+Ya-Phalaa interaction - - The sequence Ra,H,Ya in Bengali is ambigious and Unicode encoded - that to - get Ya-Phalaa, one would place ZWJ before Halant. Ie. a ZWJ,H - sequence - requests subjoining, while a H,ZWJ requests Half form. Implement - that. - - Bengali failures go down from 377 to 297 (0.0838308%). - Gujarati is down by 4 to 17 (0.0046384%). - Kannada is down by 226 to 957 (0.100534%). - - Current status: - - BENGALI: 353988 out of 354285 tests passed. 297 failed (0.0838308%) - DEVANAGARI: 693571 out of 693628 tests passed. 57 failed (0.00821766%) - GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%) - GURMUKHI: 60750 out of 60809 tests passed. 59 failed (0.0970251%) - KANNADA: 950956 out of 951913 tests passed. 957 failed (0.100534%) - KHMER: 299094 out of 299124 tests passed. 30 failed (0.0100293%) - MALAYALAM: 1046857 out of 1048416 tests passed. 1559 failed - (0.148701%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271699 out of 271847 tests passed. 148 failed (0.0544424%) - TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%) - TELUGU: 970524 out of 970573 tests passed. 49 failed (0.00504856%) - - src/hb-ot-shape-complex-indic.cc | - 10 ++++++++-- - .../in-tree/shaper-indic/indic/script-bengali/misc/reph.txt | 4 ++++ - 2 files changed, 12 insertions(+), 2 deletions(-) - -commit dff0ece11d61978c04e839501f179a5c3077f340 -Author: Behdad Esfahbod -Date: Tue Jul 24 02:30:38 2012 -0400 - - [Indic] Limit matras to 4 per syllable - - Also limit joiners. - - This limits our syllable length to a constant, and is - closer to what Uniscribe does anyway. - - Two Devanagari tests regressed, but who cares about tests with 20 - joiners in a row?! Devanagari at 57 (0.00821766%) now. - - src/hb-ot-shape-complex-indic-machine.rl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 330b329c8905a37ca88c556dea82c70d74c77458 -Author: Behdad Esfahbod -Date: Tue Jul 24 02:25:26 2012 -0400 - - [Indic] Unmark U+17D1 KHMER SIGN VIRIAM to NOT be a Virama - - Fixes another 1 Khmer failure. Down to 30 (0.0100293%) now. - - src/hb-ot-shape-complex-indic.cc | - 2 ++ - .../in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt | - 1 + - 2 files changed, 3 insertions(+) - -commit 6824a7194e01b77eddb95bd95a9b32e219140912 -Author: Behdad Esfahbod -Date: Tue Jul 24 02:22:18 2012 -0400 - - [Indic] Recategorize Khmer various signs as top matras - - Khmer failures down from 39 to 31 (0.0103636%). - - src/hb-ot-shape-complex-indic.cc | 23 ++++++++++------------- - 1 file changed, 10 insertions(+), 13 deletions(-) - -commit d90b8e841e0068a601c96ab184d18b0f48eec9d1 -Author: Behdad Esfahbod -Date: Tue Jul 24 02:10:20 2012 -0400 - - [Indic] Reposition Khmer prebase-reordering Ra around split matras - - In Khmer coeng model, a V,Ra can go *after* matras. If it goes - after a - split matra, it should be reordered to *before* the left part of - such matra. - - Khmer failures down from 136 to 39 (0.0130381%). - - src/hb-ot-shape-complex-indic.cc | 13 - +++++++++++++ - .../south-east-asian/script-khmer/misc/misc.txt | 4 ++++ - 2 files changed, 17 insertions(+) - -commit 0afb84c12567ac35adac657bf8be29999b8c5a50 -Author: Behdad Esfahbod -Date: Tue Jul 24 01:44:47 2012 -0400 - - [Indic] Fix minor bug in pre-base Ra positioning - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 7573799126e812a047daa5f64121ec959866b3c8 -Author: Behdad Esfahbod -Date: Tue Jul 24 01:32:07 2012 -0400 - - [Indic] Position Khmer U+17CE - - Fixes another 6 Khmer failures. Now at 136 (0.0454661%). - - src/hb-ot-shape-complex-indic.cc | - 6 ++++++ - .../shaper-indic/south-east-asian/script-khmer/misc/misc.txt | 1 + - 2 files changed, 7 insertions(+) - -commit 8d00e8d0e7d10f823e6975fecaffb9d557b1a99a -Author: Behdad Esfahbod -Date: Tue Jul 24 01:04:18 2012 -0400 - - [Indic] Don't reposition Khmer Bindu - - Khmer Bindu doesn't like to move to syllable end. Leave it where it - was. - - Brings down Khmer failures from 510 to 142 (0.047572%). - - src/hb-ot-shape-complex-indic.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 2278eefcdb3dd0d492b9d07176fbecc1f0516bb7 -Author: Behdad Esfahbod -Date: Tue Jul 24 00:26:43 2012 -0400 - - [Indic] In Sinhala, form forced Reph even if no other consonant found - - Fixes another 10 Sinhala failures. Down to 148 (0.0544424%). - - src/hb-ot-shape-complex-indic.cc | - 10 +++++----- - .../in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt | 1 + - 2 files changed, 6 insertions(+), 5 deletions(-) - -commit 71fd5e80ad06c8e85a1112cc89e129d6cd03f82c -Author: Behdad Esfahbod -Date: Tue Jul 24 00:21:16 2012 -0400 - - [Indic] Further adjust base algorithm for Sinhala - - Apparently if there is C,V,ZWJ,C, the first C will be base, but if - it's C,ZWJ,V,C, the second one will be. - - Note that Uniscribe implements this differently, by breaking - syllable in - the case of C,ZWJ,V,C and putting the first consonant in one syllable - and the rest in the next syllable. - - Sinhala failures down from 208 to 158 (0.0581209%). No changes to - Khmer. - - src/hb-ot-shape-complex-indic.cc | - 11 +++++++---- - .../in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt | 3 +++ - 2 files changed, 10 insertions(+), 4 deletions(-) - -commit 73d71cc527d28fd5519c5d965c272ea1fb149a0e -Author: Behdad Esfahbod -Date: Tue Jul 24 00:09:12 2012 -0400 - - [Indic] End Vowel-based syllable at ZWJ - - One Devanagari test regressed, plus 10 Malayalam (at 1545 now). - - Fixed 120 Sinhala failures. Now at 208 (0.0765136%). - - src/hb-ot-shape-complex-indic-machine.rl | - 2 +- - .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt | - 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit 34c215036f5fcdc7599b1ab0591b56dbb3811902 -Author: Behdad Esfahbod -Date: Mon Jul 23 23:51:29 2012 -0400 - - [Indic] Improve Sinhala base algorithm and reph positioning - - Sinhala does not have half forms. And most (all?) consonants can be - base, except when preceded by ZWJ, which would request a subjoined - form. - Hence switch the base algorithm to categorize with Khmer, start search - at start, and stop at a ZWJ. - - Also, mark all pos=base consonants after base to be subjoined. Mark - base itself to have pos=base. - - Finally, adjust Sinhala's reph position to after-main. - - Brings down Sinhala failures from 455 to 328 (0.120656%). - - src/hb-ot-shape-complex-indic.cc | 18 - +++++++++++++++++- - .../shaper-indic/indic/script-sinhala/misc/misc.txt | 1 + - 2 files changed, 18 insertions(+), 1 deletion(-) - -commit 2ec934c6c25423e7af20d909a9c698a149808ea9 -Author: Behdad Esfahbod -Date: Mon Jul 23 23:49:04 2012 -0400 - - [Indic] Change "unknown" position to end of syllable - - src/hb-ot-shape-complex-indic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b70021f7c81a0ed08475b14b07291f662cd9f905 -Author: Behdad Esfahbod -Date: Mon Jul 23 20:18:17 2012 -0400 - - When removing zero-width marks, don't remove ligatures - - If a mark ligated, it probably should NOT be removed. - - src/hb-ot-shape.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 49c5ec51444f27f33e1eb6aa1959c61b08fa89c0 -Author: Behdad Esfahbod -Date: Mon Jul 23 20:14:13 2012 -0400 - - Minor refactoring - - src/hb-ot-layout-gsubgpos-private.hh | 32 - -------------------------------- - src/hb-ot-layout-private.hh | 35 - +++++++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-indic.cc | 2 +- - 3 files changed, 36 insertions(+), 33 deletions(-) - -commit c3e6fdc3791168cf2b4c9412e751f187d58faa42 -Author: Behdad Esfahbod -Date: Mon Jul 23 20:11:42 2012 -0400 - - [Indic] Improve check on ligatures - - Only skip actual ligatures, not marks in-between ligature components. - - src/hb-ot-layout-gsubgpos-private.hh | 5 +++++ - src/hb-ot-shape-complex-indic.cc | 2 +- - 2 files changed, 6 insertions(+), 1 deletion(-) - -commit 771a8f50289e8fa458cfc3cd84f73a380ce98077 -Author: Behdad Esfahbod -Date: Mon Jul 23 20:07:50 2012 -0400 - - [Indic] exclude ligatures when matching on Indic category - - If, say, a H,ZWJ,C ligature was formed, we don't want the code - to detec - that as a Halant. So, ignore ligatures when matching category in - final_reordering. - - Sinhala failures down from 514 to 455 (0.167374%). - - src/hb-ot-shape-complex-indic.cc | 41 - ++++++++++++---------- - .../indic/script-sinhala/misc/misc.txt | 1 + - 2 files changed, 23 insertions(+), 19 deletions(-) - -commit d1af9e82e5309158ed334ab8e21f3a3b64b9540f -Author: Behdad Esfahbod -Date: Mon Jul 23 19:55:35 2012 -0400 - - [GSUB/GPOS] Const correctness - - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit baacd090df97610e3f6d1b2a110dc67b6c6f9f5c -Author: Behdad Esfahbod -Date: Mon Jul 23 19:51:48 2012 -0400 - - [Indic] Minor refactoring - - src/hb-ot-shape-complex-indic.cc | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit c7c4de2fb9bba216e37875d79815eef55c0acc01 -Author: Behdad Esfahbod -Date: Mon Jul 23 18:25:02 2012 -0400 - - [Indic] Remove syllable length check before sorting - - We now limit syllable lengths in the machine. No need to match here. - - src/hb-ot-shape-complex-indic.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 9fa052733eb93a3ce1205f63ff8f74cb295cbe99 -Author: Behdad Esfahbod -Date: Mon Jul 23 18:19:17 2012 -0400 - - [Indic] Limit syllables to at most five consonants - - Seems to be about what Uniscribe does. Not exactly. But close - enough. - More consonants will start a new cluster. - - A few scripts went way down in failures. In particular: - - - Devanagari failures went down from 490 to 56. - - Telugu went down from 113 to 49. - - Other scripts went down slightly or didn't change. New numbers: - - BENGALI: 353908 out of 354285 tests passed. 377 failed (0.106412%) - DEVANAGARI: 693572 out of 693628 tests passed. 56 failed (0.00807349%) - GUJARATI: 366485 out of 366506 tests passed. 21 failed (0.00572978%) - GURMUKHI: 60750 out of 60809 tests passed. 59 failed (0.0970251%) - KANNADA: 950730 out of 951913 tests passed. 1183 failed (0.124276%) - KHMER: 298613 out of 299124 tests passed. 511 failed (0.170832%) - MALAYALAM: 1046881 out of 1048416 tests passed. 1535 failed - (0.146411%) - ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%) - SINHALA: 271333 out of 271847 tests passed. 514 failed (0.189077%) - TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%) - TELUGU: 970524 out of 970573 tests passed. 49 failed (0.00504856%) - - Some of the remaining Telugu and Devanagari issues seem to be - Uniscribe - eating Anusvara when placed before a non-joiner. Ouch! - - src/hb-ot-shape-complex-indic-machine.rl | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 093cd583263a5d427e3377b31585043fb55d2557 -Author: Behdad Esfahbod -Date: Mon Jul 23 14:04:42 2012 -0400 - - [Thai] Fix SARA AM handling - - Oops, thinko. - - src/hb-ot-shape-complex-misc.cc | 6 +++--- - src/hb-private.hh | 4 ++-- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 42848453bf260b456b46a07f066e31b8c3aac2f1 -Author: Behdad Esfahbod -Date: Mon Jul 23 13:52:07 2012 -0400 - - [Thai] Reorder U+0E3A THAI VOWEL SIGN PHINTHU - - Uniscribe reorders U+0E3A to be after U+0E38 and U+0E39. We do - that by - modifying the ccc for U+0E3A. - - Fixes the two remaining Thai failures (see previous commit). - - src/hb-ot-shape-complex-misc.cc | 7 +++++++ - src/hb-unicode.cc | 6 ++++++ - .../texts/in-tree/shaper-thai/script-thai/misc/MANIFEST | 1 + - .../in-tree/shaper-thai/script-thai/misc/phinthu.txt | 16 - ++++++++++++++++ - 4 files changed, 30 insertions(+) - -commit 4a7f4f3e56f8f7640ae7337aa1b3324f31e0d4ab -Author: Behdad Esfahbod -Date: Mon Jul 23 13:15:33 2012 -0400 - - [Thai] Adjust SARA AM reordering to match Uniscribe - - Adjust the list of marks before SARA AM that get the reordering - treatment. Also adjust cluster formation to match Uniscribe. - - With Wikipedia test data, now I see: - - - For Thai, with the Angsana New font from Win7, I see 54 - failures out - of over 4M tests (0.00129107%). Of the 54, two are legitimate - reordering issues (fix coming soon), and the other 52 are simply - Uniscribe using a zero-width space char instead of an unknown - character for missing glyphs. No idea why. The missing-glyph - sequences include one that is a Thai character followed by - an Arabic - Sokun. Someone confused it with Nikhahit I assume! - - - For Lao, with the Dokchampa font from Win7, 33 tests fail out of - 54k (0.0615167%). All seem to be insignificant mark positioning - with two marks on a base. Have to investigate. - - src/hb-ot-shape-complex-misc.cc | 42 - +++++++++++++--------- - src/hb-private.hh | 6 ++++ - test/shaping/texts/in-tree/shaper-thai/MANIFEST | 1 + - .../texts/in-tree/shaper-thai/script-lao/MANIFEST | 1 + - .../in-tree/shaper-thai/script-lao/misc/MANIFEST | 1 + - .../shaper-thai/script-lao/misc/sara-am.txt | 20 +++++++++++ - .../shaper-thai/script-thai/misc/sara-am.txt | 18 +++++++++- - 7 files changed, 72 insertions(+), 17 deletions(-) - -commit 2cc933aff97916e5d0fe42883f40f0879f848e25 -Author: Behdad Esfahbod -Date: Mon Jul 23 08:22:55 2012 -0400 - - [Indic] Fix cluster formation with left-matras and conjunct forms - - Test case was: . - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit e6b01a878cd2e63cb675e7e0c6ac4d83a8c10f37 -Author: Behdad Esfahbod -Date: Mon Jul 23 00:11:26 2012 -0400 - - [Indic] Further streamline cluster formation - - This should address all possible cluster misformations that I had in - mind. - - src/hb-ot-shape-complex-indic.cc | 21 ++++++++++----------- - 1 file changed, 10 insertions(+), 11 deletions(-) - -commit 7b2a7dadd6c616bbfe1d8358700cab9cee88e584 -Author: Behdad Esfahbod -Date: Sun Jul 22 23:58:55 2012 -0400 - - [Indic] Merge clusters before sorting - - This should fix any instabilities in cluster formation that we were - speculating may happen with surrounding syllables. Or most of it - perhaps. - - src/hb-ot-shape-complex-indic.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit abb3239ef92cc5dccb4638806d7ae9868b9ac9b3 -Author: Behdad Esfahbod -Date: Sun Jul 22 23:55:19 2012 -0400 - - [Indic] Update clusters for left-matra even if matra didn't move - - Fixes crashes reported with left matra under - non-uniscribe-bug-compatibilty mode. - - src/hb-ot-shape-complex-indic.cc | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 60554f14d8dca208721f0da8b69d84b92819c54f -Author: Behdad Esfahbod -Date: Sun Jul 22 23:23:56 2012 -0400 - - [Indic] Merge in Malayalam tests - - From: - http://silpa.org.in/pub/tests/hb/ml/ml-harfbuzz-testdata.txt - - .../indic/script-malayalam/misc/misc.txt | 94 - +++++++++++----------- - 1 file changed, 46 insertions(+), 48 deletions(-) - -commit 5c7081770c7a611bbe79b451b7b86dec4fa6395d -Author: Behdad Esfahbod -Date: Sun Jul 22 23:20:27 2012 -0400 - - [Indic] Add extensive Sinhala tests - - Generated by: - http://git.savannah.gnu.org/cgit/sinhala.git/plain/utils/gen-unicode-sinhala.py - - .../indic/script-sinhala/misc/extensive.txt | 4390 - ++++++++++++++++++++ - 1 file changed, 4390 insertions(+) - -commit 2efe4707b1b449962f6e161716477d9775456c46 -Author: Behdad Esfahbod -Date: Sun Jul 22 23:17:59 2012 -0400 - - [Indic] Add Sinhala tests - - Merge tests from: - http://git.savannah.gnu.org/cgit/sinhala.git/plain/patches/icu-sinhala-rendering.txt - - .../indic/script-sinhala/misc/misc.txt | 26 - ++++++++++++++++++++-- - 1 file changed, 24 insertions(+), 2 deletions(-) - -commit 3d4c111b7a13700b2f7a0b087eb3992283295f21 -Author: Behdad Esfahbod -Date: Fri Jul 20 19:34:39 2012 -0400 - - Add a test case - - .../texts/in-tree/shaper-indic/indic/script-bengali/misc/misc.txt - | 1 + - 1 file changed, 1 insertion(+) - -commit 92a1ad7bef9efb456ab87bd63818cfbed7da3f6f -Author: Behdad Esfahbod -Date: Fri Jul 20 18:38:27 2012 -0400 - - [Indic] Stop searching for base if a post form is found before - below form - - Improves Bengali and Gurmukhi. Malayalam regressed a bit. We will - deal - with that later. - - src/hb-ot-shape-complex-indic.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 4c450c703f8e4618c587bcd7ef46dcc1f2c7947b -Author: Behdad Esfahbod -Date: Fri Jul 20 18:13:04 2012 -0400 - - [Indic] Recompose Bengali Ya,Nukta - - This is a bunch of hacks for now. - - Improves Bengali a bit. - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - src/hb-unicode.cc | 8 ++++++++ - 2 files changed, 10 insertions(+), 2 deletions(-) - -commit e9c0f152a38cb2e76650a3e43f7fdcda266af696 -Author: Behdad Esfahbod -Date: Fri Jul 20 17:05:46 2012 -0400 - - [Uniscribe] Fix script fallback - - Gurmukhi failures half now. Others changed slightly. - - src/hb-uniscribe.cc | 34 ++++++++++++++-------------------- - 1 file changed, 14 insertions(+), 20 deletions(-) - -commit 5791f329159c9863317e2b507514c29321be31a7 -Author: Behdad Esfahbod -Date: Fri Jul 20 16:26:55 2012 -0400 - - [Indic] Allow a ZWNJ after SM's - - Malayalam failures go way down. Other scripts benefitted slightly - too. - Sinhala had one or two test regressions, but... - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 34ae336f3fae93ef9372881d545c817bce383041 -Author: Behdad Esfahbod -Date: Fri Jul 20 16:17:28 2012 -0400 - - [Indic] Improve Reph AfterMain positioning - - Fixes 20 out of 48 failing Oriya tests. Failure rate down to - 0.066% now. - - src/hb-ot-shape-complex-indic.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit bdd080431a40bc941ece3230f338b94a46bd12a2 -Author: Behdad Esfahbod -Date: Fri Jul 20 16:03:09 2012 -0400 - - [Indic] Reposition Oriya Candrabindu - - Oriya failures down from 0.65% to 0.20%. - - src/hb-ot-shape-complex-indic.cc | - 1 + - .../shaping/texts/in-tree/shaper-indic/indic/script-oriya/misc/MANIFEST | - 1 + - .../texts/in-tree/shaper-indic/indic/script-oriya/misc/bindu.txt | - 2 ++ - 3 files changed, 4 insertions(+) - -commit 5f0eaaad129ff04d56b8756bebf19fbc242718c9 -Author: Behdad Esfahbod -Date: Fri Jul 20 15:47:24 2012 -0400 - - [Indic] Fix base search in final_reordering - - Fixes most Malayalam failures. Down from 1.6% to 0.38% now. Fixes a - few more in other scripts too. - - src/hb-ot-shape-complex-indic.cc | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit 81202bd860e4034c18d9f80c5a4f33d9f48463a3 -Author: Behdad Esfahbod -Date: Fri Jul 20 15:10:02 2012 -0400 - - [Indic] Don't attach SM/VD to other characters - - src/hb-ot-shape-complex-indic-private.hh | 3 +++ - src/hb-ot-shape-complex-indic.cc | 38 - ++++++++++++++++++-------------- - 2 files changed, 24 insertions(+), 17 deletions(-) - -commit efb4ad735691837a52447bedc1a66a87d0d9af51 -Author: Behdad Esfahbod -Date: Fri Jul 20 14:27:38 2012 -0400 - - Fix compiler warnings - - If x is not constant, we cannot ASSERT_STATIC on it. - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f31d97e44eeb6fb141f3de928e27e033fc7b1f47 -Author: Behdad Esfahbod -Date: Fri Jul 20 14:13:35 2012 -0400 - - [Indic] Form Telugu Reph out of Ra,Virama,ZWJ - - Apparently this was approved in Feb 2012. No font yet. - - src/hb-ot-shape-complex-indic-private.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 2e193b240ec85cab0d4e2f8a375c5a7f0ef99985 -Author: Behdad Esfahbod -Date: Fri Jul 20 14:02:35 2012 -0400 - - [Indic] Don't split U+0AC9 - - Althought IndicMatraCategory.txt classifies it as Top_And_Right matra, - it does not have Unicode decomposition, and Uniscribe does not do - anything special about it either. - - Gujarati failures down from 0.672% to 0.0130966%. - - src/hb-unicode.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 30c3d5e9fc61b49c2c6ad4e744300edd6f3e0261 -Author: Behdad Esfahbod -Date: Fri Jul 20 13:56:32 2012 -0400 - - [Indic] Simplify Uniscribe cluster emulation - - Now that we break syllables on Halant,ZWNJ, this code can be - simplified. - - src/hb-ot-shape-complex-indic.cc | 11 ++--------- - 1 file changed, 2 insertions(+), 9 deletions(-) - -commit decf6ffca475fe01ff3151b7641f629f031137d2 -Author: Behdad Esfahbod -Date: Fri Jul 20 13:51:31 2012 -0400 - - [Indic] Minor! - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9e4f94a72cea6d65a6a7ba5a47db92e00dbfbb91 -Author: Behdad Esfahbod -Date: Fri Jul 20 13:48:03 2012 -0400 - - [Indic] Break syllables at Halant,ZWNJ - - That's really what Uniscribe does, and explains a lot of pecularities - of - Halant,ZWNJ before the base. - - Sent Telugu from 1% failures to 0.03%. Improved Kannada and Malayalam - slightly. Fixed half of Bengali, and did NOT break anything! - - src/hb-ot-shape-complex-indic-machine.rl | 5 +++-- - src/hb-ot-shape-complex-indic.cc | 5 ++--- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 2c372b80f6befad69e216e3f218b38640b8cc044 -Author: Behdad Esfahbod -Date: Fri Jul 20 13:37:48 2012 -0400 - - [Indic] Better check for applying 'init' - - Specifically, don't apply 'init' if previous char is a joiner. - - Fixes some more of Bengali. - - src/hb-ot-shape-complex-indic.cc | 9 +-------- - src/hb-private.hh | 3 ++- - 2 files changed, 3 insertions(+), 9 deletions(-) - -commit 34a7440b7c6c6e53394ddbdbedaad57b23f85105 -Author: Behdad Esfahbod -Date: Fri Jul 20 12:32:59 2012 -0400 - - [GPOS] Don't zero mark advances - - Fixes more of Telugu, Kannada, and Oriya. - - May break things (outside Indic...), but we cannot think of any - font relying - on this immediately. - - src/hb-ot-layout-gpos-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 8ed248de77e5d2ed978e55c0ce1a11727bc9e34c -Author: Behdad Esfahbod -Date: Fri Jul 20 11:42:24 2012 -0400 - - [Indic] Minor - - src/hb-ot-shape-complex-indic.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit d0e68dbd0b9fc9a42c4280d01c8ffd9c5015d550 -Author: Behdad Esfahbod -Date: Fri Jul 20 11:25:41 2012 -0400 - - [Indic] Implement reph positioning step 5 - - Not tuned, just copied from step 2. Fixes another 0.5% of Kannada - failures. 1% to go. - - src/hb-ot-shape-complex-indic.cc | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -commit a9e45c32e4a0d6da33c52f8427aa694e57f52eb9 -Author: Behdad Esfahbod -Date: Fri Jul 20 11:04:15 2012 -0400 - - [Indic] Don't let ZWNJ at the end of syllable affect base search - - Fixes a few Devanagari, half of remaining Kannada failures, - quarter for - Telugu, and others slightly improved or unchanged. - - src/hb-ot-shape-complex-indic.cc | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 20b68e699f73e6ce046c0ec143d40b3d6d48e06b -Author: Behdad Esfahbod -Date: Fri Jul 20 10:47:46 2012 -0400 - - [Indic] Apply 'cjct' globally - - Fixes 5 Devanagari failures, and no regressions. - - src/hb-ot-shape-complex-indic.cc | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -commit 51e764de441072e7c9f67de23e8ed717b9b8957d -Author: Behdad Esfahbod -Date: Fri Jul 20 10:30:24 2012 -0400 - - [Indic] Unbreak old scriptures - - Brings down failures with Lohit-Telugu from 57% to 1.40%. - - src/hb-ot-shape-complex-indic.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 900cf3d449bf36d4f8b1474590cae925fef48fc8 -Author: Behdad Esfahbod -Date: Fri Jul 20 10:18:23 2012 -0400 - - Minor - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 87cd63266e73af316b250573ef57388a0bcc9133 -Author: Behdad Esfahbod -Date: Thu Jul 19 21:17:48 2012 -0400 - - [Indic] Recategorize some Kannada right matras - - Kannada failures down from 3.5% to 2.93%. - - src/hb-ot-shape-complex-indic.cc | 2 +- - .../texts/in-tree/shaper-indic/indic/script-kannada/misc/MANIFEST | 1 + - .../shaper-indic/indic/script-kannada/misc/right-matras.txt | - 7 +++++++ - 3 files changed, 9 insertions(+), 1 deletion(-) - -commit 3604d64ced909ade91998d294a7b4b2ee14d47aa -Author: Behdad Esfahbod -Date: Thu Jul 19 21:13:04 2012 -0400 - - [Indic] Recategorize GURMUKHI ADDAK - - It's not in IndicSyllabicCategory.txt. Fixes most of Gurmukhi - failures. - Failures down from 7.7% to 0.222%! - - src/hb-ot-shape-complex-indic.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 89328581236a53ec16508b95db54c7e5315b178f -Author: Behdad Esfahbod -Date: Thu Jul 19 21:02:38 2012 -0400 - - Minor - - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 47ef931f13778b894090139a64238a5ab9ac1154 -Author: Behdad Esfahbod -Date: Thu Jul 19 20:52:44 2012 -0400 - - [buffer] Make sure out_info = info during GPOS - - src/hb-buffer.cc | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit ae63cf206291befe3920adfe015e6cd0961580e5 -Author: Behdad Esfahbod -Date: Thu Jul 19 20:45:41 2012 -0400 - - Print line number during return when tracing - - src/hb-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 5249f3aee108b0f41770d137e63a625f594418e7 -Author: Behdad Esfahbod -Date: Thu Jul 19 20:30:22 2012 -0400 - - [Indic] Unbreak Khmer - - For Khmer, all consonants are subjoining. No need to look in - the font. - We were looking in the wrong order anyway. - - src/hb-ot-shape-complex-indic.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit e0475345d5d7db8dbc8b554beedfa2435c5d7fd1 -Author: Behdad Esfahbod -Date: Thu Jul 19 20:24:14 2012 -0400 - - [Indic] Apply 'akhn' globally - - Fixes 1.5% more failures for Telugu, 2% for Kannada. - Breaks one test in Devanagari. - - src/hb-ot-shape-complex-indic.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit c87bcddb10752b407c0471ee5ac4de6f1b00b711 -Author: Behdad Esfahbod -Date: Thu Jul 19 20:03:25 2012 -0400 - - [Indic] Add failing test for Kannada - - .../texts/in-tree/shaper-indic/indic/script-kannada/misc/misc.txt - | 1 + - 1 file changed, 1 insertion(+) - -commit fa247ebe524f92fa95d344ba912f704262879c13 -Author: Behdad Esfahbod -Date: Thu Jul 19 19:52:19 2012 -0400 - - [Indic] Better position U+0CD5 - - Fixes another 5% of Kannada failures. - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f055442716ec7543ed156d4789955b19c11a5255 -Author: Behdad Esfahbod -Date: Thu Jul 19 16:20:21 2012 -0400 - - [Indic] Lookup consonant position in the font - - Fixes most failures of Oriya, and improves others a bit. - - src/hb-ot-map-private.hh | 13 ++-- - src/hb-ot-shape-complex-indic-private.hh | 105 - ------------------------------- - src/hb-ot-shape-complex-indic.cc | 63 +++++++++++++------ - 3 files changed, 54 insertions(+), 127 deletions(-) - -commit 74d1d88781e91866a52e27f391e34df03b313442 -Author: Behdad Esfahbod -Date: Thu Jul 19 16:14:23 2012 -0400 - - [GSUB] Fix would_apply() for LigatureSubst - - src/hb-ot-layout-gsub-table.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 787f7d1e9ba9ad038f24e5a1063d12c7d169ad37 -Author: Behdad Esfahbod -Date: Thu Jul 19 15:29:13 2012 -0400 - - [TODO] Minor - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit be73a5f9368136ecbdb211b96516ad0c554c8201 -Author: Behdad Esfahbod -Date: Thu Jul 19 14:59:15 2012 -0400 - - Add src/test-would-substitute tool - - src/Makefile.am | 6 +- - src/test-would-substitute.cc | 94 ++++++++++++++++++++++++++++++ - src/test.cc | 132 - +++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 231 insertions(+), 1 deletion(-) - -commit e72b360ac6381b549249b8836fa3e70b909d3437 -Author: Behdad Esfahbod -Date: Thu Jul 19 14:35:23 2012 -0400 - - Refactor / finish would_apply() operation - - Untested. - - src/hb-ot-layout-gpos-table.hh | 6 +- - src/hb-ot-layout-gsub-table.hh | 126 +++++++++---------- - src/hb-ot-layout-gsubgpos-private.hh | 233 - ++++++++++++++++++++++++++++++++++- - src/hb-ot-layout.cc | 11 ++ - src/hb-ot-layout.h | 7 ++ - 5 files changed, 308 insertions(+), 75 deletions(-) - -commit 8c973ebf0f59abb5ee920edd5d64e23d8e47ad75 -Author: Behdad Esfahbod -Date: Thu Jul 19 13:25:08 2012 -0400 - - [Indic] Implement per-script matra positioning - - Following what the spec says. - - Brings down Telugu failures from 40% to 3.75%, and Kannada failures - from - 44% to 10%. Does NOT affect other scripts' test results. - - src/hb-ot-shape-complex-indic-private.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 40 - +++++++++++++++++++++++++++++--- - src/hb-unicode.cc | 2 +- - 3 files changed, 39 insertions(+), 5 deletions(-) - -commit 8bb32458f95f13f66688e0811cc91f1bfffb867d -Author: Behdad Esfahbod -Date: Thu Jul 19 12:59:06 2012 -0400 - - [Indic] More refactoring - - src/hb-ot-shape-complex-indic-private.hh | 9 ++--- - src/hb-ot-shape-complex-indic.cc | 65 - ++++++++++++++++++++++++-------- - 2 files changed, 54 insertions(+), 20 deletions(-) - -commit 9ccc6382ba43760167c134c18c1c4ada4b8c3f22 -Author: Behdad Esfahbod -Date: Thu Jul 19 12:32:16 2012 -0400 - - [Indic] Minor refactoring - - src/hb-ot-shape-complex-indic.cc | 127 - ++++++++++++++++++++++----------------- - 1 file changed, 71 insertions(+), 56 deletions(-) - -commit f83aaa3133de5d807be267a100d6a200e8db9017 -Author: Behdad Esfahbod -Date: Thu Jul 19 12:23:23 2012 -0400 - - [Indic] Minor - - src/hb-ot-shape-complex-indic-private.hh | 42 - ++++++++++++++++++++------------ - 1 file changed, 26 insertions(+), 16 deletions(-) - -commit be8b9f5f715f6fb36b98bd33c3303f79cc068f8a -Author: Behdad Esfahbod -Date: Thu Jul 19 12:11:12 2012 -0400 - - [Indic] Start refactoring different matra positions per script - - src/hb-ot-shape-complex-indic-private.hh | 36 - +++++++++++++++++++------------- - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 2 files changed, 24 insertions(+), 16 deletions(-) - -commit deeb540a74f8d394db273145b17bf385d14d01bb -Author: Behdad Esfahbod -Date: Thu Jul 19 11:30:48 2012 -0400 - - [test] Ignore tests with DOTTED CIRCLE in the output - - test/shaping/hb_test_tools.py | 4 ++++ - 1 file changed, 4 insertions(+) - -commit b01d9b3d90e892341ee4463f2eda4600850b97d8 -Author: Behdad Esfahbod -Date: Thu Jul 19 11:25:49 2012 -0400 - - [Indic] Disallow decomposition of a couple characters - - This is a hack for now. Will be fixed when we do - complex-shaper-driven - normalization properly. - - The results with or without decomposition are the same, but Uniscribe - does not normalize, so this matches better. - - src/hb-unicode.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 422ecd2d3c198a36d07d409341cb82ea57c7ad6b -Author: Behdad Esfahbod -Date: Wed Jul 18 23:25:58 2012 -0400 - - [Indic] Accept a forced Rakar sequence at the end of syllable - - In Sinhala, Rakar is formed by Al-Lakuna,ZWJ,Ra. If you put that - at the - end of a Consonant,Matra syllable, you get a dotted-circle from - Uniscribe. Apparently adding a ZWJ before the Al-Lakuna "fixes" that. - And people have been encoding that sequence... So, allow a forced - "ZWJ,Virama,ZWJ,Ra" sequence at the of syllables. - - Fixes some 100 or more of Sinhala failures. Now at 622 only (0.23%). - - src/hb-ot-shape-complex-indic-machine.rl | - 3 ++- - .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt | - 2 ++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit 6fc1732003d71cf90d37247482772c3da884687f -Author: Behdad Esfahbod -Date: Wed Jul 18 17:49:19 2012 -0400 - - [Indic] Allow joiners on both sides of Halant at the same time - - The sequence is used in Sinhala to explicitly ask - for Rakar. Fixes two-thousand Sinhala tests. Not many left. - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 10cdc94eee2225f14c198c015256a5a0063eecad -Author: Behdad Esfahbod -Date: Wed Jul 18 17:42:34 2012 -0400 - - [Indic] In final reordering, find base, even if it disappeared - - POS_BASE can disappear if base ligated backward. Define base as last - with position not after base. - - Fixes a few hundred of Sinhala failures with Iskoola Pota. - - src/hb-ot-shape-complex-indic.cc | - 7 ++----- - .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/misc.txt | 1 + - 2 files changed, 3 insertions(+), 5 deletions(-) - -commit 9c4d24a3a677a58ec59c7fb0f8b70b8aad30a032 -Author: Behdad Esfahbod -Date: Wed Jul 18 17:29:10 2012 -0400 - - [Indic] Minor - - src/hb-ot-shape-complex-indic.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 3285e107c9a83aeb552e67f9460680ff6d167d88 -Author: Behdad Esfahbod -Date: Wed Jul 18 17:22:14 2012 -0400 - - [Indic] Implement Sinhala "Al Lakuna" Reph behavior - - In Sinhala, Reph is formed only explicitly, by the presence of a ZWJ. - - src/hb-ot-shape-complex-indic-private.hh | 2 ++ - src/hb-ot-shape-complex-indic.cc | - 7 ++++++- - .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/MANIFEST | 1 + - .../texts/in-tree/shaper-indic/indic/script-sinhala/misc/reph.txt | - 3 +++ - 4 files changed, 12 insertions(+), 1 deletion(-) - -commit 91cade755534c42bb826a6aefcbca8a543d94387 -Author: Behdad Esfahbod -Date: Wed Jul 18 16:50:41 2012 -0400 - - [Indic/Unicode] Decompose Sinhala split matras the way Uniscribe likes - - Makes no visual difference. - - Fixes most of the failures. Down from 15% to 1.3%! - - src/hb-unicode.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit d8942dcbb4e3249a2d78a6455c119294ed4390bc -Author: Behdad Esfahbod -Date: Wed Jul 18 16:34:10 2012 -0400 - - Apply Tibetan (global) features. - - Fixes all Tibetan failures. All 180k of them! - - Merges back Hangul into the default shaper. - - src/hb-ot-shape-complex-misc.cc | 82 - +++++++++++++++++--------------------- - src/hb-ot-shape-complex-private.hh | 7 ---- - 2 files changed, 37 insertions(+), 52 deletions(-) - -commit 552d19b7a11f7dff888587fce4d56d9f8e47e819 -Author: Behdad Esfahbod -Date: Wed Jul 18 16:00:49 2012 -0400 - - [Indic] Treat Register Shifters like Nukta - - Really this time. - - Fixes another 18 Khmer tests. - - src/hb-ot-shape-complex-indic-machine.rl | - 2 +- - src/hb-ot-shape-complex-indic.cc | - 2 -- - .../in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt | - 1 + - 3 files changed, 2 insertions(+), 3 deletions(-) - -commit e8cd81f76d159f3ecf808952dab24bc07782497a -Author: Behdad Esfahbod -Date: Wed Jul 18 16:00:20 2012 -0400 - - [Indic] Minor - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 69f26bf39c824d6bf5b1c0d410380cc5462ad5ca -Author: Behdad Esfahbod -Date: Wed Jul 18 15:45:43 2012 -0400 - - [Indic] Fix Matra reordering when base is at end of syllable - - For example: U+915,U+200c,U+93f - - Fixes last Tamil failure! - - src/hb-ot-shape-complex-indic.cc | - 2 +- - .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | - 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit d16ccc4ae7aa8be460881042413fa2637929fede -Author: Behdad Esfahbod -Date: Wed Jul 18 15:43:55 2012 -0400 - - Leave one extra item at the end of buffer allocation - - Just in case, for the times we do out-of-bounds access. - - jk - - src/hb-buffer-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 075d671f1093d2e3c58f7f45568696030f1b3efd -Author: Behdad Esfahbod -Date: Wed Jul 18 15:41:53 2012 -0400 - - [Indic] Fix out-of-bounds array access - - src/hb-ot-shape-complex-indic.cc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit dcb527242b1eca4db1e190a7802f9cd132aaf46e -Author: Behdad Esfahbod -Date: Wed Jul 18 15:28:25 2012 -0400 - - [Indic] Allow joiners before matras - - Fixes 1 more Devanagari test! - - src/hb-ot-shape-complex-indic-machine.rl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 391cc0331749e263bdfe83a8f5f6d76f2360ee7a -Author: Behdad Esfahbod -Date: Wed Jul 18 15:10:05 2012 -0400 - - [Indic] Allow halant group in Vowel and placeholder syllables - - Fixes 2 out of 560 Devanagari failures. AND: - Fixes 1 out of 2 Tamil failures. - - src/hb-ot-shape-complex-indic-machine.rl | - 7 ++++--- - .../in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | 1 + - 2 files changed, 5 insertions(+), 3 deletions(-) - -commit ca4e3d3eab7b738c2b8e2a81696a28bca1b81495 -Author: Behdad Esfahbod -Date: Wed Jul 18 15:05:40 2012 -0400 - - [Indic] Streamline halant/joiner in grammar - - src/hb-ot-shape-complex-indic-machine.rl | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 418d00dffddd95a1f27e9be15752d494c627d45e -Author: Behdad Esfahbod -Date: Wed Jul 18 14:57:28 2012 -0400 - - [Indic] Minor - - src/hb-ot-shape-complex-indic-machine.rl | - 3 ++- - .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | - 3 +++ - 2 files changed, 5 insertions(+), 1 deletion(-) - -commit 4c3691d2a32ca7e54a54f7c08098fd96fa7af39e -Author: Behdad Esfahbod -Date: Wed Jul 18 14:23:55 2012 -0400 - - [Indic] Hopefully minor! - - Refactoring Indic machin. No semantic change. - - src/hb-ot-shape-complex-indic-machine.rl | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit e092c556fb1cf38be3cea1f4b75a0d879372dfa2 -Author: Behdad Esfahbod -Date: Wed Jul 18 14:09:25 2012 -0400 - - [Indic] Minor - - src/hb-ot-shape-complex-indic-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 14dbdd9e39d3a869fd1521000c889c347433d22b -Author: Behdad Esfahbod -Date: Wed Jul 18 13:13:03 2012 -0400 - - [Indic] Unbreak Tamil - - Tamil has only about 150 failures now! - - src/hb-ot-shape-complex-indic.cc | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -commit db8981f1e0e8625714568c6d0f11f0b317b11d0a -Author: Behdad Esfahbod -Date: Tue Jul 17 18:17:30 2012 -0400 - - [Indic] Position Khmer Robat - - It's a visual Repha. - - Still not positioning logical Repha as occurs in Malayalam. - - Another 200 Khmer failures fixed. 547 to go. That's better than - Devanagari! - - src/hb-ot-shape-complex-indic-machine.rl | 36 - +++++++++++++++++--------------- - src/hb-ot-shape-complex-indic-private.hh | 7 ++++--- - src/hb-ot-shape-complex-indic.cc | 13 ++++++++++++ - 3 files changed, 36 insertions(+), 20 deletions(-) - -commit 25bc489498ef7d0beb8fe9ab663e3f0b2f52c9c2 -Author: Behdad Esfahbod -Date: Tue Jul 17 17:53:03 2012 -0400 - - [Indic] Better categorize Register Shifters and Khmer Various signs - - Down another 500 or so Khmer failures! - - src/hb-ot-shape-complex-indic-machine.rl | 14 - +++++++------- - src/hb-ot-shape-complex-indic-private.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 8 ++++---- - .../south-east-asian/script-khmer/misc/MANIFEST | 2 ++ - .../script-khmer/misc/other-marks-invalid.txt | 4 ++++ - .../south-east-asian/script-khmer/misc/other-marks.txt | 6 ++++++ - 6 files changed, 24 insertions(+), 12 deletions(-) - -commit 39b17837b4064d59c18cebb49c1c0b5b8cc0c117 -Author: Behdad Esfahbod -Date: Tue Jul 17 17:09:29 2012 -0400 - - Add hb_buffer_normalize_glyphs() and hb-shape --normalize-glyphs - - This reorders glyphs within the cluster to a nominal order. - This should - have no visible effect on the output, but helps with testing, for - getting the same hb-shape output for visually-equal glyphs for each - cluster. - - src/hb-buffer.cc | 76 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-buffer.h | 13 ++++++++++ - src/hb-private.hh | 29 ++++++++++++++++----- - util/options.cc | 1 + - util/options.hh | 7 ++++- - 5 files changed, 118 insertions(+), 8 deletions(-) - -commit 25e302da9a712e6f1d63b0d243a8df0d326ddba3 -Author: Behdad Esfahbod -Date: Tue Jul 17 14:25:14 2012 -0400 - - [Indic] Minor - - src/hb-ot-shape-complex-indic.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 5d32690a3428fa86eb26fe5fcec943a10aa95881 -Author: Behdad Esfahbod -Date: Tue Jul 17 14:23:28 2012 -0400 - - [Indic] For scripts without Half forms, always choose first consonant - as base - - In such scripts (ie. Khmer), a ZWJ/ZWNJ shouldn't stop the search for - base. So, instead just choose the first consonant as base directly. - - Test sequence: - U+1798,200c,U+17C9,U+17D2,U+179B,U+17C1,U+17C7 - - src/hb-ot-shape-complex-indic.cc | 59 - ++++++++++++++++++++++++---------------- - 1 file changed, 35 insertions(+), 24 deletions(-) - -commit 34b57149065d96f7528aaccaa7654e956ce27e93 -Author: Behdad Esfahbod -Date: Tue Jul 17 14:09:32 2012 -0400 - - [Indic] Treat Khmer Register Shifters more like Nuktas - - Except that there may be a ZWNJ before a Register Shifter. - - src/hb-ot-shape-complex-indic-machine.rl | - 2 +- - .../in-tree/shaper-indic/south-east-asian/script-khmer/misc/misc.txt | - 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -commit 11e2a601b19861b05dbb2051d2d078c3cfd75b29 -Author: Behdad Esfahbod -Date: Tue Jul 17 14:02:28 2012 -0400 - - [Indic] Minor - - src/hb-ot-shape-complex-indic-machine.rl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0201e0a4649ad5b607e50bcb9605e7a5b7143812 -Author: Behdad Esfahbod -Date: Tue Jul 17 13:55:10 2012 -0400 - - [Indic] Apply 'cfar' for Khmer - - Mark stuff after a pre-base reordering Ro 'cfar'. Used in Khmer. - This allows distinguishing the following cases with MS Khmer fonts: - - U+1784,U+17D2,U+179A,U+17D2,U+1782 - U+1784,U+17D2,U+1782,U+17D2,U+179A - - src/hb-ot-shape-complex-indic.cc | 16 - ++++++++++++++-- - .../south-east-asian/script-khmer/misc/misc.txt | 2 ++ - 2 files changed, 16 insertions(+), 2 deletions(-) - -commit 55f70ebfb95083f515d9b0044a2a65ab11484bb5 -Author: Behdad Esfahbod -Date: Tue Jul 17 12:50:13 2012 -0400 - - [Indic] Position final subjoined consonants (and vowels) after matras - - In Khmer, a final subjoined consonant or independent vowel can occur - after matras. This final subjoined thing should NOT be reordered to - before the matra even though it's subjoined. - - Fixes another 1k of the Khmer failures. Not much left really. - - src/hb-ot-shape-complex-indic-private.hh | 1 + - src/hb-ot-shape-complex-indic.cc | 13 - +++++++++++++ - .../south-east-asian/script-khmer/misc/misc.txt | 2 ++ - 3 files changed, 16 insertions(+) - -commit c50ed71e9a3df1844f564de66d54b46a696c1356 -Author: Behdad Esfahbod -Date: Tue Jul 17 11:54:28 2012 -0400 - - [Indic] Recategorize Khmer coeng sign as a separate category OT_Coeng - - Amend the syllable structure to allow a final subscripted consonant - (Coeng+C) and a final subscripted independent vowel (Coeng+V). - Fixes another 2k of Khmer failures. - - src/hb-ot-shape-complex-indic-machine.rl | - 7 ++++--- - src/hb-ot-shape-complex-indic.cc | - 6 +++++- - .../shaper-indic/south-east-asian/script-khmer/misc/misc.txt | 1 + - 3 files changed, 10 insertions(+), 4 deletions(-) - -commit deb521dee4fdca8c2124cfb39a205e6269d4a70d -Author: Behdad Esfahbod -Date: Tue Jul 17 11:37:32 2012 -0400 - - [Indic] Add a separate Coeng class - - No characters recategorized yet. No semantic change. - - src/hb-ot-shape-complex-indic-machine.rl | 1 + - src/hb-ot-shape-complex-indic-private.hh | 3 ++- - src/hb-ot-shape-complex-indic.cc | 26 ++++++++++++++++---------- - 3 files changed, 19 insertions(+), 11 deletions(-) - -commit 74ccc6a1322f8c48c5f2a05f04821783c4b87a14 -Author: Behdad Esfahbod -Date: Tue Jul 17 11:16:19 2012 -0400 - - [Indic] Move Halant with after-base consonants - - Normally, we attach the Halant to the previous character and move it - with it. For after-base consonants however, the Halant "belongs" - to the - consonant after, so attach it so. - - This fixes Bengali sequences involving post-base consonant Ya, which - should ligate with the Halant to form Ya Phala, but previously a - reordered matras was blocking the ligation. - - src/hb-ot-shape-complex-indic.cc | - 11 +++++++++++ - .../in-tree/shaper-indic/indic/script-bengali/misc/misc.txt | 1 + - 2 files changed, 12 insertions(+) - -commit d5c4edcdd6df32f2f23aca44f14838b4baab4d7a -Author: Behdad Esfahbod -Date: Tue Jul 17 10:40:59 2012 -0400 - - [Indic] Apply presentation-forms features all at once - - Seems like this is what Uniscribe is doing, and does not break - any fonts - we tested (with Devanagari, Malayalam, Khmer, and Bengali), while - fixing - some Ra Phala sequences for Bengali with Vrinda. Fixes another 2% of - Bengali failures (a couple more to go). - - src/hb-ot-shape-complex-indic.cc | - 6 +++--- - .../texts/in-tree/shaper-indic/indic/script-bengali/misc/misc.txt | 1 + - 2 files changed, 4 insertions(+), 3 deletions(-) - -commit 559f70667891a3ceeffb36f40de38a4f85868945 -Author: Behdad Esfahbod -Date: Mon Jul 16 22:43:17 2012 -0400 - - Fix MarkAttachmentType matching - - Fixes issue reported by Khaled Hosny with his Hussaini Nastaleeq font - and sequences like those added in the previous commit. - - src/hb-ot-layout.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6de103547e4a7fb34c833861713ea373cd912261 -Author: Behdad Esfahbod -Date: Mon Jul 16 22:46:06 2012 -0400 - - [test/arabic] Add Arabic tests for mark skipping - - Expose a bug with Khaled's Hussaini Nastaleeq font. - - .../shaper-arabic/script-arabic/misc/diacritics/MANIFEST | 1 + - .../script-arabic/misc/diacritics/mark-skipping.txt | - 10 ++++++++++ - 2 files changed, 11 insertions(+) - -commit ad4494759fa8bfd2497800c24fa414075ed1aa61 -Author: Behdad Esfahbod -Date: Mon Jul 16 22:40:21 2012 -0400 - - Minor - - src/hb-ot-layout.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit af92b4cc90e4184d5bdd8037c551ed482700114f -Author: Behdad Esfahbod -Date: Mon Jul 16 20:31:24 2012 -0400 - - [Indic] Disable 'kern' in Uniscribe bug compatibility mode - - Uniscribe does not apply 'kern' in the Indic module. Some of - the Khmer - fonts they ship have small adjustments in the 'kern' table. Disable - 'kern' in the Indic module under Uniscribe bug compatibility mode. - - Fixes some 10% of the Khmer failures. Remains under 3% (excluding - dotted-circle ones). - - src/hb-ot-shape-complex-indic.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit d96838ef951ce6170eb2dc576ebcba2262cf7008 -Author: Behdad Esfahbod -Date: Mon Jul 16 20:26:57 2012 -0400 - - Allow complex shapers overriding common features - - In a new callback... Currently unused by all complex shapers. - - src/hb-ot-shape-complex-arabic.cc | 6 ++++++ - src/hb-ot-shape-complex-indic.cc | 6 ++++++ - src/hb-ot-shape-complex-misc.cc | 18 ++++++++++++++++++ - src/hb-ot-shape-complex-private.hh | 30 ++++++++++++++++++++++++++++++ - src/hb-ot-shape.cc | 2 ++ - 5 files changed, 62 insertions(+) - -commit df50b8474094f0563ccfdae12c4425a51b72add6 -Author: Behdad Esfahbod -Date: Mon Jul 16 19:56:29 2012 -0400 - - [Indic] Categorize other Khmer marks - - Mark them the same as the Register Shifters for now. Need to rename - that category to something more sensible after all is settled. - - Fixes another percent of Khmer failures. Down to under 3%! - - src/hb-ot-shape-complex-indic.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 8e7b5882fb4c1921c9d030d354a9b998115cdb8c -Author: Behdad Esfahbod -Date: Mon Jul 16 17:04:46 2012 -0400 - - [Indic] Recognize pre-base reordering Ra anywhere in the syllable - - We were doing that only immediately after base. - - Fixes another percent in the Khmer failures. About three more - to go... - - src/hb-ot-shape-complex-indic.cc | 84 - ++++++++++++++++++++++------------------ - 1 file changed, 46 insertions(+), 38 deletions(-) - -commit 7d09c98a1fff97127e48eae48d380dc9fcff288e -Author: Behdad Esfahbod -Date: Mon Jul 16 16:45:22 2012 -0400 - - [Indic] Recognizer Register Shifter marks - - Fixes another 6% of the Khmer failures. - - src/hb-ot-shape-complex-indic-machine.rl | 3 ++- - src/hb-ot-shape-complex-indic-private.hh | 5 +++-- - src/hb-ot-shape-complex-indic.cc | 2 ++ - 3 files changed, 7 insertions(+), 3 deletions(-) - -commit 60da763dfac96a7931d6e6bdef8b9973bd5209ab -Author: Behdad Esfahbod -Date: Mon Jul 16 16:13:32 2012 -0400 - - [GSUB/GDEF] Guess glyph classes after substitution only if no GDEF - - Brings down Khmer failures with Daun Penh font from 36% to 20%. - - src/hb-ot-layout-gsubgpos-private.hh | 20 +++++++++++++------- - 1 file changed, 13 insertions(+), 7 deletions(-) - -commit fcdc5f1c8849a7f38d9f34f64d60c6d95d7501f7 -Author: Behdad Esfahbod -Date: Mon Jul 16 15:52:54 2012 -0400 - - [Indic] Categorize Khmer Ro - - Khmer failures down from 58% to 36%. - - src/hb-ot-shape-complex-indic-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 78818124b17691ec2c647142fdb9ae743aa03dee -Author: Behdad Esfahbod -Date: Mon Jul 16 15:49:08 2012 -0400 - - [Indic] Reoder pre-base reordering Ra - - Brings down Malayalam failures from 14% down to 3%. - - src/hb-ot-shape-complex-indic.cc | 42 - +++++++++++++++++++++++++++------------- - 1 file changed, 29 insertions(+), 13 deletions(-) - -commit 1a1dbe9a2787f226f3e43063da8eb6633438b0a0 -Author: Behdad Esfahbod -Date: Mon Jul 16 15:40:33 2012 -0400 - - [Indic] Rename - - src/hb-ot-shape-complex-indic.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 46e645ec4b59f0a278347be11f40c7df700d5bb6 -Author: Behdad Esfahbod -Date: Mon Jul 16 15:30:05 2012 -0400 - - [Indic] Start implementing pre-base reordering - - src/hb-ot-shape-complex-indic.cc | 33 ++++++++++++++++++--------------- - 1 file changed, 18 insertions(+), 15 deletions(-) - -commit 921ce5b17daf06af8e17989a3e335b9f5df20483 -Author: Behdad Esfahbod -Date: Mon Jul 16 15:26:56 2012 -0400 - - [Indic] Rename - - No semantic change. - - src/hb-ot-shape-complex-indic.cc | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -commit b504e060f008e95b1ba36c06600c9fea4f5d4808 -Author: Behdad Esfahbod -Date: Mon Jul 16 15:21:12 2012 -0400 - - [Indic] Implement After-Main Reph positioning - - Almost... - - src/hb-ot-shape-complex-indic.cc | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit 17d7de91d76406d3e92db37d9eef2fc615f06e68 -Author: Behdad Esfahbod -Date: Mon Jul 16 15:20:15 2012 -0400 - - [Indic] Apply 'pref' to pre-base reodering Ra - - No reordering yet. - - src/hb-ot-shape-complex-indic.cc | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 362d3db8d3527d0fef260a17d2466e92a4a25425 -Author: Behdad Esfahbod -Date: Mon Jul 16 15:15:28 2012 -0400 - - [Indic] Minor - - Should not be any semantic change. In preparation for implementing - pre-base reordering Ra. - - src/hb-ot-shape-complex-indic.cc | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -commit 70fe77bb9a25922bd34f206826d8731d901fb451 -Author: Behdad Esfahbod -Date: Mon Jul 16 14:52:18 2012 -0400 - - Minor - - src/hb-ot-shape-complex-indic.cc | 44 - ++++++++++++++++++++-------------------- - 1 file changed, 22 insertions(+), 22 deletions(-) - -commit 2f903215c5da2330a37abe489a3f45f7c3fd5a09 -Author: Behdad Esfahbod -Date: Mon Jul 16 13:54:43 2012 -0400 - - Minor - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a3e04bee2c2fa648759a87e460db6b4f1b685586 -Author: Behdad Esfahbod -Date: Mon Jul 16 13:47:19 2012 -0400 - - [Indic] Reorder virama only for old Indic spec - - src/hb-ot-shape-complex-indic.cc | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -commit 0de771b72da6b342b015e3556190821547a4011d -Author: Behdad Esfahbod -Date: Mon Jul 16 13:39:36 2012 -0400 - - [Indic] Categorize Khmer consonants - - src/hb-ot-shape-complex-indic.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit d487fff266258eb1af056e9704cfb09d04251ddc -Author: Behdad Esfahbod -Date: Mon Jul 16 13:25:17 2012 -0400 - - Split matras without a Unicode decomposition - - This is a hack for now, to get us going with Khmer. This will be - refactored properly later to move the complex logic into complex - shapers. - - src/hb-unicode.cc | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -commit 8aa801a6fd1a737fa20b851edf7528bdd6635b8b -Author: Behdad Esfahbod -Date: Mon Jul 16 13:24:26 2012 -0400 - - [Indic] Adjust position for split matras - - We are going to split matras without a Unicode decompositions in a way - that the second half takes the codepoint of the whole matra. So, - position them where the second half is supposed to end up. - - src/hb-ot-shape-complex-indic-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 1feb8345a5fd92297eb6796e6dce633bafa0c76e -Author: Behdad Esfahbod -Date: Mon Jul 16 13:23:40 2012 -0400 - - [GSUB] Allow 1-to-1 ligature substitutions! - - Apparently Uniscribe allows these, and they are used in some Khmer - fonts - shipped with Windows, namely, Daun Penh. - - src/hb-ot-layout-gsub-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 29f106d7fba25e1464debd3a4831a7380d75c4c9 -Author: Behdad Esfahbod -Date: Mon Jul 16 12:05:35 2012 -0400 - - [Indic] Apply Above Forms - - src/hb-ot-shape-complex-indic.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit fa2bd9fb63d83b657373764d4b657084d8327fc9 -Author: Behdad Esfahbod -Date: Sat Jul 14 12:15:54 2012 -0400 - - Further simplify atomic ops on Visual Studio - - src/hb-atomic-private.hh | 5 ----- - 1 file changed, 5 deletions(-) - -commit 0a492357016bc9a614d2a726f2006c10af68ca58 -Author: Behdad Esfahbod -Date: Fri Jul 13 13:20:49 2012 -0400 - - Minor - - src/hb-warning.cc | 29 +++++------------------------ - 1 file changed, 5 insertions(+), 24 deletions(-) - -commit 11c4ad439ef2b39a840f397a693b1ba643f52c21 -Author: Behdad Esfahbod -Date: Fri Jul 13 11:29:31 2012 -0400 - - Add -Wcast-align - - configure.ac | 3 +++ - src/Makefile.am | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -commit a98d0ab18624501ee60551304f2715361ac643da -Author: Behdad Esfahbod -Date: Fri Jul 13 10:19:10 2012 -0400 - - Make sure HB_BEGIN_DECLS / HB_END_DECLS is only used in public headers - - So we can use them to switch default visibility to internal if - desired, - and use these to make only declared symbols public. - - src/check-c-linkage-decls.sh | 10 +++++++++- - src/hb-fallback-shape-private.hh | 6 ------ - src/hb-ot-shape-complex-indic-machine.rl | 4 ---- - 3 files changed, 9 insertions(+), 11 deletions(-) - -commit 5c5bc96216c9ad58243eb3ed27b253e237f08ebe -Author: Behdad Esfahbod -Date: Fri Jul 13 10:15:37 2012 -0400 - - Allow overriding HB_BEGIN_DECLS / HB_END_DECLS - - src/hb-common.h | 2 ++ - 1 file changed, 2 insertions(+) - -commit ec5f5f0f8a1d5b3ff98452175bb4450a59897620 -Author: Behdad Esfahbod -Date: Fri Jul 13 10:00:42 2012 -0400 - - Don't export inline methods - - configure.ac | 3 +++ - 1 file changed, 3 insertions(+) - -commit 50a4e78b530563917eb606ff3b96dcc9eed5b3ee -Author: Behdad Esfahbod -Date: Fri Jul 13 09:48:39 2012 -0400 - - Check for exported weak symbols - - Ouch, all our C++ inline functions are being exported (weakly) - already. - Fix coming. - - src/check-internal-symbols.sh | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit b5aeb95afeb13a66177caada9f5d5ad4cddbd35f -Author: Behdad Esfahbod -Date: Fri Jul 13 09:45:54 2012 -0400 - - Make hb_in_range() static - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 271c8f89075607c689938b4f5e60323d9a1acd70 -Author: Behdad Esfahbod -Date: Fri Jul 13 09:32:30 2012 -0400 - - Minor - - src/hb-ft.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 391f1ff5d894b60bfe0f606be436ffe7e43f7455 -Author: Behdad Esfahbod -Date: Fri Jul 13 09:04:07 2012 -0400 - - Fix _InterlockedCompareExchangePointer on x86 - - src/hb-atomic-private.hh | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 2023e2b54d91924dddfd228ffdbb46021135b068 -Author: Behdad Esfahbod -Date: Wed Jul 11 19:00:30 2012 -0400 - - [ft] Disable ppem setting - - The calculations were wrong. - - FreeType makes it really hard to set size and ppem independently. - For now, disable it. Need to come up with a fix later. - - src/hb-ft.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit cdf7444505a7ae49d20f9ba6776dea92c1fde2a6 -Author: Behdad Esfahbod -Date: Wed Jul 11 18:52:39 2012 -0400 - - [ft] Use unfitted kerning if x_ppem is zero - - src/hb-ft.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 6d08c7f1b3601095f9a12630045331dd0fe75380 -Author: Behdad Esfahbod -Date: Wed Jul 11 18:01:27 2012 -0400 - - Revert "Towards templatizing common Lookup types" - - This reverts commit 727135f3a9938c1ebd5b9f5015a46c7ccc8573c5. - - This is work-in-progress. Didn't mean to push it out just yet. - - src/hb-ot-layout-gpos-table.hh | 16 ++++++---------- - src/hb-ot-layout-gsub-table.hh | 24 ++++++++++-------------- - src/hb-ot-layout-gsubgpos-private.hh | 33 - ++------------------------------- - 3 files changed, 18 insertions(+), 55 deletions(-) - -commit 552bf3a9f9651311084b7979805dbdc18c0335ca -Author: Behdad Esfahbod -Date: Wed Jul 11 16:44:51 2012 -0400 - - Bump WINNT version requested from 500 to 600 - - Since we use the OpenType versions of Uniscribe functions, we are - relying on that version of the WINNT API. Otherwise, usp10.h - will hide - those symbols. - - src/hb-uniscribe.cc | 2 +- - src/hb-uniscribe.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 9a5b421a64db1bb23d5c6ebbc3bf3f3a5513dc36 -Author: Behdad Esfahbod -Date: Wed Jul 11 16:35:04 2012 -0400 - - Fix build with no Unicode funcs implementations provided - - src/hb-unicode-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 6efe1eca660135096f05987ac0ef9b635de6cdfd -Author: Behdad Esfahbod -Date: Wed Jul 11 15:30:08 2012 -0400 - - Update git.mk to upstream - - git.mk | 58 ++++++++++++++++++++++++++++++++++++++-------------------- - 1 file changed, 38 insertions(+), 20 deletions(-) - -commit 727135f3a9938c1ebd5b9f5015a46c7ccc8573c5 -Author: Behdad Esfahbod -Date: Tue Jul 3 22:15:35 2012 -0400 - - Towards templatizing common Lookup types - - src/hb-ot-layout-gpos-table.hh | 16 ++++++++++------ - src/hb-ot-layout-gsub-table.hh | 24 ++++++++++++++---------- - src/hb-ot-layout-gsubgpos-private.hh | 33 - +++++++++++++++++++++++++++++++-- - 3 files changed, 55 insertions(+), 18 deletions(-) - -commit 1167c7bfc9e61f145e11da4881968293a4d3c0a9 -Author: Behdad Esfahbod -Date: Tue Jul 3 11:38:46 2012 -0400 - - Minor - - test/shaping/texts/in-tree/shaper-thai/MANIFEST | - 2 +- - test/shaping/texts/in-tree/shaper-thai/misc/MANIFEST | 1 - - test/shaping/texts/in-tree/shaper-thai/script-thai/MANIFEST | 1 + - test/shaping/texts/in-tree/shaper-thai/script-thai/misc/MANIFEST | 1 + - .../shaper-thai/{misc/misc.txt => script-thai/misc/sara-am.txt} | - 6 ++---- - 5 files changed, 5 insertions(+), 6 deletions(-) - -commit aa116582e69d18777448e7993078e5d6335ddfed -Author: Behdad Esfahbod -Date: Fri Jun 29 10:50:12 2012 -0400 - - Minor - - .../texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt - | 1 + - 1 file changed, 1 insertion(+) - -commit 1f13c7185f02ea18d4fadd2ea8ad444bea863c39 -Author: Behdad Esfahbod -Date: Wed Jun 27 10:07:27 2012 -0400 - - Add TODO item - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 12f5c0a222a2f0aebe63c0d367937a0ff985474a -Author: Behdad Esfahbod -Date: Tue Jun 26 11:16:13 2012 -0400 - - Fix check for Intel atomic ops - - configure.ac | 9 +++++---- - src/hb-atomic-private.hh | 2 +- - 2 files changed, 6 insertions(+), 5 deletions(-) - -commit 6932a41fb61ffc2901c260587b1e98ed9c2a7ea1 -Author: Behdad Esfahbod -Date: Tue Jun 26 10:46:31 2012 -0400 - - Use octal-escaped UTF-8 characters instead of plain text - - https://bugs.freedesktop.org/show_bug.cgi?id=50970 - - src/hb-private.hh | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -commit 8c0ea7bcb4409aaf8c96ad641f2db30003228ad0 -Author: Behdad Esfahbod -Date: Sun Jun 24 13:20:56 2012 -0400 - - Disable introspection again - - Until I figure out the build issues. Sigh... - - configure.ac | 2 +- - src/Makefile.am | 42 +++++++++++++++++++++--------------------- - 2 files changed, 22 insertions(+), 22 deletions(-) - -commit 8c5f5e6f5ec2b6a219fbdfc955f6299325a0adde -Author: Behdad Esfahbod -Date: Sun Jun 17 14:58:59 2012 -0400 - - Minor - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 49f8e0cd9a5493ae26857c43bac0711cdf47c80d -Author: Behdad Esfahbod -Date: Sat Jun 16 15:40:03 2012 -0400 - - GStaticMutex is deprecated - - src/hb-mutex-private.hh | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 5e113a4b7921ced6af2d53460a7a2f1d0185c02a -Author: Behdad Esfahbod -Date: Sat Jun 16 15:26:13 2012 -0400 - - g_thread_init() is deprecated - - test/api/hb-test.h | 2 ++ - 1 file changed, 2 insertions(+) - -commit 1bc1cb3603167f5da309336f7018c8b0608ac104 -Author: Behdad Esfahbod -Date: Sat Jun 16 15:21:55 2012 -0400 - - Make source more digestable for gobject-introspection - - src/hb-blob.cc | 2 +- - src/hb-blob.h | 2 +- - src/hb-buffer-private.hh | 4 ++-- - src/hb-buffer.h | 6 +++--- - src/hb-common.cc | 2 +- - src/hb-common.h | 4 ++-- - src/hb-font-private.hh | 6 +++--- - src/hb-font.cc | 2 +- - src/hb-font.h | 8 ++++---- - src/hb-set-private.hh | 2 +- - src/hb-set.h | 2 +- - src/hb-shape.h | 2 +- - src/hb-unicode-private.hh | 2 +- - src/hb-unicode.h | 2 +- - 14 files changed, 23 insertions(+), 23 deletions(-) - -commit 84d781e54cc75c81a06ba43fd7b1a74b8c7d9591 -Author: Behdad Esfahbod -Date: Sat Jun 16 15:21:41 2012 -0400 - - Flesh out gobject-introspection stuff a bit - - configure.ac | 1 + - src/Makefile.am | 23 +++++++++++++++++++++-- - 2 files changed, 22 insertions(+), 2 deletions(-) - -commit 49ee12ccd00870d4976339dc546c74eaf08a8fc0 -Author: Behdad Esfahbod -Date: Sat Jun 16 14:53:51 2012 -0400 - - Add TODO item - - TODO | 1 + - 1 file changed, 1 insertion(+) - -commit d3c8115d1ad09404b8970b98e6b5ab74510a35f6 -Author: Behdad Esfahbod -Date: Tue Jun 12 09:52:57 2012 -0400 - - Minor - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 2cf301968cb8c1150cead0ab909457cdd3ee2d01 -Author: Behdad Esfahbod -Date: Sat Jun 9 14:58:01 2012 -0400 - - Add hb_object_lock/unlock() - - src/hb-object-private.hh | 32 ++++++++++++++++++++++++++------ - 1 file changed, 26 insertions(+), 6 deletions(-) - -commit 6a5661f1e69c937083e8d976cb12429b99180d54 -Author: Behdad Esfahbod -Date: Sat Jun 9 03:26:16 2012 -0400 - - Ugh - - util/shape-consumer.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit f211d5c291b4c947cfd732e873627567173057e4 -Author: Behdad Esfahbod -Date: Sat Jun 9 03:11:22 2012 -0400 - - More Oops! Fix fast-path with sub-type==0 - - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - util/shape-consumer.hh | 2 ++ - 3 files changed, 4 insertions(+), 2 deletions(-) - -commit b1de6aa1f33b228afe231c8209aef90a5fa1ee5d -Author: Behdad Esfahbod -Date: Sat Jun 9 03:07:59 2012 -0400 - - Oops! - - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit b12e2549cbcd4f1ef46e66c75533686ee560f59b -Author: Behdad Esfahbod -Date: Sat Jun 9 03:05:20 2012 -0400 - - Minor - - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit faf0f20253d954cc4cfa4c967ece7573a5ddae3b -Author: Behdad Esfahbod -Date: Sat Jun 9 03:02:36 2012 -0400 - - Add sanitize() logic for fast-paths - - src/hb-ot-layout-gpos-table.hh | 15 ++++++++++++--- - src/hb-ot-layout-gsub-table.hh | 20 ++++++++++++++------ - 2 files changed, 26 insertions(+), 9 deletions(-) - -commit 4e766ff28d1fb831ded20666799787478129c07c -Author: Behdad Esfahbod -Date: Sat Jun 9 02:53:57 2012 -0400 - - Add fast-path for GPOS too - - Shaves another 3% for DejaVu Sans long Latin strings. - - src/hb-ot-layout-gpos-table.hh | 16 ++++++++++++++-- - 1 file changed, 14 insertions(+), 2 deletions(-) - -commit 993c51915f503f74ee00eee646b67bf2e3f73596 -Author: Behdad Esfahbod -Date: Sat Jun 9 02:48:16 2012 -0400 - - Add fast-path to GSUB to check coverage - - Shaves a good 10% off DejaVu Sans with simple Latin text for me. - Now, DejaVu is very ChainContext-intensive, but it's also a very - popular font! - - src/hb-ot-layout-gsub-table.hh | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) - -commit f19e0b0099ec73b8fedccacff4902403f5eabc42 -Author: Behdad Esfahbod -Date: Sat Jun 9 02:26:57 2012 -0400 - - Match input before backtrack - - Makes more sense, optimization-wise. - - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 67bb9e8cea49a44be6996515e1c7d8cdc95a77e6 -Author: Behdad Esfahbod -Date: Sat Jun 9 02:02:46 2012 -0400 - - Add set add_coverage() to Coverage() - - src/hb-ot-layout-common-private.hh | 24 ++++++++++++++++++++++++ - src/hb-set-private.hh | 5 +++++ - 2 files changed, 29 insertions(+) - -commit 4952f0aa5b2f4368d9e3418252e0a1b9294cd5ee -Author: Behdad Esfahbod -Date: Sat Jun 9 01:39:11 2012 -0400 - - Minor - - src/hb-ot-layout-gsub-table.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit ad6a6f22401d6256e34521d0f52e91348c5ed4c9 -Author: Behdad Esfahbod -Date: Sat Jun 9 01:21:02 2012 -0400 - - Minor - - src/hb-ot-layout.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 46617a42133fbab151de4111a74dcbdc4e769c74 -Author: Behdad Esfahbod -Date: Sat Jun 9 01:18:58 2012 -0400 - - Fix cache implementation - - src/hb-cache-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit ce47613889aa3ff9b0067d3e51ba63cfdb139adb -Author: Behdad Esfahbod -Date: Sat Jun 9 01:10:26 2012 -0400 - - Micro-optimize - - I know... - - src/hb-ot-layout-gsubgpos-private.hh | 3 ++- - src/hb-ot-layout.cc | 46 - ++++++++++++++++++++++-------------- - 2 files changed, 30 insertions(+), 19 deletions(-) - -commit 70416de298b811ab6be53a1c67f0d2531d99cd46 -Author: Behdad Esfahbod -Date: Sat Jun 9 00:56:41 2012 -0400 - - Minor - - src/hb-open-type-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit 99159e52a3c9d5ae6c0fbdec64e7ed684fa70b61 -Author: Behdad Esfahbod -Date: Sat Jun 9 00:50:40 2012 -0400 - - Use linear search for small counts - - I see about 8% speedup with long strings with DejaVu Sans. - - src/hb-open-type-private.hh | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) - -commit caf0412690542e58e23246dccc4b2fb83bd652ec -Author: Behdad Esfahbod -Date: Sat Jun 9 00:26:32 2012 -0400 - - Minor - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0f8fea71a66b1e01ee4398967db464393f478d42 -Author: Behdad Esfahbod -Date: Sat Jun 9 00:24:38 2012 -0400 - - Minor. Hide _hb_ot_layout_get_glyph_property() - - src/hb-ot-layout-private.hh | 4 ---- - src/hb-ot-layout.cc | 2 +- - 2 files changed, 1 insertion(+), 5 deletions(-) - -commit 44b8ee0c90d7b1dd91e5848114141e3186534a0f -Author: Behdad Esfahbod -Date: Sat Jun 9 00:23:24 2012 -0400 - - Minor - - src/hb-ot-layout-gpos-table.hh | 3 ++- - src/hb-ot-layout.cc | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) - -commit 7b84c536c10ab90ed96a033d88e9ad232d46c5b8 -Author: Behdad Esfahbod -Date: Fri Jun 8 22:04:23 2012 -0400 - - In MarkBase attachment, only attach to first of a MultipleSubst - sequence - - This is apparently what Uniscribe does. Test case is: - - SEEN FATHA TEH ALEF - - with Arabic Typesetting. Originally reported by Khaled Hosny. - - src/hb-ot-layout-gpos-table.hh | 7 ++++++- - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++++++ - 2 files changed, 14 insertions(+), 1 deletion(-) - -commit ec57e0c5655ced5109c4638bf802772d336448fd -Author: Behdad Esfahbod -Date: Fri Jun 8 21:47:23 2012 -0400 - - Set lig_comp for MultipleSubst components - - To be used for correct mark attachment to first component of a - MultipleSubst output. That's what Uniscribe does. - - src/hb-ot-layout-gsub-table.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit e085fcf7ca302eb7802a032197c022819e7e7074 -Author: Behdad Esfahbod -Date: Fri Jun 8 21:45:00 2012 -0400 - - Remove unused buffer->replace_glyphs_be16 - - src/hb-buffer-private.hh | 3 --- - src/hb-buffer.cc | 23 ----------------------- - src/hb-ot-layout-gsubgpos-private.hh | 8 -------- - 3 files changed, 34 deletions(-) - -commit 3ec77d6ae0510dc2c0ec64382c4948bc6e109844 -Author: Behdad Esfahbod -Date: Fri Jun 8 21:44:06 2012 -0400 - - Don't use replace_glyphs_be for MultipleSubst - - src/hb-ot-layout-gsub-table.hh | 5 ++++- - src/hb-ot-layout-gsubgpos-private.hh | 7 ++++++- - 2 files changed, 10 insertions(+), 2 deletions(-) - -commit 4b7192125ffd295091d6b3a0bdfca7011947c2ca -Author: Behdad Esfahbod -Date: Fri Jun 8 21:41:46 2012 -0400 - - Minor - - src/hb-ot-layout-gsub-table.hh | 3 ++- - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++++++ - 2 files changed, 10 insertions(+), 1 deletion(-) - -commit 4508789f4b5e0ece5620d35598aeeb7ecbe3e3aa -Author: Behdad Esfahbod -Date: Fri Jun 8 21:32:43 2012 -0400 - - Add test for static initializers and other C++ stuff - - src/Makefile.am | 3 ++- - src/check-static-inits.sh | 33 +++++++++++++++++++++++++++++++++ - 2 files changed, 35 insertions(+), 1 deletion(-) - -commit 56bd259b9ac22dd98913c8ca2e2cf7b30b632373 -Author: Behdad Esfahbod -Date: Fri Jun 8 21:29:18 2012 -0400 - - Minor - - src/check-internal-symbols.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4538b47bf08e73e7f5cce6337df5fe154233c168 -Author: Behdad Esfahbod -Date: Fri Jun 8 21:01:45 2012 -0400 - - Remove done TODO items - - TODO | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -commit bc8357ea7b4c0d7c715aae353176434fb9460205 -Author: Behdad Esfahbod -Date: Fri Jun 8 21:01:20 2012 -0400 - - Merge clusters during normalization - - src/hb-ot-shape-normalize.cc | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -commit fe3dabc08df7501010564f8844bd4d11771cc6a4 -Author: Behdad Esfahbod -Date: Fri Jun 8 20:56:05 2012 -0400 - - Minor - - src/hb-buffer.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit e88e14421a33ca5bdfd76bc0b2f801fcb6e78911 -Author: Behdad Esfahbod -Date: Fri Jun 8 20:55:21 2012 -0400 - - Use merge_clusters instead of open-coding - - src/hb-buffer.cc | 16 ++++------------ - 1 file changed, 4 insertions(+), 12 deletions(-) - -commit 330a2af3ff0e12c01b3b451357b8bdc83b2e9b47 -Author: Behdad Esfahbod -Date: Fri Jun 8 20:40:02 2012 -0400 - - Use merge_clusters when forming Unicode clusters - - src/hb-ot-shape.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit bd300df9adf955c1e69b3783c1c061876940fb8b -Author: Behdad Esfahbod -Date: Fri Jun 8 20:35:18 2012 -0400 - - Minor - - src/hb-object-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e51d2b6ed1c794ac28c5610bfd01dbc9fb383633 -Author: Behdad Esfahbod -Date: Fri Jun 8 20:33:27 2012 -0400 - - Extend into main buffer if extension hit end of out-buffer merging - clusters - - src/hb-buffer.cc | 5 +++++ - src/hb-ot-shape-complex-misc.cc | 9 --------- - 2 files changed, 5 insertions(+), 9 deletions(-) - -commit 5ced012d9f58c51d557a835593c3277e35fe3b35 -Author: Behdad Esfahbod -Date: Fri Jun 8 20:31:32 2012 -0400 - - Extend end when merging clusters in out-buffer - - src/hb-buffer.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 72c0a1878313e7232d554bc226f4c6dc01418a95 -Author: Behdad Esfahbod -Date: Fri Jun 8 20:30:03 2012 -0400 - - Extend clusters backward in out-buffer - - src/hb-buffer.cc | 8 ++++++++ - src/hb-ot-shape-complex-misc.cc | 2 -- - 2 files changed, 8 insertions(+), 2 deletions(-) - -commit cd5891493df06fdb92e1ae526d29dee8df250235 -Author: Behdad Esfahbod -Date: Fri Jun 8 20:27:53 2012 -0400 - - Extend clusters backwards, into the out-buffer too - - src/hb-buffer.cc | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 77471e037122548bfc08cacea6fbb472831c34f3 -Author: Behdad Esfahbod -Date: Fri Jun 8 20:21:02 2012 -0400 - - Clear output buffer before calling GSUB pause functions - - src/hb-ot-map.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit cafa6f372721fd6b0a7c0da68b9421d3e94931bc -Author: Behdad Esfahbod -Date: Fri Jun 8 20:17:10 2012 -0400 - - When merging clusters, extend the end - - src/hb-buffer.cc | 20 ++++++++++++++------ - 1 file changed, 14 insertions(+), 6 deletions(-) - -commit 28ce5fa454b54f728044ee12a9dbe7d016783d4a -Author: Behdad Esfahbod -Date: Fri Jun 8 20:13:56 2012 -0400 - - Merge clusters when ligating - - src/hb-ot-layout-gsub-table.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 2bb1761ccb7d300744ced6427165f4ea75ddf96c -Author: Behdad Esfahbod -Date: Fri Jun 8 19:29:44 2012 -0400 - - Minor, use next_glyph() - - src/hb-ot-layout-gsub-table.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5f68f8675e5ccaee91f5a90d86bc3b022b9a54e4 -Author: Behdad Esfahbod -Date: Fri Jun 8 19:23:43 2012 -0400 - - Minor - - src/hb-ot-shape.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 872969126756456a69bf958f3df6e56a26e57b0a -Author: Behdad Esfahbod -Date: Fri Jun 8 14:18:30 2012 -0400 - - Increase Uniscribe MAX_ITEMS - - src/hb-uniscribe.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dbffa4c83d29c689ee4cd8a1c53e84521028c711 -Author: Behdad Esfahbod -Date: Fri Jun 8 14:08:32 2012 -0400 - - Fix Uniscribe charset matching - - Previously was failing to match fonts that didn't support - CHARSET_ANSI. - - There still remains a problem with the Uniscribe backend, in that if a - font with the same family name is installed, and is newer, the native - one is preferred over the font we provide. Fixing it requires - rewriting - the name table with a unique family name... - - src/hb-uniscribe.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 82e8bd8628aeb37835fb019a71b6bdac87824b97 -Author: Behdad Esfahbod -Date: Fri Jun 8 11:48:29 2012 -0400 - - Remove unused code - - src/hb-uniscribe.cc | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 6da9dbff21b47fb10794b8d6cb747393c9eab7dd -Author: Behdad Esfahbod -Date: Fri Jun 8 10:53:35 2012 -0400 - - Remove zero-width chars in the fallback shaper too - - src/hb-fallback-shape.cc | 16 ++++++++++++---- - 1 file changed, 12 insertions(+), 4 deletions(-) - -commit 68b76121f83fc9b87dc84f03e8bef38d4332734d -Author: Behdad Esfahbod -Date: Fri Jun 8 10:43:49 2012 -0400 - - Fix regressions introduced by sed. Ouch! - - Introduced in 99c2695759a6af855d565f4994bbdf220570bb48. - Broken mark-mark and mark-ligature stuff. - - src/hb-ot-layout-gpos-table.hh | 6 +++--- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 0dd86f9f6849d82d60a99e66b6928795cfb2a3c7 -Author: Behdad Esfahbod -Date: Fri Jun 8 10:23:03 2012 -0400 - - Whitespace - - src/hb-uniscribe.cc | 144 - ++++++++++++++++++++++++++-------------------------- - 1 file changed, 72 insertions(+), 72 deletions(-) - -commit 8e7beba7c3b3dea3cb3b7e280c5aab4f13b92d31 -Author: Behdad Esfahbod -Date: Fri Jun 8 10:22:06 2012 -0400 - - Fix Uniscribe clusters with direction-overriden Arabic - - src/hb-uniscribe.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b069c3c31bfbbf160eb897c7474be9ea90ed4fc1 -Author: Behdad Esfahbod -Date: Fri Jun 8 10:10:29 2012 -0400 - - Really fix override-direction in Uniscribe - - src/hb-uniscribe.cc | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -commit fcd6f5326166e993b8f5222efbaffe916da98f0a -Author: Behdad Esfahbod -Date: Fri Jun 8 09:59:43 2012 -0400 - - Unbreak Uniscribe - - Oops. hb_tag_t and OPENTYPE_TAG have different endianness. Perhaps - something to add API for in hb-uniscribe.h - - src/hb-private.hh | 12 +++++++++++- - src/hb-uniscribe.cc | 8 ++++---- - 2 files changed, 15 insertions(+), 5 deletions(-) - -commit 29eac8f591fdb86f1c4fdc0a6ab63910ff286b84 -Author: Behdad Esfahbod -Date: Fri Jun 8 09:26:17 2012 -0400 - - Override direction in Uniscribe backend - - Matches OT backend now. - - src/hb-uniscribe.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1c1233e57686d77d89fe3ac1dc53de9ee60798c1 -Author: Behdad Esfahbod -Date: Fri Jun 8 09:20:53 2012 -0400 - - Make Uniscribe backend respect selected script - - src/hb-uniscribe.cc | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -commit 0bb0f5d41976ae27c5c7a51cbb82144b48315a4b -Author: Behdad Esfahbod -Date: Thu Jun 7 17:42:48 2012 -0400 - - Add note re _NullPool - - src/hb-open-type-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 2a3d911fe0ff5d6442659d3381d5b08c30ee2896 -Author: Behdad Esfahbod -Date: Thu Jun 7 17:31:46 2012 -0400 - - Fix alignment-requirement missmatch - - Detected by clang and lots of cmdline options. - - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 5 +++-- - src/hb-ot-layout-gsub-table.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 4 files changed, 7 insertions(+), 6 deletions(-) - -commit 6095de1635441af16340c7b2c5a6b4c531ec242f -Author: Behdad Esfahbod -Date: Thu Jun 7 15:48:18 2012 -0400 - - Fix clang warning with NO_MT path - - src/hb-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a18280a8ce9128fc9d75f8a367ae8ce0886a9599 -Author: Behdad Esfahbod -Date: Thu Jun 7 15:44:12 2012 -0400 - - Fix warnings produced by clang analyzer - - src/hb-icu.cc | 6 ++++-- - test/api/test-blob.c | 2 +- - test/api/test-buffer.c | 4 ++-- - util/helper-cairo.cc | 2 +- - 4 files changed, 8 insertions(+), 6 deletions(-) - -commit 7ec83051c05777c0e6e2eea6ef6c71effede9527 -Author: Behdad Esfahbod -Date: Thu Jun 7 13:32:57 2012 -0400 - - Fix warnings - - util/ansi-print.cc | 30 +++++++++++++----------------- - 1 file changed, 13 insertions(+), 17 deletions(-) - -commit 73cb02de2dd28b09d4aa76230132248215cfe83d -Author: Behdad Esfahbod -Date: Wed Jun 6 11:29:25 2012 -0400 - - Minor - - src/hb-private.hh | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -commit 79e2b4791fe95ede9a1e6b1c71ccc6e36c4fc0e5 -Author: Behdad Esfahbod -Date: Wed Jun 6 11:27:17 2012 -0400 - - Fix ASSERT_POD on clang - - As reported by bashi. Not tested. - - src/hb-private.hh | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 4282d2f3771d6510c27b62e54cc1254d6f2389b3 -Author: Behdad Esfahbod -Date: Wed Jun 6 03:42:36 2012 -0400 - - Enabled ICU again - - configure.ac | 1 - - 1 file changed, 1 deletion(-) - -commit 6220e5fc0dad728e67a92e838d3ac275d032f2c7 -Author: Behdad Esfahbod -Date: Wed Jun 6 03:30:09 2012 -0400 - - Add ASSERT_POD for most objects - - src/hb-blob.cc | 1 + - src/hb-buffer-private.hh | 2 ++ - src/hb-font-private.hh | 3 +++ - src/hb-object-private.hh | 2 ++ - src/hb-private.hh | 2 +- - src/hb-set-private.hh | 4 +++- - src/hb-unicode-private.hh | 1 + - 7 files changed, 13 insertions(+), 2 deletions(-) - -commit a00a63b5ef503fafa87e26b517732b2214e01719 -Author: Behdad Esfahbod -Date: Wed Jun 6 03:07:01 2012 -0400 - - Add macros to check that types are POD - - configure.ac | 1 + - src/hb-open-type-private.hh | 32 ++++++++++++++++++++------------ - src/hb-private.hh | 24 ++++++++++++++++++++++++ - 3 files changed, 45 insertions(+), 12 deletions(-) - -commit 61eb60c129e865e92f6a5767a88c44a391f4d413 -Author: Behdad Esfahbod -Date: Tue Jun 5 21:14:04 2012 -0400 - - Don't link to libstdc++ - - New try. - - src/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 81a4b9fd4eb8995c5930db1df3669db93661eb52 -Author: Behdad Esfahbod -Date: Tue Jun 5 20:49:51 2012 -0400 - - Remove unused hb_static_mutex_t - - src/hb-mutex-private.hh | 11 ----------- - 1 file changed, 11 deletions(-) - -commit 4a3a9897b3698dd09c3e880b3ddd4db24c6fb460 -Author: Behdad Esfahbod -Date: Tue Jun 5 20:39:07 2012 -0400 - - Disable Intel atomic ops on mingw32 - - Apparently the configure test is not enough... - - src/hb-atomic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0594a2448440208efa0acac9a5d8d52d43108289 -Author: Behdad Esfahbod -Date: Tue Jun 5 20:35:40 2012 -0400 - - Cleanup TRUE/FALSE vs true/false - - src/hb-atomic-private.hh | 4 +-- - src/hb-blob.cc | 28 +++++++++--------- - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 38 ++++++++++++------------- - src/hb-buffer.h | 4 +-- - src/hb-fallback-shape.cc | 2 +- - src/hb-font.cc | 22 +++++++-------- - src/hb-ft.cc | 22 +++++++-------- - src/hb-glib.cc | 16 +++++------ - src/hb-graphite2.cc | 8 +++--- - src/hb-icu.cc | 30 ++++++++++---------- - src/hb-ot-layout.cc | 28 +++++++++--------- - src/hb-ot-shape-complex-private.hh | 2 +- - src/hb-ot-shape-normalize.cc | 16 +++++------ - src/hb-ot-shape.cc | 4 +-- - src/hb-private.hh | 18 ++++-------- - src/hb-set.cc | 2 +- - src/hb-set.h | 2 +- - src/hb-shape.cc | 6 ++-- - src/hb-tt-font.cc | 12 ++++---- - src/hb-unicode.cc | 8 +++--- - src/hb-uniscribe.cc | 18 ++++++------ - src/main.cc | 2 +- - util/hb-shape.cc | 2 +- - util/helper-cairo.cc | 16 +++++------ - util/main-font-text.hh | 2 +- - util/options.cc | 58 - +++++++++++++++++++------------------- - util/options.hh | 2 +- - util/view-cairo.hh | 2 +- - 29 files changed, 185 insertions(+), 191 deletions(-) - -commit e1ac38f8dd04c29d2d4140f5a492cdaf25d72901 -Author: Behdad Esfahbod -Date: Tue Jun 5 20:31:49 2012 -0400 - - Fix inert buffer set_length() with zero - - Oops! - - src/hb-buffer.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 04bc1eebe7a304c0e6f86ab6814c65889f152602 -Author: Behdad Esfahbod -Date: Tue Jun 5 20:16:56 2012 -0400 - - Add configure tests for Intel atomic intrinsics - - configure.ac | 17 +++++++++++++++++ - src/hb-atomic-private.hh | 12 ++++++------ - src/hb-mutex-private.hh | 2 +- - 3 files changed, 24 insertions(+), 7 deletions(-) - -commit 68c75b46977beb57e35082db26be712b3cd65678 -Author: Behdad Esfahbod -Date: Tue Jun 5 19:55:46 2012 -0400 - - Shuffle - - configure.ac | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit f64b2ebf82c5f355cd95806478cd30c00b1a2731 -Author: Behdad Esfahbod -Date: Tue Jun 5 19:23:29 2012 -0400 - - Remove last static initializer - - We're free! Lazy or immediate... - - src/hb-ft.cc | 2 + - src/hb-shape.cc | 150 - ++++++++++++++++++++++++++++++++++++++++---------------- - 2 files changed, 110 insertions(+), 42 deletions(-) - -commit 4a8a529068fc380298bb05b9d878bede3e9f4da1 -Author: Behdad Esfahbod -Date: Tue Jun 5 19:17:02 2012 -0400 - - Make hb-view err if all shapers failed - - util/view-cairo.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 04aed572f112b96a6033cd6c3df7bdba5e29e93c -Author: Behdad Esfahbod -Date: Tue Jun 5 18:30:19 2012 -0400 - - Make hb-ft static-initializer free - - src/hb-common.cc | 5 ++--- - src/hb-ft.cc | 38 +++++++++++++++++++++++++++----------- - 2 files changed, 29 insertions(+), 14 deletions(-) - -commit be4560a3b5e8599cbe2b29a01a60c21c9e2b194f -Author: Behdad Esfahbod -Date: Tue Jun 5 18:14:03 2012 -0400 - - Undo default unicode-funcs to avoid static initializer again - - src/hb-buffer.cc | 2 +- - src/hb-glib.cc | 23 ++++++++++++----------- - src/hb-icu.cc | 24 +++++++++++++----------- - src/hb-unicode-private.hh | 10 +++++----- - src/hb-unicode.cc | 26 ++++++++++++++------------ - 5 files changed, 45 insertions(+), 40 deletions(-) - -commit 093171cceca63e48e735bbf05a2c11b1b7e95ef1 -Author: Behdad Esfahbod -Date: Tue Jun 5 18:00:45 2012 -0400 - - Implement lock-free hb_language_t - - Another static-initialization down. One more to go. - - src/hb-common.cc | 66 - +++++++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 54 insertions(+), 12 deletions(-) - -commit 6843ce01be0df501ef3149a2c1c54cdfb693195d -Author: Behdad Esfahbod -Date: Tue Jun 5 17:27:20 2012 -0400 - - Add atomic-pointer functions - - Gonig to use these for lock-free linked-lists, to be used for - hb_language_t among other things. - - src/hb-atomic-private.hh | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -commit cdafe3a7d8483ac586e2c16487e2a09164e0f65c -Author: Behdad Esfahbod -Date: Tue Jun 5 16:34:49 2012 -0400 - - Add gcc intrinsics implementations for atomic and mutex - - configure.ac | 4 ++-- - src/hb-atomic-private.hh | 11 +++++++++-- - src/hb-mutex-private.hh | 51 - +++++++++++++++++++++++++++++++++++++++++------- - src/hb-object-private.hh | 4 +++- - src/hb-warning.cc | 14 ++++++------- - 5 files changed, 65 insertions(+), 19 deletions(-) - -commit d970d2899b36a2fbd002b224b8bd37b0906fdd5f -Author: Behdad Esfahbod -Date: Tue Jun 5 16:06:28 2012 -0400 - - Add gcc implementation for atomic ops - - src/hb-atomic-private.hh | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit 0e253e97af71e2a7ead153589f61fd579a247502 -Author: Behdad Esfahbod -Date: Tue Jun 5 15:37:19 2012 -0400 - - Add a mutex to object header - - Removes one more static-initialization. A few more to go. - - src/hb-common.cc | 24 +++++++++--------------- - src/hb-mutex-private.hh | 19 +++++++------------ - src/hb-object-private.hh | 36 ++++++++++++++++++++++-------------- - src/hb-private.hh | 11 +++++------ - 4 files changed, 43 insertions(+), 47 deletions(-) - -commit a2b471df821b32625d127f83b2f90e6d6a967e7e -Author: Behdad Esfahbod -Date: Tue Jun 5 15:17:44 2012 -0400 - - Remove static initializers from indic - - src/hb-ot-shape-complex-indic.cc | 50 - +++++++++++++++++++++++++++++++--------- - 1 file changed, 39 insertions(+), 11 deletions(-) - -commit f06ab8a4262c759b4723614fd28f55ee77aa8466 -Author: Behdad Esfahbod -Date: Tue Jun 5 12:31:51 2012 -0400 - - Better hide nil objects and make them const - - src/hb-blob.cc | 34 +++++++++++------------ - src/hb-buffer.cc | 39 +++++++++++++------------- - src/hb-font.cc | 70 - +++++++++++++++++++++++------------------------ - src/hb-ft.cc | 49 +++++++++++++++------------------ - src/hb-glib.cc | 25 ++++++++--------- - src/hb-icu.cc | 25 ++++++++--------- - src/hb-set.cc | 16 +++++------ - src/hb-unicode-private.hh | 11 ++++---- - src/hb-unicode.cc | 34 +++++++++++------------ - 9 files changed, 146 insertions(+), 157 deletions(-) - -commit bf93b636c4963cbc32d5fba7ace1053db6719192 -Author: Behdad Esfahbod -Date: Tue Jun 5 14:17:32 2012 -0400 - - Remove constructor from hb_prealloced_array_t - - This was causing all object types to be non-POD and have static - initializers. We don't need that! - - Now, most nil objects just moved from .bss to .data. Fixing for that - coming soon. - - src/hb-object-private.hh | 3 +++ - src/hb-private.hh | 4 +++- - src/hb-set-private.hh | 1 + - 3 files changed, 7 insertions(+), 1 deletion(-) - -commit 7037291aacb858f8090fd7d9028c196cc1a21703 -Author: Behdad Esfahbod -Date: Tue Jun 5 13:30:11 2012 -0400 - - Check for atexit() - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f1971a217424bd6db5c7072ba5cf197f318d4e47 -Author: Behdad Esfahbod -Date: Tue Jun 5 13:04:20 2012 -0400 - - Fix warnings - - src/indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b0a6e58bb3dda72dcce37d54d987591630a3db6c -Author: Behdad Esfahbod -Date: Mon Jun 4 10:21:22 2012 -0400 - - s/script-punjabi/script-gurmukhi/ - - test/shaping/texts/in-tree/shaper-indic/indic/MANIFEST | - 2 +- - .../shaper-indic/indic/{script-punjabi => script-gurmukhi}/MANIFEST - | 0 - .../indic/{script-punjabi => script-gurmukhi}/misc/MANIFEST | - 0 - .../indic/{script-punjabi => script-gurmukhi}/misc/misc.txt | - 0 - .../indic/{script-punjabi => script-gurmukhi}/utrrs/LICENSE | - 0 - .../indic/{script-punjabi => script-gurmukhi}/utrrs/MANIFEST | - 0 - .../shaper-indic/indic/{script-punjabi => script-gurmukhi}/utrrs/README - | 0 - .../indic/{script-punjabi => script-gurmukhi}/utrrs/SOURCES | - 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | - 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | - 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-GurmukhiSpecific.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt - | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | - 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt - | 0 - .../indic/{script-punjabi => script-gurmukhi}/utrrs/codepoint/MANIFEST - | 0 - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | - 0 - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | - 0 - .../indic/{script-punjabi => script-gurmukhi}/utrrs/gpos/MANIFEST - | 0 - .../utrrs/gsub/IndicFontFeatureGSUB.txt | - 0 - .../indic/{script-punjabi => script-gurmukhi}/utrrs/gsub/MANIFEST - | 0 - 21 files changed, 1 insertion(+), 1 deletion(-) - -commit c1885483120d4b686b2fe95b217dce7248e040b1 -Author: Behdad Esfahbod -Date: Mon Jun 4 08:56:00 2012 -0400 - - Add --verbose to hb-shape - - Just turns all --show-* options on. - - util/options.cc | 11 +++++++++++ - util/options.hh | 1 - - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit 9fc7a11469113d31d8095757c4fc038c3427d44a -Author: Behdad Esfahbod -Date: Mon Jun 4 08:28:19 2012 -0400 - - Remove comma at the end of enum - - As reported by Jonathan Kew on the list. - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3b8fd9c48f4bde368bf2d465c148b9743a9216ee -Author: Behdad Esfahbod -Date: Sun Jun 3 15:54:19 2012 -0400 - - Remove const from ref_count.ref_count - - According to Tom Hacohen this was breaking build with some compilers. - - In file included from hb-buffer-private.hh:35:0, - from hb-ot-map-private.hh:32, - from hb-ot-shape-private.hh:32, - from hb-ot-shape.cc:29: - hb-object-private.hh: In constructor - '_hb_object_header_t::_hb_object_header_t()': - hb-object-private.hh:97:8: error: uninitialized const member in - 'struct hb_reference_count_t' - hb-object-private.hh:51:25: note: 'hb_reference_count_t::ref_count' - should be initialized - In file included from hb-ot-shape.cc:33:0: - hb-set-private.hh: In constructor '_hb_set_t::_hb_set_t()': - hb-set-private.hh:37:8: note: synthesized method - '_hb_object_header_t::_hb_object_header_t()' first required here - hb-ot-shape.cc: In function 'void - hb_ot_shape_glyphs_closure(hb_font_t*, hb_buffer_t*, const - hb_feature_t*, unsigned int, hb_set_t*)': - hb-ot-shape.cc:521:12: note: synthesized method - '_hb_set_t::_hb_set_t()' first required here - - src/hb-object-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 70600dbf626808a30fb0fd8b7ae860e64d9ffe87 -Author: Behdad Esfahbod -Date: Sun Jun 3 15:52:51 2012 -0400 - - Minor - - src/hb-object-private.hh | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit ae62166519291057316a9d15cea3f1570fcb5eaf -Author: Behdad Esfahbod -Date: Sat Jun 2 12:21:19 2012 -0400 - - [util] Minor - - util/options.cc | 4 +--- - util/options.hh | 26 ++++++++++++++------------ - util/shape-consumer.hh | 4 +++- - 3 files changed, 18 insertions(+), 16 deletions(-) - -commit 5db0683a822f70c914468430cda6487cee740ae3 -Author: Behdad Esfahbod -Date: Sat Jun 2 12:13:08 2012 -0400 - - [util] Make hb-shape continue shaping other lines if shapers failed - - util/hb-ot-shape-closure.cc | 3 +++ - util/hb-shape.cc | 36 +++++++++++++++++++++++++------ - util/main-font-text.hh | 2 +- - util/options.cc | 34 ++++++++++++++++++++++------- - util/options.hh | 33 ++++++++++++++-------------- - util/shape-consumer.hh | 17 ++++++++++++--- - util/view-cairo.cc | 47 +++++++--------------------------------- - util/view-cairo.hh | 52 - +++++++++++++++++++++++++++++++++++++++------ - 8 files changed, 143 insertions(+), 81 deletions(-) - -commit 96a9ef0c9fca8d58d8dc6baf6b262d96587abee0 -Author: Behdad Esfahbod -Date: Fri Jun 1 13:46:26 2012 -0400 - - Remove tab character like other "zero-width" characters - - Uniscribe does that, this make comparing results to Uniscribe - easier. - - src/hb-unicode-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit cd6a5493411fea30a04466128e1a37b4d89c6a72 -Author: Behdad Esfahbod -Date: Fri Jun 1 13:45:25 2012 -0400 - - Remove unused variable - - util/hb-ot-shape-closure.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 0558d55bac7fb9279aac859b465e7c0e3ad97492 -Author: Behdad Esfahbod -Date: Mon May 28 10:46:47 2012 -0400 - - Remove hb_atomic_int_set/get() - - We never use them in fact... - - I'm just adjusting these as I better understand the requirements of - the code and the guarantees of each operation. - - src/hb-atomic-private.hh | 8 -------- - src/hb-object-private.hh | 12 +++++------- - 2 files changed, 5 insertions(+), 15 deletions(-) - -commit 4efdffec095e19ceeb4b319d60201e84ece30fd9 -Author: Behdad Esfahbod -Date: Sun May 27 22:39:48 2012 -0400 - - Minor Malayalam test case - - From https://bugs.freedesktop.org/show_bug.cgi?id=45166 - - .../texts/in-tree/shaper-indic/indic/script-malayalam/misc/misc.txt - | 1 + - 1 file changed, 1 insertion(+) - -commit dfff5b3021016d3a472c100272fd8e2f52307860 -Author: Behdad Esfahbod -Date: Sun May 27 22:07:04 2012 -0400 - - Add Myanmar test case - - test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST - | 1 + - .../texts/in-tree/shaper-indic/south-east-asian/script-myanmar/MANIFEST - | 1 + - .../in-tree/shaper-indic/south-east-asian/script-myanmar/misc/MANIFEST - | 1 + - .../in-tree/shaper-indic/south-east-asian/script-myanmar/misc/misc.txt - | 1 + - 4 files changed, 4 insertions(+) - -commit bce095524b3e69a47f8e88a2fb02d6ab537f9b0a -Author: Behdad Esfahbod -Date: Sun May 27 11:29:21 2012 -0400 - - Add hb_font_get_glyph_name() and hb_font_get_glyph_from_name() - - TODO | 1 + - src/hb-font-private.hh | 2 ++ - src/hb-font.cc | 80 - +++++++++++++++++++++++++++++++++++---------- - src/hb-font.h | 28 ++++++++++++++++ - src/hb-ft.cc | 52 ++++++++++++++++++++++++----- - util/hb-ot-shape-closure.cc | 9 ++--- - util/options.cc | 10 ++---- - 7 files changed, 142 insertions(+), 40 deletions(-) - -commit bc145658bdaeaeea0cdbd719e2756f09a2dbfb48 -Author: Behdad Esfahbod -Date: Sun May 27 10:45:57 2012 -0400 - - Warn if no Unicode functions implementation is found - - src/hb-unicode-private.hh | 1 + - src/hb-warning.cc | 13 +++++++++++++ - 2 files changed, 14 insertions(+) - -commit a3547330fa88e30a138f6f17e60d9c7d1e316622 -Author: Behdad Esfahbod -Date: Sun May 27 10:20:47 2012 -0400 - - Cleanup atomic ops on OS X - - src/hb-atomic-private.hh | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit e4b6d503c5575ddbf49249e3fef693d75ae75170 -Author: Behdad Esfahbod -Date: Sun May 27 10:11:13 2012 -0400 - - Don't use atomic ops in hb_cache_t - - We don't care about linearizability, so unprotected int read/write - are enough, no need for expensive memory barriers. It's a cache, - that's all. - - src/hb-cache-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 819faa05307aa192015f4b43d8103a35e87d6cc7 -Author: Behdad Esfahbod -Date: Sun May 27 10:09:18 2012 -0400 - - Minor - - src/hb-atomic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 303d5850ec0516e198db241456b0cfc4899ef9c0 -Author: Behdad Esfahbod -Date: Sun May 27 10:01:13 2012 -0400 - - Fix Windows atomic get/set - - According to: - http://msdn.microsoft.com/en-us/library/65tt87y8.aspx - - MemoryBarrier() is the right macro to protect these, not - _ReadBarrier() - and/or _WriteBarrier(). - - src/hb-atomic-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 8f8956a55fff95e5ad529d2f124c9528d1f4f81d -Author: Behdad Esfahbod -Date: Fri May 25 14:30:24 2012 -0400 - - [util] Add hidden --shaper that is equivalent of --shapers - - util/helper-cairo.cc | 2 +- - util/options.cc | 6 +++++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -commit 29ce446d3161b7ea5874352e5f8eb33cd59338c3 -Author: Behdad Esfahbod -Date: Fri May 25 14:17:54 2012 -0400 - - Add set iterator - - src/hb-set-private.hh | 26 +++++++++++++++++++++++--- - src/hb-set.cc | 7 +++++++ - src/hb-set.h | 11 +++++++++-- - util/hb-ot-shape-closure.cc | 8 +++++--- - 4 files changed, 44 insertions(+), 8 deletions(-) - -commit 62c3e111fce0ad34960871134c2eb6da572df303 -Author: Behdad Esfahbod -Date: Fri May 25 13:48:00 2012 -0400 - - Add set symmetric difference - - src/hb-set-private.hh | 5 +++++ - src/hb-set.cc | 7 +++++++ - src/hb-set.h | 6 ++++++ - 3 files changed, 18 insertions(+) - -commit 27aba594c90b4444c35273a38f5fedc8e09d9a88 -Author: Behdad Esfahbod -Date: Thu May 24 15:00:01 2012 -0400 - - Minor - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - src/hb-ot-shape-complex-indic.cc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit cde1c0114ba66a45d907e81a49bf625e0dc946b0 -Author: Behdad Esfahbod -Date: Thu May 24 10:46:39 2012 -0400 - - Fix hb_atomic_int_set() implementation for HB_NO_MT - - As pointed out by Jonathan Kew. - - src/hb-atomic-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3b9b7133bea787f787170beea073f185e36d2327 -Author: Behdad Esfahbod -Date: Wed May 23 22:00:25 2012 -0400 - - Update TODO - - TODO | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) - -commit ff3524c21aabf5d0d6014d1ce1b3e12ca5f0990f -Author: Behdad Esfahbod -Date: Wed May 23 21:50:43 2012 -0400 - - Add Arabic diacritics tests - - .../shaper-arabic/script-arabic/misc/MANIFEST | 2 +- - .../script-arabic/misc/diacritics/MANIFEST | 5 + - .../script-arabic/misc/diacritics/lam-alef.txt | 28 + - .../misc/diacritics/language-arabic.txt | 695 - +++++++++++++++++++++ - .../misc/diacritics/language-persian.txt | 48 ++ - .../misc/diacritics/language-urdu.txt | 188 ++++++ - .../misc/{ => diacritics}/ligature-diacritics.txt | 0 - 7 files changed, 965 insertions(+), 1 deletion(-) - -commit ed2f1363a391add41f10cff18792003583a10257 -Author: Behdad Esfahbod -Date: Tue May 22 22:12:22 2012 -0400 - - Fix substitution glyph class propagation - - The old code was doing nothing. - - Still got to find an example font+string that makes this matter, but - need this for fixing synthetic GDEF anyway. - - src/hb-ot-layout-gsub-table.hh | 10 ++++------ - src/hb-ot-layout-gsubgpos-private.hh | 23 ++++++----------------- - 2 files changed, 10 insertions(+), 23 deletions(-) - -commit a6de53664df9549a5dc93752647ea1d3bb336f7b -Author: Behdad Esfahbod -Date: Fri May 18 15:04:35 2012 -0400 - - Add CJK Compatibility Ideographs tests - - From: - http://people.mozilla.org/~jdaggett/tests/cjkcompat.html - - test/shaping/texts/in-tree/shaper-default/MANIFEST | - 3 ++- - .../in-tree/shaper-default/{script-japanese => script-han}/MANIFEST - | 0 - test/shaping/texts/in-tree/shaper-default/script-han/misc/MANIFEST | - 1 + - .../texts/in-tree/shaper-default/script-han/misc/cjk-compat.txt | - 3 +++ - test/shaping/texts/in-tree/shaper-default/script-hiragana/MANIFEST | - 1 + - .../shaper-default/{script-japanese => script-hiragana}/misc/MANIFEST - | 0 - .../{script-japanese => script-hiragana}/misc/kazuraki-liga-lines.txt - | 0 - .../{script-japanese => script-hiragana}/misc/kazuraki-liga.txt - | 0 - 8 files changed, 7 insertions(+), 1 deletion(-) - -commit 20fdb0f41d81b226e076a4830d4b0d03da31fc19 -Author: Behdad Esfahbod -Date: Thu May 17 22:04:45 2012 -0400 - - Add a lock-free cache type for int->int functions - - To be used for cmap and advance caching if desired. - - TODO | 2 ++ - src/Makefile.am | 1 + - src/hb-cache-private.hh | 72 - +++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-font.cc | 2 ++ - 4 files changed, 77 insertions(+) - -commit bd908b4f102b5ae18a3ad4a8b137994cf74b86ce -Author: Behdad Esfahbod -Date: Thu May 17 22:02:08 2012 -0400 - - Implement hb_atomic_int_set() for OS X - - src/hb-atomic-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 022a05ae90f30bcddff413022e0cd801809b5390 -Author: Behdad Esfahbod -Date: Thu May 17 21:53:24 2012 -0400 - - Minor - - src/hb-atomic-private.hh | 4 +++- - src/hb-mutex-private.hh | 4 +++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -commit 22afd66a30d01b6771405e76777306f600807bea -Author: Behdad Esfahbod -Date: Thu May 17 21:23:49 2012 -0400 - - Add hb_atomic_int_set() again - - src/hb-atomic-private.hh | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 4aa7258cb16176a89e1547fee8f86571fdd98307 -Author: Behdad Esfahbod -Date: Thu May 17 21:01:04 2012 -0400 - - Fix type conflicts on Windows without glib - - src/hb-tt-font.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit f039e79d5438a8fc4a3ec11a387bbfc0f6b83024 -Author: Behdad Esfahbod -Date: Thu May 17 20:55:12 2012 -0400 - - Don't use min/max as function names - - They can be macros on some systems. Eg. mingw32. - - src/hb-set-private.hh | 4 ++-- - src/hb-set.cc | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 34961e3198e27fa37fd4cfdad12ef86a2e9e51c2 -Author: Behdad Esfahbod -Date: Thu May 17 20:50:38 2012 -0400 - - Prefer native atomic/mutex ops to glib's - - src/hb-atomic-private.hh | 29 ++++++++++++++++------------- - src/hb-mutex-private.hh | 24 ++++++++++++++---------- - 2 files changed, 30 insertions(+), 23 deletions(-) - -commit ec3ba4b96fc4f262db1ff9f906628c32f26c9b7d -Author: Behdad Esfahbod -Date: Thu May 17 20:30:46 2012 -0400 - - Move atomic ops into their own header - - src/Makefile.am | 1 + - src/hb-atomic-private.hh | 78 - ++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-mutex-private.hh | 1 - - src/hb-object-private.hh | 52 ++------------------------------ - src/hb-warning.cc | 2 +- - 5 files changed, 82 insertions(+), 52 deletions(-) - -commit de0878395be5c72d7058faac8f64715bdd42eb3b -Author: Behdad Esfahbod -Date: Thu May 17 20:15:49 2012 -0400 - - Update TODO - - TODO | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit c87b317f0eb118e67134e8e419a6d65e0fa40d30 -Author: Behdad Esfahbod -Date: Tue May 15 23:53:18 2012 -0400 - - [util] Add hb-ot-shape-closure tool - - Computes all the glyphs that may be generated given a font and - set of Unicode characters. - - The order of the Unicode characters is irrelevant. - - Sample output: - - behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf f - f f_f - - behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf i - i - - behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf fi - f f_i f_f_i f_f i - - behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf ب - uni0628 uni0628.init uni0628.medi uni0628.fina - - behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf ا - uni0627 uni0627.fina - - behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با - uni0627 uni0627.fina uni0628 uni0628.init uni0628.medi uni0628.fina - - behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با - --no-glyph-names - 5 6 133 134 135 136 - - configure.ac | 2 +- - util/Makefile.am | 22 ++++++--- - util/hb-ot-shape-closure.cc | 112 - ++++++++++++++++++++++++++++++++++++++++++++ - util/options.hh | 12 +++++ - 4 files changed, 140 insertions(+), 8 deletions(-) - -commit 45675e589e6ef9f81b2a4199cf33e3e7778433a8 -Author: Behdad Esfahbod -Date: Tue May 15 23:10:39 2012 -0400 - - [util] Refactor to accommodate for upcoming new tool - - util/Makefile.am | 10 +++-- - util/hb-shape.cc | 70 - +++++++++++++++------------------- - util/hb-view.cc | 8 ++-- - util/{hb-view.hh => main-font-text.hh} | 48 +++++++++++------------ - util/shape-consumer.hh | 69 - +++++++++++++++++++++++++++++++++ - 5 files changed, 135 insertions(+), 70 deletions(-) - -commit 1d6846db9ebf84561bb30a4e48c6c43184914099 -Author: Behdad Esfahbod -Date: Sun May 13 18:09:29 2012 +0200 - - [Indic] Apply vatu feature after cjct - - Testing with old Deva spec this reduces failures. - Test sequence: U+0915,U+094D,U+0930. - - src/hb-ot-shape-complex-indic.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 8caf5dcd66550351c6038b9ae7ecc5254eed64ff -Author: Behdad Esfahbod -Date: Sun May 13 17:10:18 2012 +0200 - - Minor - - util/ansi-print.cc | 67 - +++++++++++++++++++++++++++--------------------------- - 1 file changed, 33 insertions(+), 34 deletions(-) - -commit 617f4ac46f1084859d2034c08760e31e52d3bec3 -Author: Behdad Esfahbod -Date: Sun May 13 16:48:03 2012 +0200 - - Refactor - - src/hb-ot-shape-complex-indic.cc | 44 - +++++++++++++++++++++------------------- - 1 file changed, 23 insertions(+), 21 deletions(-) - -commit 5e4e21fce4b548b0b8a5951bc8f35a9f27428192 -Author: Behdad Esfahbod -Date: Sun May 13 16:46:08 2012 +0200 - - Revert "[Indic] Refactoring" - - This reverts commit 0831061efb78983b9c6e1e72574c977e56383c08. - - src/hb-ot-shape-complex-indic.cc | 28 ++++++++-------------------- - 1 file changed, 8 insertions(+), 20 deletions(-) - -commit 3f18236a03880c0960f5990dc90685f6146951a6 -Author: Behdad Esfahbod -Date: Sun May 13 16:20:10 2012 +0200 - - Fix more warnings - - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 8 ++++---- - 3 files changed, 6 insertions(+), 6 deletions(-) - -commit 9f377ed3210fe7d9f15e0c4f82020556f9a8f6f0 -Author: Behdad Esfahbod -Date: Sun May 13 16:13:44 2012 +0200 - - Fix more unused-var warnings - - src/hb-ot-shape-complex-arabic.cc | 7 +++++-- - src/hb-ot-shape-complex-indic.cc | 25 ++++++++++++++++++------- - src/hb-ot-shape-complex-misc.cc | 21 +++++++++++++++------ - src/hb-ot-shape-normalize.cc | 13 ++++++------- - src/hb-set.cc | 2 +- - 5 files changed, 45 insertions(+), 23 deletions(-) - -commit d993e72331c6c4c783b803e01e4d4a02c8e3eb77 -Author: Behdad Esfahbod -Date: Sun May 13 16:04:36 2012 +0200 - - Fix hb_face_set_index() - - src/hb-font.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 93345edcbea49bdf0e22f26b5b74a23e601dfab4 -Author: Behdad Esfahbod -Date: Sun May 13 16:01:08 2012 +0200 - - Fix warnings - - src/hb-fallback-shape.cc | 4 ++-- - src/hb-private.hh | 54 - ++++++++++++++++++++++++------------------------ - 2 files changed, 29 insertions(+), 29 deletions(-) - -commit eace47b173807d94b29a6490d0bc3c9f8f6168d1 -Author: Behdad Esfahbod -Date: Sun May 13 15:54:43 2012 +0200 - - Minor - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 99c2695759a6af855d565f4994bbdf220570bb48 -Author: Behdad Esfahbod -Date: Sun May 13 15:45:18 2012 +0200 - - Add accessort to buffer for current info, current pos, and prev info - - src/hb-buffer-private.hh | 9 ++++++++ - src/hb-ot-layout-gpos-table.hh | 44 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-table.hh | 28 +++++++++++------------ - src/hb-ot-layout-gsubgpos-private.hh | 28 +++++++++++------------ - src/hb-ot-shape-complex-arabic.cc | 4 ++-- - src/hb-ot-shape-complex-misc.cc | 5 ++-- - src/hb-ot-shape-normalize.cc | 16 ++++++------- - src/hb-ot-shape.cc | 8 +++---- - 8 files changed, 76 insertions(+), 66 deletions(-) - -commit 6736f3c5b09af6a71935afc04248b033e171a9b2 -Author: Behdad Esfahbod -Date: Sun May 13 15:21:06 2012 +0200 - - Minor - - src/hb-ot-layout-gsubgpos-private.hh | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit 5df809b655bb1318115651fd87d4555cdd9b41cb -Author: Behdad Esfahbod -Date: Sun May 13 15:17:51 2012 +0200 - - [GSUB/GPOS] Remove context_length - - The spec doesn't say contextual matching should be done this way, - and AOTS doesn't do it either. It was inherited from old HarfBuzz. - Remove it. - - src/hb-ot-layout-common-private.hh | 1 - - src/hb-ot-layout-gpos-table.hh | 3 --- - src/hb-ot-layout-gsub-table.hh | 6 ++---- - src/hb-ot-layout-gsubgpos-private.hh | 32 - +++++++++++--------------------- - 4 files changed, 13 insertions(+), 29 deletions(-) - -commit 28b9d502bb69a8045818d5f6113ded9c59a56bd7 -Author: Behdad Esfahbod -Date: Sun May 13 15:04:00 2012 +0200 - - Minor - - src/hb-ot-layout-gsubgpos-private.hh | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -commit 50f630c17ced1bd59b4da4f27728dcfbb876400a -Author: Behdad Esfahbod -Date: Sun May 13 13:03:44 2012 +0200 - - Remove ioctl checks - - Ended up not using terminal size after all. - - configure.ac | 2 +- - util/ansi-print.cc | 11 ----------- - 2 files changed, 1 insertion(+), 12 deletions(-) - -commit db0de7cd616e1e9d6fde6659e52a541477fb0148 -Author: Behdad Esfahbod -Date: Sun May 13 13:02:38 2012 +0200 - - [util] Set ansi color only on color change - - util/ansi-print.cc | 28 +++++++++++++++++++++++----- - 1 file changed, 23 insertions(+), 5 deletions(-) - -commit 912c5ff80a255edb8145b9db69e2ed828f8eab5c -Author: Behdad Esfahbod -Date: Sun May 13 12:51:02 2012 +0200 - - Reduce default margin - - util/options.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 52e7b1424a3613122e9ca30879298df42733acda -Author: Behdad Esfahbod -Date: Sun May 13 02:02:58 2012 +0200 - - [util] Make hb-view print out Unicode art if stdout is a terminal - - configure.ac | 4 +- - util/Makefile.am | 4 + - util/ansi-print.cc | 411 - ++++++++++++++++++++++++++++++++++++++++++++++ - util/ansi-print.hh | 39 +++++ - util/helper-cairo-ansi.cc | 102 ++++++++++++ - util/helper-cairo-ansi.hh | 39 +++++ - util/helper-cairo.cc | 70 +++++++- - util/options.hh | 3 + - 8 files changed, 668 insertions(+), 4 deletions(-) - -commit 8b2753ce2bea8a21ea757186d86dc4a55d8c8b0c -Author: Behdad Esfahbod -Date: Sun May 13 00:54:07 2012 +0200 - - Minor - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 30874b4819a99cc84fa39e794266685e1b8735d2 -Author: Behdad Esfahbod -Date: Sat May 12 15:54:27 2012 +0200 - - [util] Make tools default to stdin if no text is provided - - One less argument to type in typical testing workflow! - - util/hb-view.hh | 4 +++- - util/options.cc | 12 +++++------- - util/options.hh | 2 +- - 3 files changed, 9 insertions(+), 9 deletions(-) - -commit 2097951110e33fe091ed9515ae77e2683c46c889 -Author: Behdad Esfahbod -Date: Sat May 12 15:41:48 2012 +0200 - - [util] Change default font size of hb-view to 256 - - Most common usecase of hb-view is to test rendering of short words for - testing / inspection. Not having to type "--font-size 150" each time - isn't such a bad idea... - - util/options.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 737dded2e08fcc19935db51c05201a987184d337 -Author: Behdad Esfahbod -Date: Sat May 12 15:40:11 2012 +0200 - - Fix compiler warnings - - src/hb-ot-shape-complex-indic.cc | 5 ----- - 1 file changed, 5 deletions(-) - -commit f538fcb538f1decb4100ba89457eb83f2350d64b -Author: Behdad Esfahbod -Date: Sat May 12 15:34:40 2012 +0200 - - [test] Make tool usage easier by not requiring "--stdin" - - Just default to it. Added "--help" instead to get usage. - - test/shaping/hb_test_tools.py | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit a3273e30bb7ffd727ffc18af5716dfef705d3d94 -Author: Behdad Esfahbod -Date: Sat May 12 13:34:18 2012 +0200 - - [Indic] Add more Malayalam tests - - .../indic/script-malayalam/misc/misc.txt | 38 - ++++++++++++++++++++++ - 1 file changed, 38 insertions(+) - -commit 7f852b644b8143492a02edfc853114aaa23446bd -Author: Behdad Esfahbod -Date: Fri May 11 23:10:31 2012 +0200 - - Fix compiler warnings - - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape-complex-private.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit f7e8dcfd4fc377e3d786b097beb656284240456d -Author: Behdad Esfahbod -Date: Fri May 11 22:00:06 2012 +0200 - - [Indic] Unbreak Devanagari - - And this, concludes the HarfBuzz Massala Hackfest. - - I like to specially thank Jonathan Kew for doing all the decription - and - letting me get commit points. - - configure.ac | 2 +- - src/hb-ot-shape-complex-indic-private.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 6a091df9b403b147ef78f3974610dedf4ce1e08a -Author: Behdad Esfahbod -Date: Fri May 11 21:42:27 2012 +0200 - - [Indic] Disambiguate sub vs post vs above matras - - Bengali is at *just* above 5% now. - - src/hb-ot-shape-complex-indic-private.hh | 31 - +++++++++++++++---------------- - src/hb-ot-shape-complex-indic.cc | 12 ++++++------ - 2 files changed, 21 insertions(+), 22 deletions(-) - -commit 9d0d319a4a7e85d922e58fade0f40caae1c9f109 -Author: Behdad Esfahbod -Date: Fri May 11 21:36:32 2012 +0200 - - [Indic] Position Bengali Reph before matras - - src/hb-ot-shape-complex-indic.cc | 62 - +++++++++++++++++++++++----------------- - 1 file changed, 36 insertions(+), 26 deletions(-) - -commit f89367251109af235f4f0446c13c261a5a4a6f72 -Author: Behdad Esfahbod -Date: Fri May 11 21:10:03 2012 +0200 - - [Indic] Start categorizing Reph per script - - src/hb-ot-shape-complex-indic.cc | 41 - ++++++++++++++++++++++++++++++++++------ - 1 file changed, 35 insertions(+), 6 deletions(-) - -commit a913b024d84973556094fd64ce5f0b7106fcc3b5 -Author: Behdad Esfahbod -Date: Fri May 11 20:59:26 2012 +0200 - - [Indic] Apply 'init' feature for Bengali - - Error down from 20% to 7%. - - src/hb-ot-shape-complex-indic.cc | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit eed903b1644e087178438959664a6a57bebc398b -Author: Behdad Esfahbod -Date: Fri May 11 20:50:53 2012 +0200 - - [Indic] Refactor for the arrival of 'init' feature - - Yep, on Bengali now! - - src/hb-ot-shape-complex-indic.cc | 52 - +++++++++++++++++++++++++++------------- - 1 file changed, 36 insertions(+), 16 deletions(-) - -commit 18c06e189bd078affbb84c3bb5bb80687a227c5e -Author: Behdad Esfahbod -Date: Fri May 11 20:02:14 2012 +0200 - - [Indic] Add Uniscribe bug feature for dotted circle - - For dotted-circle independent clusters, Uniscribe does no Reph shaping - for the exact sequence Ra+Halant+25CC. Which also is the only - possible - sequence with 25CC at the end. - - src/hb-ot-shape-complex-indic-machine.rl | 4 +++- - src/hb-ot-shape-complex-indic-private.hh | 3 ++- - src/hb-ot-shape-complex-indic.cc | 20 ++++++++++++++++---- - 3 files changed, 21 insertions(+), 6 deletions(-) - -commit 5b16de97bcc4b24da4c77ca6c1a42e814d8cdbd1 -Author: Behdad Esfahbod -Date: Fri May 11 19:55:42 2012 +0200 - - [Indic] Add tests for dottedcircle - - .../in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST | 1 + - .../shaper-indic/indic/script-devanagari/misc/dottedcircle.txt | - 7 +++++++ - 2 files changed, 8 insertions(+) - -commit 0831061efb78983b9c6e1e72574c977e56383c08 -Author: Behdad Esfahbod -Date: Fri May 11 19:07:58 2012 +0200 - - [Indic] Refactoring - - src/hb-ot-shape-complex-indic.cc | 26 ++++++++++++++++++-------- - 1 file changed, 18 insertions(+), 8 deletions(-) - -commit 7ea58db311bfb0d8f804d1e9f4a1f004bd45075a -Author: Behdad Esfahbod -Date: Fri May 11 18:58:57 2012 +0200 - - Minor - - src/hb-ot-shape-complex-indic.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 9c09928989316e2befe00d52ed66e055637ccd36 -Author: Behdad Esfahbod -Date: Fri May 11 18:46:35 2012 +0200 - - [Indic] Allow multiple Consonants in Vowel/NBSP syllables - - Uniscribe allows multiple Halant+Consonant after a Vowel. - Tests: - ↦ * U+0905,U+094D,U+092B,U+094D,930,94d,930 - - src/hb-ot-shape-complex-indic-machine.rl | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 8c0aa486f31e9b6cbb31ce295573b53b0a214124 -Author: Behdad Esfahbod -Date: Fri May 11 18:13:42 2012 +0200 - - [Indic] Allow two Nuktas per consonant - - Uniscribe allows up to two nuktas per consonant and one per matra. It - does so - indepent of whether the consonant already has a nukta in it. Tests: - - * U+0916,U+093C,U+0941 - * U+0959,U+093C,U+0941 - * U+0916,U+093C,U+093C,U+0941 - * U+0959,U+093C,U+093C,U+0941 - * U+0916,U+093C,U+093C,U+093C,U+0941 - * U+0959,U+093C,U+093C,U+093C,U+0941 - * 915,93c,93c,,94d,U+0916,U+093C,U+093C,U+093e,93c,93c - - src/hb-ot-shape-complex-indic-machine.rl | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 3399a06e7033651ee926448737bdb18e553c1796 -Author: Behdad Esfahbod -Date: Fri May 11 17:54:26 2012 +0200 - - [Indic] Fix U+0952 and similar classification to match Uniscribe - - See comments. - - src/hb-ot-shape-complex-indic-machine.rl | 1 + - src/hb-ot-shape-complex-indic.cc | 16 +++++++++++----- - 2 files changed, 12 insertions(+), 5 deletions(-) - -commit 11aa3ef18dbc6ac9561bd119f5ca2c1aa1209c3a -Author: Behdad Esfahbod -Date: Fri May 11 17:30:48 2012 +0200 - - [Indic] Treat U+0951..U+0954 all similar to U+0952 - - src/hb-ot-shape-complex-indic.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 5f131d3226131df440d7f36655e57f6effcae204 -Author: Behdad Esfahbod -Date: Fri May 11 17:29:40 2012 +0200 - - [GSUB/GPOS/Indic] Apply GSUB/GPOS within syllables only - - This does not apply to the context matchings. - - This regresses tests right now. And we are not sure whether this is - the right thing to do for GPOS. But we'll figure out. - - src/hb-ot-layout-gsubgpos-private.hh | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -commit 8fd83aaf6e50c2c25002c51fee26d82847a61769 -Author: Behdad Esfahbod -Date: Fri May 11 17:18:37 2012 +0200 - - [GSUB/GPOS] Fix wrong buffer access in backward skippy mask matching - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ff24d1081af08a887895975285d7e38f5d07bc37 -Author: Behdad Esfahbod -Date: Fri May 11 17:07:08 2012 +0200 - - [Indic] Don't use syllable serial value 0 - - src/hb-ot-shape-complex-indic-machine.rl | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 892eb7878238d810a2a70f9dadbf958207bfeaa1 -Author: Behdad Esfahbod -Date: Fri May 11 16:54:40 2012 +0200 - - [Indic] Implement Uniscribe Reph+Matra+Halant bug feature - - src/hb-ot-shape-complex-indic.cc | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -commit 67ea29af49bb08ee679914076808327992cf6676 -Author: Behdad Esfahbod -Date: Fri May 11 16:51:23 2012 +0200 - - [Indic] Add example of different Uniscribe behavior - - src/hb-ot-shape-complex-indic.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit ebe29733d44fe0fa9fb30f946ab0dd7a40336a24 -Author: Behdad Esfahbod -Date: Fri May 11 16:43:12 2012 +0200 - - [Indic] Add runtime Uniscribe bug compatibility mode! - - Enable by setting envvar: - - HB_OT_INDIC_OPTIONS=uniscribe-bug-compatible - - Plus, LeftMatra+Halant "feature". - - src/hb-ot-shape-complex-indic.cc | 44 - ++++++++++++++++++++++++++++++---------- - 1 file changed, 33 insertions(+), 11 deletions(-) - -commit 616e692e2950d326b6c46aba5b5bead3cc29d315 -Author: Behdad Esfahbod -Date: Fri May 11 16:25:02 2012 +0200 - - [Indic] Add #define UNISCRIBE_BUG_COMPATIBLE 1 - - src/hb-ot-shape-complex-indic.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 6782bdae3be0357da1dadc7b806a43ceefa67a90 -Author: Behdad Esfahbod -Date: Fri May 11 16:23:43 2012 +0200 - - [Indic] Fix Left Matra + Halant reordering - - As can be seen in: U+092B,U+093F,U+094D - - src/hb-ot-shape-complex-indic.cc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 3c2ea9481b1028e927e615a5434ebf8edcb5f891 -Author: Behdad Esfahbod -Date: Fri May 11 16:23:38 2012 +0200 - - Minor - - src/hb-ot-shape-complex-indic.cc | 73 - ++++++++++++++++++++-------------------- - 1 file changed, 37 insertions(+), 36 deletions(-) - -commit c071b99f150a9344a2056dfeba8c613f8a5602db -Author: Behdad Esfahbod -Date: Fri May 11 16:22:46 2012 +0200 - - [Indic] Add test for Left Matra with Halant - - Uniscribe doesn't move the Halant, we do. And do a broken job of - it now. - - .../shaper-indic/indic/script-devanagari/misc/tricky-reordering.txt - | 1 + - 1 file changed, 1 insertion(+) - -commit 203d71069c45048b6dd8fa22b61fd8f2c844b4f6 -Author: Behdad Esfahbod -Date: Fri May 11 16:01:44 2012 +0200 - - [GSUB/GPOS] Check all glyph masks when matching input - - src/hb-ot-layout-gsubgpos-private.hh | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -commit 668c6046c1b3af3bd316bda0cc8636f2a5e8df42 -Author: Behdad Esfahbod -Date: Fri May 11 15:34:13 2012 +0200 - - [Indic] Apply Reph mask to all POS_REPH glyphs - - Needed for upcoming changes to GSUB/GPOS mask matching. - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4be46bade26faf13f7b4d447e9cc608e183955dc -Author: Behdad Esfahbod -Date: Fri May 11 14:39:01 2012 +0200 - - [Indic] Fix state machine to backtrack - - src/hb-ot-shape-complex-indic-machine.rl | 42 - +++++++++++++++----------------- - src/hb-private.hh | 2 ++ - 2 files changed, 21 insertions(+), 23 deletions(-) - -commit cee7187447b76b22e1bb6136d137b35ac49c3a5d -Author: Behdad Esfahbod -Date: Fri May 11 11:41:39 2012 +0200 - - [Indic] Move syllable tracking from Indic to generic layer - - This is to incorporate it into GSUB/GPOS processing. - - src/hb-ot-layout-gpos-table.hh | 1 + - src/hb-ot-layout-gsub-table.hh | 3 ++- - src/hb-ot-layout-gsubgpos-private.hh | 3 --- - src/hb-ot-layout-private.hh | 4 +--- - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - src/hb-ot-shape-complex-indic-private.hh | 1 - - src/hb-ot-shape-complex-indic.cc | 8 +++----- - src/hb-ot-shape-complex-private.hh | 13 ++++++++----- - 8 files changed, 16 insertions(+), 19 deletions(-) - -commit 3bf27a9f0e92aa31b464bd3b9fdea5933c9ae8b1 -Author: Behdad Esfahbod -Date: Fri May 11 11:17:23 2012 +0200 - - [Indic] Disable conjuncts when a ZWJ happens - - Not that the code makes any difference since the presence of ZWJ - itself - causes the ligature to fail to match anyway. - - src/hb-ot-shape-complex-indic.cc | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -commit c6d904d67db589dd6209928e56504f04f6a07756 -Author: Behdad Esfahbod -Date: Fri May 11 11:07:40 2012 +0200 - - [Indic] Fix bitops typo! - - Another 1000 down! - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 55fe2cf79b11d9a63ea33b3ee76bd0ebca345157 -Author: Behdad Esfahbod -Date: Fri May 11 03:45:28 2012 +0200 - - Make APPLY debug output print current index and codepoint - - Yay! - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7bd2b04fea5649d77d796d58b7f4918fe0378ee5 -Author: Behdad Esfahbod -Date: Fri May 11 03:40:58 2012 +0200 - - Minor - - src/hb-object-private.hh | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit cf26510dbbd8d38486e6ba423800db6427ade332 -Author: Behdad Esfahbod -Date: Fri May 11 03:35:08 2012 +0200 - - Some more... - - Done. I promise. - - src/hb-object-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 9659523ca32b0e254d0e5fe387d817208d9cb6bf -Author: Behdad Esfahbod -Date: Fri May 11 03:33:36 2012 +0200 - - More beauty in debug output! - - src/hb-private.hh | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit cf26e88a5ab477295479f5b9450c2019b6430eaa -Author: Behdad Esfahbod -Date: Fri May 11 03:16:57 2012 +0200 - - Finish off debug output beautification - - src/hb-open-type-private.hh | 58 - ++++++++++++++++++++------------------------- - 1 file changed, 26 insertions(+), 32 deletions(-) - -commit d7bba01a353efc7432c474dd8755a02db4abd2ae -Author: Behdad Esfahbod -Date: Fri May 11 02:46:26 2012 +0200 - - Only print class name in debug output if there's one available - - src/hb-private.hh | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit 85f73fa8da1fbb864aef0f3a592b1d65e24d593d -Author: Behdad Esfahbod -Date: Fri May 11 02:40:42 2012 +0200 - - Only printout class name in tracing, if one is available - - Makes debug output much more pleasant. - - src/hb-private.hh | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 98619ce4fa650c593b030d06d2f89fec83a10015 -Author: Behdad Esfahbod -Date: Fri May 11 02:34:06 2012 +0200 - - Minor - - src/hb-ot-layout-gsubgpos-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit acea183e986dd378c6f95120fe0feb0586a8ef36 -Author: Behdad Esfahbod -Date: Fri May 11 02:33:11 2012 +0200 - - Add return annotation for APPLY - - src/hb-ot-layout-gpos-table.hh | 163 - +++++++++++++++-------------------- - src/hb-ot-layout-gsub-table.hh | 114 +++++++++++------------- - src/hb-ot-layout-gsubgpos-private.hh | 83 ++++++++---------- - 3 files changed, 151 insertions(+), 209 deletions(-) - -commit 5ccfe8e2154ad0b58dabcc236bbe9478c17b02ab -Author: Behdad Esfahbod -Date: Fri May 11 02:19:41 2012 +0200 - - /Minor/ - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0ab8c8621712d33e1e91dfdb4ad0b335e3d2a3fb -Author: Behdad Esfahbod -Date: Fri May 11 01:25:34 2012 +0200 - - Annotate SANITIZE return values - - More to come, for APPLY, CLOSURE, etc. - - src/hb-open-file-private.hh | 23 ++--- - src/hb-open-type-private.hh | 49 +++++----- - src/hb-ot-head-table.hh | 4 +- - src/hb-ot-hhea-table.hh | 4 +- - src/hb-ot-hmtx-table.hh | 4 +- - src/hb-ot-layout-common-private.hh | 51 +++++----- - src/hb-ot-layout-gdef-table.hh | 48 +++++----- - src/hb-ot-layout-gpos-table.hh | 180 - ++++++++++++++++------------------- - src/hb-ot-layout-gsub-table.hh | 101 +++++++++----------- - src/hb-ot-layout-gsubgpos-private.hh | 88 ++++++++--------- - src/hb-ot-maxp-table.hh | 7 +- - src/hb-ot-name-table.hh | 17 ++-- - src/hb-private.hh | 39 ++++++-- - 13 files changed, 299 insertions(+), 316 deletions(-) - -commit 829e814ff358c5e700ba4df54932696801aa9f65 -Author: Behdad Esfahbod -Date: Fri May 11 00:52:16 2012 +0200 - - Minor - - src/hb-private.hh | 32 ++++++++++---------------------- - 1 file changed, 10 insertions(+), 22 deletions(-) - -commit 6eec6f406d2cc13dbca422e88492d3d498af02bf -Author: Behdad Esfahbod -Date: Fri May 11 00:50:38 2012 +0200 - - Code reshuffling - - src/hb-private.hh | 36 +++++++++++++++++++++++++----------- - 1 file changed, 25 insertions(+), 11 deletions(-) - -commit 1e08830b4fac3a60ae52349cab6e101d389d30cd -Author: Behdad Esfahbod -Date: Fri May 11 00:16:40 2012 +0200 - - Beautify debug output - - src/hb-open-type-private.hh | 20 ++++++------ - src/hb-private.hh | 74 - +++++++++++++++++++++++++++------------------ - 2 files changed, 55 insertions(+), 39 deletions(-) - -commit 6f4553801729a06e506ffdde7b27c72780d4bb80 -Author: Behdad Esfahbod -Date: Thu May 10 23:24:43 2012 +0200 - - More massaging trace messaging - - src/hb-open-type-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - src/hb-private.hh | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit b5fa37cb694b01a7df3a656710391c40dd3fcc04 -Author: Behdad Esfahbod -Date: Thu May 10 23:09:48 2012 +0200 - - Minor - - src/hb-set-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 208109703c929428c684ddcf9310b8ba780c4c31 -Author: Behdad Esfahbod -Date: Thu May 10 23:06:58 2012 +0200 - - Better trace message support infrastructure - - We have varargs in the trace interface now. To be used soon... - - src/hb-open-type-private.hh | 17 ++++------ - src/hb-ot-layout-gsubgpos-private.hh | 4 +-- - src/hb-private.hh | 64 - ++++++++++++++++++++++++++---------- - 3 files changed, 56 insertions(+), 29 deletions(-) - -commit 02b2922fbf098c8282eb23dc2c54d5829cf67024 -Author: Behdad Esfahbod -Date: Thu May 10 21:44:50 2012 +0200 - - [Indic] Towards better Reph positioning - - Fixed for Deva cases with two full-form consonants. Failures **way** - down. - Not much left to go :-). - - src/hb-ot-shape-complex-indic.cc | 111 - ++++++++++++++++++++++++++++----------- - 1 file changed, 80 insertions(+), 31 deletions(-) - -commit 74e54cf446bb979e488685e8c09eeed6b9d03c24 -Author: Behdad Esfahbod -Date: Thu May 10 21:20:37 2012 +0200 - - [Indic] Add Ra back for scripts without Reph - - We now check that the 'rphp' table exists before forming Reph, so - we don't need to comment out Ra for those scripts. - - src/hb-ot-shape-complex-indic-private.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 2b70df5cc008617453b12bafeaac50e6d61b3224 -Author: Behdad Esfahbod -Date: Thu May 10 18:38:22 2012 +0200 - - [Indic] Add note re Uniscribe clusters - - src/hb-ot-shape-complex-indic.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 21d2803133c2c424ed37a9f3d17c7fc4963e5a60 -Author: Behdad Esfahbod -Date: Thu May 10 18:34:34 2012 +0200 - - [Indic] Do clustering like Uniscribe does - - Hindi Wikipedia failures down to 6639 (0.938381%)! - - src/hb-ot-shape-complex-indic.cc | 24 ++++++++++++++++++++---- - 1 file changed, 20 insertions(+), 4 deletions(-) - -commit b20c9ebaf5176101fdfcffbe4714a2e619dd94b6 -Author: Behdad Esfahbod -Date: Thu May 10 18:31:17 2012 +0200 - - [Indic] Add test for matra group - - The spec says: "[{M}+[N]+[H]]", and that's what Uniscribe implements. - We instead do: "{M+[N]+[H]}", which means we allow Nukta and Halant - after all Matras, not just the last one. It makes more sense. - - .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST - | 1 + - .../shaper-indic/indic/script-devanagari/misc/spec-deviations.txt - | 1 + - 2 files changed, 2 insertions(+) - -commit 8df5636968389ac7bf8620ccd091fd4872b0bbee -Author: Behdad Esfahbod -Date: Thu May 10 15:41:04 2012 +0200 - - [Indic] Reorder Reph to before the Halant after Matras - - Uniscribe doesn't do it, but we want to do as it gives the Reph the - opportunity to interact with the Matras. Test with mangal for - example. - Sequence: <0930,094d,0915,094b,094d> - In test suite already. - - src/hb-ot-shape-complex-indic.cc | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit daf3234bdc82c669302599a76d2b14f5e69989db -Author: Behdad Esfahbod -Date: Thu May 10 15:28:27 2012 +0200 - - [Indic] Don't clear the mask for Reph - - This was removing the mandatory global 1 bit in the mask and hence - disabling GPOS for Reph! - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7708ee23cbcc8c8edce13e73b6e549b77bd8c2d0 -Author: Behdad Esfahbod -Date: Thu May 10 14:48:25 2012 +0200 - - [Indic] Improve Left Matra repositioning - - Move its dependents too. - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 61a58e26a5bda16851669404fc8206896e124740 -Author: Behdad Esfahbod -Date: Thu May 10 14:43:53 2012 +0200 - - [Indic] Add tricky reordering test cases - - In the case of Consonant,LeftMatra,Halant, Uniscribe leaves the Halant - where it is, but we want to move it with the Matra as that makes more - logical sense. - - .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/MANIFEST | - 1 + - .../shaper-indic/indic/script-devanagari/misc/tricky-reordering.txt | - 4 ++++ - 2 files changed, 5 insertions(+) - -commit dbb105883c6e9b83e78dc8b10766cd56b98cd7e1 -Author: Behdad Esfahbod -Date: Thu May 10 13:45:52 2012 +0200 - - [Indic] Do Reph repositioning in final reordering like the spec says - - This introduced a failure, which we tracked down to a test case - like this: - - U+092E,U+094B,U+094D,U+0930 - - The final character is a Ra that should be put in a syllable of it's - own. And we do. But it will interact with the Halant before it. So - now we finally are convinced that we have to limit features to - syllable - boundaries. That's coming after lunch! - - src/hb-ot-shape-complex-indic-private.hh | 2 - - src/hb-ot-shape-complex-indic.cc | 103 - +++++++++++++++++++------------ - 2 files changed, 64 insertions(+), 41 deletions(-) - -commit 4705a7026900e51f6430f03a73c87f2df035df92 -Author: Behdad Esfahbod -Date: Thu May 10 13:09:08 2012 +0200 - - Minor - - src/hb-ot-shape-complex-indic.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 4ac9e98d9d2ea973dd612dc4063cf78496c643a0 -Author: Behdad Esfahbod -Date: Thu May 10 12:53:53 2012 +0200 - - [Indic] Reorder left matras to be closer to base - - src/hb-ot-shape-complex-indic-private.hh | 4 --- - src/hb-ot-shape-complex-indic.cc | 50 - +++++++++++++++++++++++++++++--- - 2 files changed, 46 insertions(+), 8 deletions(-) - -commit 1a1fa8c655a082fc1439608457ba717306cc83ca -Author: Behdad Esfahbod -Date: Thu May 10 12:20:21 2012 +0200 - - [Indic] Treat the standalone cluster case reusing the consonant logic - - src/hb-ot-shape-complex-indic.cc | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 190eb31a16178269aecaf5d2ecc9012f956749f4 -Author: Behdad Esfahbod -Date: Thu May 10 12:17:16 2012 +0200 - - [Indic] Minor - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c5306b6861cfaa50af40e8ceb058791fa06d7981 -Author: Behdad Esfahbod -Date: Thu May 10 12:07:33 2012 +0200 - - [Indic] Handle Vowel syllables - - Reusing the consonant logic! - - src/hb-ot-shape-complex-indic-private.hh | 3 +-- - src/hb-ot-shape-complex-indic.cc | 11 ++++++----- - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit 6d8e0cb74c02f6bc09cd4abe9e4bc82062e1b517 -Author: Behdad Esfahbod -Date: Thu May 10 11:41:51 2012 +0200 - - [Indic] Simplify Reph logic - - src/hb-ot-shape-complex-indic.cc | 24 +++++------------------- - 1 file changed, 5 insertions(+), 19 deletions(-) - -commit 3d25079f8d6be81b9b4b91d3a97016b8a572f571 -Author: Behdad Esfahbod -Date: Thu May 10 11:37:42 2012 +0200 - - [Indic] Don't form Reph is Ra is the only consonant in the syllable - - src/hb-ot-shape-complex-indic-private.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 10 ++++++++++ - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit b99d63ae114fb58f129562b293a8a66543d499ad -Author: Behdad Esfahbod -Date: Thu May 10 11:32:52 2012 +0200 - - [Indic] Increase max syllable length - - 20 was way too low, one could hit a syllable with 7ish consonants - with it. - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a391ff50b9a7b6ac3e58d199ea726b20ee6839bb -Author: Behdad Esfahbod -Date: Thu May 10 11:31:20 2012 +0200 - - [Indic] Adjust base after sorting - - src/hb-ot-shape-complex-indic.cc | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -commit d3637edb248162970e202e9d0671540274192844 -Author: Behdad Esfahbod -Date: Thu May 10 10:51:38 2012 +0200 - - [Indic] Don't return for long syllables. Just not sort. - - src/hb-ot-shape-complex-indic.cc | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit dfa0cade7fce3791e47eaa7edcd23da76c7a0ed0 -Author: Behdad Esfahbod -Date: Wed May 9 19:10:07 2012 +0200 - - Fix Uniscribe clusters with multiple items - - src/hb-uniscribe.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 86e5dd386a7989701da476db89be268e4ac1e219 -Author: Behdad Esfahbod -Date: Wed May 9 18:57:37 2012 +0200 - - [Indic] Don't give up syllable parsing upon junk - - src/hb-ot-shape-complex-indic-machine.rl | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit ef24cc8c8e2478a6352c340f4611a617646de4cc -Author: Behdad Esfahbod -Date: Wed May 9 17:56:03 2012 +0200 - - [Indic] Towards multi-cluster syllables and final reordering - - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape-complex-indic-machine.rl | 21 ++++++++++----- - src/hb-ot-shape-complex-indic-private.hh | 1 + - src/hb-ot-shape-complex-indic.cc | 45 - +++++++++++++++++++++++--------- - src/hb-ot-shape-complex-private.hh | 5 ++-- - 5 files changed, 51 insertions(+), 23 deletions(-) - -commit a9844d41c6cb30d8a2d733130a0e72f51b6c81c1 -Author: Behdad Esfahbod -Date: Wed May 9 17:53:13 2012 +0200 - - Combine lig_id and lig_comp into one byte, to free up one for Indic - - src/hb-ot-layout-gpos-table.hh | 14 ++++++++------ - src/hb-ot-layout-gsub-table.hh | 11 ++++------- - src/hb-ot-layout-gsubgpos-private.hh | 26 ++++++++++++++++++++++---- - 3 files changed, 34 insertions(+), 17 deletions(-) - -commit 92332e5116271a5d96e532005fe750e7552a6cbb -Author: Behdad Esfahbod -Date: Wed May 9 17:40:00 2012 +0200 - - Minor - - src/hb-ot-shape-complex-indic.cc | 41 - ++++++++++++++++++++-------------------- - 1 file changed, 21 insertions(+), 20 deletions(-) - -commit dbccf87eef0d26838fa4bb3ae26410f6c4818836 -Author: Behdad Esfahbod -Date: Wed May 9 17:24:39 2012 +0200 - - [Indic] Make room for more reordering positions - - src/hb-ot-shape-complex-indic-private.hh | 213 - ++++++++++++++++--------------- - src/hb-ot-shape-complex-indic.cc | 12 +- - 2 files changed, 115 insertions(+), 110 deletions(-) - -commit d4480ace7fdbe48aeaf77278c032b8b2ef2ebe8e -Author: Behdad Esfahbod -Date: Wed May 9 15:56:35 2012 +0200 - - [Indic] Improve matra vs consonant ordering - - Another 1.5% down. - - src/hb-ot-shape-complex-indic-private.hh | 32 - ++++++++++++++++++++------------ - src/hb-ot-shape-complex-indic.cc | 6 +++--- - src/indic.cc | 2 +- - 3 files changed, 24 insertions(+), 16 deletions(-) - -commit 33c92e769563ec2a6c1249b57d8cac742eea6f88 -Author: Behdad Esfahbod -Date: Wed May 9 15:41:51 2012 +0200 - - [Indic] Categorize Anudatta - - src/hb-ot-shape-complex-indic.cc | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit 3943293a9942201d8fc8d59212fcc8cca5132e3d -Author: Behdad Esfahbod -Date: Wed May 9 15:27:56 2012 +0200 - - [Indic] Add joiner test cases for Devanagari - - .../indic/script-devanagari/misc/MANIFEST | 1 + - .../indic/script-devanagari/misc/joiners.txt | 19 - +++++++++++++++++++ - 2 files changed, 20 insertions(+) - -commit 19d984edaa4f86c842345a9d4150597e045e1887 -Author: Behdad Esfahbod -Date: Wed May 9 15:21:13 2012 +0200 - - [Indic] Make sure Reph jumps over all matras to the right - - Another 12 thousand failures gone! (78 to go) - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9034641333d7bfb41a0784cce72e43591faea083 -Author: Behdad Esfahbod -Date: Wed May 9 15:04:58 2012 +0200 - - [Indic] Keep Vedic signs at the right too - - src/hb-ot-shape-complex-indic.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit d1deaa2f5bd028e8076265cba92cffa4fa2834ac -Author: Behdad Esfahbod -Date: Wed May 9 15:04:13 2012 +0200 - - Replace zerowidth invisible chars with a zero-advance space glyph - - Like Uniscribe does. - - src/hb-ot-shape-complex-arabic.cc | 3 ++- - src/hb-ot-shape-complex-indic.cc | 20 ------------------- - src/hb-ot-shape-complex-private.hh | 4 ++-- - src/hb-ot-shape-normalize.cc | 25 +++++++++-------------- - src/hb-ot-shape-private.hh | 27 +++++++++++++++++++++++++ - src/hb-ot-shape.cc | 41 - +++++++++++++++++++++++++------------- - src/hb-unicode-private.hh | 38 - +++++++++++++++++++++++++++++++++++ - 7 files changed, 105 insertions(+), 53 deletions(-) - -commit 49e5da1591b8d28f01e7ff9caac9d9ac53668bba -Author: Behdad Esfahbod -Date: Wed May 9 13:23:27 2012 +0200 - - [indic] Keep the syllable modifier marks to the right - - Shaping failures on Hindi Wikipedia go down from 25% to 14%! - - src/hb-ot-shape-complex-indic.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5b1260909350bffa3e3d06da346f9f86ce651dbb -Author: Behdad Esfahbod -Date: Wed May 9 12:37:27 2012 +0200 - - Minor - - src/hb-ot-shape-complex-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9ce939232bbce8f51e235195e3854d1e8bb961f8 -Author: Behdad Esfahbod -Date: Wed May 9 12:03:09 2012 +0200 - - Minor - - src/hb-ot-shape-complex-indic-private.hh | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit 76b3409de6887c1cdd5c679939497b1b56f4554b -Author: Behdad Esfahbod -Date: Wed May 9 11:43:43 2012 +0200 - - [indic] Better Reph matching - - src/hb-ot-shape-complex-indic.cc | 21 +++++++++++++++------ - 1 file changed, 15 insertions(+), 6 deletions(-) - -commit df6d45c693c417bf311e6fa49f18a8558542e525 -Author: Behdad Esfahbod -Date: Wed May 9 11:38:31 2012 +0200 - - Minor - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 412b91889d9a1ae477e8b6907d0b9a76e78a6c91 -Author: Behdad Esfahbod -Date: Wed May 9 11:07:18 2012 +0200 - - [indic] Apply Indic features in order - - src/hb-ot-shape-complex-indic.cc | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 1ac075b227090a9ad930dcc1670236c176b27067 -Author: Behdad Esfahbod -Date: Wed May 9 11:06:47 2012 +0200 - - [indic] Apply rakaar forms - - Fixes 10% of the failures against all of Hindi Wikipedia! - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2214a03900d32710573a1b05c7665195b3129761 -Author: Behdad Esfahbod -Date: Wed May 9 09:54:54 2012 +0200 - - Add hb-diff-ngrams - - test/shaping/Makefile.am | 1 + - test/shaping/hb-diff-ngrams | 5 +++ - test/shaping/hb_test_tools.py | 71 - ++++++++++++++++++++++++++++++++++++++++--- - 3 files changed, 72 insertions(+), 5 deletions(-) - -commit 178e6dce01ad28c8708bad62ce0fb79c46e836dc -Author: Behdad Esfahbod -Date: Wed May 9 08:57:29 2012 +0200 - - Add N-gram generator - - test/shaping/hb_test_tools.py | 72 - +++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 70 insertions(+), 2 deletions(-) - -commit 98669ceb77657d60435f2cb2e3fc18272c0a2c6a -Author: Behdad Esfahbod -Date: Wed May 9 08:16:15 2012 +0200 - - Use groupby() - - test/shaping/hb_test_tools.py | 26 ++++++++------------------ - 1 file changed, 8 insertions(+), 18 deletions(-) - -commit c438a14b62433db488b5c90854a4a3934adf3305 -Author: Behdad Esfahbod -Date: Wed May 9 07:45:17 2012 +0200 - - Add hb-diff-stat - - test/shaping/Makefile.am | 1 + - test/shaping/hb-diff-stat | 5 +++++ - test/shaping/hb_test_tools.py | 22 ++++++++++++++++++++-- - 3 files changed, 26 insertions(+), 2 deletions(-) - -commit 1058d031e2046eb80331b0950eaff75c2bf608dc -Author: Behdad Esfahbod -Date: Wed May 9 07:30:07 2012 +0200 - - Make hb-diff-filter-failtures retain all test info for failed tests - - test/shaping/hb_test_tools.py | 33 ++++++++++++++++++++++++++------- - 1 file changed, 26 insertions(+), 7 deletions(-) - -commit f1eb008cc727370e1bd0dc32fdf301f62d9ff981 -Author: Behdad Esfahbod -Date: Tue May 8 23:41:41 2012 +0200 - - Add hb-diff-colorize - - Accepts --format=html now. - - test/shaping/Makefile.am | 1 + - test/shaping/hb-diff | 4 +- - test/shaping/hb-diff-colorize | 7 ++ - test/shaping/hb_test_tools.py | 158 - +++++++++++++++++++++++++----------------- - 4 files changed, 106 insertions(+), 64 deletions(-) - -commit 9155e4ffe00c96a2c14e14a300004b1038ca3a9c -Author: Behdad Esfahbod -Date: Tue May 8 22:44:21 2012 +0200 - - Cleanup diff - - Doesn't do --color anymore. That will go into a new hb-diff-colorize - tool. - - test/shaping/hb-diff | 10 +++------- - test/shaping/hb_test_tools.py | 32 ++++++++++++++++++-------------- - 2 files changed, 21 insertions(+), 21 deletions(-) - -commit 7d22135b4c3f8fb70552302bf8239df9976dddda -Author: Behdad Esfahbod -Date: Tue May 8 19:38:49 2012 +0200 - - Make hb-diff faster - - test/shaping/hb_test_tools.py | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit a93e238e05a2f70a6e664e5d04ba25bbd54493dc -Author: Behdad Esfahbod -Date: Tue May 8 18:55:29 2012 +0200 - - More tests - - .../texts/in-tree/shaper-arabic/script-mongolian/misc/MANIFEST | 1 + - .../texts/in-tree/shaper-arabic/script-mongolian/misc/poem.txt | 4 ++++ - .../in-tree/shaper-indic/indic/script-bengali/misc/MANIFEST | 1 + - .../in-tree/shaper-indic/indic/script-bengali/misc/reph.txt | - 10 ++++++++++ - 4 files changed, 16 insertions(+) - -commit 1a2a4a0078dda834443edd421037a4bcbad18c5e -Author: Behdad Esfahbod -Date: Sat May 5 22:38:20 2012 +0200 - - Fix warning and build issues - - As reported by Jonathan Kew on the list. - - src/hb-set-private.hh | 2 +- - src/main.cc | 9 +++++---- - 2 files changed, 6 insertions(+), 5 deletions(-) - -commit a5e39fed85e069ba1afbf90408349ad99ceb0e1d -Author: Behdad Esfahbod -Date: Wed Apr 25 00:14:46 2012 -0400 - - Minor - - src/hb-set-private.hh | 2 ++ - src/hb-set.cc | 2 ++ - 2 files changed, 4 insertions(+) - -commit 1827dc208c867e433a95237d1ed3fc7a73d1d9a7 -Author: Behdad Esfahbod -Date: Tue Apr 24 16:56:37 2012 -0400 - - Add hb_ot_shape_glyphs_closure() - - Experimental API for now. - - src/hb-ot-map-private.hh | 7 ++++--- - src/hb-ot-shape.cc | 35 +++++++++++++++++++++++++++++++++++ - src/hb-ot.h | 8 ++++++++ - src/hb-set-private.hh | 3 +++ - 4 files changed, 50 insertions(+), 3 deletions(-) - -commit bb09f0ec10216b11189b5e8584856adf0f14d1fc -Author: Behdad Esfahbod -Date: Tue Apr 24 16:02:12 2012 -0400 - - Minor - - src/hb-unicode.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 29a7e306e30e894f7a38daf73eca9fc772c58158 -Author: Behdad Esfahbod -Date: Tue Apr 24 16:01:30 2012 -0400 - - Minor - - src/hb-ot-shape-normalize.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 585b107cdee7305920dacc83c9ee1f8eeff7afd1 -Author: Behdad Esfahbod -Date: Tue Apr 24 16:00:50 2012 -0400 - - Add test caes for a minority language using Bengali - - U+0985 BENGALI LETTER A followed by U+09D7 BENGALI AU LENGTH MARK. - According to Bobby de Vos on the mailing list, this results in - a dotted - circle with most shaping engines, but is a legitimate sequence in this - minority language. - - We reached the consensus on the list to NOT implement dotted-circle - in HarfBuzz. - - .../texts/in-tree/shaper-indic/indic/script-bengali/misc/misc.txt - | 1 + - 1 file changed, 1 insertion(+) - -commit 6c6ccaf575392f6e6bb9a15534026e4ea462705b -Author: Behdad Esfahbod -Date: Tue Apr 24 14:21:15 2012 -0400 - - Add a few more set operations - - TODO: Tests for hb_set_t. - - src/hb-set-private.hh | 54 - +++++++++++++++++++++++++++++++++++++++++++++++++- - src/hb-set.cc | 55 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-set.h | 34 ++++++++++++++++++++++++++++--- - 3 files changed, 139 insertions(+), 4 deletions(-) - -commit 5caece67ab9eee322bdcdf6f4b607eadde297e56 -Author: Behdad Esfahbod -Date: Mon Apr 23 23:03:12 2012 -0400 - - Make closure() return void - - src/hb-ot-layout-gsub-table.hh | 142 +++++++++++++----------------- - src/hb-ot-layout-gsubgpos-private.hh | 165 - ++++++++++++++++++----------------- - src/hb-ot-layout.cc | 10 +-- - src/hb-ot-layout.h | 8 +- - src/hb-set-private.hh | 20 ++--- - 5 files changed, 157 insertions(+), 188 deletions(-) - -commit 0b08adb3539f2ec29682456b89c69e89ff5e9c03 -Author: Behdad Esfahbod -Date: Mon Apr 23 22:41:09 2012 -0400 - - Add hb_set_t - - TODO | 2 + - src/Makefile.am | 3 + - src/hb-ot-layout-common-private.hh | 1 + - src/hb-ot-layout-private.hh | 47 --------------- - src/hb-ot-layout.h | 2 - - src/hb-set-private.hh | 95 +++++++++++++++++++++++++++++ - src/hb-set.cc | 120 - +++++++++++++++++++++++++++++++++++++ - src/hb-set.h | 91 ++++++++++++++++++++++++++++ - src/hb.h | 1 + - 9 files changed, 313 insertions(+), 49 deletions(-) - -commit 5b93e8d94fb4c2474816304ae3f52e1c704882de -Author: Behdad Esfahbod -Date: Mon Apr 23 22:26:13 2012 -0400 - - Update copyright headers - - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -commit 6a9be5bd3524dc3eb1e88d1063bde2e4d8b57011 -Author: Behdad Esfahbod -Date: Mon Apr 23 22:23:17 2012 -0400 - - Rename hb_glyph_map_t to hb_set_t - - src/hb-ot-layout-common-private.hh | 16 ++++++++-------- - src/hb-ot-layout-gsubgpos-private.hh | 12 ++++++------ - src/hb-ot-layout-private.hh | 2 +- - src/hb-ot-layout.cc | 2 +- - src/hb-ot-layout.h | 4 ++-- - src/hb-ot-map-private.hh | 2 +- - src/hb-ot-map.cc | 2 +- - 7 files changed, 20 insertions(+), 20 deletions(-) - -commit a4385f0b0a6949e2ce49e6a147ad4beaa724f6c3 -Author: Behdad Esfahbod -Date: Mon Apr 23 22:20:14 2012 -0400 - - Improve clustering - - src/hb-ot-shape.cc | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 8e3715f8a16b315c1c7dd4b256e7f68a36c53e7c -Author: Behdad Esfahbod -Date: Mon Apr 23 22:18:54 2012 -0400 - - Minor - - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 2 +- - src/hb-graphite2.cc | 5 ++--- - src/hb-ot-shape-complex-arabic.cc | 4 ++-- - src/hb-ot-shape-complex-misc.cc | 4 ++-- - 5 files changed, 8 insertions(+), 9 deletions(-) - -commit d2984a241e4819474d827b1dd5d4b6d76596b3a5 -Author: Behdad Esfahbod -Date: Mon Apr 23 17:21:14 2012 -0400 - - Add map->substitute_closure() - - src/hb-ot-map-private.hh | 3 +++ - src/hb-ot-map.cc | 15 +++++++++++++++ - 2 files changed, 18 insertions(+) - -commit 31081f7390e5130df72f89acc609ccab5dc77a48 -Author: Behdad Esfahbod -Date: Mon Apr 23 16:54:58 2012 -0400 - - Implement closure() for Context and ChainContext lookups - - src/hb-ot-layout-common-private.hh | 54 ++++++ - src/hb-ot-layout-gsubgpos-private.hh | 347 - ++++++++++++++++++++++++++++------- - src/hb-ot-layout-private.hh | 23 ++- - 3 files changed, 351 insertions(+), 73 deletions(-) - -commit c64ddab3c34897cd520d4d73a054866e649e8793 -Author: Behdad Esfahbod -Date: Mon Apr 23 15:28:35 2012 -0400 - - Flesh out closure() for GSUB - - The GSUBGPOS part still missing. - - src/hb-ot-layout-common-private.hh | 61 ++++++++++++++------ - src/hb-ot-layout-gsub-table.hh | 112 - ++++++++++++++++++++++++++++--------- - src/hb-ot-layout-private.hh | 34 +++++++++++ - src/hb-ot-layout.h | 2 +- - 4 files changed, 165 insertions(+), 44 deletions(-) - -commit 0da132bde4d576a03095d6738507954f7f85103d -Author: Behdad Esfahbod -Date: Mon Apr 23 14:21:33 2012 -0400 - - Fix Coverage iters - - src/hb-ot-layout-common-private.hh | 30 +++++++++++++++++++++--------- - 1 file changed, 21 insertions(+), 9 deletions(-) - -commit 3e32cd9570fd8b09901fb790b80365ae425f681a -Author: Behdad Esfahbod -Date: Mon Apr 23 13:20:52 2012 -0400 - - Minor - - src/hb-ot-layout-gsubgpos-private.hh | 1 - - src/hb-ot-layout.cc | 6 +++--- - src/hb-ot-layout.h | 8 ++++++++ - src/hb-private.hh | 4 +++- - 4 files changed, 14 insertions(+), 5 deletions(-) - -commit 650ac00da3d2f988197393f34d40f0ba1a0fa093 -Author: Behdad Esfahbod -Date: Mon Apr 23 13:17:09 2012 -0400 - - Minor refactoring - - src/hb-ot-layout-gpos-table.hh | 27 +++++++++++-------------- - src/hb-ot-layout-gsub-table.hh | 39 - +++++++++++++++++------------------- - src/hb-ot-layout-gsubgpos-private.hh | 8 ++------ - src/hb-ot-layout.cc | 6 ++++-- - 4 files changed, 36 insertions(+), 44 deletions(-) - -commit f94b0aa64609654497ced9c00312c9643eb69053 -Author: Behdad Esfahbod -Date: Mon Apr 23 13:04:38 2012 -0400 - - Add "closure" operation stubs to GSUB - - Filling in. - - src/hb-ot-layout-gsub-table.hh | 179 - +++++++++++++++++++++++++++++++++++ - src/hb-ot-layout-gsubgpos-private.hh | 110 ++++++++++++++++++++- - src/hb-ot-layout.cc | 8 ++ - 3 files changed, 293 insertions(+), 4 deletions(-) - -commit 7d50d502635d7c95e6bd091e7d4cc993f0853f76 -Author: Behdad Esfahbod -Date: Mon Apr 23 13:02:14 2012 -0400 - - Add Coverage iterators - - src/hb-ot-layout-common-private.hh | 59 - ++++++++++++++++++++++++++++++++++++++ - 1 file changed, 59 insertions(+) - -commit 3ed4634ec349fa9e943ad23718c04be4dd4bba62 -Author: Behdad Esfahbod -Date: Thu Apr 19 22:34:06 2012 -0400 - - Add Indic inspection tool - - src/Makefile.am | 7 +- - src/hb-ot-shape-complex-indic-private.hh | 264 - +++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-indic.cc | 229 - +-------------------------- - src/indic.cc | 46 ++++++ - 4 files changed, 317 insertions(+), 229 deletions(-) - -commit a06411ecf93c7e5256e363eef3ef69554896dd55 -Author: Behdad Esfahbod -Date: Thu Apr 19 22:28:25 2012 -0400 - - Minor matra renumbering - - Should have no visible effect. - - src/hb-ot-shape-complex-indic.cc | 30 +++++++++++++++++------------- - 1 file changed, 17 insertions(+), 13 deletions(-) - -commit 36608941f3cc530fea57282fa175e4cc3b4c66c6 -Author: Behdad Esfahbod -Date: Thu Apr 19 22:21:38 2012 -0400 - - Add GSUB "would_apply" API - - To be used in the Indic shaper later. Unused for now. - - src/hb-ot-layout-gsub-table.hh | 140 - ++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 138 insertions(+), 2 deletions(-) - -commit a0d4caeb91fa5e5f2090db4efc35c64ff9a64789 -Author: Behdad Esfahbod -Date: Tue Apr 17 13:42:30 2012 -0400 - - Minor - - TODO | 3 +++ - 1 file changed, 3 insertions(+) - -commit a5e40542ab9508f0ba6f822f1262d93fccb71f45 -Author: Behdad Esfahbod -Date: Tue Apr 17 12:37:19 2012 -0400 - - Make font immutable in hb_shape() - - src/hb-shape.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 3cde23664fbbe9cd2ac1b8fd5eb2ea288309cc9c -Author: Behdad Esfahbod -Date: Tue Apr 17 11:44:49 2012 -0400 - - Minor note re Graphite - - src/hb-graphite2.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 4dc2449d92308f8dd366142831c0b85bd30ea5a9 -Author: Behdad Esfahbod -Date: Tue Apr 17 11:39:48 2012 -0400 - - Fix leak in graphite - - src/hb-graphite2.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 0290bbf8611aa881daed907f22256a431250c90a -Author: Behdad Esfahbod -Date: Tue Apr 17 10:28:21 2012 -0400 - - Add another Thai test - - test/shaping/texts/in-tree/shaper-thai/misc/misc.txt | 1 + - 1 file changed, 1 insertion(+) - -commit 9ceca3aeb14cc096f5f87660cf7351bc35073084 -Author: Behdad Esfahbod -Date: Mon Apr 16 21:05:51 2012 -0400 - - Fix ragel regexp in vowel-based syllable - - As reported by datao zhang on the mailing list. - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b870afcd1b436614af95db6dc297e54c8f03f0cd -Author: Behdad Esfahbod -Date: Mon Apr 16 21:05:11 2012 -0400 - - Rewrite ragel expression to better match the one on MS spec - - https://www.microsoft.com/typography/otfntdev/devanot/shaping.aspx - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 95cefdf96efe43a44133aa8a186155cf4e63e2b7 -Author: Behdad Esfahbod -Date: Mon Apr 16 18:08:20 2012 -0400 - - Add --utf8-clusters - - Also fix cairo cluster generation. - - util/hb-shape.cc | 8 +++++--- - util/hb-view.hh | 2 +- - util/helper-cairo.cc | 22 +++++++++++++++++----- - util/helper-cairo.hh | 3 ++- - util/options.cc | 19 ++++++++++++++----- - util/options.hh | 26 ++++++++++++++++---------- - util/view-cairo.cc | 5 +++-- - util/view-cairo.hh | 3 ++- - 8 files changed, 60 insertions(+), 28 deletions(-) - -commit effb42e5c520128bdc2e29398ed801730c5c0f52 -Author: Behdad Esfahbod -Date: Mon Apr 16 16:04:07 2012 -0400 - - Always use cairo_show_text_glyphs() - - Better catches cluster errors. - - util/view-cairo.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 799cfdd15ab369580b2283200c3aca6866214b59 -Author: Behdad Esfahbod -Date: Mon Apr 16 16:00:36 2012 -0400 - - Make page progression be right to left for vertical text - - util/view-cairo.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit a5f1834f57ea3fb254f5c7d372747de316fcc8f1 -Author: Behdad Esfahbod -Date: Mon Apr 16 15:55:13 2012 -0400 - - Apply 'liga' for vertical writing mode too - - Apparently that's what Kazuraki uses to form vertical ligatures, - which suggests that it's what Adobe does. - - src/hb-ot-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4d85252bda25cddd1fbdd744687e449888f0b5fa -Author: Behdad Esfahbod -Date: Mon Apr 16 15:54:26 2012 -0400 - - Add Japanese test data from Adobe's Kazuraki font ligatures - - test/shaping/texts/in-tree/shaper-default/MANIFEST | 1 + - .../shaper-default/script-japanese/MANIFEST | 1 + - .../shaper-default/script-japanese/misc/MANIFEST | 2 + - .../script-japanese/misc/kazuraki-liga-lines.txt | 8 ++++ - .../script-japanese/misc/kazuraki-liga.txt | 53 - ++++++++++++++++++++++ - 5 files changed, 65 insertions(+) - -commit e74616b8898b5f18d9bf82b9e81aefad056c1e36 -Author: Behdad Esfahbod -Date: Sun Apr 15 14:12:13 2012 -0400 - - Add comment - - src/hb-private.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 683b503f30bba29d57a93d7e8ac7138c2e7f49f1 -Author: Behdad Esfahbod -Date: Sat Apr 14 20:47:14 2012 -0400 - - Minor - - src/hb-ot-shape-normalize.cc | 11 +++++++++-- - src/hb-ot-shape-private.hh | 9 --------- - src/hb-ot-shape.cc | 9 ++++++++- - 3 files changed, 17 insertions(+), 12 deletions(-) - -commit b9f199c8e38cc5ed0d73845568630f3bcbdd4374 -Author: Behdad Esfahbod -Date: Sat Apr 14 20:23:58 2012 -0400 - - Move code around - - src/hb-ot-shape-private.hh | 40 ---------------------------------------- - src/hb-ot-shape.cc | 45 - +++++++++++++++++++++++++++++++++++++++++---- - 2 files changed, 41 insertions(+), 44 deletions(-) - -commit 38a83019e6a7f4aa47662fd557344f62ae001abe -Author: Behdad Esfahbod -Date: Sat Apr 14 19:40:18 2012 -0400 - - Minor - - src/hb-common.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d4adade217a61007dd2da5cd9eccf889f79a019a -Author: Behdad Esfahbod -Date: Sat Apr 14 19:23:17 2012 -0400 - - Add assert - - src/hb-ot-shape.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit fe28b997fbbeb2cfeab62ac453993ccffe3e6719 -Author: Behdad Esfahbod -Date: Sat Apr 14 19:19:26 2012 -0400 - - Add HB_DIRECTION_IS_VALID - - src/hb-common.h | 1 + - test/api/test-common.c | 7 +++++++ - 2 files changed, 8 insertions(+) - -commit 5e88aa66822ba64324b4428c9ffbe06a43b4f310 -Author: Behdad Esfahbod -Date: Sat Apr 14 18:51:50 2012 -0400 - - Remove public enum names again - - As was reported to me, glib-mkenum does not understand named enums, - so remove for now. - - src/hb-blob.h | 2 +- - src/hb-common.h | 6 +++--- - src/hb-ot-layout-private.hh | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit 08569c0eaab026c7122c0dc29922cf44011c4d10 -Author: Behdad Esfahbod -Date: Sat Apr 14 18:47:07 2012 -0400 - - Minor - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 4bf90f648313e35d21b427a956aa1fe762bae757 -Author: Behdad Esfahbod -Date: Thu Apr 12 17:38:23 2012 -0400 - - Make HB_DIRECTION_INVALID be zero - - This changes all the HB_DIRECTION_* enum member values, but is - nicer, in preparation for making hb_segment_properties_t public. - - src/hb-common.cc | 7 ++++--- - src/hb-common.h | 20 ++++++++++---------- - test/api/test-common.c | 9 +++++++-- - 3 files changed, 21 insertions(+), 15 deletions(-) - -commit d01402da9c756f90a84bfb1f964fd56caf2b35c3 -Author: Behdad Esfahbod -Date: Thu Apr 12 17:38:02 2012 -0400 - - Minor - - TODO | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 69b84a8f6c789726815261c2e86692de7a65d6e8 -Author: Behdad Esfahbod -Date: Thu Apr 12 15:50:40 2012 -0400 - - Fix hb-view surface size calc for vertical text - - For some reason it doesn't quite work with IranianNastaliq, but - that looks like a font issue. - - util/helper-cairo.hh | 5 +++-- - util/options.hh | 7 +++++++ - util/view-cairo.cc | 31 +++++++++++++++++++++---------- - util/view-cairo.hh | 1 + - 4 files changed, 32 insertions(+), 12 deletions(-) - -commit 6bd9b479b8b2befbb0847282e93beade197c8038 -Author: Behdad Esfahbod -Date: Thu Apr 12 14:53:53 2012 -0400 - - Hide backend-specific shape functions - - Also remove shaper_options argument to hb_shape_full(). That was - unused and for "future". Let it go. - - More shaper API coming in preparation for plan/planned API. - - configure.ac | 6 ++-- - src/Makefile.am | 11 +++---- - src/hb-fallback-shape-private.hh | 9 +++--- - src/hb-fallback-shape.cc | 9 +++--- - src/{hb-ot-shape.h => hb-graphite2-private.hh} | 30 ++++++++---------- - src/hb-graphite2.cc | 5 ++- - src/hb-graphite2.h | 7 ----- - src/hb-ot-shape-private.hh | 8 +++-- - src/hb-ot-shape.cc | 11 +++---- - src/hb-ot.h | 1 - - src/hb-shape.cc | 24 ++++++--------- - src/hb-shape.h | 1 - - src/hb-uniscribe-private.hh | 42 - ++++++++++++++++++++++++++ - src/hb-uniscribe.cc | 9 +++--- - src/hb-uniscribe.h | 7 ----- - util/options.hh | 2 +- - 16 files changed, 96 insertions(+), 86 deletions(-) - -commit c6035cf802c60f0526f421f39a55886061df94ee -Author: Behdad Esfahbod -Date: Thu Apr 12 13:23:59 2012 -0400 - - Add names to enums - - gdb was showing instead of useful stuff, so name - all our enums. - - src/hb-blob.h | 2 +- - src/hb-common.h | 6 +++--- - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gdef-table.hh | 2 +- - src/hb-ot-layout-gpos-table.hh | 5 ++--- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-private.hh | 2 +- - 7 files changed, 10 insertions(+), 11 deletions(-) - -commit d1c9eb458c843215da8df84b596bfae51fee135b -Author: Behdad Esfahbod -Date: Thu Apr 12 13:17:44 2012 -0400 - - Make it an error to include non-top-level headers - - Users should #include (or hb-ft.h, hb-glib.h, etc), but - never things like hb-shape.h directly. This makes it easier to - refactor headers later on without breaking compatibility. - - src/hb-blob.h | 4 ++++ - src/hb-buffer.h | 4 ++++ - src/hb-common.h | 4 ++++ - src/hb-font.h | 4 ++++ - src/hb-ft.h | 2 -- - src/hb-glib.h | 1 + - src/hb-gobject.h | 1 + - src/hb-graphite2.h | 5 +++-- - src/hb-icu.h | 1 + - src/hb-ot-layout.h | 8 +++++--- - src/hb-ot-shape.h | 9 +++++---- - src/hb-ot-tag.h | 6 +++++- - src/hb-ot.h | 2 ++ - src/hb-private.hh | 5 ++++- - src/hb-shape.h | 4 ++++ - src/hb-unicode.h | 4 ++++ - src/hb-uniscribe.h | 3 +-- - src/hb-version.h.in | 4 ++++ - src/hb.h | 2 ++ - 19 files changed, 58 insertions(+), 15 deletions(-) - -commit 323190c27b80cddc9b3c42d19f1f243e2acb2411 -Author: Behdad Esfahbod -Date: Thu Apr 12 12:29:10 2012 -0400 - - Minor - - src/hb-ft.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 0e3361464b00b76aa7375515163e0710a691db0c -Author: Behdad Esfahbod -Date: Thu Apr 12 10:06:52 2012 -0400 - - Fix bug with not setting Unicode props of the first character - - Fixes Mongolian shaping issue: - https://bugs.freedesktop.org/show_bug.cgi?id=45695 - - src/hb-ot-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f9746b600a6e14dbe48aabfc17df8f12a5b46b11 -Author: Behdad Esfahbod -Date: Thu Apr 12 09:59:26 2012 -0400 - - Minor - - test/shaping/texts/in-tree/shaper-arabic/script-mongolian/misc/misc.txt | - 1 - - 1 file changed, 1 deletion(-) - -commit 7470b0ff805e4ff59d23d7a1808888fafdf550eb -Author: Behdad Esfahbod -Date: Thu Apr 12 09:44:27 2012 -0400 - - Add Mongolian test case - - test/shaping/texts/in-tree/MANIFEST | - 1 + - .../texts/in-tree/shaper-arabic/script-mongolian/misc/MANIFEST | - 1 + - .../texts/in-tree/shaper-arabic/script-mongolian/misc/misc.txt | - 4 ++++ - test/shaping/texts/in-tree/shaper-thai/MANIFEST | - 1 + - test/shaping/texts/in-tree/shaper-thai/misc/MANIFEST | - 1 + - 5 files changed, 8 insertions(+) - -commit c65662b71e6160f5adfb6226d97589ca457d98b9 -Author: Behdad Esfahbod -Date: Thu Apr 12 09:31:55 2012 -0400 - - Fix left-matra positioning in Indic - - Fixes 200 failures out of previous 4290 cases in the OO.o Indic - dictionary (of ~16000 entries). - - src/hb-ot-shape-complex-indic.cc | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 6d16403bfaa4d710d80c93298eca7211ecaa419f -Author: Behdad Esfahbod -Date: Wed Apr 11 22:04:42 2012 -0400 - - Adjust TODO - - TODO | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 029a82d81d8ffa1b6771d19018d592fec1dbc934 -Author: Behdad Esfahbod -Date: Wed Apr 11 22:00:46 2012 -0400 - - [hangul] Apply *jmo features to all Hangul chars - - This is what old HB does. Morever, fixes rendering with Win8 malgun - font. The Win7 version doesn't compose with either Uniscribe nor HB, - but Win8 version works as expected, like Uniscribe, with this change. - - Lets call Hangul done for now. - - src/hb-ot-shape-complex-misc.cc | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 3baae2440de69577d330209edb708e7d2bb2231d -Author: Behdad Esfahbod -Date: Wed Apr 11 21:54:37 2012 -0400 - - Update TODO - - TODO | 28 +++++++++++++++------------- - 1 file changed, 15 insertions(+), 13 deletions(-) - -commit a4976447cd1a1feffdecd0d501a2690716b1cf4b -Author: Behdad Esfahbod -Date: Wed Apr 11 17:48:40 2012 -0400 - - Add Hangul test - - test/shaping/texts/in-tree/shaper-hangul/script-hangul/misc/misc.txt | - 1 + - 1 file changed, 1 insertion(+) - -commit e95d912b3b0af027c4384553f95236db822e5acc -Author: Behdad Esfahbod -Date: Wed Apr 11 17:33:02 2012 -0400 - - Fix diff tool - - test/shaping/hb_test_tools.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 41ae674f6871f43d0a6e4ca67a747074d63ae576 -Author: Behdad Esfahbod -Date: Wed Apr 11 17:11:05 2012 -0400 - - Don't create hb_apply_context_t per glyph! - - I couldn't measure significant performance gains out of this; maybe - about 5% (with one million Malayalam strings). Still, not bad. - But reminds me that optimizing this codebase without profiling first - is simply not going to work. Oh well... - - src/hb-ot-layout-gpos-table.hh | 24 ++++++------------------ - src/hb-ot-layout-gsub-table.hh | 26 +++++++------------------- - src/hb-ot-layout-gsubgpos-private.hh | 22 ++++++++++++++++++++++ - 3 files changed, 35 insertions(+), 37 deletions(-) - -commit 4a1e02ef7979d58fe0c726ee7c665b2420c42ddd -Author: Behdad Esfahbod -Date: Wed Apr 11 14:37:53 2012 -0400 - - Fix shape to presentation forms font check - - As reported by Jonathan Kew on the list. - - src/hb-ot-shape-complex-arabic.cc | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 6062f5f01436b4044be729890ed00b9b62737824 -Author: Behdad Esfahbod -Date: Wed Apr 11 14:19:55 2012 -0400 - - Fix build with some compilers - - As reported by Jonathan Kew on the list. - - src/hb-ot-shape-complex-misc.cc | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit acd88e659fdb2fa1cbf7171f0a1c7fbc81b9f298 -Author: Behdad Esfahbod -Date: Tue Apr 10 18:02:20 2012 -0400 - - In Arabic fallback shaping, check that the font has glyph for new char - - src/hb-ot-shape-complex-arabic.cc | 12 +++++++----- - src/hb-ot-shape-complex-indic.cc | 2 +- - src/hb-ot-shape-complex-misc.cc | 6 +++--- - src/hb-ot-shape-complex-private.hh | 7 ++++--- - src/hb-ot-shape.cc | 2 +- - 5 files changed, 16 insertions(+), 13 deletions(-) - -commit 7752aa73e72301a46c64c533c1e423ff5987cc05 -Author: Behdad Esfahbod -Date: Tue Apr 10 17:22:14 2012 -0400 - - Minor - - src/hb-ot-shape-private.hh | 1 - - src/hb-ot-shape.cc | 10 ---------- - 2 files changed, 11 deletions(-) - -commit 939c010211b063f78874a3b72b032c1ed9a13b87 -Author: Behdad Esfahbod -Date: Tue Apr 10 17:20:05 2012 -0400 - - Implement Arabic fallback shaping mandatory ligatures - - src/gen-arabic-table.py | 32 - ++++++++++++++++++++++---------- - src/hb-ot-shape-complex-arabic-table.hh | 28 +++++++++++++++++++--------- - src/hb-ot-shape-complex-arabic.cc | 31 - +++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-misc.cc | 4 ++-- - 4 files changed, 74 insertions(+), 21 deletions(-) - -commit b7d04eb606800100faa11100d2adf559e297a4ee -Author: Behdad Esfahbod -Date: Tue Apr 10 16:44:38 2012 -0400 - - Do Arabic fallback shaping - - src/hb-ot-shape-complex-arabic.cc | 38 - +++++++++++++++++++++++++++++++++----- - 1 file changed, 33 insertions(+), 5 deletions(-) - -commit ae4a2b9365051c23c9a299cf76f3ab7e661999b1 -Author: Behdad Esfahbod -Date: Tue Apr 10 16:25:08 2012 -0400 - - Generate fallback Arabic shaping table - - Not hooked up yet. - - src/Makefile.am | 6 +- - src/gen-arabic-table.py | 220 - +++++++++++++++++++++++--------- - src/gen-indic-table.py | 4 +- - src/hb-ot-shape-complex-arabic-table.hh | 205 - ++++++++++++++++++++++++++++- - 4 files changed, 367 insertions(+), 68 deletions(-) - -commit 3b26f96ebe859570d14c6902afc23462bca40712 -Author: Behdad Esfahbod -Date: Tue Apr 10 10:52:07 2012 -0400 - - Add Thai shaper that does SARA AM decomposition / reordering - - That's not in the OpenType spec, but it's what MS and Adobe do. - - src/hb-buffer.cc | 1 + - src/hb-ot-shape-complex-misc.cc | 104 - ++++++++++++++++++++++++++++++++++++- - src/hb-ot-shape-complex-private.hh | 8 +++ - 3 files changed, 112 insertions(+), 1 deletion(-) - -commit 0b6d2ac6a1d04877ae4542fc2a3b920185547053 -Author: Behdad Esfahbod -Date: Tue Apr 10 10:52:03 2012 -0400 - - Minor - - TODO | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -commit e099dd6592b4ea887696330f4718efb572494d93 -Author: Behdad Esfahbod -Date: Tue Apr 10 10:47:33 2012 -0400 - - Add Thai test case for SARA AM decomposition - - test/shaping/texts/in-tree/shaper-hangul/MANIFEST | 1 + - test/shaping/texts/in-tree/shaper-thai/misc/misc.txt | 5 +++++ - 2 files changed, 6 insertions(+) - -commit 4450dc9354b18cd68980b0891b24ea8efa4f38b6 -Author: Behdad Esfahbod -Date: Sat Apr 7 22:07:23 2012 -0400 - - Move around - - test/shaping/texts/in-tree/MANIFEST - | 1 + - test/shaping/texts/in-tree/shaper-default/MANIFEST - | 1 - - .../in-tree/{shaper-default => shaper-hangul}/script-hangul/MANIFEST - | 0 - .../{shaper-default => shaper-hangul}/script-hangul/misc/MANIFEST - | 0 - .../{shaper-default => shaper-hangul}/script-hangul/misc/misc.txt - | 0 - 5 files changed, 1 insertion(+), 1 deletion(-) - -commit d4cc44716c1e098f8abbc0e495404598026ef242 -Author: Behdad Esfahbod -Date: Sat Apr 7 21:52:28 2012 -0400 - - Move code around, in prep for Thai/Lao shaper - - src/hb-buffer-private.hh | 5 +++++ - src/hb-buffer.cc | 23 +++++++++++++++++++++++ - src/hb-ot-shape-complex-indic-machine.rl | 14 +------------- - 3 files changed, 29 insertions(+), 13 deletions(-) - -commit c9a841f4452921c5361b8f5697bbff7736ce60cd -Author: Behdad Esfahbod -Date: Sat Apr 7 15:06:55 2012 -0400 - - Add simple Hangul shaper that recomposes Jamo when feasible - - Previously, we were NOT actually recomposing Hangul Jamo. We do now. - The two lines in: - - test/shaping/texts/in-tree/shaper-default/script-hangul/misc/misc.txt - - Now render the same with the UnDotum.ttf font. Previously the second - linle was rendering boxes. - - We can also start applying OpenType Jamo features later. At this - time, - I have no idea how the 'ljmo', 'vjmo', 'tjmo' features are supposed to - work. Maybe someone can explain them to me? - - src/hb-ot-shape-complex-misc.cc | 16 ++++++++++++++++ - src/hb-ot-shape-complex-private.hh | 15 +++++++++++++-- - 2 files changed, 29 insertions(+), 2 deletions(-) - -commit 968318455304804dc53045e8ba0cd4d76800c02d -Author: Behdad Esfahbod -Date: Sat Apr 7 14:57:21 2012 -0400 - - Implement normalization mode - HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_FULL - - In this mode we try composing CCC=0 with CCC=0 characters. Useful for - Hangul. - - src/hb-ot-shape-normalize.cc | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - -commit bec2ac4fde1ba0dd6dba02adbb836ce569a5cf6f -Author: Behdad Esfahbod -Date: Sat Apr 7 14:51:17 2012 -0400 - - Bring normalization algorithm closer to the spec - - No logical difference so far. - - src/hb-ot-shape-normalize.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit e02d9257863b49e33ab5942971266349d3c548f6 -Author: Behdad Esfahbod -Date: Sat Apr 7 14:49:13 2012 -0400 - - Flip logic around - - src/hb-ot-shape-normalize.cc | 38 +++++++++++++------------------------- - 1 file changed, 13 insertions(+), 25 deletions(-) - -commit aaa25d5f458127f53f4b5ecdeb986ae91fabbad3 -Author: Behdad Esfahbod -Date: Thu Apr 5 17:27:23 2012 -0400 - - Add Hangul test case - - Composed, and decomposed, of the same text. - - test/shaping/texts/in-tree/shaper-default/MANIFEST | - 1 + - test/shaping/texts/in-tree/shaper-default/script-hangul/MANIFEST | - 1 + - test/shaping/texts/in-tree/shaper-default/script-hangul/misc/MANIFEST | - 1 + - test/shaping/texts/in-tree/shaper-default/script-hangul/misc/misc.txt | - 2 ++ - 4 files changed, 5 insertions(+) - -commit 11138ccff71f442da1fcf64faa0e1d22e083e775 -Author: Behdad Esfahbod -Date: Thu Apr 5 17:25:19 2012 -0400 - - Add normalize mode - - In preparation for Hangul shaper. - - src/Makefile.am | 1 + - src/hb-ot-layout-common-private.hh | 1 - - src/hb-ot-shape-complex-arabic.cc | 6 +-- - src/hb-ot-shape-complex-indic.cc | 6 +-- - src/hb-ot-shape-complex-misc.cc | 8 ++-- - src/hb-ot-shape-complex-private.hh | 13 ++++--- - src/hb-ot-shape-normalize-private.hh | 46 +++++++++++++++++++++++ - src/hb-ot-shape-normalize.cc | 73 - +++++++++++++++++------------------- - src/hb-ot-shape-private.hh | 7 +--- - src/hb-ot-shape.cc | 2 +- - 10 files changed, 102 insertions(+), 61 deletions(-) - -commit 6769f21d579a354e32577ec57348e97d2cb1b438 -Author: Behdad Esfahbod -Date: Thu Apr 5 16:46:46 2012 -0400 - - More moving code around - - src/hb-ot-shape-normalize.cc | 2 +- - src/hb-ot-shape-private.hh | 8 -------- - src/hb-ot-shape.cc | 2 +- - src/hb-unicode-private.hh | 8 ++++++++ - 4 files changed, 10 insertions(+), 10 deletions(-) - -commit 2db2a566826ed4763ce69629194ec656bd48b0bd -Author: Behdad Esfahbod -Date: Thu Apr 5 16:40:37 2012 -0400 - - Move code around - - src/hb-ot-shape-private.hh | 53 - -------------------------------------------- - src/hb-unicode-private.hh | 3 +++ - src/hb-unicode.cc | 55 - ++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 58 insertions(+), 53 deletions(-) - -commit cad3821f3d5b68d490b0728bd37bd57428ec809c -Author: Behdad Esfahbod -Date: Wed Mar 7 17:13:25 2012 -0500 - - More sorting by Unicode version - - This is the most convenient way to browse scripts. - - src/hb-common.cc | 2 +- - src/hb-common.h | 2 +- - src/hb-ot-shape-complex-private.hh | 94 - ++++++++++++++++++++++++++++---------- - 3 files changed, 72 insertions(+), 26 deletions(-) - -commit 317b9504d7a4faa70dcf21e5c2aff4792dbd201a -Author: Behdad Esfahbod -Date: Wed Mar 7 16:51:29 2012 -0500 - - Minor - - src/hb-ot-shape-complex-private.hh | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit fa2673c1ee954ddbbfbfca7cced7b839d7776fc0 -Author: Behdad Esfahbod -Date: Wed Mar 7 15:52:02 2012 -0500 - - More Unicode script age annotation, and a couple more RTL scripts - - Cross-checked with Mark Davis's spreadsheet at http://goo.gl/x9ilM - - src/hb-common.cc | 8 ++++++++ - src/hb-common.h | 52 - +++++++++++++++++++++++++++++----------------------- - 2 files changed, 37 insertions(+), 23 deletions(-) - -commit 6d4016f1ba48d409800dc3281b93e5cd58c99d9f -Author: Behdad Esfahbod -Date: Wed Mar 7 15:33:14 2012 -0500 - - Make src tests pass again - - src/gen-arabic-table.py | 11 ++++++----- - src/gen-indic-table.py | 9 +++++---- - src/hb-ot-shape-complex-arabic-table.hh | 6 ++++++ - src/hb-ot-shape-complex-indic-table.hh | 4 ++++ - 4 files changed, 21 insertions(+), 9 deletions(-) - -commit 7da435f08cc406080a5ee9b1ab5351db6a93acae -Author: Behdad Esfahbod -Date: Wed Mar 7 15:20:20 2012 -0500 - - Separate Unicode 3.1 and Unicode 3.2 additions - - src/hb-common.h | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -commit f91136cb528e298651c4a8a8a1d6dc54136e09ce -Author: Behdad Esfahbod -Date: Wed Mar 7 12:56:22 2012 -0500 - - Route three Unicode 6.1 scripts through Indic shaper - - src/hb-ot-shape-complex-private.hh | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit f32c0012ad794cd2df669dfc7b0438fafbe38b2d -Author: Behdad Esfahbod -Date: Wed Mar 7 12:53:34 2012 -0500 - - Add Unicode 6.1.0 scripts - - src/hb-common.h | 9 +++++++++ - src/hb-glib.cc | 11 ++++++++++- - 2 files changed, 19 insertions(+), 1 deletion(-) - -commit 50e810cd0e55c25fddb0a2fd0861c51fbf65700e -Author: Behdad Esfahbod -Date: Wed Mar 7 12:49:08 2012 -0500 - - Lydian and Kharoshthi are right-to-left - - src/hb-common.cc | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit a52835635e4a2a12715aff2febb561515a10cd5a -Author: Behdad Esfahbod -Date: Wed Mar 7 12:38:39 2012 -0500 - - Whitespace - - src/hb-common.h | 194 - ++++++++++++++++++++++++++++---------------------------- - 1 file changed, 97 insertions(+), 97 deletions(-) - -commit 183224684a45d7dcd7d28510d4383a7a7cb3dff3 -Author: Behdad Esfahbod -Date: Wed Mar 7 12:21:28 2012 -0500 - - Use generic shaper for Buhid - - As requested by Jonathan Kew. - - We need to devise a better mechanism to choose which scripts to - pass through the Indic shaper. Moreover, currently we are storing - data for some scripts in the Indic shaper that are not even going - through that shaper. Need to find a better way... - - src/hb-ot-shape-complex-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cdc8b491a8e7cec5082ca2ad0346c1f41fdd5c92 -Author: Behdad Esfahbod -Date: Wed Mar 7 12:08:33 2012 -0500 - - Update Indic table to Unicode 6.1 data - - src/Makefile.am | 15 +++ - src/gen-indic-table.py | 20 ++-- - src/hb-ot-shape-complex-arabic-table.hh | 35 ------- - src/hb-ot-shape-complex-indic-table.hh | 178 - +++++++++++++++++++------------- - 4 files changed, 134 insertions(+), 114 deletions(-) - -commit e3b2e077f549b04779c08a9fedb1f35b9f11075c -Author: Behdad Esfahbod -Date: Wed Mar 7 10:21:24 2012 -0500 - - Typo - - src/hb-ot-shape-normalize.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c346671b6b9b05fa51b95c16212eb29ac69510fa -Author: Behdad Esfahbod -Date: Tue Mar 6 20:47:50 2012 -0500 - - Minor doc fixes - - src/hb-ot-shape-normalize.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit 406044986a68676f3050f9350ccc448c615fc685 -Author: Behdad Esfahbod -Date: Tue Mar 6 20:24:31 2012 -0500 - - Add Hebrew diacritics test cases - - From: - https://bugzilla.mozilla.org/show_bug.cgi?id=662055 - - test/shaping/texts/in-tree/shaper-default/MANIFEST | 1 + - .../texts/in-tree/shaper-default/script-hebrew/MANIFEST | 1 + - .../in-tree/shaper-default/script-hebrew/misc/MANIFEST | 1 + - .../shaper-default/script-hebrew/misc/diacritics.txt | 15 - +++++++++++++++ - 4 files changed, 18 insertions(+) - -commit 461b9b6347e4f58589f5be82c40a2df61da2c715 -Author: Behdad Esfahbod -Date: Thu Mar 1 18:11:19 2012 -0800 - - Fix cluster formation in Indic - - Makes number of failures against Uniscribe with hi_IN dictionary from - OO.o to go down from 6334 to 4290. Not bad for a one-line change! - - Mozilla Bug 729626 - ASAN: heap-buffer-overflow HTML - - src/hb-ot-shape-complex-indic-machine.rl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bc71ad4973842f25216b48842a46d6c9cbce6aa3 -Author: Behdad Esfahbod -Date: Thu Mar 1 17:30:29 2012 -0800 - - Fix atomic-int op on Apple - - The OSAtomicAdd32Barrier operator returns the new value, we want the - old value. - - src/hb-blob.cc | 2 +- - src/hb-object-private.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit a1970d9afc15b2c6b7513b923019bb223bd95154 -Author: Behdad Esfahbod -Date: Fri Feb 24 13:51:09 2012 -0500 - - Add support for atomic int and mutex on Apple systems - - So, apparently there's no atomic int 'get' method on Apple. - You have to - add(0) to get. And that's not const-friendly. So switch inert-object - checking to a non-atomic get. This, however, is safe, and a - negligible - performance boost too. - - src/hb-mutex-private.hh | 14 +++++++++----- - src/hb-object-private.hh | 15 ++++++++++----- - 2 files changed, 19 insertions(+), 10 deletions(-) - -commit 8004429102d7d3a8c42e1cbfe231835de4d3d782 -Author: Behdad Esfahbod -Date: Thu Feb 23 18:47:17 2012 -0500 - - Remove unused hb_atomic_int_set() - - Apparently it can't be implemented on OS X. We weren't using - it anyway. - - src/hb-object-private.hh | 4 ---- - 1 file changed, 4 deletions(-) - -commit 45227c10e416894ba7f84fdf72d849cecdb9b898 -Author: Behdad Esfahbod -Date: Thu Feb 23 19:47:43 2012 -0500 - - Add hb-warning.cc. Oops! - - src/hb-warning.cc | 53 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 53 insertions(+) - -commit bd7ff1dec5b92ee59fa060e793f88499adcd8c11 -Author: Behdad Esfahbod -Date: Thu Feb 23 15:06:16 2012 -0500 - - Allow disabling multi-threaded support - - By defining HB_NO_MT. - - Also, only warn once per missing MT feature support. - - Mozilla Bug 666661 - gfx/harfbuzz/src/hb-prive.h - compiler warnings - on mac - - src/Makefile.am | 1 + - src/hb-mutex-private.hh | 6 +++--- - src/hb-object-private.hh | 11 +++-------- - 3 files changed, 7 insertions(+), 11 deletions(-) - -commit 634c9e3423a9c23793400d1f56e98070e00b6056 -Author: Behdad Esfahbod -Date: Wed Feb 22 16:43:21 2012 -0500 - - Minor - - src/hb-ot-shape-private.hh | 69 - ++++++++++++++++++++++++++-------------------- - 1 file changed, 39 insertions(+), 30 deletions(-) - -commit 514b6f88668da4eab85103c536dabe24b7bc457b -Author: Behdad Esfahbod -Date: Wed Feb 22 16:34:37 2012 -0500 - - Followup: Reorder Hebrew combining classes for better rendering - - Patch from Jonathan Kew. - - Bug 662055 - advanced Hebrew diacritics are shown correctly only in - particular order. - - src/hb-ot-shape-private.hh | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit 6e78607ea71e3e5306f88f227ddba76133d16ed0 -Author: Behdad Esfahbod -Date: Wed Feb 22 16:31:15 2012 -0500 - - Reorder Hebrew combining classes for better rendering - - Patch from Jonathan Kew. - - Bug 662055 - advanced Hebrew diacritics are shown correctly only in - particular order - - src/hb-ot-shape-private.hh | 28 ++++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - -commit 7a70ca78e06c676befe1ae17199fff1f000f8188 -Author: Behdad Esfahbod -Date: Tue Feb 21 11:31:47 2012 -0500 - - Add test case from https://bugzilla.mozilla.org/show_bug.cgi?id=714067 - - test/shaping/texts/in-tree/shaper-arabic/script-arabic/misc/MANIFEST - | 1 + - .../in-tree/shaper-arabic/script-arabic/misc/ligature-diacritics.txt - | 1 + - 2 files changed, 2 insertions(+) - -commit f51e167436a51b890ffe3f7f7920498fa287acd9 -Author: Behdad Esfahbod -Date: Mon Jan 30 09:48:33 2012 -0500 - - Minor error handling - - util/options.cc | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit bee74efbdebc4e46ce57daa8a88bcf06b13411fe -Author: Behdad Esfahbod -Date: Fri Jan 27 02:14:08 2012 -0500 - - Update git.mk to new upstream - - git.mk | 44 +++++++++++++++++++++++++++++++++----------- - 1 file changed, 33 insertions(+), 11 deletions(-) - -commit 134aa7bc7e3f9b9de76c9de2ed4b7344a7b323f9 -Author: Behdad Esfahbod -Date: Fri Jan 27 02:09:40 2012 -0500 - - Make checks more OS X friendly - - src/check-internal-symbols.sh | 21 +++++++++++++-------- - src/check-libstdc++.sh | 21 +++++++++++++-------- - 2 files changed, 26 insertions(+), 16 deletions(-) - -commit 6152199368399bf98368ea3c794fa760b49756ba -Author: Behdad Esfahbod -Date: Fri Jan 27 01:57:59 2012 -0500 - - Fix check-header-guards on OS X - - src/check-header-guards.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c62e41b6aad1fc56225d0e53d6d4abd0f005fe3b -Author: Behdad Esfahbod -Date: Fri Jan 27 02:20:58 2012 -0500 - - Minor - - configure.ac | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 1a5a91dc0d8bf4b72a2f22dc6300b06ad7000b79 -Author: Behdad Esfahbod -Date: Sun Jan 22 19:57:00 2012 -0500 - - Add a few more tests - - .../in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt | 3 +++ - .../shaper-indic/south-east-asian/script-thai/misc/misc.txt | - 9 +++++++++ - 2 files changed, 12 insertions(+) - -commit 1795f3a222a85cdf80c78a0e9181d23dd1673876 -Author: Behdad Esfahbod -Date: Sun Jan 22 19:29:45 2012 -0500 - - Add a couple Thai test cases from Thep - - test/shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST | - 1 + - .../texts/in-tree/shaper-indic/south-east-asian/script-thai/MANIFEST | - 1 + - .../in-tree/shaper-indic/south-east-asian/script-thai/misc/MANIFEST | - 1 + - .../in-tree/shaper-indic/south-east-asian/script-thai/misc/misc.txt | - 2 ++ - 4 files changed, 5 insertions(+) - -commit ec3f506682fc6e2d7d7455e49d6c82ac9dd0c660 -Author: Behdad Esfahbod -Date: Sun Jan 22 19:10:55 2012 -0500 - - Add Devanagari test from Tom Hacohen - - .../texts/in-tree/shaper-indic/indic/script-devanagari/misc/misc.txt - | 1 + - 1 file changed, 1 insertion(+) - -commit 71be4ca3dd5eaaca31957e34fef11f6aeb4aebdf -Author: Behdad Esfahbod -Date: Sun Jan 22 16:26:49 2012 -0500 - - Also ignore "ChangeLog" in manifests - - test/shaping/hb_test_tools.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3c9a39ecd65990f2c7b29bb741c6a538fa425531 -Author: Behdad Esfahbod -Date: Sun Jan 22 16:21:19 2012 -0500 - - Remove newline - - test/shaping/hb_test_tools.py | 2 ++ - 1 file changed, 2 insertions(+) - -commit e4ccbfe276db5ed098ddcf78a7bb8f2da4263128 -Author: Behdad Esfahbod -Date: Sun Jan 22 16:07:32 2012 -0500 - - Allow --color=html in hb-diff - - Not that useful right now as we don't escape < and >. Perhaps - another tool can be added to convert the ANSI output to HTML. - - test/shaping/hb-diff | 2 +- - test/shaping/hb_test_tools.py | 22 +++++++++++++++++----- - 2 files changed, 18 insertions(+), 6 deletions(-) - -commit 71632c96daa4ba15e13f4d9e7f2c121d0162614e -Author: Behdad Esfahbod -Date: Sun Jan 22 15:31:44 2012 -0500 - - Fallback to Latin script if the font has no other usable scripts - - Patch and description from Jonathan Kew: - - It turns out that some legacy Thai fonts provide OpenType substitution - features to implement mark positioning, but (incorrectly) put those - features/lookups under the 'latn' script tag instead of using 'thai' - (or - possibly 'DFLT'). See - https://bugzilla.mozilla.org/show_bug.cgi?id=719366 for an example and - more detailed description. - - Although this is really a font bug, I suggest that we could improve - the - rendering of such fonts by looking for the 'latn' as a fallback if - neither the requested script nor "default" is found in - hb_ot_layout_table_choose_script. Suggested patch against harfbuzz - master is attached. - - This does _not_ affect the other kind of legacy Thai font, where - custom - code to support vendor-specific PUA codepoints would be needed. I'm - not - keen to go down that path; IMO, such fonts should be ruthlessly - stamped - out in favour of standards-based solutions. :) - - JK - - src/hb-ot-layout.cc | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 8f80f93491be73f05eba908591c856339acda51e -Author: Behdad Esfahbod -Date: Sat Jan 21 20:03:25 2012 -0500 - - More shoveling around - - test/shaping/hb-diff-filter-failures | 2 +- - test/shaping/hb-manifest-read | 2 +- - test/shaping/hb_test_tools.py | 27 ++++++++++++++++----------- - 3 files changed, 18 insertions(+), 13 deletions(-) - -commit c78c6e9844a23144ce7fa29afbf57b74587bfcd0 -Author: Behdad Esfahbod -Date: Sat Jan 21 19:55:16 2012 -0500 - - Cleanup - - test/shaping/hb-manifest-read | 2 +- - test/shaping/hb_test_tools.py | 13 ++++++++----- - 2 files changed, 9 insertions(+), 6 deletions(-) - -commit ab94a9c542f7ec9143335b73493ccb75d4586a3a -Author: Behdad Esfahbod -Date: Sat Jan 21 19:43:58 2012 -0500 - - Distribute testing tools - - test/shaping/Makefile.am | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -commit 3e86feb54c94e46b60168fd2a4773183eb1354b4 -Author: Behdad Esfahbod -Date: Sat Jan 21 19:40:30 2012 -0500 - - Speed up colorless diff - - test/shaping/hb_test_tools.py | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 1e58df603457cb4b57da78b5d4a8df66aa7d7be4 -Author: Behdad Esfahbod -Date: Sat Jan 21 19:37:31 2012 -0500 - - Cleanup manifest code - - test/shaping/hb_test_tools.py | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -commit 956d552e108eeb50bb3ad21588830af7a2f3862a -Author: Behdad Esfahbod -Date: Sat Jan 21 19:31:51 2012 -0500 - - Port hb-manifest-update to Python - - test/shaping/hb-manifest-update | 23 +++-------------------- - test/shaping/hb_test_tools.py | 38 - ++++++++++++++++++++++++++++++-------- - 2 files changed, 33 insertions(+), 28 deletions(-) - -commit 3a34e9e351ed0ee3eb27f9c0f154bc227f1226bf -Author: Behdad Esfahbod -Date: Sat Jan 21 19:15:41 2012 -0500 - - Ignore Broken Pipe errors - - test/shaping/hb_test_tools.py | 76 - +++++++++++++++++++++++++++---------------- - 1 file changed, 48 insertions(+), 28 deletions(-) - -commit d5300241680844f5625f32792f7dd7181ed05f9b -Author: Behdad Esfahbod -Date: Sat Jan 21 19:07:22 2012 -0500 - - [util] Make clusters work with char offset instead of UTF-8 offset - - This means the --features indices also refer to char position - instead of byte position now. Same for cluster values reported - by hb-shape. - - Will add an option for byte indices later. - - util/options.cc | 7 +++++-- - util/options.hh | 12 ++++++++++++ - 2 files changed, 17 insertions(+), 2 deletions(-) - -commit 0f68f4a0b5ee78cbdb2a89a9a1a9125afe72ed2f -Author: Behdad Esfahbod -Date: Sat Jan 21 18:59:48 2012 -0500 - - Correctly print out Unicode strings - - util/options.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f22089ac24f43ff048c2a0f1c1f604ae3a96be8b -Author: Behdad Esfahbod -Date: Fri Jan 20 21:21:47 2012 -0500 - - Misc fixes - - test/shaping/hb-diff | 8 ++++---- - test/shaping/hb_test_tools.py | 4 ++-- - 2 files changed, 6 insertions(+), 6 deletions(-) - -commit 96968bfae5ce61a0a098bf0e6acd2210a309a499 -Author: Behdad Esfahbod -Date: Fri Jan 20 21:16:34 2012 -0500 - - Port hb-manifest-read to Python - - test/shaping/hb-diff-filter-failures | 2 +- - test/shaping/hb-manifest-read | 37 +++------------------------ - test/shaping/hb_test_tools.py | 49 - ++++++++++++++++++++++++++++++++---- - 3 files changed, 48 insertions(+), 40 deletions(-) - -commit a59ed46fa4f7b76605f8ce6e75783ead406468f5 -Author: Behdad Esfahbod -Date: Fri Jan 20 20:56:32 2012 -0500 - - Add final residues from test-shape-complex - - .../shaping/texts/in-tree/shaper-arabic/script-nko/misc/MANIFEST | 1 + - .../shaping/texts/in-tree/shaper-arabic/script-nko/misc/misc.txt | - 5 +++++ - test/shaping/texts/in-tree/shaper-default/MANIFEST | 1 + - .../texts/in-tree/shaper-default/script-linear-b/MANIFEST | 1 + - .../texts/in-tree/shaper-default/script-linear-b/misc/MANIFEST | 1 + - .../texts/in-tree/shaper-default/script-linear-b/misc/misc.txt | 1 + - test/shaping/texts/in-tree/shaper-indic/MANIFEST | 1 + - .../shaping/texts/in-tree/shaper-indic/south-east-asian/MANIFEST | 1 + - .../in-tree/shaper-indic/south-east-asian/script-khmer/MANIFEST | 1 + - .../shaper-indic/south-east-asian/script-khmer/misc/MANIFEST | 1 + - .../shaper-indic/south-east-asian/script-khmer/misc/misc.txt | - 9 +++++++++ - 11 files changed, 23 insertions(+) - -commit 820e0ed318d9b187a131baa9491d5d390ec33ef4 -Author: Behdad Esfahbod -Date: Fri Jan 20 20:51:52 2012 -0500 - - Add Punjabi tests from test-shape-complex also - - .../texts/in-tree/shaper-indic/indic/script-punjabi/misc/MANIFEST - | 1 + - .../texts/in-tree/shaper-indic/indic/script-punjabi/misc/misc.txt - | 1 + - 2 files changed, 2 insertions(+) - -commit a7d71c105772fb612871b4cae59bdae47bbc8751 -Author: Behdad Esfahbod -Date: Fri Jan 20 20:50:09 2012 -0500 - - Add Tamil test data from Muguntharaj Subramanian - - .../shaper-indic/indic/script-tamil/misc/MANIFEST | 1 + - .../shaper-indic/indic/script-tamil/misc/misc.txt | 43 - ++++++++++++++++++++++ - 2 files changed, 44 insertions(+) - -commit 5992a9941e7f19181df1e34e79e514ccedc3d284 -Author: Behdad Esfahbod -Date: Fri Jan 20 20:48:14 2012 -0500 - - Import test data from late test-shape-complex - - .../in-tree/shaper-arabic/script-arabic/MANIFEST | 1 + - .../shaper-arabic/script-arabic/misc/MANIFEST | 0 - .../in-tree/shaper-arabic/script-mandaic/MANIFEST | 1 + - .../shaper-arabic/script-mandaic/misc/MANIFEST | 0 - .../shaper-arabic/script-mongolian/MANIFEST | 1 + - .../shaper-arabic/script-mongolian/misc/MANIFEST | 0 - .../in-tree/shaper-arabic/script-nko/MANIFEST | 1 + - .../in-tree/shaper-arabic/script-nko/misc/MANIFEST | 0 - .../in-tree/shaper-arabic/script-syriac/MANIFEST | 1 + - .../shaper-arabic/script-syriac/misc/MANIFEST | 0 - .../shaper-indic/indic/script-assamese/MANIFEST | 1 + - .../indic/script-assamese/misc/MANIFEST | 0 - .../shaper-indic/indic/script-bengali/MANIFEST | 1 + - .../indic/script-bengali/misc/MANIFEST | 1 + - .../indic/script-bengali/misc/misc.txt | 48 - ++++++++++++++++++++++ - .../shaper-indic/indic/script-devanagari/MANIFEST | 1 + - .../indic/script-devanagari/misc/MANIFEST | 1 + - .../indic/script-devanagari/misc/misc.txt | 23 +++++++++++ - .../shaper-indic/indic/script-gujarati/MANIFEST | 1 + - .../indic/script-gujarati/misc/MANIFEST | 0 - .../shaper-indic/indic/script-kannada/MANIFEST | 1 + - .../indic/script-kannada/misc/MANIFEST | 1 + - .../indic/script-kannada/misc/misc.txt | 17 ++++++++ - .../shaper-indic/indic/script-malayalam/MANIFEST | 1 + - .../indic/script-malayalam/misc/MANIFEST | 1 + - .../indic/script-malayalam/misc/misc.txt | 22 ++++++++++ - .../shaper-indic/indic/script-oriya/MANIFEST | 1 + - .../shaper-indic/indic/script-oriya/misc/MANIFEST | 1 + - .../shaper-indic/indic/script-oriya/misc/misc.txt | 28 +++++++++++++ - .../shaper-indic/indic/script-punjabi/MANIFEST | 1 + - .../indic/script-punjabi/misc/MANIFEST | 0 - .../shaper-indic/indic/script-sinhala/MANIFEST | 1 + - .../indic/script-sinhala/misc/MANIFEST | 1 + - .../indic/script-sinhala/misc/misc.txt | 6 +++ - .../shaper-indic/indic/script-tamil/MANIFEST | 1 + - .../shaper-indic/indic/script-tamil/misc/MANIFEST | 0 - .../shaper-indic/indic/script-telugu/MANIFEST | 1 + - .../shaper-indic/indic/script-telugu/misc/MANIFEST | 1 + - .../shaper-indic/indic/script-telugu/misc/misc.txt | 11 +++++ - 39 files changed, 178 insertions(+) - -commit 46ac45647760984c6220f04ba4521038e628b169 -Author: Behdad Esfahbod -Date: Fri Jan 20 19:32:17 2012 -0500 - - Fix Unicode encoding issue - - test/shaping/hb_test_tools.py | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit ad34e39a4a320310b1edd9fc4d7e740373510c69 -Author: Behdad Esfahbod -Date: Fri Jan 20 18:39:27 2012 -0500 - - Make test tools interactive - - By bypassing readlines() buffering. - - test/shaping/hb_test_tools.py | 33 +++++++++++++++++++++++++++------ - 1 file changed, 27 insertions(+), 6 deletions(-) - -commit 91540a7d97051a3d6e97fdcd1e98af23e0780cdd -Author: Behdad Esfahbod -Date: Fri Jan 20 18:27:52 2012 -0500 - - Move most testing logic into hb_test_tools.py - - The actual utils are one-liners now. - - test/shaping/hb-diff | 77 ++------------- - test/shaping/hb-diff-filter-failures | 27 +----- - test/shaping/hb-unicode-decode | 18 +--- - test/shaping/hb-unicode-encode | 21 +--- - test/shaping/hb-unicode-prettyname | 53 +---------- - test/shaping/hb_test_tools.py | 180 - +++++++++++++++++++++++++++++++++++ - 6 files changed, 197 insertions(+), 179 deletions(-) - -commit 66aa080033dcff07b8bb5e7b1f0e3511f067d6c1 -Author: Behdad Esfahbod -Date: Fri Jan 20 17:36:10 2012 -0500 - - Remove test-shape-complex - - New shaping testsuite and framework coming. - - test/api/Makefile.am | 6 - - test/api/test-shape-complex.c | 1237 - ------------------------------------ - test/shaping/hb-unicode-prettyname | 1 + - 3 files changed, 1 insertion(+), 1243 deletions(-) - -commit ed459bfb63c58b59fc0dbe25021c396e8ef8683c -Author: Behdad Esfahbod -Date: Fri Jan 20 17:24:05 2012 -0500 - - Add hb-unicode-encode - - test/shaping/hb-unicode-encode | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -commit d8134bc017ca3383e0978ddee57070eb3aab8964 -Author: Behdad Esfahbod -Date: Fri Jan 20 17:18:59 2012 -0500 - - [hb-shape] Add parantheses around --show-text output - - util/options.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit b12c4d43614199f8910a06507603f6c431d9df67 -Author: Behdad Esfahbod -Date: Fri Jan 20 17:17:44 2012 -0500 - - Add hb-diff-filter-failures - - test/shaping/hb-diff-filter-failures | 28 ++++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - -commit d4bffbc55bf4c23ab5c7f46af613aeecc79ac515 -Author: Behdad Esfahbod -Date: Fri Jan 20 17:16:35 2012 -0500 - - Move - - test/shaping/texts/MANIFEST | - 4 +--- - test/shaping/texts/in-tree/MANIFEST | - 3 +++ - test/shaping/texts/{ => in-tree}/shaper-arabic/MANIFEST | 0 - test/shaping/texts/{ => in-tree}/shaper-arabic/script-arabic/MANIFEST | 0 - .../shaping/texts/{ => in-tree}/shaper-arabic/script-mandaic/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-arabic/script-mongolian/MANIFEST | 0 - test/shaping/texts/{ => in-tree}/shaper-arabic/script-nko/MANIFEST | 0 - test/shaping/texts/{ => in-tree}/shaper-arabic/script-syriac/MANIFEST | 0 - test/shaping/texts/{ => in-tree}/shaper-default/MANIFEST | 0 - test/shaping/texts/{ => in-tree}/shaper-indic/MANIFEST | 0 - test/shaping/texts/{ => in-tree}/shaper-indic/indic/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-assamese/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-assamese/utrrs/LICENSE | 0 - .../{ => in-tree}/shaper-indic/indic/script-assamese/utrrs/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-assamese/utrrs/README | 0 - .../{ => in-tree}/shaper-indic/indic/script-assamese/utrrs/SOURCES | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../shaper-indic/indic/script-assamese/utrrs/codepoint/MANIFEST | 0 - .../script-assamese/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../script-assamese/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 - .../shaper-indic/indic/script-assamese/utrrs/gpos/MANIFEST | 0 - .../indic/script-assamese/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../shaper-indic/indic/script-assamese/utrrs/gsub/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-bengali/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-bengali/utrrs/LICENSE | 0 - .../{ => in-tree}/shaper-indic/indic/script-bengali/utrrs/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-bengali/utrrs/README | 0 - .../{ => in-tree}/shaper-indic/indic/script-bengali/utrrs/SOURCES | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../shaper-indic/indic/script-bengali/utrrs/codepoint/MANIFEST | 0 - .../script-bengali/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../script-bengali/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 - .../shaper-indic/indic/script-bengali/utrrs/gpos/MANIFEST | 0 - .../indic/script-bengali/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../shaper-indic/indic/script-bengali/utrrs/gsub/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-devanagari/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-devanagari/utrrs/LICENSE | 0 - .../{ => in-tree}/shaper-indic/indic/script-devanagari/utrrs/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-devanagari/utrrs/README | 0 - .../{ => in-tree}/shaper-indic/indic/script-devanagari/utrrs/SOURCES | 0 - .../codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../codepoint/IndicFontFeatureCodepoint-DevnagariSpecificAddition.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-GenericPunctuation.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../shaper-indic/indic/script-devanagari/utrrs/codepoint/MANIFEST | 0 - .../script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../script-devanagari/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 - .../shaper-indic/indic/script-devanagari/utrrs/gpos/MANIFEST | 0 - .../indic/script-devanagari/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../shaper-indic/indic/script-devanagari/utrrs/gsub/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-gujarati/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-gujarati/utrrs/LICENSE | 0 - .../{ => in-tree}/shaper-indic/indic/script-gujarati/utrrs/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-gujarati/utrrs/README | 0 - .../{ => in-tree}/shaper-indic/indic/script-gujarati/utrrs/SOURCES | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../shaper-indic/indic/script-gujarati/utrrs/codepoint/MANIFEST | 0 - .../script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../script-gujarati/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 - .../shaper-indic/indic/script-gujarati/utrrs/gpos/MANIFEST | 0 - .../indic/script-gujarati/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../shaper-indic/indic/script-gujarati/utrrs/gsub/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-kannada/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-kannada/utrrs/LICENSE | 0 - .../{ => in-tree}/shaper-indic/indic/script-kannada/utrrs/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-kannada/utrrs/README | 0 - .../{ => in-tree}/shaper-indic/indic/script-kannada/utrrs/SOURCES | 0 - .../codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../shaper-indic/indic/script-kannada/utrrs/codepoint/MANIFEST | 0 - .../script-kannada/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../shaper-indic/indic/script-kannada/utrrs/gpos/MANIFEST | 0 - .../indic/script-kannada/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../shaper-indic/indic/script-kannada/utrrs/gsub/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-malayalam/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-malayalam/utrrs/LICENSE | 0 - .../{ => in-tree}/shaper-indic/indic/script-malayalam/utrrs/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-malayalam/utrrs/README | 0 - .../{ => in-tree}/shaper-indic/indic/script-malayalam/utrrs/SOURCES | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../shaper-indic/indic/script-malayalam/utrrs/codepoint/MANIFEST | 0 - .../indic/script-malayalam/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../shaper-indic/indic/script-malayalam/utrrs/gsub/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-oriya/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-oriya/utrrs/LICENSE | 0 - .../{ => in-tree}/shaper-indic/indic/script-oriya/utrrs/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-oriya/utrrs/README | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-oriya/utrrs/SOURCES | 0 - .../codepoint/IndicFontFeatureCodepoint-AdditionalConsonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../script-oriya/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-OriyaSpecific.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../shaper-indic/indic/script-oriya/utrrs/codepoint/MANIFEST | 0 - .../indic/script-oriya/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../{ => in-tree}/shaper-indic/indic/script-oriya/utrrs/gsub/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-punjabi/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-punjabi/utrrs/LICENSE | 0 - .../{ => in-tree}/shaper-indic/indic/script-punjabi/utrrs/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-punjabi/utrrs/README | 0 - .../{ => in-tree}/shaper-indic/indic/script-punjabi/utrrs/SOURCES | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-GurmukhiSpecific.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../shaper-indic/indic/script-punjabi/utrrs/codepoint/MANIFEST | 0 - .../script-punjabi/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../script-punjabi/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 - .../shaper-indic/indic/script-punjabi/utrrs/gpos/MANIFEST | 0 - .../indic/script-punjabi/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../shaper-indic/indic/script-punjabi/utrrs/gsub/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-sinhala/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-sinhala/utrrs/LICENSE | 0 - .../{ => in-tree}/shaper-indic/indic/script-sinhala/utrrs/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-sinhala/utrrs/README | 0 - .../{ => in-tree}/shaper-indic/indic/script-sinhala/utrrs/SOURCES | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Punctuation.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../shaper-indic/indic/script-sinhala/utrrs/codepoint/MANIFEST | 0 - .../indic/script-sinhala/utrrs/gpos/IndicFontFeatureGPOS.txt | 0 - .../shaper-indic/indic/script-sinhala/utrrs/gpos/MANIFEST | 0 - .../indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Conjunct.txt | 0 - .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Rakaaraansaya.txt | 0 - .../indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Repaya.txt | 0 - .../script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Special-Cases.txt | 0 - .../utrrs/gsub/IndicFontFeatureGSUB-TouchingLetters.txt | 0 - .../indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB-Yansaya.txt | 0 - .../indic/script-sinhala/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../shaper-indic/indic/script-sinhala/utrrs/gsub/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-tamil/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-tamil/utrrs/LICENSE | 0 - .../{ => in-tree}/shaper-indic/indic/script-tamil/utrrs/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-tamil/utrrs/README | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-tamil/utrrs/SOURCES | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-CurrencySymbols.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../script-tamil/utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Numerics.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Symbols.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-TamilSymbol.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../shaper-indic/indic/script-tamil/utrrs/codepoint/MANIFEST | 0 - .../indic/script-tamil/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../indic/script-tamil/utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 0 - .../{ => in-tree}/shaper-indic/indic/script-tamil/utrrs/gpos/MANIFEST | 0 - .../indic/script-tamil/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../{ => in-tree}/shaper-indic/indic/script-tamil/utrrs/gsub/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-telugu/MANIFEST | 0 - .../{ => in-tree}/shaper-indic/indic/script-telugu/utrrs/LICENSE | 0 - .../{ => in-tree}/shaper-indic/indic/script-telugu/utrrs/MANIFEST | 0 - .../texts/{ => in-tree}/shaper-indic/indic/script-telugu/utrrs/README | 0 - .../{ => in-tree}/shaper-indic/indic/script-telugu/utrrs/SOURCES | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-AdditionalVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Consonants.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-DependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Digits.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-IndependentVowels.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-Reserved.txt | 0 - .../utrrs/codepoint/IndicFontFeatureCodepoint-VariousSigns.txt | 0 - .../shaper-indic/indic/script-telugu/utrrs/codepoint/MANIFEST | 0 - .../indic/script-telugu/utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 0 - .../shaper-indic/indic/script-telugu/utrrs/gpos/MANIFEST | 0 - .../indic/script-telugu/utrrs/gsub/IndicFontFeatureGSUB.txt | 0 - .../shaper-indic/indic/script-telugu/utrrs/gsub/MANIFEST | 0 - 212 files changed, 4 insertions(+), 3 deletions(-) - -commit 45f640c98d752161e51eda63061d70fad9ab9f68 -Author: Behdad Esfahbod -Date: Fri Jan 20 14:24:21 2012 -0500 - - Minor - - test/shaping/hb-diff | 35 ++++++++++++++++++++--------------- - 1 file changed, 20 insertions(+), 15 deletions(-) - -commit 47ca766a9cbdfb304f60e23a4dee0a155075a277 -Author: Behdad Esfahbod -Date: Fri Jan 20 14:21:53 2012 -0500 - - Minor - - test/shaping/hb-unicode-decode | 2 +- - test/shaping/hb-unicode-prettyname | 5 ++--- - 2 files changed, 3 insertions(+), 4 deletions(-) - -commit 8f1db07894674b02c36ca9352e666b4618ee8832 -Author: Behdad Esfahbod -Date: Fri Jan 20 13:57:57 2012 -0500 - - [test/shaping] Add some Indic test data for the new test suite - - Imported from UTRRS. - - test/shaping/texts/shaper-indic/indic/MANIFEST | 2 +- - .../shaper-indic/indic/script-assamese/MANIFEST | 1 + - .../indic/script-assamese/utrrs/LICENSE | 19 + - .../indic/script-assamese/utrrs/MANIFEST | 3 + - .../indic/script-assamese/utrrs/README | 13 + - .../indic/script-assamese/utrrs/SOURCES | 2 + - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 4 + - .../IndicFontFeatureCodepoint-Consonants.txt | 40 + - .../IndicFontFeatureCodepoint-DependentVowels.txt | 10 + - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 10 + - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 11 + - .../IndicFontFeatureCodepoint-Reserved.txt | 2 + - .../IndicFontFeatureCodepoint-VariousSigns.txt | 6 + - .../indic/script-assamese/utrrs/codepoint/MANIFEST | 7 + - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 59 + - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 131 ++ - .../indic/script-assamese/utrrs/gpos/MANIFEST | 2 + - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 139 ++ - .../indic/script-assamese/utrrs/gsub/MANIFEST | 1 + - .../shaper-indic/indic/script-bengali/MANIFEST | 1 + - .../indic/script-bengali/utrrs/LICENSE | 19 + - .../indic/script-bengali/utrrs/MANIFEST | 3 + - .../shaper-indic/indic/script-bengali/utrrs/README | 13 + - .../indic/script-bengali/utrrs/SOURCES | 2 + - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 1 + - .../IndicFontFeatureCodepoint-Consonants.txt | 36 + - .../IndicFontFeatureCodepoint-DependentVowels.txt | 10 + - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 10 + - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 12 + - .../IndicFontFeatureCodepoint-Reserved.txt | 2 + - .../IndicFontFeatureCodepoint-VariousSigns.txt | 6 + - .../indic/script-bengali/utrrs/codepoint/MANIFEST | 7 + - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 58 + - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 119 ++ - .../indic/script-bengali/utrrs/gpos/MANIFEST | 2 + - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 215 +++ - .../indic/script-bengali/utrrs/gsub/MANIFEST | 1 + - .../shaper-indic/indic/script-devanagari/MANIFEST | 1 + - .../indic/script-devanagari/utrrs/LICENSE | 19 + - .../indic/script-devanagari/utrrs/MANIFEST | 3 + - .../indic/script-devanagari/utrrs/README | 13 + - .../indic/script-devanagari/utrrs/SOURCES | 2 + - ...icFontFeatureCodepoint-AdditionalConsonants.txt | 8 + - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 4 + - .../IndicFontFeatureCodepoint-Consonants.txt | 45 + - .../IndicFontFeatureCodepoint-DependentVowels.txt | 14 + - ...tFeatureCodepoint-DevnagariSpecificAddition.txt | 1 + - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 10 + - ...ndicFontFeatureCodepoint-GenericPunctuation.txt | 2 + - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 16 + - .../IndicFontFeatureCodepoint-VariousSigns.txt | 10 + - .../script-devanagari/utrrs/codepoint/MANIFEST | 9 + - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 185 +++ - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 185 +++ - .../indic/script-devanagari/utrrs/gpos/MANIFEST | 2 + - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 1367 - ++++++++++++++++++++ - .../indic/script-devanagari/utrrs/gsub/MANIFEST | 1 + - .../shaper-indic/indic/script-gujarati/MANIFEST | 1 + - .../indic/script-gujarati/utrrs/LICENSE | 19 + - .../indic/script-gujarati/utrrs/MANIFEST | 3 + - .../indic/script-gujarati/utrrs/README | 13 + - .../indic/script-gujarati/utrrs/SOURCES | 2 + - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 1 + - .../IndicFontFeatureCodepoint-Consonants.txt | 34 + - .../IndicFontFeatureCodepoint-DependentVowels.txt | 12 + - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 10 + - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 13 + - .../IndicFontFeatureCodepoint-Reserved.txt | 2 + - .../IndicFontFeatureCodepoint-VariousSigns.txt | 7 + - .../indic/script-gujarati/utrrs/codepoint/MANIFEST | 7 + - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 170 +++ - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 170 +++ - .../indic/script-gujarati/utrrs/gpos/MANIFEST | 2 + - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 1156 - +++++++++++++++++ - .../indic/script-gujarati/utrrs/gsub/MANIFEST | 1 + - .../shaper-indic/indic/script-kannada/MANIFEST | 1 + - .../indic/script-kannada/utrrs/LICENSE | 19 + - .../indic/script-kannada/utrrs/MANIFEST | 3 + - .../shaper-indic/indic/script-kannada/utrrs/README | 13 + - .../indic/script-kannada/utrrs/SOURCES | 2 + - ...icFontFeatureCodepoint-AdditionalConsonants.txt | 1 + - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 4 + - .../IndicFontFeatureCodepoint-Consonants.txt | 40 + - .../IndicFontFeatureCodepoint-DependentVowels.txt | 13 + - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 10 + - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 14 + - .../IndicFontFeatureCodepoint-Reserved.txt | 2 + - .../IndicFontFeatureCodepoint-VariousSigns.txt | 9 + - .../indic/script-kannada/utrrs/codepoint/MANIFEST | 8 + - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 188 +++ - .../indic/script-kannada/utrrs/gpos/MANIFEST | 1 + - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 306 +++++ - .../indic/script-kannada/utrrs/gsub/MANIFEST | 1 + - .../shaper-indic/indic/script-malayalam/MANIFEST | 1 + - .../indic/script-malayalam/utrrs/LICENSE | 19 + - .../indic/script-malayalam/utrrs/MANIFEST | 2 + - .../indic/script-malayalam/utrrs/README | 13 + - .../indic/script-malayalam/utrrs/SOURCES | 2 + - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 2 + - .../IndicFontFeatureCodepoint-Consonants.txt | 36 + - .../IndicFontFeatureCodepoint-DependentVowels.txt | 12 + - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 10 + - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 14 + - .../IndicFontFeatureCodepoint-Reserved.txt | 2 + - .../IndicFontFeatureCodepoint-VariousSigns.txt | 4 + - .../script-malayalam/utrrs/codepoint/MANIFEST | 7 + - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 254 ++++ - .../indic/script-malayalam/utrrs/gsub/MANIFEST | 1 + - .../texts/shaper-indic/indic/script-oriya/MANIFEST | 1 + - .../shaper-indic/indic/script-oriya/utrrs/LICENSE | 19 + - .../shaper-indic/indic/script-oriya/utrrs/MANIFEST | 2 + - .../shaper-indic/indic/script-oriya/utrrs/README | 13 + - .../shaper-indic/indic/script-oriya/utrrs/SOURCES | 2 + - ...icFontFeatureCodepoint-AdditionalConsonants.txt | 3 + - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 2 + - .../IndicFontFeatureCodepoint-Consonants.txt | 34 + - .../IndicFontFeatureCodepoint-DependentVowels.txt | 12 + - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 10 + - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 12 + - .../IndicFontFeatureCodepoint-OriyaSpecific.txt | 2 + - .../IndicFontFeatureCodepoint-Reserved.txt | 2 + - .../IndicFontFeatureCodepoint-VariousSigns.txt | 8 + - .../indic/script-oriya/utrrs/codepoint/MANIFEST | 9 + - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 170 +++ - .../indic/script-oriya/utrrs/gsub/MANIFEST | 1 + - .../shaper-indic/indic/script-punjabi/MANIFEST | 1 + - .../indic/script-punjabi/utrrs/LICENSE | 19 + - .../indic/script-punjabi/utrrs/MANIFEST | 3 + - .../shaper-indic/indic/script-punjabi/utrrs/README | 13 + - .../indic/script-punjabi/utrrs/SOURCES | 2 + - .../IndicFontFeatureCodepoint-Consonants.txt | 38 + - .../IndicFontFeatureCodepoint-DependentVowels.txt | 9 + - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 10 + - .../IndicFontFeatureCodepoint-GurmukhiSpecific.txt | 6 + - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 10 + - .../IndicFontFeatureCodepoint-Reserved.txt | 2 + - .../IndicFontFeatureCodepoint-VariousSigns.txt | 6 + - .../indic/script-punjabi/utrrs/codepoint/MANIFEST | 7 + - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 22 + - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 2 + - .../indic/script-punjabi/utrrs/gpos/MANIFEST | 2 + - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 152 +++ - .../indic/script-punjabi/utrrs/gsub/MANIFEST | 1 + - .../shaper-indic/indic/script-sinhala/MANIFEST | 1 + - .../indic/script-sinhala/utrrs/LICENSE | 19 + - .../indic/script-sinhala/utrrs/MANIFEST | 3 + - .../shaper-indic/indic/script-sinhala/utrrs/README | 13 + - .../indic/script-sinhala/utrrs/SOURCES | 2 + - .../IndicFontFeatureCodepoint-Consonants.txt | 41 + - .../IndicFontFeatureCodepoint-DependentVowels.txt | 17 + - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 18 + - .../IndicFontFeatureCodepoint-Punctuation.txt | 1 + - .../IndicFontFeatureCodepoint-VariousSigns.txt | 3 + - .../indic/script-sinhala/utrrs/codepoint/MANIFEST | 5 + - .../utrrs/gpos/IndicFontFeatureGPOS.txt | 162 +++ - .../indic/script-sinhala/utrrs/gpos/MANIFEST | 1 + - .../utrrs/gsub/IndicFontFeatureGSUB-Conjunct.txt | 1 + - .../gsub/IndicFontFeatureGSUB-Rakaaraansaya.txt | 41 + - .../utrrs/gsub/IndicFontFeatureGSUB-Repaya.txt | 42 + - .../gsub/IndicFontFeatureGSUB-Special-Cases.txt | 2 + - .../gsub/IndicFontFeatureGSUB-TouchingLetters.txt | 1 + - .../utrrs/gsub/IndicFontFeatureGSUB-Yansaya.txt | 41 + - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 1 + - .../indic/script-sinhala/utrrs/gsub/MANIFEST | 7 + - .../texts/shaper-indic/indic/script-tamil/MANIFEST | 1 + - .../shaper-indic/indic/script-tamil/utrrs/LICENSE | 19 + - .../shaper-indic/indic/script-tamil/utrrs/MANIFEST | 3 + - .../shaper-indic/indic/script-tamil/utrrs/README | 13 + - .../shaper-indic/indic/script-tamil/utrrs/SOURCES | 2 + - .../IndicFontFeatureCodepoint-Consonants.txt | 23 + - .../IndicFontFeatureCodepoint-CurrencySymbols.txt | 1 + - .../IndicFontFeatureCodepoint-DependentVowels.txt | 11 + - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 10 + - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 12 + - .../IndicFontFeatureCodepoint-Numerics.txt | 3 + - .../IndicFontFeatureCodepoint-Reserved.txt | 2 + - .../IndicFontFeatureCodepoint-Symbols.txt | 6 + - .../IndicFontFeatureCodepoint-TamilSymbol.txt | 1 + - .../IndicFontFeatureCodepoint-VariousSigns.txt | 4 + - .../indic/script-tamil/utrrs/codepoint/MANIFEST | 10 + - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 64 + - .../utrrs/gpos/IndicFontFeatureGPOS-BelowBase.txt | 44 + - .../indic/script-tamil/utrrs/gpos/MANIFEST | 2 + - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 4 + - .../indic/script-tamil/utrrs/gsub/MANIFEST | 1 + - .../shaper-indic/indic/script-telugu/MANIFEST | 1 + - .../shaper-indic/indic/script-telugu/utrrs/LICENSE | 19 + - .../indic/script-telugu/utrrs/MANIFEST | 3 + - .../shaper-indic/indic/script-telugu/utrrs/README | 13 + - .../shaper-indic/indic/script-telugu/utrrs/SOURCES | 2 + - .../IndicFontFeatureCodepoint-AdditionalVowels.txt | 2 + - .../IndicFontFeatureCodepoint-Consonants.txt | 38 + - .../IndicFontFeatureCodepoint-DependentVowels.txt | 13 + - .../codepoint/IndicFontFeatureCodepoint-Digits.txt | 10 + - ...IndicFontFeatureCodepoint-IndependentVowels.txt | 14 + - .../IndicFontFeatureCodepoint-Reserved.txt | 2 + - .../IndicFontFeatureCodepoint-VariousSigns.txt | 6 + - .../indic/script-telugu/utrrs/codepoint/MANIFEST | 7 + - .../utrrs/gpos/IndicFontFeatureGPOS-AboveBase.txt | 385 ++++++ - .../indic/script-telugu/utrrs/gpos/MANIFEST | 1 + - .../utrrs/gsub/IndicFontFeatureGSUB.txt | 287 ++++ - .../indic/script-telugu/utrrs/gsub/MANIFEST | 1 + - 202 files changed, 7581 insertions(+), 1 deletion(-) - -commit 11267aef364b1cc5683ce65aaf544b7f2a127fb3 -Author: Behdad Esfahbod -Date: Fri Jan 20 13:57:14 2012 -0500 - - Fix - - test/shaping/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4e84ce48d5d41cf1bad2fb8774e5c66745b0e75e -Author: Behdad Esfahbod -Date: Fri Jan 20 13:50:55 2012 -0500 - - Move hb-diff to test/shaping/ - - {util => test/shaping}/hb-diff | 0 - util/Makefile.am | 2 -- - 2 files changed, 2 deletions(-) - -commit f868e1b84d2f73688d4d6558d44610b1ac75ec13 -Author: Behdad Esfahbod -Date: Fri Jan 20 13:50:05 2012 -0500 - - Add hb-unicode-decode - - test/shaping/{hb-read-manifest => hb-manifest-read} | 0 - .../{hb-update-manifests => hb-manifest-update} | 0 - test/shaping/hb-unicode-decode | 19 - +++++++++++++++++++ - 3 files changed, 19 insertions(+) - -commit 9ab23ef4749b51e60464b9ef2a92739cdc2b36ba -Author: Behdad Esfahbod -Date: Fri Jan 20 13:49:56 2012 -0500 - - Minor - - test/shaping/hb-unicode-prettyname | 5 +++++ - 1 file changed, 5 insertions(+) - -commit c8d81db03335192f20f08ab8fabe9869fd7350a2 -Author: Behdad Esfahbod -Date: Fri Jan 20 13:39:27 2012 -0500 - - Recognize more characters - - test/shaping/hb-unicode-prettyname | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 0016d4662d486fa32c2191df801a2792f44b273c -Author: Behdad Esfahbod -Date: Fri Jan 20 13:31:59 2012 -0500 - - [test] Make hb-unicode-prettyname take a --stdin option - - test/shaping/hb-unicode-prettyname | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -commit ad8c6446f2e0d21d065203924467f6a2c418401e -Author: Behdad Esfahbod -Date: Thu Jan 19 20:28:31 2012 -0500 - - [test/shaping] Add hb-unicode-prettyname - - test/shaping/hb-unicode-prettyname | 38 - ++++++++++++++++++++++++++++++++++++++ - 1 file changed, 38 insertions(+) - -commit e900869b0f373d25b72d966338beb6cbc53e6446 -Author: Behdad Esfahbod -Date: Thu Jan 19 20:28:15 2012 -0500 - - [test/shaping] Add hb-read-manifest - - test/shaping/hb-read-manifest | 36 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - -commit a211cd3ffce3aa100e92d837384bbaa9decf6b09 -Author: Behdad Esfahbod -Date: Thu Jan 19 20:27:53 2012 -0500 - - Ignore AUTHORS also - - test/shaping/hb-update-manifests | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c91c4fa47140c0d6191241a832fc534b1c1514ce -Author: Behdad Esfahbod -Date: Thu Jan 19 17:51:57 2012 -0500 - - [hb-shape] Change glyphstring brackets from to [/] - - Sorry for the disruption but I need this to differentiate from the - Unicode string. - - util/options.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 36fe87d1b4bf8317074a597501d1ee52c0bec38d -Author: Behdad Esfahbod -Date: Thu Jan 19 16:55:26 2012 -0500 - - More Indic tests from Pravin - - test/api/test-shape-complex.c | 48 - +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 48 insertions(+) - -commit a33e46cf7d9862856fd7ecb04e047cc58a9785c8 -Author: Behdad Esfahbod -Date: Thu Jan 19 15:43:48 2012 -0500 - - [test/shaping] Add hb-update-manifests - - test/shaping/Makefile.am | 6 ++---- - test/shaping/hb-update-manifests | 22 - ++++++++++++++++++++++ - test/shaping/texts/shaper-indic/indic/MANIFEST | 1 + - 3 files changed, 25 insertions(+), 4 deletions(-) - -commit d4de562adf691425b15e3e9c0eec035feaa60413 -Author: Behdad Esfahbod -Date: Thu Jan 19 15:21:04 2012 -0500 - - Start adding new shaping test suite together - - configure.ac | 1 + - test/Makefile.am | 2 +- - test/shaping/Makefile.am | - 10 ++++++++++ - test/shaping/texts/MANIFEST | 3 +++ - test/shaping/texts/shaper-arabic/MANIFEST | 5 +++++ - test/shaping/texts/shaper-arabic/script-arabic/MANIFEST | 0 - test/shaping/texts/shaper-arabic/script-mandaic/MANIFEST | 0 - test/shaping/texts/shaper-arabic/script-mongolian/MANIFEST | 0 - test/shaping/texts/shaper-arabic/script-nko/MANIFEST | 0 - test/shaping/texts/shaper-arabic/script-syriac/MANIFEST | 0 - test/shaping/texts/shaper-default/MANIFEST | 0 - test/shaping/texts/shaper-indic/MANIFEST | 1 + - test/shaping/texts/shaper-indic/indic/MANIFEST | - 10 ++++++++++ - test/shaping/texts/shaper-indic/indic/script-assamese/MANIFEST | 0 - test/shaping/texts/shaper-indic/indic/script-bengali/MANIFEST | 0 - .../texts/shaper-indic/indic/script-devanagari/MANIFEST | 0 - test/shaping/texts/shaper-indic/indic/script-gujarati/MANIFEST | 0 - test/shaping/texts/shaper-indic/indic/script-kannada/MANIFEST | 0 - .../shaping/texts/shaper-indic/indic/script-malayalam/MANIFEST | 0 - test/shaping/texts/shaper-indic/indic/script-oriya/MANIFEST | 0 - test/shaping/texts/shaper-indic/indic/script-punjabi/MANIFEST | 0 - test/shaping/texts/shaper-indic/indic/script-tamil/MANIFEST | 0 - test/shaping/texts/shaper-indic/indic/script-telugu/MANIFEST | 0 - 23 files changed, 31 insertions(+), 1 deletion(-) - -commit 7a4a848db27d1605195f677c9c8632cde558aa05 -Author: Behdad Esfahbod -Date: Thu Jan 19 15:15:21 2012 -0500 - - Minor - - src/hb-ot-shape-complex-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 4d6dafd47f4271549e528d2e8047d50562aef399 -Author: Behdad Esfahbod -Date: Thu Jan 19 14:52:02 2012 -0500 - - Rename test/ to test/api/ - - configure.ac | 1 + - test/Makefile.am | 128 - +---------------------------------- - test/api/Makefile.am | 131 - ++++++++++++++++++++++++++++++++++++ - test/{ => api}/hb-test.h | 0 - test/{ => api}/test-blob.c | 0 - test/{ => api}/test-buffer.c | 0 - test/{ => api}/test-c.c | 0 - test/{ => api}/test-common.c | 0 - test/{ => api}/test-cplusplus.cc | 0 - test/{ => api}/test-font.c | 0 - test/{ => api}/test-object.c | 0 - test/{ => api}/test-ot-tag.c | 0 - test/{ => api}/test-shape-complex.c | 0 - test/{ => api}/test-shape.c | 0 - test/{ => api}/test-unicode.c | 0 - test/{ => api}/test-version.c | 0 - 16 files changed, 133 insertions(+), 127 deletions(-) - -commit 3b5c22c39b87155f315853fb0c40edcf14e99b54 -Author: Behdad Esfahbod -Date: Thu Jan 19 14:28:11 2012 -0500 - - Remove src/test.cc - - Not really useful. - - src/Makefile.am | 6 +-- - src/test.cc | 132 - -------------------------------------------------------- - 2 files changed, 1 insertion(+), 137 deletions(-) - -commit 4983feebbbb25e79201bf34035e4d58e61218758 -Author: Behdad Esfahbod -Date: Thu Jan 19 13:54:52 2012 -0500 - - [hb-diff] Clean up - - util/hb-diff | 41 ++++++++++++++++++++++++++--------------- - 1 file changed, 26 insertions(+), 15 deletions(-) - -commit cdc673d97c5ffedb386865a81f54a5cedcbad27c -Author: Behdad Esfahbod -Date: Thu Jan 19 12:46:18 2012 -0500 - - [hb-shape] Add --show-line-num - - Ok, much more useful as a test suite driver now. - - util/hb-shape.cc | 24 +++++------------------- - util/options.cc | 34 ++++++++++++++++++++++++++++++++++ - util/options.hh | 25 ++++++++++++++++++++----- - 3 files changed, 59 insertions(+), 24 deletions(-) - -commit cc4d9810d6318ca2e4de3b8d62f03b51cc21ee05 -Author: Behdad Esfahbod -Date: Thu Jan 19 12:32:20 2012 -0500 - - [hb-shape] Add --show-text and --show-unicode options - - util/hb-shape.cc | 19 ++++++++++++++++++- - util/options.cc | 26 +++++++++++++++++++++++--- - util/options.hh | 12 +++++++++--- - 3 files changed, 50 insertions(+), 7 deletions(-) - -commit 27c36af411c7c4d75dd25d79fc76dd92c6bb9643 -Author: Behdad Esfahbod -Date: Thu Jan 19 12:30:43 2012 -0500 - - Fix OOB in hb-shape - - util/options.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8d2781d69274672303e30522e222bd01c6b5e781 -Author: Behdad Esfahbod -Date: Thu Jan 19 11:36:39 2012 -0500 - - [test] Add two Indic test cases from Bernard Massot - - test/test-shape-complex.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - -commit 8750abaf8410005facbea8c886c592bead7f959b -Author: Behdad Esfahbod -Date: Wed Jan 18 22:47:44 2012 -0500 - - [util] Add --help-features - - Patch from Khaled Hosny. - - util/options.cc | 42 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 41 insertions(+), 1 deletion(-) - -commit 889caa52fa1bef61013ec1d127f84d7d5907ef1e -Author: Behdad Esfahbod -Date: Wed Jan 18 22:32:52 2012 -0500 - - [icu] Use U_FAILURE - - src/hb-icu.cc | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 36a4f4a482456ee816dcb59befa0b0538ba487df -Author: Behdad Esfahbod -Date: Wed Jan 18 22:16:49 2012 -0500 - - Replace u_strlen() with u_countChar32() - - The latter is what I meant. - - src/hb-icu.cc | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -commit 055fb24d03ae518fa0aa6c2860a03f3cb6a5ef0d -Author: Behdad Esfahbod -Date: Wed Jan 18 21:58:34 2012 -0500 - - Add test for bug in ICU decompose - - As reported by Kenichi Ishibashi on 2011-10-28. - - test/test-unicode.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c521e793bd6c1dafacb94253a45b9c70ab38525e -Author: Behdad Esfahbod -Date: Wed Jan 18 21:51:05 2012 -0500 - - Fix OOB in replace_glyph() - - Patch from Kenichi Ishibashi. - - src/hb-buffer.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 03408ce73d003ed4e58e3f8472f9445e72b86bee -Author: Behdad Esfahbod -Date: Wed Jan 18 21:28:34 2012 -0500 - - Fix more possible buffer overruns - - I have this function, but can't clean up it to my satisfaction. - - src/hb-ot-layout-gsubgpos-private.hh | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 7d479900cd11bc88148cd601ee43bc5492ce5843 -Author: Behdad Esfahbod -Date: Wed Jan 18 21:19:32 2012 -0500 - - Refactor the two remaining uses of _hb_ot_layout_skip_mark() - - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 7 +++++-- - 2 files changed, 6 insertions(+), 3 deletions(-) - -commit 506ffeb8e77a668fa305139582d215c32e46bb03 -Author: Behdad Esfahbod -Date: Wed Jan 18 16:07:53 2012 -0500 - - Further mark skippy fixes from Jonathan Kew - - We should be in good shape now. - - src/hb-ot-layout-gsubgpos-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit a4a48fe6d4f884a37e720430347d10dbe3562a79 -Author: Behdad Esfahbod -Date: Tue Jan 17 18:08:41 2012 -0500 - - Fix mark skipping regression - - Ouch! - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4ab97311541225906f6b737a2b47de252224cc09 -Author: Behdad Esfahbod -Date: Mon Jan 16 22:05:08 2012 -0500 - - Refactor mark skipping - - src/hb-ot-layout-gpos-table.hh | 95 ++++++++++---------------- - src/hb-ot-layout-gsub-table.hh | 21 +++--- - src/hb-ot-layout-gsubgpos-private.hh | 125 - +++++++++++++++++++++++++++-------- - 3 files changed, 143 insertions(+), 98 deletions(-) - -commit 370f03e9c69d98d735eafb7e72b13b17f42cbaa9 -Author: Behdad Esfahbod -Date: Mon Jan 16 17:03:55 2012 -0500 - - Minor - - src/hb-ot-layout-gsub-table.hh | 5 ++--- - src/hb-ot-layout-gsubgpos-private.hh | 6 ++---- - 2 files changed, 4 insertions(+), 7 deletions(-) - -commit 4d3aeb8cb2bc1ca7cdd03ba28ba8c334f12d4c03 -Author: Behdad Esfahbod -Date: Mon Jan 16 16:43:26 2012 -0500 - - [GSUB/GPOS] Fix mark skip indexing issues - - Mozilla bug 701637 and 714067 combined. - - Patch from Jonathan Kew. - - src/hb-ot-layout-gpos-table.hh | 42 - ++++++++++++++++----------------- - src/hb-ot-layout-gsub-table.hh | 21 +++++++++-------- - src/hb-ot-layout-gsubgpos-private.hh | 45 - ++++++++++++++++++------------------ - 3 files changed, 54 insertions(+), 54 deletions(-) - -commit e8eedf2687f05372bf5476e84139d01ba67c9f73 -Author: Behdad Esfahbod -Date: Mon Jan 16 16:39:40 2012 -0500 - - Avoid enum trailing commas - - Based on patch from Jonathan Kew. - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - src/hb-ot-shape-complex-private.hh | 2 ++ - 2 files changed, 4 insertions(+), 2 deletions(-) - -commit 3d0ddd12801689b4093ffca97da4dd9ca669b64a -Author: Behdad Esfahbod -Date: Sun Jan 15 15:55:52 2012 -0500 - - Require glib >= 2.16 for the gobject option - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 95ab82a992ab916046c2e6205db7cadeec88d206 -Author: Behdad Esfahbod -Date: Sun Jan 15 14:56:56 2012 -0500 - - Disable gtk-doc macro - - We don't have any docs yet. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 299ae0c3a367c84a835eadbd1276ca284d2720c0 -Author: Behdad Esfahbod -Date: Sat Jan 14 21:29:45 2012 -0500 - - [icu] Remove glib-ism - - src/hb-icu.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit a097043f9a81e6c20caf69a5dabdf9e00438d79b -Author: Behdad Esfahbod -Date: Sat Jan 14 17:55:51 2012 -0500 - - Allow space in one more place when parsing features - - util/options.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit af92135424b994062648f4fb7e26af0bd970a4b1 -Author: Behdad Esfahbod -Date: Fri Oct 21 09:18:43 2011 -0700 - - Minor - - src/hb-object-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 89d89646e8163b6c0874b9a3c14d4da974ea8219 -Author: Behdad Esfahbod -Date: Mon Oct 17 11:50:54 2011 -0700 - - Fix intrin.h b0rkage with older MSVC - - Reported by Jonathan Kew. - - src/hb-object-private.hh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit af913c5788e600e36d29f44fe4e77db84cf8c442 -Author: Behdad Esfahbod -Date: Mon Oct 17 11:39:28 2011 -0700 - - Fix infinite loop in normalization code with variation selectors - - Reported by Jonathan Kew. - - src/hb-ot-shape-normalize.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit fd528c17b7b5ac912f1ac980e1d9981f561c3b46 -Author: Behdad Esfahbod -Date: Wed Oct 12 15:03:58 2011 -0400 - - [util] Add --list-shapers to hb-view and hb-shape - - util/options.cc | 17 ++++++++++++++++- - 1 file changed, 16 insertions(+), 1 deletion(-) - -commit a17554bfd51dc8a37b1674d1ede63e616618e0a6 -Author: Behdad Esfahbod -Date: Wed Sep 28 16:57:34 2011 -0400 - - Make test-c.c actually use hb - - This will make sure we test that C code can actually link to the - library. - - test/test-c.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 55deff7595ef357d000fef83559c74c9f8acad00 -Author: Behdad Esfahbod -Date: Wed Sep 28 16:20:09 2011 -0400 - - Add comments - - src/hb-ot-shape-normalize.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit a240d5a0a3ccc71902e7a341b6d531995319999d -Author: Behdad Esfahbod -Date: Tue Sep 27 13:50:45 2011 -0400 - - Add TODO item - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 52ebdff49d13f239efc886de935d47be9860f6e5 -Author: Behdad Esfahbod -Date: Tue Sep 27 12:38:16 2011 -0400 - - Fix GSUB lookuptype 1 subtype 1 delta wrapping - - src/hb-ot-layout-gsub-table.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 5857720cd35078d1c3906c8b2db3190b5166b66f -Author: Behdad Esfahbod -Date: Tue Sep 27 12:36:26 2011 -0400 - - [util] s/%d/%u/ when printing glyph ids and clusters - - util/options.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit b95324cdd217f44c40c5fd44898e659500f19511 -Author: Behdad Esfahbod -Date: Wed Sep 21 16:50:39 2011 -0400 - - Minor - - src/hb-blob.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0cd33592ab4bb486ffc438ba0efdac2fa7a1bb7f -Author: Behdad Esfahbod -Date: Wed Sep 21 16:49:33 2011 -0400 - - Fix possible leaks - - src/hb-font.cc | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -commit d3f3690b485e1d240fec4f204aef54e07853a244 -Author: Behdad Esfahbod -Date: Wed Sep 21 16:41:43 2011 -0400 - - hb-shape: In --no-glyph-names, output glyph number directly - - Ie. write "86" instead of "gid86". - - util/options.cc | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -commit 088c1e27c0fc0cdef999cf1f567e4d5eb2cfb2e4 -Author: Behdad Esfahbod -Date: Tue Sep 20 14:43:55 2011 -0400 - - [util] Fix option parsing - - Wow, who knew bool is one byte and I was using it as a 4byte int?! - - C++ auto casts fails you in mysterious ways... - - util/helper-cairo.cc | 2 +- - util/options.cc | 3 ++- - util/options.hh | 14 +++++++------- - 3 files changed, 10 insertions(+), 9 deletions(-) - -commit d606daa4cca323c8977b2e52e6863dc0f1b72fa9 -Author: Behdad Esfahbod -Date: Tue Sep 20 14:34:06 2011 -0400 - - Whitespace - - src/gen-arabic-table.py | 2 +- - src/gen-indic-table.py | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit e700bce1189465a159a7c3c179f231be224f31cc -Author: Behdad Esfahbod -Date: Tue Sep 20 11:20:53 2011 -0400 - - [util] Add hb-diff - - A diff program written in Python that is more suitable for comparing - hb-shape output from different backends. Main differences with stock - diff: - - 1. It outputs one line's comparison at a time, as opposed to batching - '+' lines and '-' lines. - - 2. It colors the part of the line that changed, taking word boundaries - into consideration. - - You can pipe the colored output to 'less -r'. - - util/Makefile.am | 2 ++ - util/hb-diff | 59 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 61 insertions(+) - -commit 880c1f0e4ede65890592d28dfb38bb06f5b57500 -Author: Behdad Esfahbod -Date: Mon Sep 19 23:10:22 2011 -0400 - - Rewrite ICU detection code with in-house macros - - At least works for cross-compiling now... - - configure.ac | 26 +++++++++++++++----------- - 1 file changed, 15 insertions(+), 11 deletions(-) - -commit f83f0f4836691b04306c2ef80979f2e1d76a2f28 -Author: Behdad Esfahbod -Date: Mon Sep 19 18:51:48 2011 -0400 - - [graphite] Add note about graphite shaker brokenness - - src/hb-graphite2.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 422558142aabb996d8ad1848df7ea4d5a8ade98a -Author: Behdad Esfahbod -Date: Mon Sep 19 17:57:02 2011 -0400 - - [util] Account for line-space in surface size - - util/options.cc | 2 +- - util/options.hh | 1 - - util/view-cairo.cc | 2 +- - 3 files changed, 2 insertions(+), 3 deletions(-) - -commit b5afd8f78e6b372f1bbed469329c1554adb20eea -Author: Behdad Esfahbod -Date: Mon Sep 19 16:56:21 2011 -0400 - - [util] Rename --output to --output_file, and --format to - --output-format - - util/options.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0a965eee880428a43ad7f9d1317c344666247dd7 -Author: Behdad Esfahbod -Date: Mon Sep 19 16:53:47 2011 -0400 - - Minor - - src/hb-ot-shape-complex-indic.cc | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 466393c2f04fb5b3dcb3e81ea9609905fa8c9648 -Author: Behdad Esfahbod -Date: Mon Sep 19 16:50:18 2011 -0400 - - Really fix build this time - - util/hb-view.hh | 1 - - 1 file changed, 1 deletion(-) - -commit fe1605db4f28ed75d5debe0db45a19aa77f0585f -Author: Behdad Esfahbod -Date: Mon Sep 19 16:49:03 2011 -0400 - - Fix dist - - util/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit 8b8b19056decaf09e4e0ccd9412ee1aeb30f4de7 -Author: Behdad Esfahbod -Date: Mon Sep 19 16:41:17 2011 -0400 - - [util] Add hb-shape utility - - Like hb-view, but prints out buffer contents. - - The output format is kinda cryptic. Suggestions welcome. - - configure.ac | 6 - - util/Makefile.am | 44 +++-- - util/{common.cc => hb-shape.cc} | 57 ++++-- - util/hb-view.cc | 44 +---- - util/hb-view.hh | 79 ++++++++ - util/helper-cairo.cc | 375 - +++++++++++++++++++++++++++++++++++ - util/{common.hh => helper-cairo.hh} | 64 ++++-- - util/options.cc | 79 ++++++++ - util/options.hh | 53 ++++- - util/view-cairo.cc | 381 - ++---------------------------------- - util/view-cairo.hh | 8 +- - 11 files changed, 717 insertions(+), 473 deletions(-) - -commit eb2d8be7a8ede0c0f5e346cf06516792f83f36f7 -Author: Behdad Esfahbod -Date: Mon Sep 19 16:15:22 2011 -0400 - - Minor - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit f6496663c2f6849a944e41afcf9511f378477532 -Author: Behdad Esfahbod -Date: Mon Sep 19 15:45:52 2011 -0400 - - [util] If no text is provided, simply call cairo_show_glyphs() - - util/view-cairo.cc | 92 - ++++++++++++++++++++++++++++++------------------------ - 1 file changed, 51 insertions(+), 41 deletions(-) - -commit 5c299343118d1eaff32ffb2a5dac077cfff67dee -Author: Behdad Esfahbod -Date: Mon Sep 19 14:53:26 2011 -0400 - - [uniscribe] Various improvements - - src/hb-uniscribe.cc | 30 +++++++++++++++++++----------- - 1 file changed, 19 insertions(+), 11 deletions(-) - -commit 11e51993ab562d4c7460eb7c43d0e97404e628e7 -Author: Behdad Esfahbod -Date: Mon Sep 19 09:58:55 2011 -0400 - - [util] Move font-size into view-options - - util/options.cc | 2 +- - util/options.hh | 7 +++---- - util/view-cairo.cc | 4 ++-- - 3 files changed, 6 insertions(+), 7 deletions(-) - -commit 0fe296019746689551d224a5f6fb7e0ebe1b91dc -Author: Behdad Esfahbod -Date: Sat Sep 17 09:59:58 2011 -0400 - - Fix Linux build when io.h is available - - Bug 40953 - fail compile git: make[2]: *** [hb_view-options.o] Error 1 - - configure.ac | 2 +- - util/options.cc | 8 ++++---- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit d2b3ab9ecebbf46cb9dac1f09c17379c50ea4575 -Author: Behdad Esfahbod -Date: Fri Sep 16 16:59:17 2011 -0400 - - Fix "[util] Fix hb-view crash with bogus font." - - util/view-cairo.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit da4a2a1426ee3aa9d9678ec12c9ba4dfcba0bcf8 -Author: Behdad Esfahbod -Date: Fri Sep 16 16:56:34 2011 -0400 - - Cosmetic - - util/view-cairo.cc | 31 +++++++++++++++++++++++-------- - 1 file changed, 23 insertions(+), 8 deletions(-) - -commit 4274ed7ab6fb03fbf8eaaa43ab06647dc0beed79 -Author: Behdad Esfahbod -Date: Fri Sep 16 16:52:26 2011 -0400 - - [util] Fix hb-view crash with bogus font - - util/view-cairo.cc | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit 5ddd9cc499f2470eca239ae357a5c8a3626c0809 -Author: Behdad Esfahbod -Date: Fri Sep 16 16:40:44 2011 -0400 - - Minor - - src/hb-private.hh | 2 +- - src/hb-unicode-private.hh | 4 ++-- - src/test.cc | 4 ++-- - util/common.hh | 2 +- - util/options.cc | 8 ++++---- - 5 files changed, 10 insertions(+), 10 deletions(-) - -commit 652d64aa8d32d914bf3ee2f2c451de103fea8fa9 -Author: Behdad Esfahbod -Date: Fri Sep 16 16:34:39 2011 -0400 - - TODO items - - TODO | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 947c9a778c0d4b428b58806f98c34ede59b7439c -Author: Behdad Esfahbod -Date: Fri Sep 16 16:33:18 2011 -0400 - - Minor - - src/hb-ot-shape-normalize.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit d5476a30a10da5e54783c8dbf04340225a9a00d7 -Author: Behdad Esfahbod -Date: Fri Sep 16 12:30:50 2011 -0400 - - Minor - - src/hb-object-private.hh | 26 +++++++++++++++----------- - 1 file changed, 15 insertions(+), 11 deletions(-) - -commit 55aeb0490454cc1ba93a42f307ed1230f59dee4b -Author: Behdad Esfahbod -Date: Fri Sep 16 02:08:36 2011 -0400 - - Fix reading text from stdin - - util/options.cc | 76 - +++++++++++++++++++++++++++++++++++------------------- - util/options.hh | 16 +++++++----- - util/view-cairo.cc | 6 +++-- - 3 files changed, 64 insertions(+), 34 deletions(-) - -commit a75c1b125159f6cfb6b652a9ec40803f7c7e3f71 -Author: Behdad Esfahbod -Date: Fri Sep 16 01:16:41 2011 -0400 - - Move code around - - util/options.cc | 27 +++++++++++++++++++++++++-- - util/options.hh | 20 +------------------- - 2 files changed, 26 insertions(+), 21 deletions(-) - -commit 7bf6ecd3bfb1ccf5d9ac6fe274efa74b46885fea -Author: Behdad Esfahbod -Date: Fri Sep 16 01:11:30 2011 -0400 - - Always shape at size=upem - - Fixes bug with uniscribe not handling GIGANTIC sizes. - - util/options.cc | 2 +- - util/view-cairo.cc | 8 ++++---- - util/view-cairo.hh | 2 +- - 3 files changed, 6 insertions(+), 6 deletions(-) - -commit 674ee58d9bc9f825d769220d77f58513edae4558 -Author: Behdad Esfahbod -Date: Fri Sep 16 00:54:05 2011 -0400 - - Minor - - util/options.cc | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 4451168e5d1ea26560899e9a9733b3a3f1853050 -Author: Behdad Esfahbod -Date: Fri Sep 16 00:38:19 2011 -0400 - - Fix binary stdin/stdout io in Windows - - Make --font-file accept "-" to mean stdin, and have it work - in Windows too! - - configure.ac | 2 +- - util/common.hh | 5 +++++ - util/options.cc | 64 - +++++++++++++++++++++++++++++++++++++++++++++++---------- - util/options.hh | 10 +++++++-- - 4 files changed, 67 insertions(+), 14 deletions(-) - -commit 639b5957d9c7b6d8bef6784e3467ccc055ddeea4 -Author: Behdad Esfahbod -Date: Thu Sep 15 18:09:49 2011 -0400 - - Minor - - util/options.cc | 5 +++-- - util/options.hh | 4 ++-- - 2 files changed, 5 insertions(+), 4 deletions(-) - -commit f7e2ef74f856ee13d6fd6cf3f1e04bc162203bc2 -Author: Behdad Esfahbod -Date: Thu Sep 15 17:52:00 2011 -0400 - - [hb-view] Make print to stdout work in Windows - - Apparently there's no equivalent to "/dev/stdout", so write using - stdio to be able to output to stdout. - - util/common.hh | 1 + - util/options.hh | 31 ++++++++++++++++----- - util/view-cairo.cc | 79 - ++++++++++++++++++++++++++++++++++++------------------ - 3 files changed, 78 insertions(+), 33 deletions(-) - -commit 36b10f58cc70ce9570d17b30616f9cb27423e03b -Author: Behdad Esfahbod -Date: Thu Sep 15 16:29:51 2011 -0400 - - Minor - - src/hb-ot-shape-normalize.cc | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit c4611cb66f8e3a133ec00e3ace62ef19d9b95b28 -Author: Behdad Esfahbod -Date: Tue Sep 13 13:33:11 2011 -0400 - - Fix test - - src/hb-graphite2.h | 1 + - src/hb-ot-shape.h | 1 + - src/hb-uniscribe.h | 1 + - 3 files changed, 3 insertions(+) - -commit b9b10ad78b1f977494a3a42b58f8040fe16505a3 -Author: Behdad Esfahbod -Date: Tue Sep 13 13:30:39 2011 -0400 - - [util] Refactor hb-view completely - - Now we can use the same code to do other utils... - - configure.ac | 2 + - util/Makefile.am | 2 + - util/common.cc | 7 +- - util/common.hh | 2 +- - util/hb-view.cc | 244 ++++------------------------- - util/options.cc | 321 ++++++++++++++++++++++++++------------ - util/options.hh | 179 +++++++++++++++++++--- - util/view-cairo.cc | 440 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - util/view-cairo.hh | 63 ++++++++ - 9 files changed, 927 insertions(+), 333 deletions(-) - -commit bc4b07b05ea9e39eb9f966eb2c3e1c737efa77ff -Author: Behdad Esfahbod -Date: Thu Sep 8 17:08:32 2011 -0400 - - More reshuffling - - util/hb-view.cc | 4 ++-- - util/options.cc | 64 - ++++++++++++++++++++++++++++++--------------------------- - util/options.hh | 13 ++++++------ - 3 files changed, 43 insertions(+), 38 deletions(-) - -commit 516857eb51bbb79ff4adf44e3fefbf460f9ee8f8 -Author: Behdad Esfahbod -Date: Thu Sep 8 16:50:24 2011 -0400 - - [util] Simplify more - - util/options.hh | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -commit 4f4b114a5592c2f5d128ee795f159b438ad97829 -Author: Behdad Esfahbod -Date: Thu Sep 8 16:49:02 2011 -0400 - - [util] Move code around - - util/hb-view.cc | 8 +------- - util/options.hh | 14 ++++++++++++++ - 2 files changed, 15 insertions(+), 7 deletions(-) - -commit 46d86a73a103b061144018c3fe947b57548fc58f -Author: Behdad Esfahbod -Date: Thu Sep 8 16:43:15 2011 -0400 - - Minor - - We now support using -1 for NUL-terminated strings. - - util/hb-view.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 90e312cb85df7a6dc350cb62138ab950790e3d15 -Author: Behdad Esfahbod -Date: Thu Sep 8 16:42:37 2011 -0400 - - [util] Move code around - - util/hb-view.cc | 5 ----- - util/options.hh | 4 ++++ - 2 files changed, 4 insertions(+), 5 deletions(-) - -commit 109cb382898f491eed733dba4ef5ba12de94aaf6 -Author: Behdad Esfahbod -Date: Thu Sep 8 16:00:04 2011 -0400 - - [util] Further refactor option parsing - - util/options.cc | 80 - +++++++++++++++++++++++++++++++++++++++++++++++---------- - util/options.hh | 20 ++++++++++++--- - 2 files changed, 83 insertions(+), 17 deletions(-) - -commit bc187e5ac7433f5561b0e97e8c62172c73883f3f -Author: Behdad Esfahbod -Date: Thu Sep 8 13:35:17 2011 -0400 - - Refine Indic scripts, following Martin Hosken's recommendation - - src/hb-ot-shape-complex-private.hh | 56 - +++++++++++++++++++++++--------------- - 1 file changed, 34 insertions(+), 22 deletions(-) - -commit 738d096a06822e63b3894bd817ecb90e5fb94f73 -Author: Behdad Esfahbod -Date: Fri Sep 2 13:31:19 2011 -0400 - - Pass through unknown ISO 639-3 language tags to OpenType engine - - In hb_ot_tag_from_language(), if first component of an unknown - language is three letters long, use it directly as OpenType language - tag (after case conversion and padding). - - src/hb-ot-tag.cc | 8 ++++++++ - test/test-ot-tag.c | 5 +++++ - 2 files changed, 13 insertions(+) - -commit ea02cbf03c084b3ead6e9e4c9af07b3b47608d5b -Author: Behdad Esfahbod -Date: Fri Sep 2 12:39:20 2011 -0400 - - [graphite] Don't preload glyphs - - Doesn't seem to be slower. - - src/hb-graphite2.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 210a06f3d7bd2df55ebd1743da74f327c5a7a967 -Author: Behdad Esfahbod -Date: Fri Aug 26 13:39:49 2011 +0200 - - Minor - - src/hb-graphite2.h | 12 ++++++------ - src/hb-ot-shape.h | 1 - - src/hb-uniscribe.h | 1 - - 3 files changed, 6 insertions(+), 8 deletions(-) - -commit 4a8d2e379a34b19bccc72bc3e2d9ace3fdd27733 -Author: Behdad Esfahbod -Date: Fri Aug 26 09:40:54 2011 +0200 - - [graphite2] Chop a few more lines - - src/hb-graphite2.cc | 13 ++++--------- - 1 file changed, 4 insertions(+), 9 deletions(-) - -commit 81ec289da799bd2f50da9382507c606d2c779ab9 -Author: Behdad Esfahbod -Date: Fri Aug 26 09:33:06 2011 +0200 - - Minor - - src/hb-graphite2.cc | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -commit 3380de5abbaff535e1cf57ea7e5c2a7c4fdcfe66 -Author: Behdad Esfahbod -Date: Fri Aug 26 09:30:49 2011 +0200 - - [graphite] Use buffer->replace_glyphs() - - src/hb-graphite2.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 9ebe8c0286856d46430ae184ba7303bd34485883 -Author: Behdad Esfahbod -Date: Fri Aug 26 09:29:42 2011 +0200 - - Add buffer->replace_glyphs() - - src/hb-buffer-private.hh | 3 +++ - src/hb-buffer.cc | 26 ++++++++++++++++++++++++++ - 2 files changed, 29 insertions(+) - -commit a5edb1031c204464da4f852ba3d90e8cc20cd20e -Author: Behdad Esfahbod -Date: Fri Aug 26 09:27:13 2011 +0200 - - Minor - - src/hb-graphite2.cc | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit 290e3ee51727df75d136ccfff79831b94d1583b6 -Author: Behdad Esfahbod -Date: Fri Aug 26 09:25:04 2011 +0200 - - [graphite] Only pass the first part language tag to graphite - - Still not sure about: - - 1) Case. We pass lowercase for now. Would be nice if graphite was - uppercase 3letter like OpenType, - - 2) Padding. IMO, tag padding is always with spaces, but Martin was - talking about NUL bytes. - - src/hb-graphite2.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 4c9fe88d30036340fe592bcbc375049b84602b8b -Author: Behdad Esfahbod -Date: Fri Aug 26 09:18:53 2011 +0200 - - [API] Make all _from_string() functions take a len parameter - - Can be -1 for NUL-terminated string. This is useful for passing parts - of a larger string to a function without having to copy or modify the - string first. - - Affected functions: - - hb_tag_t hb_tag_from_string() - hb_direction_from_string() - hb_language_from_string() - hb_script_from_string() - - src/hb-common.cc | 29 +++++++++++++------- - src/hb-common.h | 12 +++++--- - src/hb-graphite2.cc | 2 +- - src/hb-icu.cc | 2 +- - src/hb-ot-tag.cc | 8 +++--- - test/test-buffer.c | 4 +-- - test/test-common.c | 79 - +++++++++++++++++++++++++++++++---------------------- - test/test-ot-tag.c | 22 +++++++-------- - util/hb-view.cc | 6 ++-- - util/options.cc | 5 +--- - 10 files changed, 96 insertions(+), 73 deletions(-) - -commit a499bdea5cc5097dec62eeafdef58d08ba534be0 -Author: Behdad Esfahbod -Date: Thu Aug 25 22:46:21 2011 +0200 - - [graphite2] Bail if grface is NULL - - src/hb-graphite2.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 3007ffa9e53e6100a761c2363f50a2b19a0764fc -Author: Behdad Esfahbod -Date: Thu Aug 25 09:08:53 2011 +0200 - - Reorder combining-class to better suit Arabic shadda mark-mark - positioning - - As reported by Khaled on the list: - - "After the introduction of canonical reordering of combining marks - (commit 34c22f8), I'm no longer able to do mark/mark substitution or - positioning for mark sequences that involve shadda as a first mark (or - most interesting sequences at least). - - "After some digging, it turned out that shadda have a ccc=33 - while most - Arabic marks that combine with it have a lower ccc value, which - results - in the shadda being reordered after the other mark which, - unsurprisingly, breaks my contextual substitution and mkmk anchors." - - See: - - http://unicode.org/faq/normalization.html#8 - http://unicode.org/faq/normalization.html#9 - - src/hb-ot-shape-private.hh | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -commit 74ef81a0b0f9adddfb42c3cb87f08f8156054519 -Author: Behdad Esfahbod -Date: Wed Aug 24 19:16:13 2011 +0200 - - Fix make distcheck - - src/Makefile.am | 15 ++++++++------- - src/hb-gobject-enums.cc.tmpl | 2 +- - 2 files changed, 9 insertions(+), 8 deletions(-) - -commit 24bcdbcc0639ca9e9c0fde1a71cbbf1c3d2ef98d -Author: Behdad Esfahbod -Date: Wed Aug 24 19:13:15 2011 +0200 - - Add hb-ot-hmtx-table.hh - - Oops! - - src/hb-ot-hmtx-table.hh | 86 - +++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 86 insertions(+) - -commit a3bd8a0e1862212a2d4141b973039bd000a3054f -Author: Behdad Esfahbod -Date: Wed Aug 24 03:22:49 2011 +0200 - - [graphite] Rewrite properly - - src/hb-graphite2.cc | 633 - ++++++++++++++++++++++------------------------------ - src/hb-uniscribe.cc | 2 + - 2 files changed, 273 insertions(+), 362 deletions(-) - -commit 5072934c35bddc23d6bcb07a41010da51eb1b090 -Author: Behdad Esfahbod -Date: Wed Aug 24 02:24:27 2011 +0200 - - Minor - - src/hb-uniscribe.cc | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit 46377396accf6b43792ffba553dcd9847608aa86 -Author: Behdad Esfahbod -Date: Wed Aug 24 02:12:05 2011 +0200 - - [configure] Fix graphite bits - - configure.ac | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit 71388b3ee71c7d3b79f842db7588bd683691797c -Author: Behdad Esfahbod -Date: Wed Aug 24 02:09:04 2011 +0200 - - [uniscribe] Minor - - src/hb-uniscribe.cc | 19 +++++++++---------- - 1 file changed, 9 insertions(+), 10 deletions(-) - -commit cd2b901027bd154e31aa509c0cb2d86633e36398 -Author: Behdad Esfahbod -Date: Wed Aug 24 01:47:25 2011 +0200 - - [graphite] Minor - - src/hb-graphite2.cc | 10 ++++------ - src/hb-shape.cc | 1 - - 2 files changed, 4 insertions(+), 7 deletions(-) - -commit 834af3b48a1aca3e53811d1eb4ca09b582b8e598 -Author: Behdad Esfahbod -Date: Wed Aug 24 01:45:47 2011 +0200 - - [graphite] Remove hb_graphite2_feature_check() - - I don't see how this function can be useful. - - src/hb-graphite2.cc | 10 ---------- - src/hb-graphite2.h | 2 -- - 2 files changed, 12 deletions(-) - -commit 1f49cf32c96cb45a4d8ba2c210aeb7a8076b4762 -Author: Behdad Esfahbod -Date: Wed Aug 24 01:29:25 2011 +0200 - - Add graphite2 integration from Martin Hosken - - To be modified, a lot. - - configure.ac | 9 +- - contrib/python/lib/harfbuzz.pyx | 20 +- - contrib/python/runpy | 2 - - contrib/python/scripts/hbtestfont | 4 +- - contrib/python/setup.py | 18 +- - src/Makefile.am | 7 + - src/hb-graphite2.cc | 446 - ++++++++++++++++++++++++++++++++++++++ - src/hb-graphite2.h | 47 ++++ - src/hb-shape.cc | 7 + - 9 files changed, 542 insertions(+), 18 deletions(-) - -commit 0e6d36d8a3f9f533cb6eb04408af62bfd1ad83da -Author: Behdad Esfahbod -Date: Wed Aug 24 01:31:29 2011 +0200 - - Minor - - src/Makefile.am | 2 +- - src/{hb-uniscribe-shape.cc => hb-uniscribe.cc} | 0 - 2 files changed, 1 insertion(+), 1 deletion(-) - -commit efde8113258b117ec0a7fbffe6d681442d045c41 -Author: Behdad Esfahbod -Date: Tue Aug 23 00:04:57 2011 +0200 - - Add a constructor for hb_prealloced_array_t - - Fixes build with MSVC. - - src/hb-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit d75333f166d21e9b9f2341c3bc8a9ef8a886f4b3 -Author: Behdad Esfahbod -Date: Fri Aug 19 19:59:24 2011 +0200 - - Add gobject enum support, but disabled for now - - need to figure out the naming. The generated code doesn't have the - right name. - - configure.ac | 2 + - src/Makefile.am | 13 +++-- - src/hb-gobject-enums.cc.tmpl | 74 - ++++++++++++++++++++++++++++ - src/{hb-gobject.cc => hb-gobject-structs.cc} | 0 - 4 files changed, 86 insertions(+), 3 deletions(-) - -commit 7d235d272f4c9213f54c9c807fb8fba5068c45b0 -Author: Behdad Esfahbod -Date: Wed Aug 17 23:55:29 2011 +0200 - - Flesh out tt funcs a bit - - src/hb-tt-font.cc | 36 +++++++++++++++++++++++++++++++++++- - 1 file changed, 35 insertions(+), 1 deletion(-) - -commit b9415e76d7b41da203b9ae85e38b6dc777481184 -Author: Behdad Esfahbod -Date: Wed Aug 17 19:21:44 2011 +0200 - - [API] Add hb_font_set_funcs_data() - - src/hb-font.cc | 15 +++++++++++++++ - src/hb-font.h | 6 ++++++ - 2 files changed, 21 insertions(+) - -commit e6c09cdf43201ff1b7f38e411ae1f9977e4f9271 -Author: Behdad Esfahbod -Date: Wed Aug 17 19:07:59 2011 +0200 - - Remove the pre_allocate argument from hb_buffer_create() - - For two reasons: - - 1. User can always call hb_buffer_pre_allocate() themselves, and - - 2. Now we do a pre_alloc in add_utfX anyway, so the total number of - reallocs is limited to a small number (~3) anyway. This just - makes the - API cleaner. - - src/hb-buffer.cc | 7 +------ - src/hb-buffer.h | 2 +- - src/test.cc | 2 +- - test/test-buffer.c | 9 ++++----- - test/test-object.c | 4 ++-- - test/test-shape-complex.c | 2 +- - test/test-shape.c | 2 +- - util/hb-view.cc | 2 +- - 8 files changed, 12 insertions(+), 18 deletions(-) - -commit 187bdeaa6c82fcb95fdd546da9c78b843e1dea0e -Author: Behdad Esfahbod -Date: Wed Aug 17 19:03:06 2011 +0200 - - Do (nothing for) hmtx sanitize - - src/hb-ot-hhea-table.hh | 1 - - src/hb-tt-font.cc | 1 + - 2 files changed, 1 insertion(+), 1 deletion(-) - -commit d6016e49108be183ab2dc9c226447d1db3a09b90 -Author: Behdad Esfahbod -Date: Wed Aug 17 14:47:41 2011 +0200 - - Fix name-table sanitize - - src/hb-ot-name-table.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit ae9877dea6a1aed3566d9b87a75ede84259deaca -Author: Behdad Esfahbod -Date: Wed Aug 17 14:43:45 2011 +0200 - - Add hhea-table support - - src/Makefile.am | 1 + - src/hb-open-type-private.hh | 6 ++ - src/hb-ot-head-table.hh | 2 +- - src/hb-ot-hhea-table.hh | 93 ++++++++++++++++++ - src/hb-ot-layout-gdef-table.hh | 2 +- - src/hb-ot-layout-gpos-table.hh | 2 +- - src/hb-ot-layout-gsub-table.hh | 2 +- - src/hb-ot-maxp-table.hh | 2 +- - src/hb-ot-name-table.hh | 3 +- - src/hb-tt-font.cc | 207 - +++++++++++++++++++++++++++++++++++++++++ - 10 files changed, 314 insertions(+), 6 deletions(-) - -commit 7a750ac33ec482e2c4856c19ea607f3563741c24 -Author: Behdad Esfahbod -Date: Wed Aug 17 14:19:59 2011 +0200 - - Rename table files from eg maxp-private.hh to maxp-table.hh - - src/Makefile.am | 12 - ++++++------ - src/hb-font.cc | 2 +- - src/{hb-ot-head-private.hh => hb-ot-head-table.hh} | 6 +++--- - ...-ot-layout-gdef-private.hh => hb-ot-layout-gdef-table.hh} | 6 +++--- - ...-ot-layout-gpos-private.hh => hb-ot-layout-gpos-table.hh} | 6 +++--- - ...-ot-layout-gsub-private.hh => hb-ot-layout-gsub-table.hh} | 6 +++--- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-layout.cc | - 8 ++++---- - src/{hb-ot-maxp-private.hh => hb-ot-maxp-table.hh} | 6 +++--- - src/{hb-ot-name-private.hh => hb-ot-name-table.hh} | 6 +++--- - src/hb-uniscribe-shape.cc | 2 +- - src/main.cc | 2 +- - 12 files changed, 32 insertions(+), 32 deletions(-) - -commit 0b7e4d9f20b3ed947d0c441ca59b43c4097cdb0e -Author: Behdad Esfahbod -Date: Mon Aug 15 20:41:59 2011 +0200 - - [ft] FT_Get_Advance() for advance-width callbacks - - Using graphite2's comparerenderer suggests that this makes hb-ft 15 - times faster. No caching layer needed anymore. - - configure.ac | 2 +- - src/hb-ft.cc | 19 +++++++++++++------ - util/common.hh | 4 +++- - 3 files changed, 17 insertions(+), 8 deletions(-) - -commit 97796453aab56873809a15b5e316cba8acea7449 -Author: Behdad Esfahbod -Date: Mon Aug 15 19:03:43 2011 +0200 - - Fix falloffs of the GOption conversion - - util/options.cc | 8 ++++---- - util/options.hh | 4 ++-- - 2 files changed, 6 insertions(+), 6 deletions(-) - -commit 4e9ff1dd6ee3ea63fd91a76a91d9725a10a294a0 -Author: Behdad Esfahbod -Date: Mon Aug 15 16:21:22 2011 +0200 - - Pre-allocate buffers when adding string - - We do a conservative estimate of the number of characters, but still, - this limits the number of buffer reallocs to a small constant. - - src/hb-buffer.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 553bc3de82cfda8d83db26a93205e0d39440cbd1 -Author: Behdad Esfahbod -Date: Mon Aug 15 16:21:06 2011 +0200 - - Minor - - src/hb-ft.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 254142bb67a5c520a304142301479eb5292592d1 -Author: Behdad Esfahbod -Date: Mon Aug 15 16:15:44 2011 +0200 - - [ft] FT_Select_Charmap() when we create face - - src/hb-ft.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit a4cbd03dd17990783d8fd4c6be0c9c0d3d9cae5b -Author: Behdad Esfahbod -Date: Mon Aug 15 09:52:05 2011 +0200 - - Apply 'locl' with 'ccmp' in Arabic shaper - - According to Peter Constable this is indeed what Uniscribe has been - doing for years. - - Mozilla Bug 667166 - wrong shape of letter when it comes at the end of - word in the arabic version of Firefox 5.0 - - src/hb-ot-shape-complex-arabic.cc | 1 + - 1 file changed, 1 insertion(+) - -commit c214cff55ce539d004d069a484dac3988953cb11 -Author: Behdad Esfahbod -Date: Sun Aug 14 15:17:16 2011 +0200 - - Start adding gobject-introspection support - - configure.ac | 13 ++++++++++- - src/Makefile.am | 43 ++++++++++++++++------------------- - src/hb-common.h | 1 + - src/hb-glib.cc | 3 --- - src/hb-gobject.cc | 63 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-gobject.h | 68 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 6 files changed, 163 insertions(+), 28 deletions(-) - -commit 9527fb200ffbbd839334e99b51d9671752d393db -Author: Behdad Esfahbod -Date: Sat Aug 13 19:03:48 2011 +0200 - - Fix missing return - - src/hb-ft.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 77a328769545f6b2970d8491fe77fe98781961cf -Author: Behdad Esfahbod -Date: Sat Aug 13 17:16:45 2011 +0200 - - Minor - - src/hb-common.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3bb300ee78a40f9ded21ab19283863b733aeb677 -Author: Behdad Esfahbod -Date: Thu Aug 11 11:54:31 2011 +0200 - - Refactor hb-view code - - util/Makefile.am | 26 +++- - util/common.cc | 40 ++++++ - util/common.hh | 49 +++++++ - util/hb-view.cc | 387 - ++++--------------------------------------------------- - util/options.cc | 318 +++++++++++++++++++++++++++++++++++++++++++++ - util/options.hh | 86 +++++++++++++ - 6 files changed, 541 insertions(+), 365 deletions(-) - -commit d6660356dd81358033743f72d8a5fbf2fc70eaf7 -Author: Behdad Esfahbod -Date: Wed Aug 10 22:08:36 2011 +0200 - - Add uniscribe font getters - - src/hb-uniscribe-shape.cc | 24 +++++++++++++++++++++--- - src/hb-uniscribe.h | 8 ++++++++ - 2 files changed, 29 insertions(+), 3 deletions(-) - -commit 01ec13a1d9ae380305b593e1c52cebb0e8327cb6 -Author: Behdad Esfahbod -Date: Wed Aug 10 22:00:35 2011 +0200 - - Implement hb_ft_font_get_face - - src/hb-ft.cc | 15 ++++++++++++++- - src/hb-ft.h | 2 ++ - 2 files changed, 16 insertions(+), 1 deletion(-) - -commit 36a4fe037df201f85b7a544eb30d75dc3585a1b6 -Author: Behdad Esfahbod -Date: Wed Aug 10 21:54:22 2011 +0200 - - Fix charset conversion - - util/hb-view.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 25c4830593064f023e296aa795b72ddcaa1c9322 -Author: Behdad Esfahbod -Date: Wed Aug 10 16:28:38 2011 +0200 - - [util] Add hb-shape --shapers - - If the specified shapers fail, hb-shape will fail immediately - - util/hb-view.cc | 57 - +++++++++++++++++++++++++++++++++------------------------ - 1 file changed, 33 insertions(+), 24 deletions(-) - -commit 0501573deda3a8dcdfcea491392f554f21ed0154 -Author: Behdad Esfahbod -Date: Wed Aug 10 16:25:56 2011 +0200 - - Fix const correctness in the API - - src/hb-fallback-shape-private.hh | 2 +- - src/hb-fallback-shape.cc | 2 +- - src/hb-ot-shape.cc | 2 +- - src/hb-ot-shape.h | 2 +- - src/hb-shape.cc | 14 +++++++------- - src/hb-shape.h | 12 ++++++------ - src/hb-uniscribe-shape.cc | 2 +- - src/hb-uniscribe.h | 2 +- - 8 files changed, 19 insertions(+), 19 deletions(-) - -commit a21add6c0da067173d51792d716d6e38379f138f -Author: Behdad Esfahbod -Date: Wed Aug 10 16:07:49 2011 +0200 - - Reformat - - util/hb-view.cc | 49 ++++++++++++++++++------------------------------- - 1 file changed, 18 insertions(+), 31 deletions(-) - -commit 8df90c81187db58eee6b90426cd16c32feef6be3 -Author: Behdad Esfahbod -Date: Wed Aug 10 15:26:41 2011 +0200 - - [util] Port hb-view to GOption - - util/hb-view.cc | 267 - +++++++++++++++++++++++++++++++++----------------------- - 1 file changed, 156 insertions(+), 111 deletions(-) - -commit 511a136f0c092880b19250a5df53bcf9f4b043ca -Author: Behdad Esfahbod -Date: Tue Aug 9 15:03:00 2011 +0200 - - Move hb-view into util/ - - Makefile.am | 3 +-- - configure.ac | 1 + - src/Makefile.am | 13 ------------- - util/Makefile.am | 24 ++++++++++++++++++++++++ - {src => util}/hb-view.cc | 0 - 5 files changed, 26 insertions(+), 15 deletions(-) - -commit d753ac78da5619a0a545cdaf7a8e65787e996570 -Author: Behdad Esfahbod -Date: Tue Aug 9 14:03:12 2011 +0200 - - [uniscribe] Remove zerowidth glyphs from output - - src/hb-uniscribe-shape.cc | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 217cc81cd9c3de30b2ef226983ec43c0f78b5c7d -Author: Behdad Esfahbod -Date: Tue Aug 9 14:00:44 2011 +0200 - - [test/shape-complex] Print cluster and position info in --verbose - - test/test-shape-complex.c | 20 +++++++++++++++++--- - 1 file changed, 17 insertions(+), 3 deletions(-) - -commit 708403e7f3e4a5cf9b0d2bd764fb74b148af7adb -Author: Behdad Esfahbod -Date: Tue Aug 9 13:52:36 2011 +0200 - - Fix warnings with old glib - - test/hb-test.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit ddd247b0c528cdb8bdf5f8063180abe884afa305 -Author: Behdad Esfahbod -Date: Tue Aug 9 11:44:42 2011 +0200 - - Minor - - src/test.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 1b8196c98638ba05ae0ebcb8ba7aa99ed9c08e0a -Author: Behdad Esfahbod -Date: Tue Aug 9 11:37:46 2011 +0200 - - Add fallback shaper - - src/hb-fallback-shape.cc | 23 +++++++++++++++++++++-- - 1 file changed, 21 insertions(+), 2 deletions(-) - -commit 13a601fe99f237b08b7166448e386eaea0b77294 -Author: Behdad Esfahbod -Date: Tue Aug 9 11:36:54 2011 +0200 - - [FT] Don't make font immutable - - src/hb-ft.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 38b2118724600521c6ad1e49df0667dcdf863634 -Author: Behdad Esfahbod -Date: Tue Aug 9 10:51:24 2011 +0200 - - [API] Add hb_ft_font_set_funcs(), remove hb_ft_get_font_funcs() - - Remove hb_ft_get_font_funcs() as it cannot be used by the user anyway. - - Add hb_ft_font_set_funcs(). Which will make the font internally use - FreeType. That is, no need for the font to have created using the - hb-ft API. Just create using hb_face_create()/hb_font_create() and - then call this on the font (after having set font scale). This - internally creates an FT_Face and attached to the font. - - src/Makefile.am | 4 +-- - src/hb-ft.cc | 76 - +++++++++++++++++++++++++++++++++++++++++++++++++++--- - src/hb-ft.h | 10 ++++--- - src/test.cc | 7 +++++ - test/Makefile.am | 8 ------ - test/test-object.c | 9 ------- - 6 files changed, 89 insertions(+), 25 deletions(-) - -commit 255f176fdcd42ab94f9c3c54e2bffb55d0b1a8f5 -Author: Behdad Esfahbod -Date: Tue Aug 9 08:35:07 2011 +0200 - - Minor - - src/hb-uniscribe-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a9057eb3f38018faa1ece53c4aaeeba798b41fd1 -Author: Behdad Esfahbod -Date: Tue Aug 9 00:47:55 2011 +0200 - - [uniscribe] Unbreak - - src/hb-uniscribe-shape.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit c0975e12315b7167b92411584d2f00a751bbc204 -Author: Behdad Esfahbod -Date: Tue Aug 9 00:46:18 2011 +0200 - - Fix build again - - test/Makefile.am | 3 +++ - 1 file changed, 3 insertions(+) - -commit 33ccc77902660ed4b49184e5ec99f4fd0ef63175 -Author: Behdad Esfahbod -Date: Tue Aug 9 00:43:24 2011 +0200 - - [API] Make set_user_data() functions take a replace parameter - - We need this to set data on objects safely without worrying that some - other thread unsets it by setting it at the same time. - - src/hb-blob.cc | 5 +++-- - src/hb-blob.h | 3 ++- - src/hb-buffer.cc | 5 +++-- - src/hb-buffer.h | 3 ++- - src/hb-common.cc | 13 ++++++++----- - src/hb-font.cc | 15 +++++++++------ - src/hb-font.h | 9 ++++++--- - src/hb-object-private.hh | 13 ++++++++----- - src/hb-private.hh | 16 +++++++++++----- - src/hb-shape.cc | 2 +- - src/hb-unicode.cc | 5 +++-- - src/hb-unicode.h | 3 ++- - src/hb-uniscribe-shape.cc | 18 ++++++++++++++---- - test/test-object.c | 33 +++++++++++++++++---------------- - 14 files changed, 89 insertions(+), 54 deletions(-) - -commit 944b2ba1ce076385f985212bbdf2df96a8a995f0 -Author: Behdad Esfahbod -Date: Tue Aug 9 00:23:58 2011 +0200 - - [buffer] Make API take signed int length - - Since we already switched to accepting -1 as 'zero-terminated'. - - src/hb-buffer.cc | 12 ++++++------ - src/hb-buffer.h | 12 ++++++------ - src/hb-ot-layout.cc | 2 -- - src/main.cc | 1 - - 4 files changed, 12 insertions(+), 15 deletions(-) - -commit de1e1cf9bccfd116d495804e230dc2e12b733a2d -Author: Behdad Esfahbod -Date: Tue Aug 9 00:19:38 2011 +0200 - - [FT] Adapt to new face API - - src/hb-ft.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 458c89a85695220d43b69dbae36fc93e3fe78d89 -Author: Behdad Esfahbod -Date: Tue Aug 9 00:19:19 2011 +0200 - - Minor - - test/test-c.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit bf3eef540f81fdeba1c36263d7d5b2ec4c5f07b1 -Author: Behdad Esfahbod -Date: Tue Aug 9 00:13:24 2011 +0200 - - [uniscribe] Cleanup backend - - TODO | 2 + - src/hb-uniscribe-shape.cc | 161 - ++++++++++++++++++++++++++++++++++------------ - 2 files changed, 123 insertions(+), 40 deletions(-) - -commit f1f848e2e46ac54ff08aca7cd83390af31c7c9ef -Author: Behdad Esfahbod -Date: Mon Aug 8 23:41:06 2011 +0200 - - Fix build - - test/Makefile.am | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 3897335c7620c37e9a0224b0c42ade0dfdce4053 -Author: Behdad Esfahbod -Date: Mon Aug 8 23:37:41 2011 +0200 - - [API] Sort out get_blob API - - hb_face_get_blob() renamed to hb_face_reference_blob(), returns a - reference now. - - hb_face_[sg]et_index() added. - - hb_face_set_upem() added. - - src/hb-font-private.hh | 3 +- - src/hb-font.cc | 67 - +++++++++++++++++++++++++++++++++++---------- - src/hb-font.h | 17 ++++++++++-- - src/hb-ft.cc | 3 +- - src/hb-ot-layout-private.hh | 9 ------ - src/hb-ot-layout.cc | 21 -------------- - src/hb-uniscribe-shape.cc | 3 +- - 7 files changed, 72 insertions(+), 51 deletions(-) - -commit e715784be35f0846c0e084b7c53c7556ce933a45 -Author: Behdad Esfahbod -Date: Mon Aug 8 21:42:02 2011 +0200 - - Rename get_table to reference_table in all API - - src/hb-font-private.hh | 6 +++--- - src/hb-font.cc | 20 ++++++++++---------- - src/hb-font.h | 8 ++++---- - src/hb-ft.cc | 4 ++-- - 4 files changed, 19 insertions(+), 19 deletions(-) - -commit 670c873499f7f03fdfc07b8a0567b041628c6ab0 -Author: Behdad Esfahbod -Date: Mon Aug 8 21:36:24 2011 +0200 - - Fix shaper ordering logic - - src/hb-shape.cc | 80 - ++++++++++++++++++++++++--------------------------------- - 1 file changed, 34 insertions(+), 46 deletions(-) - -commit cc797e0d5368b2f5732d77eb3e3882283bd87cf7 -Author: Behdad Esfahbod -Date: Mon Aug 8 03:49:30 2011 +0200 - - Minor - - TODO | 2 -- - src/hb-shape.cc | 2 ++ - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 826e22732dd8697600a1392f48af21b7b3ce6271 -Author: Behdad Esfahbod -Date: Sun Aug 7 03:53:42 2011 -0400 - - [uniscribe] Fix blob lifecycles - - src/hb-uniscribe-shape.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit ff199ba356f0eb5bc6252203eea18a1d1fd28934 -Author: Behdad Esfahbod -Date: Sun Aug 7 03:43:46 2011 -0400 - - Fix shaper_list manipulation, aaaaaaaaaaaaargh - - src/hb-shape.cc | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -commit 206e32934592b915b1f3052aecf014c6ced729e1 -Author: Behdad Esfahbod -Date: Sun Aug 7 01:10:55 2011 -0400 - - [test] test-object is not FreeType-specific, move it to the right - place - - test/Makefile.am | 8 +++----- - 1 file changed, 3 insertions(+), 5 deletions(-) - -commit 577326b86af80cc137eea81f4cc1e30adf9232b1 -Author: Behdad Esfahbod -Date: Sun Aug 7 01:04:40 2011 -0400 - - [uniscribe] Fix cluster calculation - - src/hb-uniscribe-shape.cc | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit f6d83b2dcf120f9d6f0a28c6f5de2da7addf9089 -Author: Behdad Esfahbod -Date: Sun Aug 7 00:59:58 2011 -0400 - - Minor - - src/test.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2eb474afb4a09f4da8f14b444bd6066769010224 -Author: Behdad Esfahbod -Date: Sun Aug 7 00:59:38 2011 -0400 - - [uniscribe] Fix shaper - - It's kinda working finally! - - src/hb-uniscribe-shape.cc | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit f22e661147691ebc9d531aa28a850988e6503f9b -Author: Behdad Esfahbod -Date: Sun Aug 7 00:59:12 2011 -0400 - - [glib] Protect against invalid characters - - src/hb-glib.cc | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 144cd49a0eb3ccc749325d0ee14b3ebf4367c971 -Author: Behdad Esfahbod -Date: Sun Aug 7 00:51:50 2011 -0400 - - [buffer] Accept -1 for text_length and item_length - - A -1 text_length means: zero-terminated string. - A -1 item_length means: to the end of string. - - src/hb-buffer.cc | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit e9c71fab30fd1d5b163c8a072f9e2d3eb8ba3a92 -Author: Behdad Esfahbod -Date: Sun Aug 7 00:00:27 2011 -0400 - - Fix name-table lookup - - Oops! - - src/hb-ot-name-private.hh | 2 +- - src/hb-uniscribe-shape.cc | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -commit 3fd2b5bece28c81e3e379352f09eee39d19ac372 -Author: Behdad Esfahbod -Date: Sat Aug 6 22:59:54 2011 -0400 - - [uniscribe] Use font size directly - - src/hb-uniscribe-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 892eb2e462b40451b8f73879eab66310d884386a -Author: Behdad Esfahbod -Date: Sat Aug 6 22:06:52 2011 -0400 - - [uniscribe] Make font selection work - - Not tested yet. - - src/hb-ot-name-private.hh | 37 +++++++++++++++++++++++++++++++++++++ - src/hb-uniscribe-shape.cc | 30 +++++++++++++++++++++++------- - src/test.cc | 1 - - 3 files changed, 60 insertions(+), 8 deletions(-) - -commit b492299eb3c398701557e452f6c2c9bd370fbbf3 -Author: Behdad Esfahbod -Date: Fri Aug 5 20:34:50 2011 -0400 - - Start implementing the 'name' table - - src/Makefile.am | 3 +- - src/hb-ot-name-private.hh | 91 - +++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-uniscribe-shape.cc | 12 ++++--- - 3 files changed, 100 insertions(+), 6 deletions(-) - -commit 4538efacca84329a60ff69851de70027d9b4f567 -Author: Behdad Esfahbod -Date: Fri Aug 5 20:11:06 2011 -0400 - - Skip tests by returning 77 - - automake test runner understands this. - - src/check-internal-symbols.sh | 3 ++- - src/check-libstdc++.sh | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -commit 54eb65538da0a6ab0389d09944c90e12a913157d -Author: Behdad Esfahbod -Date: Fri Aug 5 20:09:25 2011 -0400 - - Fix check on OS X sh - - src/check-header-guards.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9da554504e30a326fc57b28cdb0e57108bfa9555 -Author: Behdad Esfahbod -Date: Fri Aug 5 19:48:49 2011 -0400 - - Add hb_shape_list_shapers() - - src/hb-shape.cc | 22 ++++++++++++++++++---- - src/hb-shape.h | 3 +++ - test/Makefile.am | 2 ++ - test/test-c.c | 8 ++++++++ - test/test-shape.c | 15 +++++++++++++++ - 5 files changed, 46 insertions(+), 4 deletions(-) - -commit d7bf473ef222ab420456ff155ffaa09bacb3a394 -Author: Behdad Esfahbod -Date: Fri Aug 5 18:18:21 2011 -0400 - - Minor - - src/check-header-guards.sh | 1 - - src/hb-open-type-private.hh | 10 +++++----- - 2 files changed, 5 insertions(+), 6 deletions(-) - -commit c62a8f10f3b9a4ac3ac6b686464ac734ebfa2f7f -Author: Behdad Esfahbod -Date: Fri Aug 5 18:02:30 2011 -0400 - - Free all static memory upon exit - - src/hb-common.cc | 8 +++++--- - src/hb-shape.cc | 4 ++-- - 2 files changed, 7 insertions(+), 5 deletions(-) - -commit c4d63ef744f79701458ab7af2055afb87ffe8de3 -Author: Behdad Esfahbod -Date: Fri Aug 5 17:54:25 2011 -0400 - - Fix env parsing code - - Also changed the separator to comma instead of colon. - - src/hb-shape.cc | 34 +++++++++++++++++++++++++--------- - 1 file changed, 25 insertions(+), 9 deletions(-) - -commit 3931837bebd79c5eb1bd5b24ff12e2c8e7d3f24c -Author: Behdad Esfahbod -Date: Fri Aug 5 17:22:19 2011 -0400 - - Change hb_shape() API back to what it was, add hb_shape_full() - - I disliked changing hb_shape() API, and disliked the fact that it was - returning a bool now. So, reverted. Added new API for the extra - functionality. - - src/hb-view.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3ca6c4ecc299295b6682fa2b6b9f83b213223bad -Author: Behdad Esfahbod -Date: Fri Aug 5 17:22:19 2011 -0400 - - Change hb_shape() API back to what it was, add hb_shape_full() - - I disliked changing hb_shape() API, and disliked the fact that it was - returning a bool now. So, reverted. Added new API for the extra - functionality. - - src/hb-shape.cc | 21 +++++++++++++++------ - src/hb-shape.h | 14 ++++++++++---- - src/test.cc | 2 +- - test/test-shape.c | 2 +- - 4 files changed, 27 insertions(+), 12 deletions(-) - -commit 02aeca985b570763342c35e99af90025bfa088d5 -Author: Behdad Esfahbod -Date: Thu Aug 4 22:31:05 2011 -0400 - - [API] Changes to main shape API - - hb_shape() now accepts a shaper_options and a shaper_list argument. - Both can be set to NULL to emulate previous API. And in most - situations - they are expected to be set to NULL. - - hb_shape() also returns a boolean for now. If shaper_list is - NULL, the - return value can be ignored. - - shaper_options is ignored for now, but otherwise it should be a - NULL-terminated list of strings. - - shaper_list is a NULL-terminated list of strings. Currently - recognized - strings are "ot" for native OpenType Layout implementation, - "uniscribe" - for the Uniscribe backend, and "fallback" for the non-complex backend - (that will be implemented shortly). The fallback backend never fails. - - The env var HB_SHAPER_LIST is also parsed and honored. It's a - colon-separated list of shaper names. The fallback shaper is - invoked if - none of the env-listed shapers succeed. - - New API hb_buffer_guess_properties() added. - - TODO | 2 - - configure.ac | 9 +++ - src/Makefile.am | 14 ++-- - src/hb-buffer-private.hh | 1 + - src/hb-buffer.cc | 35 ++++++++++ - src/hb-buffer.h | 3 + - src/hb-fallback-shape-private.hh | 48 ++++++++++++++ - src/hb-fallback-shape.cc | 43 +++++++++++++ - src/hb-ot-shape.cc | 9 ++- - src/hb-ot-shape.h | 5 +- - src/hb-shape.cc | 135 - +++++++++++++++++++++++---------------- - src/hb-shape.h | 13 ++-- - src/hb-uniscribe-shape.cc | 52 ++++++--------- - src/hb-uniscribe.h | 5 +- - src/hb-view.cc | 2 +- - src/test.cc | 3 +- - test/test-shape.c | 2 +- - 17 files changed, 274 insertions(+), 107 deletions(-) - -commit 57692adf1294a6db4627d0de7c671e4aa01d2a8f -Author: Behdad Esfahbod -Date: Thu Aug 4 20:49:16 2011 -0400 - - Make test.cc do something more useful - - Hardcoded to the uniscribe backend for now. Will fix soon. - - src/test.cc | 38 ++++++++++++++++++++++++++++++++++---- - 1 file changed, 34 insertions(+), 4 deletions(-) - -commit c605bbbb6d4b2a98b1f40ca818760088d991f7d1 -Author: Behdad Esfahbod -Date: Thu Aug 4 20:00:53 2011 -0400 - - Remove C++ guards from source files - - Where causing issues for people with MSVC. - - src/check-c-linkage-decls.sh | 3 +-- - src/hb-blob.cc | 2 -- - src/hb-buffer-private.hh | 2 -- - src/hb-buffer.cc | 2 -- - src/hb-common.cc | 2 -- - src/hb-font-private.hh | 2 -- - src/hb-font.cc | 2 -- - src/hb-ft.cc | 2 -- - src/hb-glib.cc | 2 -- - src/hb-icu.cc | 2 -- - src/hb-mutex-private.hh | 2 -- - src/hb-object-private.hh | 4 ---- - src/hb-open-file-private.hh | 2 -- - src/hb-open-type-private.hh | 4 ---- - src/hb-ot-head-private.hh | 2 -- - src/hb-ot-layout-common-private.hh | 4 ---- - src/hb-ot-layout-gdef-private.hh | 2 -- - src/hb-ot-layout-gpos-private.hh | 4 ---- - src/hb-ot-layout-gsub-private.hh | 4 ---- - src/hb-ot-layout-gsubgpos-private.hh | 6 ------ - src/hb-ot-layout-private.hh | 2 -- - src/hb-ot-layout.cc | 2 -- - src/hb-ot-map-private.hh | 2 -- - src/hb-ot-map.cc | 2 -- - src/hb-ot-maxp-private.hh | 2 -- - src/hb-ot-shape-complex-arabic-table.hh | 2 -- - src/hb-ot-shape-complex-arabic.cc | 2 -- - src/hb-ot-shape-complex-indic-table.hh | 2 -- - src/hb-ot-shape-complex-indic.cc | 2 -- - src/hb-ot-shape-complex-misc.cc | 2 -- - src/hb-ot-shape-complex-private.hh | 2 -- - src/hb-ot-shape-normalize.cc | 2 -- - src/hb-ot-shape-private.hh | 2 -- - src/hb-ot-shape.cc | 2 -- - src/hb-ot-tag.cc | 2 -- - src/hb-private.hh | 8 -------- - src/hb-shape.cc | 2 -- - src/hb-unicode-private.hh | 2 -- - src/hb-unicode.cc | 2 -- - src/hb-uniscribe-shape.cc | 2 -- - src/hb-view.cc | 2 -- - src/main.cc | 2 -- - src/test.cc | 2 -- - 43 files changed, 1 insertion(+), 106 deletions(-) - -commit 8336186a52813b53e90b4399dc462d55750e2d37 -Author: Behdad Esfahbod -Date: Thu Aug 4 19:49:05 2011 -0400 - - Zero map objects - - src/hb-ot-map-private.hh | 4 ++++ - 1 file changed, 4 insertions(+) - -commit ecd3b6e4ad253cf9d0dae1ed2da8ba6caed16b85 -Author: Behdad Esfahbod -Date: Thu Aug 4 01:57:40 2011 -0400 - - More build fixes - - configure.ac | 2 ++ - 1 file changed, 2 insertions(+) - -commit c747f509bcc4e6a34ced04e9e79ed414a44437b1 -Author: Behdad Esfahbod -Date: Thu Aug 4 01:51:30 2011 -0400 - - More out-of-tree build fixes - - src/check-c-linkage-decls.sh | 3 +-- - src/check-header-guards.sh | 8 ++++---- - 2 files changed, 5 insertions(+), 6 deletions(-) - -commit 0530ca9a180edc330ab801c535907cefa4a0c298 -Author: Behdad Esfahbod -Date: Thu Aug 4 01:42:59 2011 -0400 - - Fix out-of-tree build - - test/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ddbf4edc5d09a645351b1bd1722b068aba6a6dec -Author: Behdad Esfahbod -Date: Thu Aug 4 01:38:37 2011 -0400 - - Minor - - configure.ac | 1 - - 1 file changed, 1 deletion(-) - -commit 20dde6101662fd9ebe5f613631ea468f4c0a995f -Author: Behdad Esfahbod -Date: Thu Aug 4 01:07:33 2011 -0400 - - Minor - - src/hb-uniscribe.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 44b4f50d05fd51d8056a78e359fbb00fbcac43a0 -Author: Behdad Esfahbod -Date: Thu Aug 4 00:52:20 2011 -0400 - - Fix typo - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0fbb2dc83132a89201ad8b56c6909610437d2da0 -Author: Behdad Esfahbod -Date: Wed Aug 3 19:55:04 2011 -0400 - - Add draft experimental Uniscribe backend - - Not complete yet, font selection doesn't work. But hey it shapes! - - This is not supposed to be a production backend, more like a testing - backend. - - configure.ac | 9 ++ - src/Makefile.am | 11 ++ - src/hb-private.hh | 4 +- - src/hb-uniscribe-shape.cc | 325 - ++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-uniscribe.h | 46 +++++++ - 5 files changed, 394 insertions(+), 1 deletion(-) - -commit 0d7d4824b2edc7aeeb995077655a9a89b5c360a9 -Author: Behdad Esfahbod -Date: Wed Aug 3 17:39:24 2011 -0400 - - Minor - - configure.ac | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit e62df43649e31b7815c272f01808b3f726c7d07d -Author: Behdad Esfahbod -Date: Wed Aug 3 17:38:54 2011 -0400 - - Add internal hb_buffer_t::get_scratch_buffer() - - src/hb-buffer-private.hh | 2 ++ - src/hb-buffer.cc | 10 ++++++++++ - 2 files changed, 12 insertions(+) - -commit 71e7936fcadfd375a8bdc47987ef8b1b2b542df5 -Author: Behdad Esfahbod -Date: Wed Aug 3 17:38:34 2011 -0400 - - Minor - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit bf8c57ba745c02370c38198adfdcd8075ba38b13 -Author: Behdad Esfahbod -Date: Wed Aug 3 17:38:04 2011 -0400 - - [API] Add hb_face_get_blob() - - Need to think more about it. - - src/hb-font.cc | 10 ++++++++++ - src/hb-font.h | 3 +++ - 2 files changed, 13 insertions(+) - -commit 2118fdb9f584e6735e904638e48bae48314372fa -Author: Behdad Esfahbod -Date: Tue Aug 2 14:06:51 2011 -0400 - - Fix fallback shaping - - Broke it a few commits ago. - - src/hb-ot-shape.cc | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 199abbd0f15bd295c3a56845c71b38dd20af1332 -Author: Behdad Esfahbod -Date: Tue Aug 2 13:59:47 2011 -0400 - - Minor - - test/test-unicode.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 4f052b93c0b17d92b9f0adddf64ef77518bf2ac4 -Author: Behdad Esfahbod -Date: Tue Aug 2 13:44:24 2011 -0400 - - Fix build with glib but not freetype - - test/Makefile.am | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit c21be799daa85d5edb2d831ac985d3e43c8755ec -Author: Behdad Esfahbod -Date: Tue Aug 2 12:05:49 2011 -0400 - - Minor - - test/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit e9c2341b1384c161bbab9871411af0bc9f6c3cf4 -Author: Behdad Esfahbod -Date: Tue Aug 2 11:40:44 2011 -0400 - - Don't use icu-config when cross-compiling - - configure.ac | 17 ++++++++++------- - 1 file changed, 10 insertions(+), 7 deletions(-) - -commit 390dab49b6cf34f263b67d20a13f0752ada57bcc -Author: Behdad Esfahbod -Date: Tue Aug 2 11:29:55 2011 -0400 - - Unbreak icu-config results a bit - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -commit b301478a69d961c724a4875b839a81fb458d1153 -Author: Behdad Esfahbod -Date: Tue Aug 2 11:25:13 2011 -0400 - - Bug 39763 - autogen.sh should check pkg-config availability - - (and revert change have_icu change I mistakenly pushed out) - - autogen.sh | 10 ++++++++-- - configure.ac | 1 - - 2 files changed, 8 insertions(+), 3 deletions(-) - -commit f60271c0c2b0101e7b2725f9a9ad950c277a616c -Author: Behdad Esfahbod -Date: Tue Aug 2 09:56:30 2011 -0400 - - Add mingw32 support - - With these changes, on Ubuntu I can do: - - ./configure --host=i586-mingw32msvc && make - - configure.ac | 1 + - src/hb-mutex-private.hh | 4 ++-- - src/hb-open-type-private.hh | 5 +++++ - src/hb-private.hh | 6 +++++- - src/main.cc | 1 + - 5 files changed, 14 insertions(+), 3 deletions(-) - -commit 1264b23e4a4ae1c9831a3009e1c7ab8e65a5b434 -Author: Behdad Esfahbod -Date: Mon Aug 1 16:39:32 2011 -0400 - - Bug 39702 - configure check for ragel - - autogen.sh | 18 +++++++++++++----- - 1 file changed, 13 insertions(+), 5 deletions(-) - -commit f5414cf0a220d6e6f3d4b6e8221cd583b4684187 -Author: Behdad Esfahbod -Date: Mon Aug 1 16:34:16 2011 -0400 - - Use missing script for calling ragel - - src/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit a91c58bf98258a34e5f7c1ad39a38db58fadc4b9 -Author: Behdad Esfahbod -Date: Mon Aug 1 16:30:11 2011 -0400 - - [Indic] Disable CJCT-disabling logic - - Read comment. - - src/hb-ot-shape-complex-indic.cc | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit 5e72071062c015237b79fbd0521341a63166a204 -Author: Behdad Esfahbod -Date: Sun Jul 31 17:51:50 2011 -0400 - - [Indic] Stop looking for base upon seeing joiners - - Not sure where this is documented, but I remember this being the - desired - behavior. - - test-shape-complex failures are down from 48 to 46. Meh. - - src/hb-ot-shape-complex-indic.cc | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 281683995a46ed37aeeb84061249758c59822457 -Author: Behdad Esfahbod -Date: Sun Jul 31 16:00:35 2011 -0400 - - Cosmetic - - src/hb-ot-shape-complex-indic.cc | 23 +++++++++++++++-------- - 1 file changed, 15 insertions(+), 8 deletions(-) - -commit 6b37bc80843e38ca7b62500f95fd70c08af68d62 -Author: Behdad Esfahbod -Date: Sun Jul 31 15:57:00 2011 -0400 - - [Indic] Fix ZWJ/ZWNJ application - - Not quite working just yet. False alarm re 10 failures. It was - crashing. Ouch! Back to 48 failures. - - src/hb-ot-shape-complex-indic.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit e7be05702447ae270d797398132c1930cd3a9b86 -Author: Behdad Esfahbod -Date: Sun Jul 31 15:18:57 2011 -0400 - - [Indic] Add Final Reordering rules into comments - - Not applied yet. - - src/hb-ot-shape-complex-indic.cc | 86 - ++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 83 insertions(+), 3 deletions(-) - -commit cfd4382ec1af91640129551697de36fd42c0849a -Author: Behdad Esfahbod -Date: Sun Jul 31 15:07:11 2011 -0400 - - [Indic] Handle Reph when determining base consonant - - src/hb-ot-shape-complex-indic.cc | 24 +++++++++++++++--------- - 1 file changed, 15 insertions(+), 9 deletions(-) - -commit 97158392a5899ddb739afaac925128f33f699bd7 -Author: Behdad Esfahbod -Date: Sun Jul 31 15:01:28 2011 -0400 - - [Indic] Ra is a consonant too - - src/hb-ot-shape-complex-indic.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 0d8f8a177c4bfd4dc642a353bab8d03674e839ac -Author: Behdad Esfahbod -Date: Sun Jul 31 14:57:59 2011 -0400 - - [Indic] Fix reph inhibition logic - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 9da0487cd452d780673e24329ce03e174a4ef83b -Author: Behdad Esfahbod -Date: Sun Jul 31 13:46:44 2011 -0400 - - [Indic] Support ZWJ/ZWNJ - - Brings test-shape-complex failures down from 52 to 10! - - I hereby declare harfbuzz-ng supporting Indic! - - src/hb-ot-shape-complex-indic.cc | 57 - +++++++++++++++++++++++++++++++++------- - 1 file changed, 48 insertions(+), 9 deletions(-) - -commit 9ee27a928a989c71923cef82a9e9828f8e9ca051 -Author: Behdad Esfahbod -Date: Sun Jul 31 11:10:14 2011 -0400 - - [Indic] Suppress reph formation upon joiners - - src/hb-ot-shape-complex-indic.cc | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit 8354e004e553856d7d743e0f0b4de4668484026a -Author: Behdad Esfahbod -Date: Sun Jul 31 02:24:51 2011 -0400 - - Un-Ra U+09F1. According to the test suite this is correct. - - But I'm not sure... Down from 54 failures to 52. - - src/hb-ot-shape-complex-indic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 07cedd81f48907b2e372cd2e963716bbded9ce29 -Author: Behdad Esfahbod -Date: Sat Jul 30 21:16:51 2011 -0400 - - Minor - - test/test-shape-complex.c | 21 +++++++++++---------- - 1 file changed, 11 insertions(+), 10 deletions(-) - -commit ba7e85c104e68b4685c1b3b5c9a260fe0f6879df -Author: Behdad Esfahbod -Date: Sat Jul 30 21:11:53 2011 -0400 - - Cosmetic - - src/hb-ot-shape-complex-indic.cc | 1 + - 1 file changed, 1 insertion(+) - -commit f5bc2725cb892264ba223e0a49f7fd2c622a0730 -Author: Behdad Esfahbod -Date: Sat Jul 30 21:08:10 2011 -0400 - - [Indic] For old-style Indic tables, move Halant around - - In old-style Indic OT standards, the post-base Halants are moved after - their base. Emulate that by moving first post-base Halant to - post-last-consonant. - - Brings test-shape-complex failures down from 88 to 54. Getting there! - - src/hb-ot-map-private.hh | 3 +++ - src/hb-ot-shape-complex-indic.cc | 20 ++++++++++++++++++++ - 2 files changed, 23 insertions(+) - -commit c47a31fb4793b825f4be57e9cb1b10db352b9512 -Author: Behdad Esfahbod -Date: Sat Jul 30 20:57:01 2011 -0400 - - [OT] Save chosen script tag - - src/hb-ot-layout.cc | 20 ++++++++++++++++---- - src/hb-ot-layout.h | 3 ++- - src/hb-ot-map-private.hh | 1 + - src/hb-ot-map.cc | 2 +- - 4 files changed, 20 insertions(+), 6 deletions(-) - -commit 3a9b14dfdfc278b432890e1537672a4ca141a3b0 -Author: Behdad Esfahbod -Date: Sat Jul 30 20:23:55 2011 -0400 - - Minor - - test/test-shape-complex.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 8613193bbf28fe8951c900b68c4418a6fb929626 -Author: Behdad Esfahbod -Date: Sat Jul 30 20:21:40 2011 -0400 - - [test] Fix problem with N'ko test direction - - Old HarfBuzz test suite always shaped as left-to-right and hence - had wrong - 0x14db, direction expected glyphstring for N'ko. Doh! - - Failures down from 92 to 88. - - test/test-shape-complex.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit fd06bf56110e73826b3d5c73ac964e2609450d46 -Author: Behdad Esfahbod -Date: Sat Jul 30 20:14:44 2011 -0400 - - [Indic] Handle initial Ra+Halant in scripts that support Reph - - Brings test-shape-complex failures down from 104 to 92. Way to go! - - src/hb-ot-shape-complex-indic.cc | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit ee58f3bc75d2d071a71b94063bf12205a5871acb -Author: Behdad Esfahbod -Date: Sat Jul 30 19:15:53 2011 -0400 - - Minor - - src/hb-ot-shape-complex-indic.cc | 23 ++++++++++++----------- - 1 file changed, 12 insertions(+), 11 deletions(-) - -commit 352372ae5ea0998e40cf9fe43c22b6b610a5764e -Author: Behdad Esfahbod -Date: Sat Jul 30 19:04:02 2011 -0400 - - [Indic] Categorize Ra in scripts that have Reph - - Is the categorization correct? I don't know. - - src/hb-ot-shape-complex-indic.cc | 31 ++++++++++++++++++++++++++++++- - 1 file changed, 30 insertions(+), 1 deletion(-) - -commit 45d6f29f15f1d2323bcaa2498aed23ff0c8a1567 -Author: Behdad Esfahbod -Date: Sat Jul 30 14:44:30 2011 -0400 - - [Indic] Reorder matras - - Number of failing shape-complex tests goes from 125 down to 94. - - Next: Add Ra handling and it's fair to say we kinda support Indic :). - - src/hb-ot-shape-complex-indic.cc | 29 +++++++++++++++++++++++++++-- - src/hb-ot-shape-normalize.cc | 26 ++++++++++---------------- - src/hb-private.hh | 36 - ++++++++++++++++++++++++++++++------ - 3 files changed, 67 insertions(+), 24 deletions(-) - -commit 911bf32acad7f1cd161f666cb659990ade0925ad -Author: Behdad Esfahbod -Date: Sat Jul 30 11:16:00 2011 -0400 - - Bug 39686 - Add '-no-undefined' to libharfbuzz LDFLAGS - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8f0b64fb6988f9502d2c5e39768a9af133d9a83f -Author: Behdad Esfahbod -Date: Fri Jul 29 17:02:48 2011 -0400 - - Minor - - src/hb-ot-shape-complex-arabic.cc | 6 +++--- - src/hb-private.hh | 8 ++++++-- - 2 files changed, 9 insertions(+), 5 deletions(-) - -commit 743807a3ce1b2229e5307a8aea074a7544623d8d -Author: Behdad Esfahbod -Date: Fri Jul 29 16:37:02 2011 -0400 - - [Indic] Apply Indic features - - Find the base consonant and apply basic Indic features accordingly. - Nothing complete, but does something for now. Specifically: - no Ra handling right now, and no ZWJ/ZWNJ. - - Number of failing shape-complex tests goes from 174 down to 125. - - Next: reorder matras. - - src/hb-ot-shape-complex-indic-machine.rl | 35 ++++-- - src/hb-ot-shape-complex-indic.cc | 209 - ++++++++++++++++++++++++++++--- - 2 files changed, 212 insertions(+), 32 deletions(-) - -commit 1a1b5013159369b343d0c32df02c9c419277aead -Author: Behdad Esfahbod -Date: Fri Jul 29 16:36:46 2011 -0400 - - Minor - - test/test-shape-complex.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit dd5546de15e63c0320b7db2bf42b0f15271f7915 -Author: Behdad Esfahbod -Date: Fri Jul 29 16:27:31 2011 -0400 - - Minor - - test/test-shape-complex.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9f9bcceca6321d5a5812f878de1de39901349a78 -Author: Behdad Esfahbod -Date: Thu Jul 28 17:06:46 2011 -0400 - - Register buffer vars in Indic shaper - - src/hb-ot-shape-complex-indic.cc | 6 ++++++ - src/hb-ot-shape.cc | 2 ++ - 2 files changed, 8 insertions(+) - -commit be09bf6b799cafc2ff54a28915b307ffe99661b6 -Author: Behdad Esfahbod -Date: Thu Jul 28 17:03:43 2011 -0400 - - Oops. This should have gone into the previous commit - - src/hb-ot-layout-gsub-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b65c06025d2b54a44f716e030d4b10072c65bea8 -Author: Behdad Esfahbod -Date: Thu Jul 28 16:48:43 2011 -0400 - - Formalize buffer var allocations - - src/hb-buffer-private.hh | 25 ++++++---------- - src/hb-buffer.cc | 15 +++++----- - src/hb-ot-layout-gpos-private.hh | 14 +++++---- - src/hb-ot-layout-gsub-private.hh | 5 +++- - src/hb-ot-shape-complex-arabic.cc | 6 +++- - src/hb-ot-shape-complex-indic.cc | 4 +-- - src/hb-ot-shape-complex-private.hh | 10 ++++++- - src/hb-ot-shape.cc | 60 - +++++++++++++++++++++++--------------- - src/hb-private.hh | 1 + - 9 files changed, 83 insertions(+), 57 deletions(-) - -commit a9ad3d3460ba863a8d8f3766ccbeab288c3c6822 -Author: Behdad Esfahbod -Date: Thu Jul 28 15:42:18 2011 -0400 - - Move more code around - - Buffer var allocation coming into shape - - src/hb-buffer-private.hh | 1 + - src/hb-buffer.cc | 35 +++++++++++++++++++++++++++++++++++ - src/hb-ot-layout-gpos-private.hh | 7 +++++++ - src/hb-ot-layout-gsub-private.hh | 18 ++++++++++++++++++ - src/hb-ot-layout.cc | 8 +++----- - 5 files changed, 64 insertions(+), 5 deletions(-) - -commit cc06c243d8be3ebb1190281653d2dba504c16c0f -Author: Behdad Esfahbod -Date: Mon Jul 25 20:25:44 2011 -0400 - - Streamline debugging infrastructure even more - - src/hb-blob.cc | 26 ++++----- - src/hb-object-private.hh | 8 +-- - src/hb-open-type-private.hh | 64 ++++++-------------- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-private.hh | 109 - +++++++++++++++++++++++++++++++---- - 5 files changed, 136 insertions(+), 73 deletions(-) - -commit 43ff203d8ea3e1b09e316e3aae1a4e5ec15bfdd2 -Author: Behdad Esfahbod -Date: Mon Jul 25 17:35:24 2011 -0400 - - Use variadic macros for debugging - - Looks *so* much nicer! - - src/hb-blob.cc | 26 ++++++++-------- - src/hb-object-private.hh | 8 ++--- - src/hb-open-type-private.hh | 75 - ++++++++++++++++++++------------------------- - src/hb-private.hh | 7 +++-- - 4 files changed, 56 insertions(+), 60 deletions(-) - -commit decd4e3e16424dc311e9fb5b663170414a11556a -Author: Behdad Esfahbod -Date: Mon Jul 25 16:47:02 2011 -0400 - - Add sugar syntax for debug messages - - Buffer debugging coming soon. - - src/hb-blob.cc | 35 +++++++++++++---------------------- - src/hb-object-private.hh | 9 ++++----- - src/hb-open-type-private.hh | 44 - ++++++++++++++++++++++---------------------- - src/hb-private.hh | 7 +++++-- - 4 files changed, 44 insertions(+), 51 deletions(-) - -commit 3a81b1db89beba91fb91791918b9fdd9f8fc9fa0 -Author: Behdad Esfahbod -Date: Mon Jul 25 16:30:32 2011 -0400 - - Minor, fix leak from my previous refactorings - - src/hb-buffer.cc | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit f4a579bc42fb811ff5c391a0e97b7d8656ef59b1 -Author: Behdad Esfahbod -Date: Mon Jul 25 16:20:16 2011 -0400 - - Add internal API for buffer var allocation - - src/hb-buffer-private.hh | 25 +++++++++++++++++++++++-- - src/hb-buffer.cc | 22 ++++++++++++++++++++++ - 2 files changed, 45 insertions(+), 2 deletions(-) - -commit 651e8dd79ec8eaca5ab75a61e8ce961ff7bd26eb -Author: Behdad Esfahbod -Date: Mon Jul 25 14:54:08 2011 -0400 - - Start cleaning up buffer var allocation - - I've messed up a lot of stuff recently, different parts of the - shaping process are stumbling on eachother's toes because - manually tracking what's in which buffer var is hard. I'm - going to add some internal API to track those such that mistakes - are discovered as soon as they are introduced. - - src/hb-ot-layout-gsubgpos-private.hh | 1 - - src/hb-ot-layout.cc | 1 + - src/hb-ot-shape.cc | 10 ---------- - 3 files changed, 1 insertion(+), 11 deletions(-) - -commit c86f932015bdf5803572b0904d343d3bc033e009 -Author: Behdad Esfahbod -Date: Mon Jul 25 00:44:50 2011 -0400 - - Move code around - - src/hb-ot-shape.cc | 85 - +++++++++++++++++++++++++++--------------------------- - 1 file changed, 42 insertions(+), 43 deletions(-) - -commit 18c42850c9327ab4479ff150660a76d4ff6f3e9c -Author: Behdad Esfahbod -Date: Mon Jul 25 00:36:58 2011 -0400 - - Shrink space used for ligature ids - - This frees 16bits in the glyph_info struct during the ot_layout - process. - We can use the freed space in the shapers now. - - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit d8787493c9aa420544096cef07c29a591a0c1a99 -Author: Behdad Esfahbod -Date: Mon Jul 25 00:36:01 2011 -0400 - - Minor - - src/hb-ot-layout-gsub-private.hh | 6 ------ - src/hb-ot-layout-gsubgpos-private.hh | 7 +++++++ - 2 files changed, 7 insertions(+), 6 deletions(-) - -commit c311d852080b50ffc85e80168de62abb05a6be59 -Author: Behdad Esfahbod -Date: Sat Jul 23 23:43:54 2011 -0400 - - Keep Unicode props updated as we go so we avoid a scan later - - src/hb-ot-shape-normalize.cc | 54 - +++++++++++++++++++++----------------------- - 1 file changed, 26 insertions(+), 28 deletions(-) - -commit 5389ff4dbc46c76c9483e3c95f22524b60e21166 -Author: Behdad Esfahbod -Date: Fri Jul 22 20:22:49 2011 -0400 - - Implement the Unicode Canonical Composition algorithm - - Fallback normalization is complete and working now! - - src/hb-ot-shape-normalize.cc | 49 - +++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 46 insertions(+), 3 deletions(-) - -commit dcdc51cdc0ba9d9fb75f84dd5fa7a49aa0b24ea0 -Author: Behdad Esfahbod -Date: Fri Jul 22 17:14:46 2011 -0400 - - Handle singleton decompositions - - src/hb-ot-shape-normalize.cc | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit 34c22f816808d061a980cffca12de03beb437fa0 -Author: Behdad Esfahbod -Date: Fri Jul 22 17:04:20 2011 -0400 - - Implement Unicode Canonical Reordering Algorithm - - src/hb-ot-shape-normalize.cc | 80 - +++++++++++++++++++++++++++++++++++++------- - src/hb-ot-shape-private.hh | 2 ++ - src/hb-ot-shape.cc | 6 ++-- - 3 files changed, 73 insertions(+), 15 deletions(-) - -commit 4ff0d2d9dfc4f7e4880a4e964ca9872624508ea0 -Author: Behdad Esfahbod -Date: Fri Jul 22 16:15:32 2011 -0400 - - Decomposition works now! - - src/hb-ot-shape-normalize.cc | 109 - +++++++++++++++++++++++++++---------------- - src/hb-ot-shape.cc | 3 +- - 2 files changed, 70 insertions(+), 42 deletions(-) - -commit 468e9cb25c9bc14781b7013e447d763f93bf76a3 -Author: Behdad Esfahbod -Date: Fri Jul 22 11:28:07 2011 -0400 - - Move buffer methods into the object - - src/hb-buffer-private.hh | 110 +++---- - src/hb-buffer.cc | 605 - +++++++++++++++++------------------ - src/hb-ot-layout-gpos-private.hh | 88 ++--- - src/hb-ot-layout-gsub-private.hh | 58 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 50 +-- - src/hb-ot-shape-normalize.cc | 16 +- - src/hb-ot-shape.cc | 14 +- - 7 files changed, 456 insertions(+), 485 deletions(-) - -commit 45412523dc295cb5ee12e096bfacb282cc925843 -Author: Behdad Esfahbod -Date: Fri Jul 22 11:07:05 2011 -0400 - - More normalization kick - - src/hb-ot-shape-normalize.cc | 54 - +++++++++++++++++++++++++++++--------------- - src/hb-ot-shape-private.hh | 8 ++++++- - src/hb-ot-shape.cc | 13 +++-------- - 3 files changed, 46 insertions(+), 29 deletions(-) - -commit 63c0ef4a0763e579c9c80887bbfbd2651de05067 -Author: Behdad Esfahbod -Date: Thu Jul 21 20:58:42 2011 -0400 - - Fix decompose() implementations to work with non-starter - non-composables - - Add tests. - - src/hb-glib.cc | 10 +++++----- - src/hb-icu.cc | 20 +++++++++++++------- - test/test-unicode.c | 11 ++++++++--- - 3 files changed, 26 insertions(+), 15 deletions(-) - -commit 5d90a342e319068716429bf7af76c3896b61a0e5 -Author: Behdad Esfahbod -Date: Thu Jul 21 15:25:01 2011 -0400 - - Document normalization design - - src/hb-ot-shape-normalize.cc | 78 - +++++++++++++++++++++++++++++++++++--------- - src/hb-ot-shape-private.hh | 2 +- - src/hb-ot-shape.cc | 6 ++-- - 3 files changed, 67 insertions(+), 19 deletions(-) - -commit 02cdf743c2ec345a44d4fcf865594b6ac13fccd0 -Author: Behdad Esfahbod -Date: Thu Jul 21 12:23:12 2011 -0400 - - Add prefer_decomposed() complex-shaper callback - - This allows the Indic shaper to request decomposed characters. - This will - handle split matra for free. Other shapers prefer precomposed - characters. - - src/hb-ot-shape-complex-arabic.cc | 6 ++++++ - src/hb-ot-shape-complex-indic.cc | 7 +++++++ - src/hb-ot-shape-complex-misc.cc | 6 ++++++ - src/hb-ot-shape-complex-private.hh | 31 +++++++++++++++++++++++++++++-- - 4 files changed, 48 insertions(+), 2 deletions(-) - -commit d6b9c6d20041b4f4fa11befc179aee757c41904d -Author: Behdad Esfahbod -Date: Thu Jul 21 12:16:45 2011 -0400 - - More kicking - - src/hb-ot-shape-normalize.cc | 17 ++++++++++++++--- - 1 file changed, 14 insertions(+), 3 deletions(-) - -commit 192445aef2e50087049243ce54ce7059ec441ffa -Author: Behdad Esfahbod -Date: Thu Jul 21 12:13:04 2011 -0400 - - Remove intermittent_glyph() - - Lets not worry about performance for now... - - src/hb-ot-shape-normalize.cc | 3 ++- - src/hb-ot-shape-private.hh | 2 -- - 2 files changed, 2 insertions(+), 3 deletions(-) - -commit d63adfc7d09b26764d9166da97372b21257e7611 -Author: Behdad Esfahbod -Date: Thu Jul 21 11:48:57 2011 -0400 - - No need to handle variation-selectors seperately, they are GC=Mn - - src/hb-ot-shape.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit aa7264123a088936f2043b45d4d41ca7413fabe5 -Author: Behdad Esfahbod -Date: Thu Jul 21 11:34:59 2011 -0400 - - Only form clusters if we are reversing - - This produces more accurate cluster mappings. Cluster mappings are - minimal now. Combining marks get their own cluster value most of - the time. - - src/hb-ot-shape.cc | 45 ++++++++++++++++++++++----------------------- - 1 file changed, 22 insertions(+), 23 deletions(-) - -commit 5c6f5982d78e2d7fadc2fbb8b4f3a4be9420c59a -Author: Behdad Esfahbod -Date: Thu Jul 21 11:31:08 2011 -0400 - - Towards normalization - - src/hb-ot-shape-normalize.cc | 33 ++++++++++++++++++++++----------- - src/hb-ot-shape-private.hh | 3 ++- - src/hb-ot-shape.cc | 4 +++- - 3 files changed, 27 insertions(+), 13 deletions(-) - -commit ad903e66b1cc4ec1b8160f93b3ab2b5e636f8d62 -Author: Behdad Esfahbod -Date: Thu Jul 21 10:17:22 2011 -0400 - - s/COMBINING_MARK/SPACING_MARK/ here too. Oops! - - test/test-unicode.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cf7f43ec3382cac2af11f5637c840500daabf889 -Author: Behdad Esfahbod -Date: Thu Jul 21 01:12:26 2011 -0400 - - Remove stale comment - - src/hb-ot-shape.cc | 1 - - 1 file changed, 1 deletion(-) - -commit 54d1a0d2b2c4ffe15494967122c6422ecb1fc80b -Author: Behdad Esfahbod -Date: Thu Jul 21 01:11:09 2011 -0400 - - Form clusters before ensuring native direciton - - This is essential as ensure_native_direction uses cluster info that - is set by form_clusters(). - - src/hb-ot-shape.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 9111b21ef99d5e53348176f683261b0101eb427f -Author: Behdad Esfahbod -Date: Thu Jul 21 00:58:29 2011 -0400 - - Add _hb_buffer_output_glyph() and _hb_buffer_skip_glyph() - - src/hb-buffer-private.hh | 10 ++++++++++ - src/hb-buffer.cc | 19 ++++++++++++++++--- - src/hb-ot-shape.cc | 2 +- - 3 files changed, 27 insertions(+), 4 deletions(-) - -commit 655586fe5e1fadf2a2ef7826e61ee9a445ffa37a -Author: Behdad Esfahbod -Date: Thu Jul 21 00:51:18 2011 -0400 - - Towards normalization - - src/Makefile.am | 1 + - src/hb-ot-shape-normalize.cc | 71 - ++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-shape-private.hh | 12 ++++++++ - src/hb-ot-shape.cc | 10 ++----- - 4 files changed, 86 insertions(+), 8 deletions(-) - -commit 49741c86334d12fa08a5bfa2110ff3b9adcba1c7 -Author: Behdad Esfahbod -Date: Thu Jul 21 00:35:37 2011 -0400 - - Include variation-selectors in cluster calculation - - src/hb-ot-shape.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit dd89d958c139d85efb776fffaf314eead3952c78 -Author: Behdad Esfahbod -Date: Thu Jul 21 00:28:57 2011 -0400 - - Fix cluster calculation for non-LTR text - - TODO | 6 ------ - src/hb-buffer.cc | 5 +++++ - 2 files changed, 5 insertions(+), 6 deletions(-) - -commit 4a68684654e645882095c1189477146287ce9437 -Author: Behdad Esfahbod -Date: Thu Jul 21 00:14:01 2011 -0400 - - When forming clusters, participate all mark types - - src/hb-ot-shape.cc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 5157e12a55f943b7fc5be7dce0b2ee1bcacca6ec -Author: Behdad Esfahbod -Date: Thu Jul 21 00:12:33 2011 -0400 - - Rename HB_UNICODE_GENERAL_CATEGORY_COMBINING_MARK to - HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK - - Spacing_Mark is the current Unicode long-name for this property value. - The previous name was wrongly carried from glib. - - src/hb-common.h | 2 +- - src/hb-icu.cc | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 7b08b0a7f2057937dfc3ab2ec191656bf2386463 -Author: Behdad Esfahbod -Date: Wed Jul 20 23:59:07 2011 -0400 - - Minor - - src/hb-ot-shape-complex-arabic.cc | 8 ++++---- - src/hb-private.hh | 19 +++++++++++++++++++ - 2 files changed, 23 insertions(+), 4 deletions(-) - -commit 498e1a9be673bb02c00aac3f12bb4c6993a85910 -Author: Behdad Esfahbod -Date: Wed Jul 20 23:19:49 2011 -0400 - - [icu] Implement compose()/decompose() - - src/hb-icu.cc | 87 - +++++++++++++++++++++++++++++++++++++++++++++++++++-- - test/test-unicode.c | 1 + - 2 files changed, 86 insertions(+), 2 deletions(-) - -commit ffd4a436f7baccb68a0c3602f94ea0246e32844f -Author: Behdad Esfahbod -Date: Wed Jul 20 22:30:29 2011 -0400 - - Add tests for compose()/decompose() - - Adjust glib fallback implementation. - - The tests are not hooked up for ICU yet. - - src/hb-glib.cc | 17 ++++++++++++-- - src/hb-unicode.cc | 2 +- - test/test-unicode.c | 66 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 82 insertions(+), 3 deletions(-) - -commit fca0923b04aeff9369849da97d247a647611f346 -Author: Behdad Esfahbod -Date: Wed Jul 20 22:16:13 2011 -0400 - - Minor - - src/hb-icu.cc | 62 - ++++++++++++++++++++++++++++++++++++----------------------- - 1 file changed, 38 insertions(+), 24 deletions(-) - -commit 26b6024962b254b624d4f22088b6c87745074743 -Author: Behdad Esfahbod -Date: Wed Jul 20 21:58:14 2011 -0400 - - [glib] Use g_unicode_script_to/from_iso15924() if available - - src/hb-glib.cc | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 22fdc66712464bdb02e45eed49e4be57e79b442f -Author: Behdad Esfahbod -Date: Wed Jul 20 21:51:37 2011 -0400 - - [glib] Add compose() and decompose() implementations with fallback - - src/hb-glib.cc | 126 - +++++++++++++++++++++++++++++++++++++++++++----------- - src/hb-unicode.cc | 6 ++- - 2 files changed, 106 insertions(+), 26 deletions(-) - -commit a54a5505a35eef5315a8e2e7a79502901e3eff5f -Author: Behdad Esfahbod -Date: Wed Jul 20 16:42:10 2011 -0400 - - Minor - - src/hb-ot-shape-complex-indic.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 23db8d5c92c96a34c716b68e1aa6819c5a20477a -Author: Behdad Esfahbod -Date: Tue Jul 12 12:02:26 2011 -0400 - - [test] Work around glib <= 2.30 API - - test/hb-test.h | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 22989c5ffc8cce1ea05d729cdf33661c35a52334 -Author: Behdad Esfahbod -Date: Tue Jul 12 11:54:58 2011 -0400 - - Distribute hb-ot-shape-complex-indic-machine.rl - - src/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit f6fd3780e12b23ff7ed3743497c8996e71dcb064 -Author: Behdad Esfahbod -Date: Fri Jul 8 00:22:40 2011 -0400 - - Let shapers decide when to apply ccmp and locl - - Instead of always applying those two features before the complex - shaper, - let the complex shaper decide whether they should be applied first. - - Also add stub for Indic's final_reordering(). - - src/hb-ot-shape-complex-arabic.cc | 2 ++ - src/hb-ot-shape-complex-indic.cc | 16 ++++++++++++++++ - src/hb-ot-shape.cc | 7 +------ - 3 files changed, 19 insertions(+), 6 deletions(-) - -commit c4641723fbf6532b2e80a662e15573b31276bc73 -Author: Behdad Esfahbod -Date: Thu Jul 7 23:47:19 2011 -0400 - - [API] Add compose() and decompose() unicode funcs, rename other ones - - Add compose() and decompose() unicode funcs. These implement - pair-wise canonical composition/decomposition. - - The glib/icu implementations are lacking for now. We are adding - API for this to glib, but I cannot find any useful API in ICU. - May end of implementing these in-house. - - Changed all unicode_funcs callback names to remove the "_get" part. - Eg, hb_unicode_get_script_func_t is now hb_unicode_script_func_t, - and hb_unicode_get_script() is hb_unicode_script() now. - - TODO | 4 ++- - src/hb-glib.cc | 6 +++- - src/hb-icu.cc | 6 +++- - src/hb-ot-shape.cc | 6 ++-- - src/hb-shape.cc | 2 +- - src/hb-unicode-private.hh | 8 +++-- - src/hb-unicode.cc | 85 - ++++++++++++++++++++++++++++++++++------------- - src/hb-unicode.h | 70 +++++++++++++++++++++++++++----------- - test/test-unicode.c | 21 +++++++----- - 9 files changed, 146 insertions(+), 62 deletions(-) - -commit d05dded1676924e8894c90f7a7c3527b492bcdff -Author: Behdad Esfahbod -Date: Thu Jul 7 23:42:40 2011 -0400 - - More code generation through preprocessor - - src/hb-ot-shape-complex-private.hh | 46 - ++++++++++++++++++++++++-------------- - 1 file changed, 29 insertions(+), 17 deletions(-) - -commit 891c4755baae6cd59fad59d27fd8933e5f548a74 -Author: Behdad Esfahbod -Date: Thu Jul 7 23:19:27 2011 -0400 - - Humm, undo some shuffling - - In preparation for adding more advanced unicode funcs. - - src/hb-ot-shape.cc | 6 ++--- - src/hb-shape.cc | 2 +- - src/hb-unicode-private.hh | 36 +++++++++++++------------- - src/hb-unicode.cc | 65 - ++++++++++++++++++++++++++++++++++------------- - 4 files changed, 70 insertions(+), 39 deletions(-) - -commit 4b6317c4f426cfaf21e509dbf6ee6d4e0422cdac -Author: Behdad Esfahbod -Date: Thu Jul 7 23:14:42 2011 -0400 - - More code shuffling - - src/hb-font-private.hh | 16 +++--- - src/hb-font.cc | 3 +- - src/hb-unicode-private.hh | 42 +++++++------- - src/hb-unicode.cc | 140 - +++++++++++++++++----------------------------- - 4 files changed, 82 insertions(+), 119 deletions(-) - -commit 3361c9a323575309d9fd55fe076697a3e22073c0 -Author: Behdad Esfahbod -Date: Thu Jul 7 22:35:17 2011 -0400 - - Minor - - src/Makefile.am | 1 + - src/hb-ot-shape-complex-misc.cc | 51 - ++++++++++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-private.hh | 12 ++++++--- - 3 files changed, 60 insertions(+), 4 deletions(-) - -commit 76f76812ac7cca8ac6935952a2360d5e151480fa -Author: Behdad Esfahbod -Date: Thu Jul 7 22:25:25 2011 -0400 - - Shuffle code around, remove shape_plan from complex shapers - - src/hb-ot-shape-complex-arabic.cc | 36 +++++++++++++------------- - src/hb-ot-shape-complex-indic-machine.rl | 12 ++++----- - src/hb-ot-shape-complex-indic.cc | 25 +++++++++--------- - src/hb-ot-shape-complex-private.hh | 44 - +++++++++++++++++++++----------- - src/hb-ot-shape-private.hh | 13 ++-------- - src/hb-ot-shape.cc | 4 +-- - 6 files changed, 69 insertions(+), 65 deletions(-) - -commit e88bff9b4d77dc86c04832163081effbff752216 -Author: Behdad Esfahbod -Date: Thu Jul 7 22:03:02 2011 -0400 - - Minor, use function typedefs - - src/hb-ot-shape-complex-private.hh | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit 359dcaa0d33271025ca42a5f54ecbac7ae3b56d3 -Author: Behdad Esfahbod -Date: Thu Jul 7 21:55:05 2011 -0400 - - Update copyright headers - - src/hb-ot-map-private.hh | 2 +- - src/hb-ot-map.cc | 2 +- - src/hb-ot-shape-complex-private.hh | 2 +- - src/hb-ot-shape.cc | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -commit d8d0c480c85246a74d47dd5297019c7e39391ab0 -Author: Behdad Esfahbod -Date: Thu Jul 7 21:22:08 2011 -0400 - - Refactor some code common to GSUB and GPOS - - src/hb-ot-map-private.hh | 29 ++++++++++++++++++-------- - src/hb-ot-map.cc | 54 - +++++++++--------------------------------------- - 2 files changed, 30 insertions(+), 53 deletions(-) - -commit b70c96dbe41d6512b80fe3d966a1942e1ef64a4b -Author: Behdad Esfahbod -Date: Thu Jul 7 21:07:41 2011 -0400 - - Enable applying GSUB/GPOS features in multiple segments - - Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=644184 - among others. - - Shapers now can request segmented feature application by calling - add_gsub_pause() or add_gpos_pause(). They can also provide a - callback to be called at the pause. Currently the Arabic shaper - uses pauses to enforce certain feature application. The Indic - shaper can use the same facility to pause and do reordering in the - callback. - - src/hb-ot-map-private.hh | 50 +++++++++++---- - src/hb-ot-map.cc | 132 - +++++++++++++++++++++++++++++++++----- - src/hb-ot-shape-complex-arabic.cc | 24 ++++++- - src/hb-private.hh | 5 ++ - 4 files changed, 181 insertions(+), 30 deletions(-) - -commit f6d7a9bb4c19e605f1f16d9ca40adefba138c37e -Author: Behdad Esfahbod -Date: Thu Jul 7 16:20:35 2011 -0400 - - Shuffle code around - - src/hb-ot-map-private.hh | 68 - ++++++++++++++++++++++++------------------------ - 1 file changed, 34 insertions(+), 34 deletions(-) - -commit fc551edbf236d71a522ae7c2c9461aa71c5f7d66 -Author: Behdad Esfahbod -Date: Thu Jul 7 16:09:38 2011 -0400 - - Add todo - - I'm too lazy to fix the tests now. - - test/test-shape.c | 1 + - 1 file changed, 1 insertion(+) - -commit 2e18c6dbdfbbfdec0490260bb7cb5213551b2188 -Author: Behdad Esfahbod -Date: Wed Jul 6 16:05:45 2011 -0400 - - Fix reverse_range() position loop - - Mozilla Bug 669175 - Slow rendering of text sometimes in this case, - using direction: rtl - - src/hb-buffer.cc | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit fa2befa46f215d8c33a54dfc57889928a628164c -Author: Behdad Esfahbod -Date: Mon Jul 4 17:18:57 2011 -0400 - - Minor - - src/hb-view.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d69d5ceaa0ad30e8d4b9783507c59c6d4221de4f -Author: Behdad Esfahbod -Date: Mon Jul 4 12:56:38 2011 -0400 - - [Indic] Well, at least finding syllables works now :) - - Still not much there. - - src/hb-ot-shape-complex-indic-machine.rl | 4 +++- - src/hb-ot-shape-complex-indic.cc | 9 ++++++++- - 2 files changed, 11 insertions(+), 2 deletions(-) - -commit 253a57fb5ab211f67140e6139d183e49483a9074 -Author: Behdad Esfahbod -Date: Tue Jun 28 17:26:03 2011 -0400 - - [test-shape-complex] Remove the greek tests - - They are outdated with respect to the DejaVu Sans I'm using. - We need to add font version checking to the tests. - - test/test-shape-complex.c | 17 ----------------- - 1 file changed, 17 deletions(-) - -commit afa74bf90405fb121d3132982b87762c1686d80c -Author: Behdad Esfahbod -Date: Tue Jun 28 17:25:17 2011 -0400 - - [test-shape-complex] Print out expected and actual glyphstrings - upon failure - - One has to run the test with --verbose to see that right now. - - test/test-shape-complex.c | 25 ++++++++++++++++++++++--- - 1 file changed, 22 insertions(+), 3 deletions(-) - -commit 42d453b0236f67239342df2003b7abce6e2c51ea -Author: Behdad Esfahbod -Date: Tue Jun 28 16:59:16 2011 -0400 - - [test] Name tests after their input string - - test/Makefile.am | 2 +- - test/test-shape-complex.c | 150 - ++++++++++++++++++++++++++++++---------------- - 2 files changed, 100 insertions(+), 52 deletions(-) - -commit 27413169782fdf79e278dd6552c8e194b3bc4eaa -Author: Behdad Esfahbod -Date: Tue Jun 28 16:21:31 2011 -0400 - - Minor - - Towards a better test runner. - - test/test-shape-complex.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit cc674cbf7fb9972975dc0499974e5e7fb4ae3c81 -Author: Behdad Esfahbod -Date: Tue Jun 28 16:17:16 2011 -0400 - - Minor - - test/test-shape-complex.c | 2 -- - 1 file changed, 2 deletions(-) - -commit 20d8a3982ae320035edd6a04b402cefc9a5e5779 -Author: Behdad Esfahbod -Date: Tue Jun 28 16:16:21 2011 -0400 - - [test] Remove disabled code - - We'd add normalization and decomposition tests later. - - test/test-shape-complex.c | 92 - ----------------------------------------------- - 1 file changed, 92 deletions(-) - -commit 9704f0ca6c2defed52640da77506c80bc67b4f56 -Author: Behdad Esfahbod -Date: Tue Jun 28 16:15:46 2011 -0400 - - [test] Restructure shape test data a bit - - test/test-shape-complex.c | 75 - +++++++++++++++++++++++++++-------------------- - 1 file changed, 43 insertions(+), 32 deletions(-) - -commit 4ec30aec3014be6effc09cbbc88dcd075f3826df -Author: Behdad Esfahbod -Date: Tue Jun 28 14:13:38 2011 -0400 - - [Indic] Optimize Indic table storage - - src/hb-ot-shape-complex-indic.cc | 8 +++++--- - src/hb-private.hh | 1 + - 2 files changed, 6 insertions(+), 3 deletions(-) - -commit c4a59de6d8c1e581b5c155319232be9e805e5cba -Author: Behdad Esfahbod -Date: Tue Jun 28 14:03:29 2011 -0400 - - [Indic] Generate a single data table instead of multiple ones - - src/gen-indic-table.py | 30 +++++++++------- - src/hb-ot-shape-complex-indic-table.hh | 62 - ++++++++++++++++------------------ - 2 files changed, 48 insertions(+), 44 deletions(-) - -commit a346e923a99f920bbebc25b335db51fdfb1429ea -Author: Behdad Esfahbod -Date: Tue Jun 28 12:49:18 2011 -0400 - - [test] Add Indic tests from harfbuzz.old - - Needs fonts to be put in test/fonts. Tests are skipped otherwise. - Run with --verbose for details. Working on improving the test runner - to make it easier to make sense of what's going on. - - test/Makefile.am | 11 +- - test/hb-test.h | 21 + - test/test-shape-complex.c | 1179 - +++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 1209 insertions(+), 2 deletions(-) - -commit 8fdba506f0f1c66b50f8f4b114d624cb956d03b7 -Author: Behdad Esfahbod -Date: Fri Jun 24 20:45:55 2011 -0400 - - [Indic] Define indic_position_t - - src/hb-ot-shape-complex-indic.cc | 239 - ++++++++++++++++++++------------------- - 1 file changed, 122 insertions(+), 117 deletions(-) - -commit 65988a145b4a52c37fd53c1473034f9e701f61d9 -Author: Behdad Esfahbod -Date: Fri Jun 24 19:05:52 2011 -0400 - - [Indic] Add a table of consonant positions - - Copied form HarfBuzz.old Indic data. These are below and post - consonants. This is temporary. Read the comment in the patch. - - src/hb-ot-shape-complex-indic.cc | 106 - +++++++++++++++++++++++++++++++++++++++ - 1 file changed, 106 insertions(+) - -commit c7fe56a1d5d3e969b6ec51cd9ecd471706a19568 -Author: Behdad Esfahbod -Date: Fri Jun 24 19:05:34 2011 -0400 - - [Indic] Some of the basic features are global; Mark them so - - src/hb-ot-shape-complex-indic-machine.rl | 1 + - src/hb-ot-shape-complex-indic.cc | 48 - ++++++++++++++++++++++---------- - 2 files changed, 35 insertions(+), 14 deletions(-) - -commit 867361c3ad39629a8d5b7dc48d558a1c19e37d43 -Author: Behdad Esfahbod -Date: Fri Jun 17 18:35:46 2011 -0400 - - [indic] Add syllable recognition state machine - - Using an incredible tool called Ragel. - - src/Makefile.am | 5 ++ - src/hb-ot-shape-complex-indic-machine.rl | 105 - +++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-indic.cc | 21 +++++-- - 3 files changed, 125 insertions(+), 6 deletions(-) - -commit 422e08dbb8e2c0c5664f1bdc7e159a673cfea8c5 -Author: Behdad Esfahbod -Date: Wed Jun 15 17:22:48 2011 -0400 - - Better categorize Indic character classes - - Matches OT types now. - - src/hb-ot-shape-complex-indic.cc | 51 - +++++++++++++++++++++++++--------------- - 1 file changed, 32 insertions(+), 19 deletions(-) - -commit 31f18abecb149f8888a72510f2660328dd6de16d -Author: Behdad Esfahbod -Date: Wed Jun 15 09:49:58 2011 -0400 - - Minor compiler warning fixes - - src/hb-buffer-private.hh | 8 ++++---- - src/hb-object-private.hh | 4 ++-- - src/hb-open-type-private.hh | 6 +++--- - src/hb-ot-layout-common-private.hh | 8 ++++---- - src/hb-ot-map.cc | 28 +++++++++++++++------------- - src/hb-ot-shape-complex-arabic.cc | 3 +-- - src/hb-view.cc | 11 ++++++----- - test/test-object.c | 22 +++++++++++----------- - test/test-unicode.c | 4 ++-- - 9 files changed, 48 insertions(+), 46 deletions(-) - -commit e3693b72f0651985d4f619cde668611639dca885 -Author: Behdad Esfahbod -Date: Wed Jun 15 09:33:52 2011 -0400 - - Change a couple strstr() to strchr() - - src/hb-ot-tag.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b9452bfc1696457e156e79037c863903da5454fc -Author: Behdad Esfahbod -Date: Tue Jun 14 14:47:07 2011 -0400 - - Fix compiler warnings with -pedantic - - src/hb-blob.cc | 18 +++++++++--------- - src/hb-glib.cc | 20 ++++++++++---------- - src/hb-icu.cc | 20 ++++++++++---------- - src/hb-object-private.hh | 2 +- - src/hb-open-type-private.hh | 14 +++++++------- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout.cc | 2 +- - src/hb-ot-map-private.hh | 2 +- - src/hb-ot-shape-complex-indic.cc | 8 ++++---- - src/hb-ot-shape-private.hh | 2 +- - src/hb-ot-shape.cc | 2 +- - 11 files changed, 46 insertions(+), 46 deletions(-) - -commit 970e092dc23cbeb7897d4c7bb58c042209f518fb -Author: Behdad Esfahbod -Date: Tue Jun 14 14:35:44 2011 -0400 - - Remove extra semicolon - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 81426808020e2b88f008480bd63519aa68c579a7 -Author: Behdad Esfahbod -Date: Mon Jun 13 16:02:18 2011 -0400 - - Cosmetic - - src/gen-indic-table.py | 9 +- - src/hb-ot-shape-complex-indic-table.hh | 1038 - ++++++++++++++++---------------- - 2 files changed, 524 insertions(+), 523 deletions(-) - -commit 902ab866f2d2edc3a71c1203065e6ddf49e5b431 -Author: Behdad Esfahbod -Date: Fri Jun 10 23:08:54 2011 -0400 - - GNOME Bug 652227 - Unconditional use of stdint.h - - src/hb-common.h | 33 ++++++++++++++++++++++----------- - 1 file changed, 22 insertions(+), 11 deletions(-) - -commit 20503ccd578c9983162857954e3236413469ed35 -Author: Behdad Esfahbod -Date: Tue Jun 7 17:02:48 2011 -0400 - - More Indic data shuffling - - src/hb-ot-shape-complex-indic.cc | 74 - +++++++++++++++++++++++++++------------- - 1 file changed, 50 insertions(+), 24 deletions(-) - -commit 63b177e45c2405272da3fa6c26fe11ae37950bd0 -Author: Behdad Esfahbod -Date: Tue Jun 7 15:51:40 2011 -0400 - - Minor - - src/hb-ot-shape.cc | 1 + - 1 file changed, 1 insertion(+) - -commit b9ddbd55930228422e82b34a141ad1b6093f5376 -Author: Behdad Esfahbod -Date: Thu Jun 2 17:43:12 2011 -0400 - - [Indic] Start an Indic shaper - - Nothing functional in there yet. - - So far, we're parsing IndicSyllabicCategory.txt and - IndicMatraCategory.txt - fils from Unicode Character Database and store them in an array to - be used - by the shaper. Also hooked up the shaper, but it does not do anything - right now. - - src/Makefile.am | 3 + - src/gen-indic-table.py | 201 ++++++++ - src/hb-ot-shape-complex-arabic.cc | 4 +- - src/hb-ot-shape-complex-indic-table.hh | 834 - +++++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-indic.cc | 141 ++++++ - src/hb-ot-shape-complex-private.hh | 58 ++- - src/hb-ot-shape-private.hh | 3 +- - 7 files changed, 1237 insertions(+), 7 deletions(-) - -commit 697a65c5f5cda53bc68720886a253a019e8212a8 -Author: Behdad Esfahbod -Date: Wed Jun 1 20:52:00 2011 -0400 - - Minor - - src/gen-arabic-table.py | 21 +++++++++++++-------- - src/hb-ot-shape-complex-arabic-table.hh | 9 ++++----- - 2 files changed, 17 insertions(+), 13 deletions(-) - -commit 9de1481f2bbbf2a174280b849628612f36a2f701 -Author: Behdad Esfahbod -Date: Wed Jun 1 20:45:14 2011 -0400 - - Update to ArabicShaping-6.1.0d2.txt - - src/hb-ot-shape-complex-arabic-table.hh | 307 - ++++++++++++++++++++------------ - 1 file changed, 197 insertions(+), 110 deletions(-) - -commit 9d49433efba2217852f4e44f056465b451961c49 -Author: Behdad Esfahbod -Date: Wed Jun 1 18:10:10 2011 -0400 - - Minor rename - - src/Makefile.am | 2 +- - src/{gen-arabic-joining-table.py => gen-arabic-table.py} | 2 +- - src/hb-ot-shape-complex-arabic-table.hh | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit 0eafce56eed4c5166ee5b97b121a452ffd292a7a -Author: Behdad Esfahbod -Date: Wed Jun 1 12:44:30 2011 -0400 - - [TODO] New items - - TODO | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 89a2bc9ba674e7e57fec1fd8ce7648a44f3aab63 -Author: Behdad Esfahbod -Date: Tue May 31 15:18:13 2011 -0400 - - [Vertical] Apply vertical features - - We apply all of vert, vrt2, vkrn, valt, and vpal. - - TODO | 7 ------- - src/hb-ot-shape.cc | 50 - +++++++++++++++++++++++++++++++++++++++++--------- - 2 files changed, 41 insertions(+), 16 deletions(-) - -commit 0c6a9767c812c00f2a6a02d9f43f4694e1f43815 -Author: Behdad Esfahbod -Date: Tue May 31 12:59:17 2011 -0400 - - [hb-view] Add --face-index to choose a face in a TrueType Collection - - src/hb-view.cc | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit 4f28fbdd804fabeec57a98fe267d892ab58b3a6d -Author: Behdad Esfahbod -Date: Tue May 31 12:33:11 2011 -0400 - - Fix TTC header handling - - Also change the Version type to avoid similar bugs in the future. - - Reported by Grigori Goronzy. - - src/hb-open-file-private.hh | 6 +++--- - src/hb-open-type-private.hh | 2 +- - src/hb-ot-layout-gdef-private.hh | 6 +++--- - 3 files changed, 7 insertions(+), 7 deletions(-) - -commit 21deab2bdc58d8e9f1a3ba1f9c61c30a79e288a1 -Author: Behdad Esfahbod -Date: Mon May 30 11:08:40 2011 -0400 - - Fixed inifinite loop introduced in 7403e055cd1463f - - k is the index, not j. - - Reported by Tom Hacohen. - - src/hb-ot-layout-gpos-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 51881a61ca96c3328e2d92927a5a61e60997a429 -Author: Behdad Esfahbod -Date: Fri May 27 18:15:56 2011 -0400 - - Shrink code size - - src/hb-ot-map-private.hh | 11 +---------- - src/hb-ot-map.cc | 11 +++++++++++ - 2 files changed, 12 insertions(+), 10 deletions(-) - -commit 90645fb24bcbb78183576d3641a99560d87e49f2 -Author: Behdad Esfahbod -Date: Fri May 27 18:13:31 2011 -0400 - - [OT] Separate map_builder from the actual map - - Respectively, separate planner from the actual plan. - - src/hb-ot-map-private.hh | 121 - ++++++++++++++++++++----------------- - src/hb-ot-map.cc | 33 +++++----- - src/hb-ot-shape-complex-arabic.cc | 6 +- - src/hb-ot-shape-complex-private.hh | 8 +-- - src/hb-ot-shape-private.hh | 22 +++++++ - src/hb-ot-shape.cc | 28 +++++---- - 6 files changed, 127 insertions(+), 91 deletions(-) - -commit 5560a19e2b3901437d8ee2e5905b4ac77073bfbe -Author: Behdad Esfahbod -Date: Fri May 27 17:49:16 2011 -0400 - - Minor - - src/hb-view.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1587c26fe94087040b4a5d682ec196f568e4a1a2 -Author: Behdad Esfahbod -Date: Fri May 27 16:05:01 2011 -0400 - - [TODO] Add item - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5c9f14932d59e306fbc72f7daecb384a16da73d9 -Author: Behdad Esfahbod -Date: Fri May 27 15:59:33 2011 -0400 - - Minor - - Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5bc18195d55570ef01e4b24dd248f222f081b0a2 -Author: Behdad Esfahbod -Date: Fri May 27 15:58:54 2011 -0400 - - Add check-includes.sh - - src/Makefile.am | 7 +++++++ - src/check-c-linkage-decls.sh | 6 +++++- - src/check-header-guards.sh | 8 +++++++- - src/check-includes.sh | 42 - ++++++++++++++++++++++++++++++++++++++++++ - src/check-internal-symbols.sh | 8 ++++---- - src/check-libstdc++.sh | 7 ++++--- - src/hb-ot-shape.h | 1 + - 7 files changed, 70 insertions(+), 9 deletions(-) - -commit 3f12c434e20261f6d5c600e56575b7dfdd5b1470 -Author: Behdad Esfahbod -Date: Fri May 27 04:58:11 2011 -0400 - - [configure] Generate sha256sum and GPG-sign it - - Makefile.am | 29 ++++++++++++++++++++++++++++- - 1 file changed, 28 insertions(+), 1 deletion(-) - -commit 75ba4073ca6f72c135927d9314197a605281b789 -Author: Behdad Esfahbod -Date: Fri May 27 03:58:17 2011 -0400 - - [test] Rename valgrind-log to log-vaglring.txt - - test/Makefile.am | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit e3b0ba8e292e6a90666cfbbab6faf11ae11f9ddb -Author: Behdad Esfahbod -Date: Fri May 27 03:56:37 2011 -0400 - - Minor - - harfbuzz.doap | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 595dc63eee926a0e0fee26f8225b5fbe00610fcb -Author: Behdad Esfahbod -Date: Fri May 27 04:14:12 2011 -0400 - - Bump version to 0.7.0 to open up for development - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f24557604281356131618546332d7ee3a0c8abef -Author: Behdad Esfahbod -Date: Wed May 25 16:08:06 2011 -0400 - - Release 0.6.0. First official tarball release! - - There are no API guarantees just yet, but I *expect* that no - incompatible API changes to happen before 1.0.0. - - Update NEWS. - - NEWS | 262 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 2 +- - 2 files changed, 263 insertions(+), 1 deletion(-) - -commit 654f88fbc9bcb54f9bd2d5586236234e03424044 -Author: Behdad Esfahbod -Date: Fri May 27 03:38:46 2011 -0400 - - [test-common] Test hb_direction_to_string() - - Caught by "make check-symbols". - - test/test-common.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 18bced134fc3379c9124ba029e22ff3f6434ca0f -Author: Behdad Esfahbod -Date: Fri May 27 03:38:30 2011 -0400 - - [test] Rename test-symbols to check-symbols - - Shows undocumented symbols. - - test/Makefile.am | 37 +++++++++++++++++++++---------------- - 1 file changed, 21 insertions(+), 16 deletions(-) - -commit 376dafa6ed414e368e9dc1d5a2e0bfc8e55f410d -Author: Behdad Esfahbod -Date: Fri May 27 03:35:58 2011 -0400 - - Hide internal symbols - - src/hb-ot-shape.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0e482ec6ba30b613f2d7ee97c61be458c5aebcd6 -Author: Behdad Esfahbod -Date: Fri May 27 02:46:28 2011 -0400 - - [test/unicode] Fix double-free - - Caught by "make check-valgrind". - - test/Makefile.am | 2 +- - test/test-unicode.c | 2 -- - 2 files changed, 1 insertion(+), 3 deletions(-) - -commit 28b1bac5415774cf892c9cc0afcac1324c2093f5 -Author: Behdad Esfahbod -Date: Fri May 27 02:44:29 2011 -0400 - - [test] Switch to automake-based test-runner - - Adds check-valgrind among other modes. We do not run under gtester by - default anymore. - - Makefile.am | 2 + - test/.valgrind-suppressions | 0 - test/Makefile.am | 48 ++++++++++++++++++++++-- - test/Makefile.decl | 90 - --------------------------------------------- - 4 files changed, 47 insertions(+), 93 deletions(-) - -commit adbc97ddde27cf609d95d3249f3ea8060a6e1d20 -Author: Behdad Esfahbod -Date: Fri May 27 01:33:18 2011 -0400 - - [test] Add test-symbols that checks API symbol text coverage - - We're not at 100% coverage yet, so do not enable the test by default. - - test/Makefile.am | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -commit 9313b9aa66a82fd3fa60d8417c22a5350e5a8791 -Author: Behdad Esfahbod -Date: Fri May 27 01:00:55 2011 -0400 - - [test/version] Test hb-version.h - - test/Makefile.am | 1 + - test/test-version.c | 80 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 81 insertions(+) - -commit 329c15714be90d3fc2d9054f80cb14fa325dc959 -Author: Behdad Esfahbod -Date: Wed May 25 16:07:07 2011 -0400 - - Add libtool versioning - - The versioning is automatic. For now, soname-major is 0. With - the 1.0.0 release it will jump to 1 and stay there forever. - - configure.ac | 26 +++++++++++++++++++++----- - src/Makefile.am | 1 + - 2 files changed, 22 insertions(+), 5 deletions(-) - -commit 5b21eff8c4a00962d4315a47a65a143abe323299 -Author: Behdad Esfahbod -Date: Wed May 25 14:49:35 2011 -0400 - - Update README, etc - - COPYING | 1 + - README | 8 +++----- - configure.ac | 2 +- - 3 files changed, 5 insertions(+), 6 deletions(-) - -commit 5bf56ea056b30fba8e07e82ec818c430cab8cafd -Author: Behdad Esfahbod -Date: Wed May 25 14:43:10 2011 -0400 - - [TODO] Add item - - TODO | 2 ++ - test/test-shape.c | 2 ++ - 2 files changed, 4 insertions(+) - -commit 2d8ebcb9d089c2cfbefac71ca6350e2703ab13e3 -Author: Behdad Esfahbod -Date: Wed May 25 11:27:33 2011 -0400 - - [API] One last font-funcs API change - - Now that vertical text works correctly, I'm doing a last round - modification of the font-funcs API to simplify. Expect no more - changes around here. - - src/hb-font.cc | 107 - ++++++++++++++++++------------------------------------ - src/hb-font.h | 50 +++++++++++-------------- - src/hb-ft.cc | 26 ++++++------- - test/test-font.c | 27 +++++++------- - test/test-shape.c | 21 +++++------ - 5 files changed, 91 insertions(+), 140 deletions(-) - -commit d31691296f7d3051fcd345bf1325d17835484b50 -Author: Behdad Esfahbod -Date: Wed May 25 11:01:32 2011 -0400 - - [test] Update to API changes - - test/test-font.c | 72 - ++++++++++++++++++++++--------------------------------- - test/test-shape.c | 35 +++++++++++++-------------- - 2 files changed, 44 insertions(+), 63 deletions(-) - -commit 7403e055cd1463f38215ad9faedd61c3e1b66ac5 -Author: Behdad Esfahbod -Date: Tue May 24 21:04:15 2011 -0400 - - [Vertical] fix vertical gpos - - Wow, it took me a few days to find the right fix! - - We now set the advance for attached marks to zero, but we - do this in the _finish() state of gpos, so it shouldn't - regress with fonts like DejaVuSansMono that explicitly - decrease the mark advance width to set it to zero. - - src/hb-ot-layout-gpos-private.hh | 167 - +++++++++++++++++++++++---------------- - src/hb-ot-shape.cc | 9 ++- - 2 files changed, 103 insertions(+), 73 deletions(-) - -commit ff7cbd0219a7c260612c53b3bed343747d79ec4e -Author: Behdad Esfahbod -Date: Wed May 25 09:56:06 2011 -0400 - - [TODO] Update - - TODO | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -commit 3b0bb855e011099f1a4c77ffc5214c658e280b2d -Author: Behdad Esfahbod -Date: Fri May 20 15:59:59 2011 -0400 - - [Vertical] GPOS x/y advance adjustments only apply in hori/vert - respectively - - src/hb-ot-layout-gpos-private.hh | 31 +++++++++++++++++++++---------- - 1 file changed, 21 insertions(+), 10 deletions(-) - -commit cc2086d67ce559878a5ce2b41d89a37eabac90b8 -Author: Behdad Esfahbod -Date: Thu May 19 19:19:50 2011 -0400 - - [Vertical] Fix GPOS y-advance direction - - src/hb-ot-layout-gpos-private.hh | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 67d51ff96154c8909734046601e439dd8f6a86df -Author: Behdad Esfahbod -Date: Thu May 19 19:08:57 2011 -0400 - - [Vertical] Do fallback origin calculation - - src/hb-font.cc | 32 +++++++++++++++++++++++++++----- - 1 file changed, 27 insertions(+), 5 deletions(-) - -commit 60fbb36096e344e9af79409ce8cfe3f1f7b0d321 -Author: Behdad Esfahbod -Date: Thu May 19 18:46:15 2011 -0400 - - [Vertical] GPOS is always done with horizontal origin - - src/hb-font-private.hh | 4 +- - src/hb-font.cc | 187 - ++++++++++++++++++--------------------- - src/hb-font.h | 53 ++++++----- - src/hb-ft.cc | 47 ++++------ - src/hb-ot-layout-gdef-private.hh | 18 ++-- - src/hb-ot-layout-gpos-private.hh | 23 ++--- - src/hb-ot-layout.h | 2 +- - src/hb-ot-shape.cc | 15 ++++ - 8 files changed, 166 insertions(+), 183 deletions(-) - -commit 8b38faeede41e64eb0f6ac2e12ce51dd7138d50a -Author: Behdad Esfahbod -Date: Thu May 19 13:08:00 2011 -0400 - - More vertical - - Starting to get there, but not without yet another round of changes. - - I think I know wheere to go now. - - src/hb-font.cc | 44 ++++++++++++++++++++++++++++++++------------ - src/hb-font.h | 10 ++++++++++ - src/hb-ft.cc | 14 ++++++++++++-- - src/hb-ot-shape.cc | 4 ++++ - 4 files changed, 58 insertions(+), 14 deletions(-) - -commit e609aeb1e24da6b7c812396cddb93ee3c95ef87a -Author: Behdad Esfahbod -Date: Wed May 18 10:17:02 2011 -0400 - - [hb-view] Add --annotate - - Currently it only marks glyph origins. - - src/hb-view.cc | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) - -commit b8d76dd74e50d295918cc015e9d2a55e2bf6a461 -Author: Behdad Esfahbod -Date: Tue May 17 23:31:00 2011 -0400 - - Vertical: Adjust origin in glyph_extents() and glyph_contour_point() - - The base for vertical is almost ready now. - - src/hb-font.cc | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit 190981851fe2bb6479b5c72451279f66fe4f6e23 -Author: Behdad Esfahbod -Date: Tue May 17 23:27:22 2011 -0400 - - Cosmetic - - src/hb-font.cc | 114 - ++++++++++++++++++++++++++++----------------------------- - src/hb-ft.cc | 36 +++++++++--------- - 2 files changed, 74 insertions(+), 76 deletions(-) - -commit 2c3f51a11c176aa3fc12a9522325efaef2c79d35 -Author: Behdad Esfahbod -Date: Tue May 17 23:23:27 2011 -0400 - - Minor - - src/hb-font.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 7e2c85de305be59e1a6afa7d2061e4b7dd00acf7 -Author: Behdad Esfahbod -Date: Tue May 17 17:55:03 2011 -0400 - - [API] Vertical support, take 2 - - I like this API *much* better. Implementation still incomplete, but - horizontal works. - - src/hb-font-private.hh | 7 +- - src/hb-font.cc | 185 - +++++++++++++++++++++++---------------- - src/hb-font.h | 109 ++++++++++++----------- - src/hb-ft.cc | 66 ++++++++------ - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 2 +- - src/hb-ot-shape.cc | 8 +- - 7 files changed, 218 insertions(+), 161 deletions(-) - -commit 744970af4d884cc87ffa645804578fec8df674a9 -Author: Behdad Esfahbod -Date: Mon May 16 18:15:37 2011 -0400 - - [API] Add support for vertical text - - Design not final yet, and in fact I'm going to change it immediately, - but this is an standalone change for itself. - - src/hb-font-private.hh | 35 ++-- - src/hb-font.cc | 387 - +++++++++++++++++++++++++---------- - src/hb-font.h | 164 +++++++++++---- - src/hb-ft.cc | 227 +++++++++++++------- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 35 ++-- - src/hb-ot-layout-gsub-private.hh | 1 + - src/hb-ot-layout-gsubgpos-private.hh | 1 + - src/hb-ot-shape.cc | 14 +- - src/hb-ot-tag.cc | 2 +- - test/test-font.c | 61 +++--- - test/test-shape.c | 17 +- - 12 files changed, 650 insertions(+), 296 deletions(-) - -commit 80dce8b7c8202766d52cc7666355446bbf5b0565 -Author: Behdad Esfahbod -Date: Tue May 17 17:08:36 2011 -0400 - - Minor - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5be7d047f6bf54cc577e311b5426c463d2b9b131 -Author: Behdad Esfahbod -Date: Tue May 17 15:05:34 2011 -0400 - - Check for mmap() - - Apparently there exist systems with mprotect(), but not mmap()? - - configure.ac | 2 +- - test/test-blob.c | 6 ++++-- - 2 files changed, 5 insertions(+), 3 deletions(-) - -commit 4053f3f788353448b41e541ee617aafbe1cac366 -Author: Behdad Esfahbod -Date: Mon May 16 16:20:48 2011 -0400 - - Cosmetic - - src/hb-font.h | 8 ++++---- - test/test-shape.c | 6 +++--- - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit 56d12e0356bee5a95b870dfbc2100b8caeb5d593 -Author: Behdad Esfahbod -Date: Mon May 16 16:01:58 2011 -0400 - - Remove unnecessary TODO item - - src/hb-ft.cc | 1 - - 1 file changed, 1 deletion(-) - -commit 1883af3796459cafe2d194064403b6b1152c584d -Author: Behdad Esfahbod -Date: Mon May 16 15:18:16 2011 -0400 - - [hb-view] Start work on vertical support - - src/hb-view.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit 9aa6f96af5e5940ba5c9596c6ae377fea23c0ec0 -Author: Behdad Esfahbod -Date: Mon May 16 15:08:31 2011 -0400 - - [hb-view] No need to allocate an extra glyph item at the end - - src/hb-view.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit a0359485c9997e3a211f7c00d40c09074d906c4f -Author: Behdad Esfahbod -Date: Mon May 16 15:07:48 2011 -0400 - - Minor - - test/test-shape.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 92de53ea450eaee077eb1730e6d7a487b20ac721 -Author: Behdad Esfahbod -Date: Mon May 16 12:24:56 2011 -0400 - - [test/buffer] Add more tests for nil buffer - - test/test-buffer.c | 38 ++++++++++++++++++++++++++++++++++++++ - 1 file changed, 38 insertions(+) - -commit 065fb38c9a338ddb095f2ec9e034fcc5a02167bd -Author: Behdad Esfahbod -Date: Fri May 13 23:04:46 2011 -0400 - - [test/ot-tag] More tests - - test/test-ot-tag.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 1a64f6e19a4b483e278c85e4941107be2f71b0a4 -Author: Behdad Esfahbod -Date: Fri May 13 22:55:32 2011 -0400 - - [API] Add HB_LANGUAGE_INVALID - - src/hb-common.cc | 5 +++-- - src/hb-common.h | 2 ++ - src/hb-ot-tag.cc | 2 +- - src/hb-shape.cc | 2 +- - test/test-common.c | 9 ++++++--- - 5 files changed, 13 insertions(+), 7 deletions(-) - -commit 40b5c2e86c633441040196d158e965ad95d6ad37 -Author: Behdad Esfahbod -Date: Fri May 13 22:46:36 2011 -0400 - - [test/test-ot-tag] Test hb-ot-tag.h, fix many bugs - - I'm in awe with how many bugs this test revealed. All fixed. - - src/hb-ot-tag.cc | 153 +++++++++++++++++++++--------------- - test/Makefile.am | 3 + - test/test-ot-tag.c | 227 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 320 insertions(+), 63 deletions(-) - -commit 1368018b475c2a6dd5f625af99695ae2fcba1f05 -Author: Behdad Esfahbod -Date: Fri May 13 20:25:38 2011 -0400 - - [TODO] Add items - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 7fc5a30cb4fbe9a4633ab842b0a8cbbcc6f6bd1b -Author: Behdad Esfahbod -Date: Thu May 12 17:48:20 2011 -0400 - - [API] Add hb_face_make/is_immutable() - - src/hb-font-private.hh | 2 ++ - src/hb-font.cc | 18 ++++++++++++++++++ - src/hb-font.h | 6 ++++++ - test/test-font.c | 2 ++ - test/test-object.c | 2 +- - 5 files changed, 29 insertions(+), 1 deletion(-) - -commit 20c8b908ddf50a9814dfdd9fca595f258273cd4f -Author: Behdad Esfahbod -Date: Thu May 12 15:19:33 2011 -0400 - - Finish off previous change - - src/hb-font.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 0fd8c2f1be693616f19f2f1526369874763d6cf6 -Author: Behdad Esfahbod -Date: Thu May 12 15:14:13 2011 -0400 - - [API] Make get_glyph() callback return a boolean - - We need to know whether the glyph exists, so we can fallback to - composing / decomposing. Assuming that glyph==0 means "doesn't exist" - wouldn't work for applications like Pango that want to use different - "doesn't exist" glyph codes for different characters. An explicit - return value fixes that. - - src/hb-font.cc | 15 +++++++++------ - src/hb-font.h | 12 +++++++----- - src/hb-ft.cc | 12 +++++++----- - src/hb-ot-shape.cc | 13 +++++++++---- - test/test-font.c | 5 ++++- - test/test-shape.c | 12 +++++++----- - 6 files changed, 43 insertions(+), 26 deletions(-) - -commit 8e07f93ab4a3ef9adc7942727ef21f2f9a141d10 -Author: Behdad Esfahbod -Date: Thu May 12 14:27:44 2011 -0400 - - [test/shape] Check shape output - - test/test-shape.c | 23 +++++++++++++++++++---- - 1 file changed, 19 insertions(+), 4 deletions(-) - -commit 805af72405a2f653f08de392d7172291ffe8e902 -Author: Behdad Esfahbod -Date: Thu May 12 12:39:40 2011 -0400 - - Rename get_kernings() arguments from first/second_glyph to - left/right_glyph - - Makes it clear that kerning is in visual order. - - src/hb-font.cc | 10 +++++----- - src/hb-font.h | 4 ++-- - src/hb-ft.cc | 6 +++--- - 3 files changed, 10 insertions(+), 10 deletions(-) - -commit 23d2432219a91c6328efa9e041b1ecf137752ac3 -Author: Behdad Esfahbod -Date: Thu May 12 10:53:57 2011 -0400 - - [test] Add test-shape.c. Oops - - test/test-shape.c | 125 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 125 insertions(+) - -commit c098c3acc8c48b4b6883c50c9a87e81dbe98ba24 -Author: Behdad Esfahbod -Date: Thu May 12 10:49:30 2011 -0400 - - [test/blob] Use MAP_ANON instead of MAP_ANONYMOUS - - More portable. - - test/test-blob.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8329eb7c6ca39e162228733a2210e643b1a1019d -Author: Behdad Esfahbod -Date: Thu May 12 01:39:17 2011 -0400 - - [test/shape] Add simplest test for hb_shape() - - test/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit df077fadd7828b609bdfe4dbcad52ef2448525c7 -Author: Behdad Esfahbod -Date: Thu May 12 01:19:39 2011 -0400 - - [object] Make object inert during destruction - - Such that user_data and other finalizers cannot resurrect object - - src/hb-object-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit ee8dd83bb4e0b1c2ca5928391e35e8bd1fca6121 -Author: Behdad Esfahbod -Date: Thu May 12 01:02:03 2011 -0400 - - [TODO] Update - - TODO | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 52df150efeff4cf003cee65f8c91618f1a980bc8 -Author: Behdad Esfahbod -Date: Thu May 12 00:46:57 2011 -0400 - - Fix font subclass chainup - - Test passing now. - - src/hb-font.cc | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -commit f2c1dd4f746c36a44cf33d0257a3cd800107c286 -Author: Behdad Esfahbod -Date: Thu May 12 00:35:12 2011 -0400 - - [test/font] Test font_funcs subclassing - - test/test-font.c | 158 - +++++++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 155 insertions(+), 3 deletions(-) - -commit 14f1e81b77971204e9325e2a8b6f8b690fac20a7 -Author: Behdad Esfahbod -Date: Thu May 12 00:18:28 2011 -0400 - - [test/font] Test empty funcs - - test/test-font.c | 75 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 73 insertions(+), 2 deletions(-) - -commit 2ca0b5ae1e65d3f43df3a4a2144a1451d8b485c4 -Author: Behdad Esfahbod -Date: Wed May 11 23:57:36 2011 -0400 - - [test/font] Test more - - test/test-font.c | 63 - ++++++++++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 54 insertions(+), 9 deletions(-) - -commit 7033518f756490e9cf00b96387fee6f2f7fae785 -Author: Behdad Esfahbod -Date: Wed May 11 23:31:15 2011 -0400 - - [API] Pass face to get_table() - - src/hb-font.cc | 4 ++-- - src/hb-font.h | 2 +- - src/hb-ft.cc | 2 +- - test/test-font.c | 2 +- - 4 files changed, 5 insertions(+), 5 deletions(-) - -commit b46782780690e26a8221e2d63dd224159aebe413 -Author: Behdad Esfahbod -Date: Wed May 11 23:25:28 2011 -0400 - - [API] Remove const from font user_data - - src/hb-font.cc | 20 ++++++++++---------- - src/hb-font.h | 20 ++++++++++---------- - src/hb-ft.cc | 20 ++++++++++---------- - 3 files changed, 30 insertions(+), 30 deletions(-) - -commit ea93e7b27ca04a1655d62bd1d18a32805994af44 -Author: Behdad Esfahbod -Date: Wed May 11 23:22:55 2011 -0400 - - [test/font] More tests - - test/test-font.c | 36 +++++++++++++++++++++++++++++++++--- - 1 file changed, 33 insertions(+), 3 deletions(-) - -commit cdb153175f8a1521cde112c65b173f548ca6ee5c -Author: Behdad Esfahbod -Date: Wed May 11 23:12:58 2011 -0400 - - [test/font] More tests - - test/test-font.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 44 insertions(+) - -commit 74d9fa3d9ac226ed72702884e721ef94ecc48e22 -Author: Behdad Esfahbod -Date: Wed May 11 23:07:47 2011 -0400 - - [test/font] More get_empty() tests - - test/test-font.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit db9f4eb4e004fadae9d540522d1d21c3bbe659b0 -Author: Behdad Esfahbod -Date: Wed May 11 23:06:02 2011 -0400 - - [test/font] Test get_face() / get_parent() - - test/test-font.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 606923bb4304d5b9cf164745d657cba58949a80a -Author: Behdad Esfahbod -Date: Wed May 11 23:05:02 2011 -0400 - - [test/font] Add test_font_properties() - - test/test-font.c | 85 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 85 insertions(+) - -commit da603e80386b41b360acb070a862b6ed87da57b8 -Author: Behdad Esfahbod -Date: Wed May 11 22:52:35 2011 -0400 - - [test/font] Start adding tests for hb-font.h - - test/Makefile.am | 1 + - test/test-buffer.c | 2 +- - test/test-font.c | 69 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - test/test-unicode.c | 1 + - 4 files changed, 72 insertions(+), 1 deletion(-) - -commit 9a14688e40e926b9453fcb75891f27bff1e45c49 -Author: Behdad Esfahbod -Date: Wed May 11 22:49:29 2011 -0400 - - [API] Rename hb_face_create_for_data() to hb_face_create() - - src/hb-font.cc | 4 ++-- - src/hb-font.h | 4 ++-- - src/hb-ft.cc | 2 +- - src/test.cc | 2 +- - test/test-object.c | 4 ++-- - 5 files changed, 8 insertions(+), 8 deletions(-) - -commit 46d6a21cc8613519e6ce27b1925e29285cccb71d -Author: Behdad Esfahbod -Date: Wed May 11 22:33:13 2011 -0400 - - [API] Add hb_ot_layout_substitute_start/finish() - - src/hb-ot-layout.cc | 13 +++++++++++++ - src/hb-ot-layout.h | 8 ++++++++ - 2 files changed, 21 insertions(+) - -commit c84d15f52e1183164502d45b476b54f8fe812e0f -Author: Behdad Esfahbod -Date: Wed May 11 22:23:15 2011 -0400 - - Remove unused hb_set_t - - src/hb-private.hh | 48 ------------------------------------------------ - 1 file changed, 48 deletions(-) - -commit 389a7c9e67549b1a9f7c538965e4647077f8e6ec -Author: Behdad Esfahbod -Date: Wed May 11 22:21:38 2011 -0400 - - Remove hb_static_threadsafe_set_t - - src/hb-common.cc | 5 +++-- - src/hb-mutex-private.hh | 42 ------------------------------------------ - 2 files changed, 3 insertions(+), 44 deletions(-) - -commit e06d4eda7bbdb3a1be1f1ce8d98b059a0730f14d -Author: Behdad Esfahbod -Date: Wed May 11 22:18:31 2011 -0400 - - Use constructor/destructor for hb_ot_shape_plan_t - - src/hb-ot-shape-private.hh | 6 +++++- - src/hb-ot-shape.cc | 4 +--- - 2 files changed, 6 insertions(+), 4 deletions(-) - -commit a5e4e109460ea23fa5e64926a1676c6a02ab6ba2 -Author: Behdad Esfahbod -Date: Wed May 11 22:00:56 2011 -0400 - - Minor - - TODO | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit daa446f184fa27c9764ff7f8a2444d47cf34d986 -Author: Behdad Esfahbod -Date: Wed May 11 21:31:25 2011 -0400 - - Fix compile with no mutex available - - src/hb-mutex-private.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 1e56c476c10577fe319fe553c5ced000bd740940 -Author: Behdad Esfahbod -Date: Wed May 11 21:28:01 2011 -0400 - - Free static mutex'es - - src/hb-mutex-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 831886a9b4073cfe27f7e1db0e957cbd5913fd31 -Author: Behdad Esfahbod -Date: Wed May 11 21:27:52 2011 -0400 - - Streamline mutex stuff - - src/hb-mutex-private.hh | 61 - ++++++++++++++++++++++++++++++------------------- - src/hb-private.hh | 8 +++++++ - 2 files changed, 46 insertions(+), 23 deletions(-) - -commit 438c4eee353ddf0de66171d84c6ef9b21cbdf8f6 -Author: Behdad Esfahbod -Date: Wed May 11 21:14:34 2011 -0400 - - Remove unused hb_mutex_trylock() - - src/hb-mutex-private.hh | 3 --- - 1 file changed, 3 deletions(-) - -commit b8477e1da2785708f3232f8f2577f602a5d320d1 -Author: Behdad Esfahbod -Date: Wed May 11 21:12:44 2011 -0400 - - [test] Add tests for _get_empty() funcs - - test/test-blob.c | 1 + - test/test-buffer.c | 7 +++++++ - test/test-unicode.c | 10 ++++++++++ - 3 files changed, 18 insertions(+) - -commit 3994be3ded40e5a3da0e187ad421b19a78865e02 -Author: Behdad Esfahbod -Date: Wed May 11 21:08:31 2011 -0400 - - [TODO] Update - - TODO | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 80a6833b032bc63b4e8c3da6489d3767af1168f3 -Author: Behdad Esfahbod -Date: Wed May 11 18:14:44 2011 -0400 - - [API] Add hb_*_get_empty() for all objects - - src/hb-buffer.cc | 6 ++++++ - src/hb-buffer.h | 3 +++ - src/hb-font.cc | 18 ++++++++++++++++++ - src/hb-font.h | 9 +++++++++ - src/hb-unicode.cc | 6 ++++++ - src/hb-unicode.h | 3 +++ - test/test-object.c | 36 +++++++++++++++++++++++++++++++++--- - 7 files changed, 78 insertions(+), 3 deletions(-) - -commit d3b30be378c1dec0259a626d9a408bb9ca1b71ac -Author: Behdad Esfahbod -Date: Wed May 11 18:06:12 2011 -0400 - - [API] Add HB_UNTAG() - - Useful in C API only. - - src/hb-common.h | 1 + - 1 file changed, 1 insertion(+) - -commit 3cc6e9dcb42551761c3a1a9d3c25b1f1bcdc2419 -Author: Behdad Esfahbod -Date: Wed May 11 18:02:48 2011 -0400 - - Minor - - src/test.cc | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 4101ca7dbbdf1438fa116fb8cad935501ac7cca8 -Author: Behdad Esfahbod -Date: Wed May 11 14:30:56 2011 -0400 - - Plug more leaks - - All good now. - - src/hb-blob.cc | 2 +- - src/hb-open-type-private.hh | 8 ++++---- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 6a7ac79e26e85f6781186cf708a12825c0857324 -Author: Behdad Esfahbod -Date: Wed May 11 14:19:18 2011 -0400 - - Plug leaks - - src/hb-ot-map-private.hh | 7 +++++++ - src/hb-ot-shape-private.hh | 2 ++ - src/hb-ot-shape.cc | 2 ++ - src/hb-private.hh | 10 +++++++++- - 4 files changed, 20 insertions(+), 1 deletion(-) - -commit 7aa12ebdff11a4ffbd04bf9b164586eb0c172e37 -Author: Behdad Esfahbod -Date: Wed May 11 11:55:11 2011 -0400 - - [unicode] Simplify method setting - - src/hb-unicode.cc | 6 +----- - test/test-unicode.c | 6 +++++- - 2 files changed, 6 insertions(+), 6 deletions(-) - -commit d5bfd0272130a315d3b5e6cdcf9b7e6395879204 -Author: Behdad Esfahbod -Date: Wed May 11 11:48:28 2011 -0400 - - Minor - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6a4e7e1372ef9fde81b84ecc9c4d1f23d97396c1 -Author: Behdad Esfahbod -Date: Wed May 11 10:31:33 2011 -0400 - - Add maxp table - - Not used for anything right now. Will use to get num_glyphs in - the future. - - src/Makefile.am | 1 + - src/hb-ot-head-private.hh | 1 - - src/hb-ot-layout.cc | 1 + - src/hb-ot-maxp-private.hh | 68 - +++++++++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 70 insertions(+), 1 deletion(-) - -commit e0b0710ae52bcc8c6fbd87dfae83818faa5d5f5f -Author: Behdad Esfahbod -Date: Wed May 11 08:58:21 2011 -0400 - - Minor - - TODO | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit a513dbcf73ab1cc39a7c9653034904d0c6cd9fe9 -Author: Behdad Esfahbod -Date: Wed May 11 00:24:34 2011 -0400 - - [API] Change signature of get_contour_point and get_kerning ffuncs - - get_contour_point now takes glyph id before point_index. - - get_kerning now takes a vector to fill-in. - - src/hb-font.cc | 56 - +++++++++++++++++++++------------------- - src/hb-font.h | 16 +++++++----- - src/hb-ft.cc | 11 +++++--- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 2 +- - src/hb-ot-shape.cc | 15 ++++++++--- - 6 files changed, 59 insertions(+), 43 deletions(-) - -commit 63d646fb2933c2765ce526d321a498d0f7fae2f5 -Author: Behdad Esfahbod -Date: Wed May 11 00:15:37 2011 -0400 - - [font] Do user-space conversion when chaining up to parent font - - src/hb-font-private.hh | 28 ++++++++++++++++++++++++++++ - src/hb-font.cc | 23 +++++++++++++++++------ - 2 files changed, 45 insertions(+), 6 deletions(-) - -commit b6f902a1a9c8b72b5d6a241a14a7bacfaea3a56a -Author: Behdad Esfahbod -Date: Wed May 11 00:04:15 2011 -0400 - - Minor - - src/hb-font-private.hh | 6 +++--- - src/hb-ot-layout-gdef-private.hh | 6 +++--- - src/hb-ot-layout-gpos-private.hh | 20 ++++++++++---------- - 3 files changed, 16 insertions(+), 16 deletions(-) - -commit abcfe9b59b4475eb02dd679aac4bc59616713b28 -Author: Behdad Esfahbod -Date: Wed May 11 00:02:02 2011 -0400 - - Remove hb_ot_layout_context_t, simplify code - - src/hb-font-private.hh | 12 +++- - src/hb-font.cc | 6 +- - src/hb-ot-layout-common-private.hh | 8 +-- - src/hb-ot-layout-gdef-private.hh | 34 +++++----- - src/hb-ot-layout-gpos-private.hh | 121 - ++++++++++++++++++----------------- - src/hb-ot-layout-gsub-private.hh | 24 +++---- - src/hb-ot-layout-gsubgpos-private.hh | 11 ++-- - src/hb-ot-layout-private.hh | 13 ---- - src/hb-ot-layout.cc | 15 +---- - 9 files changed, 118 insertions(+), 126 deletions(-) - -commit 1ded6d8bbf93b7dabf2b1f620c07bd3236e7a60f -Author: Behdad Esfahbod -Date: Tue May 10 20:49:02 2011 -0400 - - Make default font-funcs chain-up to the parent - - src/hb-font.cc | 44 +++++++++++++++++++++++++++++++++++++++----- - src/hb-font.h | 41 +++++++++++++++++++++-------------------- - 2 files changed, 60 insertions(+), 25 deletions(-) - -commit b9d975b931d6310f25fab5ac280f523cdc27bf94 -Author: Behdad Esfahbod -Date: Tue May 10 20:41:13 2011 -0400 - - [API] Pass down closure user_data to font funcs - - src/hb-font-private.hh | 30 ++++++-- - src/hb-font.cc | 184 - +++++++++++++++++++++++++------------------------ - src/hb-font.h | 42 ++++++----- - src/hb-ft.cc | 103 ++++++++++++++------------- - 4 files changed, 198 insertions(+), 161 deletions(-) - -commit 446df9cdb1fddb51819b731436fca54146d0bb23 -Author: Behdad Esfahbod -Date: Tue May 10 20:14:44 2011 -0400 - - Whitespace - - src/hb-unicode.h | 30 +++++++++++++++--------------- - 1 file changed, 15 insertions(+), 15 deletions(-) - -commit 686c2d165dfb284b74b78f6b902d04b585dcaef3 -Author: Behdad Esfahbod -Date: Tue May 10 20:04:26 2011 -0400 - - [API] Remove font_funcs func getter functions - - src/hb-font.cc | 32 -------------------------------- - src/hb-font.h | 18 ------------------ - 2 files changed, 50 deletions(-) - -commit defc45be6d75aba4a67fa7814b91b73bad953fe6 -Author: Behdad Esfahbod -Date: Tue May 10 20:02:49 2011 -0400 - - [API] Add hb_font_create_sub_font() and hb_font_get_parent() - - Not quite useful just yet. - - src/hb-font-private.hh | 1 + - src/hb-font.cc | 41 ++++++++++++++++++++++++++++++++++++++--- - src/hb-font.h | 5 +++++ - src/hb-unicode.h | 2 +- - 4 files changed, 45 insertions(+), 4 deletions(-) - -commit 11bb8fe7b3925bc9b019ad0c0218a231e581f152 -Author: Behdad Esfahbod -Date: Tue May 10 19:57:00 2011 -0400 - - [font] Fix internal sign of x/y_scale - - Should have been done as part of - da975419884a535281745f30f4b32fee0bc8a7a1 - - src/hb-font-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 85e6218e3306165d69ef44277459511d5b54b9ff -Author: Behdad Esfahbod -Date: Tue May 10 19:40:44 2011 -0400 - - [API] Remove broken-by-design hb_font_unset_funcs() - - src/hb-font.cc | 22 ---------------------- - src/hb-font.h | 16 ---------------- - 2 files changed, 38 deletions(-) - -commit 74f1d896f2479500d65649cf3ec86dd201f0663a -Author: Behdad Esfahbod -Date: Tue May 10 19:39:32 2011 -0400 - - Add hb_font_make/is_immutable() - - src/hb-font-private.hh | 2 ++ - src/hb-font.cc | 26 +++++++++++++++++++++++--- - src/hb-font.h | 6 ++++++ - test/test-object.c | 2 +- - 4 files changed, 32 insertions(+), 4 deletions(-) - -commit 8c7a100a4d0f3a257fb7563cb08ed4356c3af669 -Author: Behdad Esfahbod -Date: Tue May 10 19:21:07 2011 -0400 - - Fix build without mutex - - src/hb-mutex-private.hh | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 19d3035c40e73923bcad709dc5eefe31cb34d681 -Author: Behdad Esfahbod -Date: Tue May 10 19:18:12 2011 -0400 - - Remove duplicate atomic_int implementation - - src/hb-mutex-private.hh | 17 ----------------- - 1 file changed, 17 deletions(-) - -commit 45bfa99034512e886d75b1d45a5a649647f4711f -Author: Behdad Esfahbod -Date: Tue May 10 19:12:49 2011 -0400 - - Fix set implementation to be truly threadsafe even with destroy() - callbacks - - The test/object test is passing again, instead of deadlocking. - - src/hb-common.cc | 26 +++++------ - src/hb-mutex-private.hh | 47 +++++++------------ - src/hb-object-private.hh | 6 ++- - src/hb-private.hh | 117 - ++++++++++++++++++++++++++++++++++++++--------- - 4 files changed, 128 insertions(+), 68 deletions(-) - -commit 0c2ec1d78bfa0166ffd4afc204c2668d4f456ed9 -Author: Behdad Esfahbod -Date: Tue May 10 19:11:27 2011 -0400 - - [test] Always initialize gthread such that our mutex() stuff is tested - - Now the test/object test deadlocks as expected. Fix coming. - - configure.ac | 1 + - test/Makefile.am | 4 ++-- - test/hb-test.h | 1 + - 3 files changed, 4 insertions(+), 2 deletions(-) - -commit 6a9093cc486c1899197cd7cc9a3eb907c2e756f7 -Author: Behdad Esfahbod -Date: Tue May 10 19:00:07 2011 -0400 - - [test/object] Test user_data with destroy() callback that calls - user_data - - Exposes the non-atomicity of user_data opertaions at this time because - we call finish() while still locked and modifying the object. - In fact, - I'm surprised that it doesn't deadlock. It should. - - test/test-object.c | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -commit abe636b8761e47ea60b193c7e72a044de224d172 -Author: Behdad Esfahbod -Date: Tue May 10 17:55:40 2011 -0400 - - Add DOAP file - - Makefile.am | 6 +++++- - harfbuzz.doap | 24 ++++++++++++++++++++++++ - 2 files changed, 29 insertions(+), 1 deletion(-) - -commit f82c18630471216a04e4e3ad42396da4e6d74cba -Author: Behdad Esfahbod -Date: Tue May 10 17:48:34 2011 -0400 - - [test/blob] Fix bug in test - - test/test-blob.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 785d23acd0ce72d399f9c5021bebc854872648af -Author: Behdad Esfahbod -Date: Tue May 10 17:41:44 2011 -0400 - - [test/blob] Add create_sub_blob() - - test/test-blob.c | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -commit 0617b1558234673d3924f37541be01b04d36f05a -Author: Behdad Esfahbod -Date: Tue May 10 17:37:08 2011 -0400 - - [test] Test blob API - - test/Makefile.am | 1 + - test/test-blob.c | 280 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - test/test-buffer.c | 149 ++++++++++++++-------------- - 3 files changed, 359 insertions(+), 71 deletions(-) - -commit 1c9f8717eb12c37c219333cbb0d123e1d2da4896 -Author: Behdad Esfahbod -Date: Fri May 6 22:28:26 2011 -0400 - - [API] Simplify blob API, remove lock - - TODO | 2 - - src/hb-blob.cc | 206 - ++++++++++++++++++-------------------------- - src/hb-blob.h | 19 ++-- - src/hb-font.cc | 2 - - src/hb-open-type-private.hh | 32 ++++--- - src/hb-ot-layout.cc | 7 +- - test/test-object.c | 2 +- - 7 files changed, 118 insertions(+), 152 deletions(-) - -commit 71cef14ac3de07e4fed0a2903b1f0f639406ec6c -Author: Behdad Esfahbod -Date: Fri May 6 19:30:59 2011 -0400 - - Add -Bsymbolic-functions to linker flags - - configure.ac | 3 +++ - 1 file changed, 3 insertions(+) - -commit ab428aeab724ca40341318b66640f992cd72d2fc -Author: Behdad Esfahbod -Date: Fri May 6 19:30:46 2011 -0400 - - [TODO] Update - - TODO | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a0f337a1cce1788dbf3147b459e7f615acbfe81b -Author: Behdad Esfahbod -Date: Fri May 6 19:20:52 2011 -0400 - - Remove unused hb_blob_try_writable_inplace() - - src/hb-blob.cc | 20 -------------------- - src/hb-blob.h | 3 --- - 2 files changed, 23 deletions(-) - -commit 08611d5194144bbf5d96a1110aeb812db06e0901 -Author: Behdad Esfahbod -Date: Fri May 6 16:28:10 2011 -0400 - - Add note re deadlocks - - src/hb-common.cc | 1 + - src/hb-mutex-private.hh | 4 ++++ - 2 files changed, 5 insertions(+) - -commit 34fb5521a5fbb6b95ceff4bbac42a62628bc9f31 -Author: Behdad Esfahbod -Date: Fri May 6 00:04:28 2011 -0400 - - [API] Add hb_language_get_default() - - It uses locale information to detect default language. It's used by - hb_shape() whenever language is not set on the buffer. - - Not sure how to properly test it in the test suite. Tested by - observing - that with DejaVu Sans we select the proper local glyph version - for U+431 - under Serbian locale. See http://www.pango.org/ScriptGallery - - src/hb-common.cc | 21 +++++++++++++++++++++ - src/hb-common.h | 3 +++ - src/hb-shape.cc | 2 +- - test/test-common.c | 5 +++++ - 4 files changed, 30 insertions(+), 1 deletion(-) - -commit c78f4485587cc1dee07e772c164a13fde9d2859f -Author: Behdad Esfahbod -Date: Thu May 5 21:31:04 2011 -0400 - - [API] Add version macros and functions - - Step version up to 0.5.0. - - Also, fix to pass "make distcheck" - - configure.ac | 24 ++++++++++++----- - src/Makefile.am | 9 +++++++ - src/check-c-linkage-decls.sh | 2 +- - src/hb-common.cc | 29 +++++++++++++++++++++ - src/hb-version.h.in | 62 - ++++++++++++++++++++++++++++++++++++++++++++ - src/hb.h | 1 + - test/Makefile.am | 2 ++ - 7 files changed, 122 insertions(+), 7 deletions(-) - -commit 9ff819f6571fd0d570f271162d7a30d97ee64148 -Author: Behdad Esfahbod -Date: Thu May 5 19:47:59 2011 -0400 - - Add disable-static libtool flag - - No one who builds harfbuzz static uses the autotools build system - to do it. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7ca7571ef91754274f6c84bbf988962d74a74098 -Author: Behdad Esfahbod -Date: Thu May 5 19:47:12 2011 -0400 - - Remove win32-dll libtool flag - - Since we're not win32-dll clean the way libtool docs define it. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 174e3fe89b72729c9c34c647544a2dc1bf63cd84 -Author: Behdad Esfahbod -Date: Thu May 5 19:37:53 2011 -0400 - - Add AC_CANONICAL_HOST - - configure.ac | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit e6a5b88c01420366a70e0c9ae1775fb3c930cb8b -Author: Behdad Esfahbod -Date: Thu May 5 16:24:42 2011 -0400 - - Fix build with older glib - - configure.ac | 2 +- - test/hb-test.h | 55 - +++++++++++++++++++++++++++++++++---------------------- - 2 files changed, 34 insertions(+), 23 deletions(-) - -commit 3935af1c0d0f53a5fd6054e1ee219f3adda42dca -Author: Behdad Esfahbod -Date: Thu May 5 16:09:45 2011 -0400 - - [buffer] Remove wrong optimization - - While the cluster fields of the glyph string are usually sorted, they - wouldn't be in special cases (for example for non-native direction). - Blindly using bsearch is plain wrong. If we want to reintroduce this - optimization we have to make sure we know the buffer clusters are - monotonic and in which direction. Not sure it's worth it though. - - src/hb-buffer.cc | 16 +++------------- - 1 file changed, 3 insertions(+), 13 deletions(-) - -commit 46df6828513d56cd60467e36cbe45aa06648f488 -Author: Behdad Esfahbod -Date: Thu May 5 15:33:19 2011 -0400 - - Make user_data access threadsafe - - For now, by taking a global user_data mutex. - - src/hb-common.cc | 25 +++++++++++++++++++++++-- - src/hb-object-private.hh | 2 -- - 2 files changed, 23 insertions(+), 4 deletions(-) - -commit 218e67b9eefa26e2e4fe43f99a84d082b185b1b0 -Author: Behdad Esfahbod -Date: Thu May 5 15:28:37 2011 -0400 - - Shrink code - - src/hb-common.cc | 26 ++++++++++++++++++++++++++ - src/hb-object-private.hh | 21 ++++----------------- - 2 files changed, 30 insertions(+), 17 deletions(-) - -commit b8d6183ebc4697a434776cf2aec7857d63a7d881 -Author: Behdad Esfahbod -Date: Thu May 5 15:14:04 2011 -0400 - - Use threadsafe set implementation for hb_language lookups - - Note that the static variable has to be a global static, as gcc - implements local statics differently and that would require linking - to libstdc++, which we don't want. - - src/hb-common.cc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit d37486d87b65c5abaaa2998fa5c9e48eedde0933 -Author: Behdad Esfahbod -Date: Thu May 5 15:07:54 2011 -0400 - - Add hb_threadsafe_set_t - - src/hb-mutex-private.hh | 54 - +++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-private.hh | 3 +-- - 2 files changed, 55 insertions(+), 2 deletions(-) - -commit b45f32ee4e599c515ce93e44315283d236b073bb -Author: Behdad Esfahbod -Date: Thu May 5 15:00:43 2011 -0400 - - Use hb_array_t for hb_language_t mapping - - src/hb-common.cc | 48 - ++++++++++++++++++++++-------------------------- - src/hb-object-private.hh | 4 ++-- - src/hb-private.hh | 19 +++++++++++++++---- - 3 files changed, 39 insertions(+), 32 deletions(-) - -commit 21d2c92fdf7307c7117f8948021f0dd7d5a5d2a3 -Author: Behdad Esfahbod -Date: Thu May 5 14:47:53 2011 -0400 - - Move code around - - src/hb-object-private.hh | 28 ++++++++++++++-------------- - 1 file changed, 14 insertions(+), 14 deletions(-) - -commit 448ea9bf63104d39f87fff66219034222fa632b8 -Author: Behdad Esfahbod -Date: Thu May 5 14:39:24 2011 -0400 - - [TODO] Remove done items - - TODO | 9 --------- - 1 file changed, 9 deletions(-) - -commit 265ac614ea6d26041c7d64739098b76a82bbc4f4 -Author: Behdad Esfahbod -Date: Thu May 5 14:38:16 2011 -0400 - - Replace fixed-size lookup_maps array with hb_array_t - - src/hb-ot-map-private.hh | 13 +++++-------- - src/hb-ot-map.cc | 47 - +++++++++++++++++++++++++---------------------- - src/hb-private.hh | 6 ++---- - 3 files changed, 32 insertions(+), 34 deletions(-) - -commit 6843569d2c70c1771ce964e3d1a4cf91e14e7687 -Author: Behdad Esfahbod -Date: Thu May 5 14:12:37 2011 -0400 - - Replace fixed-size feature_maps array with hb_array_t - - src/hb-ot-map-private.hh | 10 +++------- - src/hb-ot-map.cc | 12 ++++++------ - src/hb-ot-shape.cc | 2 +- - src/hb-private.hh | 42 +++++++++++++++++++++++++++++------------- - 4 files changed, 39 insertions(+), 27 deletions(-) - -commit 44b0a4d2fc62689fc56ef57f412b4bb1e439a614 -Author: Behdad Esfahbod -Date: Thu May 5 13:42:19 2011 -0400 - - Replace fixed-size feature_infos array with hb_array_t - - src/hb-ot-map-private.hh | 9 +++++---- - src/hb-ot-map.cc | 9 +++++---- - src/hb-private.hh | 12 ++++++++++++ - 3 files changed, 22 insertions(+), 8 deletions(-) - -commit b214ec3ac0ce6568e9226fd09661d52de11dca96 -Author: Behdad Esfahbod -Date: Thu May 5 13:24:07 2011 -0400 - - Minor - - src/hb-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 811482bd650fb5652a9835471ae8ecf0fb185611 -Author: Behdad Esfahbod -Date: Thu May 5 13:21:04 2011 -0400 - - Replace hb_map_t with hb_set_t which is more intuitive and flexible - - src/hb-object-private.hh | 24 ++++++++++++++---------- - src/hb-private.hh | 44 - +++++++++++++++++--------------------------- - test/test-object.c | 4 ++++ - 3 files changed, 35 insertions(+), 37 deletions(-) - -commit 478a42536ff7ab777a7774fbfdb9c5e51334a14e -Author: Behdad Esfahbod -Date: Thu May 5 12:39:51 2011 -0400 - - Make array/map implementation more generic - - src/hb-object-private.hh | 2 ++ - src/hb-private.hh | 13 +++++++------ - 2 files changed, 9 insertions(+), 6 deletions(-) - -commit b81bd42951e1ce1569b29168015d3c5a2dacf773 -Author: Behdad Esfahbod -Date: Thu May 5 00:21:16 2011 -0400 - - Make hb_mutex_*() macros take a pointer - - More intuitive. - - src/hb-blob.cc | 28 ++++++++++++++-------------- - src/hb-mutex-private.hh | 32 ++++++++++++++++---------------- - 2 files changed, 30 insertions(+), 30 deletions(-) - -commit a4b1900913c91aa9db74c4fdfa7c691a5cdf02a8 -Author: Behdad Esfahbod -Date: Thu May 5 00:17:43 2011 -0400 - - Add hb_static_mutex_t - - src/hb-mutex-private.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 56eb5ad6f94c32189ad219438db9a18683ca6846 -Author: Behdad Esfahbod -Date: Wed May 4 19:27:37 2011 -0400 - - Move code around - - Mutex (and Windows.h by extension) are fairly isolated now. - - src/Makefile.am | 8 ++-- - src/hb-blob-private.hh | 60 --------------------------- - src/hb-blob.cc | 24 ++++++++++- - src/hb-font-private.hh | 3 -- - src/hb-font.cc | 12 +++--- - src/hb-mutex-private.hh | 105 - +++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-object-private.hh | 33 ++------------- - src/hb-unicode.cc | 1 - - 8 files changed, 141 insertions(+), 105 deletions(-) - -commit d292885893395dcb345dce1010e5c8628a715ef4 -Author: Behdad Esfahbod -Date: Tue May 3 01:03:53 2011 -0400 - - [ft] Fix font->face handling - - Don't use _cached() - - src/hb-ft.cc | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 2000179487b49e0d504ec127450dc6fcb5568cec -Author: Behdad Esfahbod -Date: Tue May 3 00:49:06 2011 -0400 - - Move Win32 thread-safety stuff to hb-object-private.h - - The Win32 definitions for LONG, ULONG, etc conflicts with - hb-open-type.h. Avoid that by making sure hb-object-private.h - and hb-open-type.h are not included in the same compilation unit. - - src/hb-common.cc | 54 --------------------------------------- - src/hb-object-private.hh | 66 - ++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-private.hh | 66 - ------------------------------------------------ - 3 files changed, 66 insertions(+), 120 deletions(-) - -commit 266b34418c9bbe23ccaf29cb354b58c465fa3b22 -Author: Behdad Esfahbod -Date: Tue May 3 00:35:53 2011 -0400 - - Refactor to keep hb-object-private.h and hb-open-type.h separate - - Needed to be able to include from hb-object-private.h. - - src/hb-font.cc | 19 ++++---------- - src/hb-ot-layout-private.hh | 60 - +++++++++++++++++++++++++-------------------- - src/hb-ot-layout.cc | 28 ++++++++++++++++++--- - 3 files changed, 63 insertions(+), 44 deletions(-) - -commit d4141a44b97377a65e6d2a3e03b3709307af38c1 -Author: Behdad Esfahbod -Date: Tue May 3 00:19:18 2011 -0400 - - [blob] Implement sub_blob() in terms of create() - - Fixes problem with uninitialized sub_blob->mutex among other things. - - Reported by Bradley Grainger. - - src/hb-blob.cc | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -commit fc52e9e44c2fe84d63f18dc0098720830f0b467d -Author: Behdad Esfahbod -Date: Tue May 3 00:09:16 2011 -0400 - - Implement win32 thread-safety stuff - - Patch from Bradley Grainger. - - src/hb-common.cc | 54 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-private.hh | 30 +++++++++++++++++++++++++----- - 2 files changed, 79 insertions(+), 5 deletions(-) - -commit f55272ecde857c116f97a3195f3abd1df3be4b86 -Author: Behdad Esfahbod -Date: Mon May 2 20:57:28 2011 -0400 - - Add hb_mutex_free() and use it - - Based on patch by Bradley Grainger. - - src/hb-blob.cc | 1 + - src/hb-private.hh | 16 +++++++++------- - 2 files changed, 10 insertions(+), 7 deletions(-) - -commit 8d5186484b28b5f629b523e067d7d5166eec557a -Author: Behdad Esfahbod -Date: Mon May 2 20:52:21 2011 -0400 - - Cosmetic - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 72657e4ce757dcb055a8db7291b68f96f0d34bfb -Author: Behdad Esfahbod -Date: Mon May 2 20:46:32 2011 -0400 - - [API] Make hb_font_create() take a face and reference it - - src/hb-font-private.hh | 2 ++ - src/hb-font.cc | 42 - +++++++++++++++++++++++++--------------- - src/hb-font.h | 26 ++++++++++++++----------- - src/hb-ft.cc | 7 +------ - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 2 +- - src/hb-ot-layout.cc | 10 ++++------ - src/hb-ot-layout.h | 2 -- - src/hb-ot-map-private.hh | 2 +- - src/hb-ot-shape.cc | 23 +++++++++++----------- - src/hb-ot-shape.h | 1 - - src/hb-shape.cc | 18 ++--------------- - src/hb-shape.h | 1 - - src/hb-view.cc | 4 +--- - test/test-object.c | 7 +++++-- - 15 files changed, 70 insertions(+), 79 deletions(-) - -commit cec6611c5ce84d69d910bf7e9ec1fdd594398f9f -Author: Behdad Esfahbod -Date: Mon May 2 20:18:58 2011 -0400 - - Protect NULL in a couple places - - src/hb-font.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 5a5030366e40baa8d96ca67b47a52ad5af143157 -Author: Behdad Esfahbod -Date: Mon May 2 19:54:29 2011 -0400 - - Fix bug in array growth implementation - - With this, test/object is now passing. Yay! - - src/hb-private.hh | 24 +++++++++++------------- - 1 file changed, 11 insertions(+), 13 deletions(-) - -commit 16123e10700436df18d14e37371bb621b31ea5d1 -Author: Behdad Esfahbod -Date: Mon May 2 19:54:17 2011 -0400 - - Fix bug in map implementation - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1cd5969f253528b1fc05a06c7a9f222baa29f68d -Author: Behdad Esfahbod -Date: Mon May 2 19:53:39 2011 -0400 - - [object] Fix bug in get_user_data() implementation - - src/hb-object-private.hh | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit db99589529a22a2113bcef1680ab6d9b934f382e -Author: Behdad Esfahbod -Date: Mon May 2 19:52:47 2011 -0400 - - [test/object] Add test for object lifecycle stuff - - Revealed many bugs in the (untested and known buggy) user_data - support. - - test/Makefile.am | 4 + - test/test-object.c | 316 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 320 insertions(+) - -commit f74d6c81f14f117b3cecfb65f0d5df22849c9a07 -Author: Behdad Esfahbod -Date: Mon May 2 19:52:32 2011 -0400 - - Cosmetic - - test/test-unicode.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 4911062d5be0d937ee8f1a70cc93e05d162f45b3 -Author: Behdad Esfahbod -Date: Mon May 2 19:36:39 2011 -0400 - - [API] Rename hb_blob_create_empty() to hb_blob_get_empty() - - src/hb-blob.cc | 2 +- - src/hb-blob.h | 2 +- - src/hb-font.cc | 2 +- - src/hb-open-type-private.hh | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -commit 1ab1d3e38cdf8e7331efdbc4ef0c02ee9d5c8c04 -Author: Behdad Esfahbod -Date: Mon May 2 19:35:53 2011 -0400 - - [face] Return nil face if blob is inert - - src/hb-font.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit e87867cb88280e3f3a38d829e359cb686168b2cb -Author: Behdad Esfahbod -Date: Mon May 2 19:35:05 2011 -0400 - - [buffer] Fail in _create() if we cannot pre-allocate the requested - size - - src/hb-buffer.cc | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit cd361ec9a1b2bfc271e5490dbfc0a870fd5c439a -Author: Behdad Esfahbod -Date: Mon May 2 16:54:05 2011 -0400 - - Cosmetic - - test/test-unicode.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c784c67a28f5b92d396eaa9529d57ef91a5cb9ac -Author: Behdad Esfahbod -Date: Mon May 2 15:59:57 2011 -0400 - - [unicode] Make _get_parent() return _nil object instead of NULL - - src/hb-unicode.cc | 29 ++++++++++++----------------- - test/test-unicode.c | 2 +- - 2 files changed, 13 insertions(+), 18 deletions(-) - -commit 07e22779abd089d5921bf2d19d4a3bf1bd0173c6 -Author: Behdad Esfahbod -Date: Mon May 2 14:58:04 2011 -0400 - - [test/unicode] Add script roundtrip tests for glib and ICU - - test/test-unicode.c | 70 - ++++++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 64 insertions(+), 6 deletions(-) - -commit 7cda65935c73c277550f6ac12f6730e96d4852a7 -Author: Behdad Esfahbod -Date: Mon May 2 14:33:53 2011 -0400 - - [test/unicode] Better test chainup - - test/test-unicode.c | 54 - ++++++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 49 insertions(+), 5 deletions(-) - -commit 250c59225ead28449deb11522dee3819480a19b4 -Author: Behdad Esfahbod -Date: Mon May 2 14:21:30 2011 -0400 - - [test/unicode] Port the _custom test to test all property setters - - test/test-unicode.c | 186 - +++++++++++++++++++++++++++++----------------------- - 1 file changed, 104 insertions(+), 82 deletions(-) - -commit e74b5b339ab0af53d893ec84a0955d5aa508fed3 -Author: Behdad Esfahbod -Date: Mon May 2 14:03:55 2011 -0400 - - [test/unicode] Test Unicode 5.2+ but don't fail - - test/test-unicode.c | 21 +++++++++++++++++++-- - 1 file changed, 19 insertions(+), 2 deletions(-) - -commit c763aa42b46eaee95359806cab56fa632ff3ad58 -Author: Behdad Esfahbod -Date: Mon May 2 13:52:17 2011 -0400 - - [test/buffer] Clean up testing - - Getting the hang of how to cleanly use gtest. - - test/test-buffer.c | 154 - +++++++++++++++++++++++++++++------------------------ - 1 file changed, 85 insertions(+), 69 deletions(-) - -commit 819e9d9e5310e67e8dcce9fa885f8a086a9b9ee8 -Author: Behdad Esfahbod -Date: Mon May 2 12:38:54 2011 -0400 - - Minor - - test/test-unicode.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 03034acb8a9fdd33135bc3775a1f932da9ebdd42 -Author: Behdad Esfahbod -Date: Mon May 2 12:37:45 2011 -0400 - - [icu] Make sure we return script UNKNOWN instead of INVALID - - src/hb-icu.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit d02985ec5a24c659a0a133cc6bc103f1d76bcb29 -Author: Behdad Esfahbod -Date: Mon May 2 12:35:14 2011 -0400 - - ISO 15924 fixes - - Update to http://unicode.org/iso15924 - - Fixes some of the test failures in test-unicode with ICU. Still - one more to fix before the test passes. - - src/hb-common.cc | 10 ++++++++-- - src/hb-common.h | 5 +++-- - src/hb-ot-tag.cc | 2 -- - 3 files changed, 11 insertions(+), 6 deletions(-) - -commit e8e29c725a72c2e991cd1c4422a020457e1684e9 -Author: Behdad Esfahbod -Date: Mon May 2 12:06:18 2011 -0400 - - [test/unicode] Add log messages - - Use with --verbose to see what's failing - - test/test-unicode.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 208c2c31501f6eb2b81b6bf80fcf39f4646eb38b -Author: Behdad Esfahbod -Date: Sun May 1 20:04:01 2011 -0400 - - Minor - - test/test-unicode.c | 478 - ++++++++++++++++++++++++++-------------------------- - 1 file changed, 243 insertions(+), 235 deletions(-) - -commit 60833efaf1310c3f18e150b61daaeb0074ae3d91 -Author: Behdad Esfahbod -Date: Fri Apr 29 16:49:57 2011 -0400 - - [test/unicode] Add testing of all unicode properties - - ICU fails for now. - - test/hb-test.h | 4 +- - test/test-unicode.c | 432 - +++++++++++++++++++++++++++++++++++++++++++++++++--- - 2 files changed, 416 insertions(+), 20 deletions(-) - -commit da96ee072fa3544c3d36cf0b82ada11806789d70 -Author: Behdad Esfahbod -Date: Fri Apr 29 12:17:09 2011 -0400 - - [test/unicode] Test is/make_immutable() - - test/test-unicode.c | 46 ++++++++++++++++++++++++++++++---------------- - 1 file changed, 30 insertions(+), 16 deletions(-) - -commit 6af9cff5e17e82100b435c8d21aed0765296d58d -Author: Behdad Esfahbod -Date: Fri Apr 29 12:00:38 2011 -0400 - - [test/unicode] Use text fixture instead of static variables - - src/hb-unicode-private.hh | 2 +- - src/hb-unicode.h | 2 +- - test/test-buffer.c | 2 +- - test/test-c.c | 1 + - test/test-common.c | 3 +- - test/test-cplusplus.cc | 1 + - test/test-unicode.c | 112 - +++++++++++++++++++++++++++------------------- - 7 files changed, 74 insertions(+), 49 deletions(-) - -commit 13db3d40bfc09c68f9761a71435b1840b9d34099 -Author: Behdad Esfahbod -Date: Thu Apr 28 19:44:45 2011 -0400 - - [test/buffer] Add UTF-16 tests - - test/test-buffer.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 46 insertions(+), 2 deletions(-) - -commit 243673d601588a6f704ceafbff5dd5cdf66c47b7 -Author: Behdad Esfahbod -Date: Thu Apr 28 19:37:51 2011 -0400 - - [test/buffer] Add more extensive UTF-8 test data from glib - - src/hb-buffer.cc | 2 +- - test/test-buffer.c | 317 - ++++++++++++++++++++++++++++++++++++++++++++++++++--- - 2 files changed, 303 insertions(+), 16 deletions(-) - -commit dfec67f958482e5c3bb01e06b08694cd4ded6f66 -Author: Behdad Esfahbod -Date: Thu Apr 28 18:34:42 2011 -0400 - - [test/buffer] Add initial utf-8 tests - - test/hb-test.h | 25 ++++++++++++++++++++++++- - test/test-buffer.c | 46 +++++++++++++++++++++++++++++++++++++++++++++- - 2 files changed, 69 insertions(+), 2 deletions(-) - -commit aafe395ab550d3ba2fabc69155662e87d45e74a8 -Author: Behdad Esfahbod -Date: Thu Apr 28 17:10:44 2011 -0400 - - Add test suite infrastructure - - Wraps around glib for convenience and ease of use. - - test/Makefile.am | 1 + - test/hb-test.h | 132 - ++++++++++++++++++++++++++++++++++++++++++++++++---- - test/test-buffer.c | 29 ++++++------ - test/test-common.c | 14 +++--- - test/test-unicode.c | 32 ++++++------- - 5 files changed, 160 insertions(+), 48 deletions(-) - -commit c7ffe2ad5f6e97e26d14e2cc0d4098af8f5f36d0 -Author: Behdad Esfahbod -Date: Thu Apr 28 16:03:29 2011 -0400 - - [API Remove hb_font_funcs_copy() - - Will be adding font_funcs subclassing instead. - - src/hb-font.cc | 13 ------------- - src/hb-font.h | 3 --- - 2 files changed, 16 deletions(-) - -commit 30f34d08d445722320db711c3ddf41e66225752c -Author: Behdad Esfahbod -Date: Thu Apr 28 16:02:40 2011 -0400 - - [TODO] Remove finished items - - TODO | 2 -- - src/hb-font.h | 10 ---------- - 2 files changed, 12 deletions(-) - -commit 080a0eb7d82d7195be72c16ece6e0a3ffed636b6 -Author: Behdad Esfahbod -Date: Thu Apr 28 16:01:01 2011 -0400 - - Add _hb_unsigned_int_mul_overflows - - src/hb-buffer.cc | 7 ++----- - src/hb-open-type-private.hh | 2 +- - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-private.hh | 9 ++++++++- - 4 files changed, 12 insertions(+), 8 deletions(-) - -commit 1d39d6e42b3d7628512d675a84a831a0f58624eb -Author: Behdad Esfahbod -Date: Thu Apr 28 15:54:16 2011 -0400 - - Desable possibly lethal test on 64-bit machines - - test/test-buffer.c | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 3264042873fd639f3ef8ff0acfad777a0a9f3355 -Author: Behdad Esfahbod -Date: Thu Apr 28 14:24:16 2011 -0400 - - [test/buffer] Test pre_allocate() and allocation_successful() - - src/hb-buffer.cc | 3 ++- - test/test-buffer.c | 26 +++++++++++++++++++++++++- - 2 files changed, 27 insertions(+), 2 deletions(-) - -commit 123aa04f7b3241d6e43de2d472c4a1cbdb250ac7 -Author: Behdad Esfahbod -Date: Thu Apr 28 12:58:28 2011 -0400 - - Fix possible but improbable overflow in hb_array_t - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e0db4b868f9fdd8e680890f87dd4e13a1c27b7a1 -Author: Behdad Esfahbod -Date: Thu Apr 28 12:56:49 2011 -0400 - - [buffer] More error handling - - Should be all set now. - - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 60 - +++++++++++++++++++++++++++++++++--------------- - 2 files changed, 43 insertions(+), 19 deletions(-) - -commit 15c57e04bf05026ef424f8ae912d2f379301bf93 -Author: Behdad Esfahbod -Date: Thu Apr 28 12:28:54 2011 -0400 - - [test/buffer] Add test pre_alloc(); hangs in the buffer code right now - - Because the following loop overflows: - - while (size > new_allocated) - new_allocated += (new_allocated >> 1) + 32; - - test/test-buffer.c | 33 ++++++++++++++++++++++++++------- - 1 file changed, 26 insertions(+), 7 deletions(-) - -commit 1e5527e2d60ed3b4a5adf62b258415ec3aef41fb -Author: Behdad Esfahbod -Date: Thu Apr 28 12:15:24 2011 -0400 - - [test/buffer] Test reset(), set_length(), and set/get_unicode_data() - - test/test-buffer.c | 66 - ++++++++++++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 59 insertions(+), 7 deletions(-) - -commit db126b5448ec802285cf2b6f0e7da412d02dfb28 -Author: Behdad Esfahbod -Date: Thu Apr 28 11:56:29 2011 -0400 - - [test/buffer] Test reverse() and reverse_clusters() - - test/test-buffer.c | 61 - ++++++++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 57 insertions(+), 4 deletions(-) - -commit 5fa849b77d49da2212825ebb1bea9145713b8449 -Author: Behdad Esfahbod -Date: Wed Apr 27 21:46:01 2011 -0400 - - [API] Add _set/get_user_data() for all objects - - src/hb-blob.cc | 17 +++++++++++++++++ - src/hb-blob.h | 12 ++++++++++++ - src/hb-buffer.cc | 16 ++++++++++++++++ - src/hb-buffer.h | 10 ++++++++++ - src/hb-font.cc | 51 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-font.h | 36 ++++++++++++++++++++++++++++++++++++ - src/hb-unicode.cc | 17 +++++++++++++++++ - src/hb-unicode.h | 12 ++++++++++++ - 8 files changed, 171 insertions(+) - -commit 852e08ec8fbfbce1d50e571d0bb0b52ef4d4cc58 -Author: Behdad Esfahbod -Date: Wed Apr 27 21:45:51 2011 -0400 - - Move code around - - src/hb-object-private.hh | 153 - ++++++++++------------------------------------- - src/hb-private.hh | 136 +++++++++++++++++++++++++++++++++++++---- - 2 files changed, 157 insertions(+), 132 deletions(-) - -commit 29c67d3f70b081766a6c01353980f457f38aeb12 -Author: Behdad Esfahbod -Date: Wed Apr 27 21:22:32 2011 -0400 - - Add initial implementation of user_data to objects - - src/hb-common.h | 11 ++- - src/hb-object-private.hh | 186 - ++++++++++++++++++++++++++++++++++++++++++++++- - 2 files changed, 193 insertions(+), 4 deletions(-) - -commit 47e71d9661946a4ffb96026bf1d697d788414ab5 -Author: Behdad Esfahbod -Date: Wed Apr 27 16:38:03 2011 -0400 - - [object] Remove unnecessary use of macros - - TODO | 2 -- - src/hb-blob.cc | 18 +++++++++--------- - src/hb-buffer.cc | 6 +++--- - src/hb-font.cc | 30 +++++++++++++++--------------- - src/hb-object-private.hh | 9 --------- - src/hb-unicode.cc | 8 ++++---- - 6 files changed, 31 insertions(+), 42 deletions(-) - -commit 8be1420f8fd0e5c53282245d6830efbee5c7409d -Author: Behdad Esfahbod -Date: Wed Apr 27 16:14:04 2011 -0400 - - [blob] Use HB_FUNC instead of __FUNCTION__ - - src/hb-blob.cc | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -commit ae008b90cfc2028e878100f78b21d70f923a6044 -Author: Behdad Esfahbod -Date: Wed Apr 27 16:12:12 2011 -0400 - - [object] Add tracing support back in - - src/hb-object-private.hh | 38 ++++++++++++++++++++++++++------------ - 1 file changed, 26 insertions(+), 12 deletions(-) - -commit 5b7f38979fa90117861fe327477de1707f117a8c -Author: Behdad Esfahbod -Date: Wed Apr 27 15:10:12 2011 -0400 - - GNOME Bug 612402 - (hb-arm) HarfBuzz compilation fix for arm - - With gcc on arm, request 8-bit structure alignment. - - configure.ac | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit 39a840ae65327b173e6eb1bb291e235a8305d7a1 -Author: Behdad Esfahbod -Date: Wed Apr 27 14:48:19 2011 -0400 - - [API] Add hb_direction_from/to_string() - - And hb-view --direction argument. - - TODO | 1 - - src/hb-common.cc | 36 ++++++++++++++++++++++++++++++++++++ - src/hb-common.h | 6 ++++++ - src/hb-view.cc | 13 ++++++++++--- - test/test-common.c | 21 ++++++++++++++++++++- - 5 files changed, 72 insertions(+), 5 deletions(-) - -commit f1425a549fef360c3750532de23604cd318999d8 -Author: Behdad Esfahbod -Date: Wed Apr 27 12:15:06 2011 -0400 - - Rename hb-view.c and test.c to .cc files - - src/Makefile.am | 4 ++-- - src/{hb-view.c => hb-view.cc} | 2 +- - src/{test.c => test.cc} | 5 ++++- - 3 files changed, 7 insertions(+), 4 deletions(-) - -commit eb5796f58897ecfb9d76fd99915bf1a30669a0fa -Author: Behdad Esfahbod -Date: Wed Apr 27 12:14:53 2011 -0400 - - [TODO] Add hb-view items - - TODO | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -commit 65e0063eae2f3adb25315b8bd7b0e7757aa960f3 -Author: Behdad Esfahbod -Date: Wed Apr 27 09:33:58 2011 -0400 - - Make buffer size growth start from 32 instead of 8 - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d4bee9f813bb299b1c4aab7c33d588be2a7d354b -Author: Behdad Esfahbod -Date: Wed Apr 27 09:24:37 2011 -0400 - - [API] Add hb_unicode_funcs_get_default() - - src/hb-buffer.cc | 4 ++-- - src/hb-glib.cc | 5 +++-- - src/hb-icu.cc | 5 +++-- - src/hb-unicode-private.hh | 11 +++++++++++ - src/hb-unicode.cc | 7 +++++++ - src/hb-unicode.h | 8 ++++++++ - src/hb-view.c | 13 ++++++------- - test/test-unicode.c | 11 ++++++++++- - 8 files changed, 50 insertions(+), 14 deletions(-) - -commit 153142dac8dd9abaf164bb88af07c600c17fc3a1 -Author: Behdad Esfahbod -Date: Wed Apr 27 01:49:03 2011 -0400 - - Replace simple macros with inline functions for better type safety - - Now that we use C++ for all source code, lets benefit from it! - - The hb_be_int16/32_get/put/eq() macros grow code size if replaced with - inline functions, so leave them as is. - - src/hb-open-type-private.hh | 4 ++-- - src/hb-private.hh | 30 +++++++++++++++++++++--------- - 2 files changed, 23 insertions(+), 11 deletions(-) - -commit 40a9b8154f929947f4693bf90c64301afa407c3f -Author: Behdad Esfahbod -Date: Wed Apr 27 01:48:56 2011 -0400 - - Add TODO item - - src/hb-object-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit ebdc83467c31574daa118fc18cd2ef2dc819b503 -Author: Behdad Esfahbod -Date: Wed Apr 27 01:41:24 2011 -0400 - - Don't return in void function - - Would have been nice if gcc had warned... - - src/hb-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ec6f9c2fd03a49d1e91cbaefa5bdbbfb35dff92e -Author: Behdad Esfahbod -Date: Thu Apr 21 18:35:58 2011 -0400 - - Further simplify object handling - - src/hb-object-private.hh | 53 - ++++++++++++++++++++++++------------------------ - 1 file changed, 27 insertions(+), 26 deletions(-) - -commit fca368c4682624346a0aaee690e1ad6ed4c0b337 -Author: Behdad Esfahbod -Date: Thu Apr 21 18:24:02 2011 -0400 - - Add hb_object_header_t which is the common part of all objects - - Makes way for adding arbitrary user_data support. - - src/hb-blob-private.hh | 3 +- - src/hb-blob.cc | 2 +- - src/hb-buffer-private.hh | 9 +++-- - src/hb-buffer.cc | 2 +- - src/hb-font-private.hh | 7 ++-- - src/hb-font.cc | 7 ++-- - src/hb-ft.cc | 3 +- - src/hb-glib.cc | 3 +- - src/hb-icu.cc | 3 +- - src/hb-object-private.hh | 95 - ++++++++++++++++++++++++++--------------------- - src/hb-private.hh | 5 +-- - src/hb-unicode-private.hh | 6 ++- - src/hb-unicode.cc | 3 +- - 13 files changed, 82 insertions(+), 66 deletions(-) - -commit a9f24c802956d57180d71b83e96a0fb81197df4a -Author: Behdad Esfahbod -Date: Thu Apr 21 17:18:22 2011 -0400 - - Move hb_reference_count_t to hb-private.h - - src/hb-object-private.hh | 17 ----------------- - src/hb-private.hh | 20 ++++++++++++++++++++ - 2 files changed, 20 insertions(+), 17 deletions(-) - -commit 2409d5f8d7dd8b535ce5ea29e933f7db27d33793 -Author: Behdad Esfahbod -Date: Thu Apr 21 17:14:28 2011 -0400 - - Update Copyright headers - - COPYING | 15 ++++++++------- - src/hb-blob-private.hh | 2 +- - src/hb-blob.cc | 2 +- - src/hb-blob.h | 2 +- - src/hb-buffer-private.hh | 4 ++-- - src/hb-buffer.cc | 6 +++--- - src/hb-buffer.h | 6 +++--- - src/hb-common.cc | 4 +++- - src/hb-common.h | 4 +++- - src/hb-font-private.hh | 4 +++- - src/hb-font.cc | 2 +- - src/hb-font.h | 2 +- - src/hb-ft.cc | 4 ++-- - src/hb-ft.h | 2 +- - src/hb-glib.cc | 4 +++- - src/hb-glib.h | 4 +++- - src/hb-icu.cc | 6 ++++-- - src/hb-icu.h | 4 +++- - src/hb-object-private.hh | 6 ++++-- - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 2 +- - src/hb-ot-head-private.hh | 2 +- - src/hb-ot-layout-common-private.hh | 4 ++-- - src/hb-ot-layout-gdef-private.hh | 4 ++-- - src/hb-ot-layout-gpos-private.hh | 4 ++-- - src/hb-ot-layout-gsub-private.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - src/hb-ot-layout-private.hh | 2 +- - src/hb-ot-layout.cc | 6 +++--- - src/hb-ot-layout.h | 2 +- - src/hb-ot-map-private.hh | 4 ++-- - src/hb-ot-map.cc | 4 ++-- - src/hb-ot-shape-complex-arabic-table.hh | 2 +- - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape-complex-private.hh | 2 +- - src/hb-ot-shape-private.hh | 2 +- - src/hb-ot-shape.cc | 4 ++-- - src/hb-ot-shape.h | 2 +- - src/hb-ot-tag.cc | 4 +++- - src/hb-ot-tag.h | 2 +- - src/hb-ot.h | 2 +- - src/hb-private.hh | 4 +++- - src/hb-shape.cc | 2 +- - src/hb-shape.h | 2 +- - src/hb-unicode-private.hh | 4 ++-- - src/hb-unicode.cc | 4 ++-- - src/hb-unicode.h | 4 +++- - src/hb-view.c | 4 ++-- - src/hb.h | 2 +- - src/main.cc | 2 +- - src/test.c | 2 +- - test/hb-test.h | 17 ++++++++++++++++- - test/test-buffer.c | 2 +- - test/test-c.c | 2 +- - test/test-common.c | 2 +- - test/test-cplusplus.cc | 2 +- - test/test-unicode.c | 2 +- - 57 files changed, 122 insertions(+), 84 deletions(-) - -commit 08da7a3841ca7dfcb627314cae1c3a668b9c7236 -Author: Behdad Esfahbod -Date: Thu Apr 21 16:59:10 2011 -0400 - - [hb-view] Accept numbers in feature tag name - - Reported by Adam Twardoch. - - src/hb-view.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 24229eb13268a422efffbcb28a094b726824c7f0 -Author: Behdad Esfahbod -Date: Thu Apr 21 16:55:17 2011 -0400 - - Remove obsolete comment - - Talking to Ryan Lortie, he thinks my comment doesn't make sense. - - So I'm making the getter const. Note that g_atomic_int_get() - casts that away itself, so we don't need to worry about that - (which kinda makes me uncomfortable actually). - - src/hb-object-private.hh | 16 ++-------------- - 1 file changed, 2 insertions(+), 14 deletions(-) - -commit dcb7026f33cbcdf60e9b7fcdd44c64cc08702c74 -Author: Behdad Esfahbod -Date: Thu Apr 21 16:34:22 2011 -0400 - - Add ASSERT_STATIC_EXPR macro - - Unused right now. - - src/hb-private.hh | 2 ++ - 1 file changed, 2 insertions(+) - -commit 3e8bdbf9414291da5cf61213d5f4275c1ae23ae5 -Author: Behdad Esfahbod -Date: Thu Apr 21 16:16:21 2011 -0400 - - Cleanup hb_refrence_count_t - - src/hb-object-private.hh | 23 ++++++++++++++++++----- - src/hb-private.hh | 6 +++--- - 2 files changed, 21 insertions(+), 8 deletions(-) - -commit 783a7d69696bf0b1502ec9c1495e482e491c78e0 -Author: Behdad Esfahbod -Date: Thu Apr 21 16:03:59 2011 -0400 - - [TODO] Remove finished items - - TODO | 6 +----- - src/hb-ft.cc | 1 - - 2 files changed, 1 insertion(+), 6 deletions(-) - -commit da975419884a535281745f30f4b32fee0bc8a7a1 -Author: Behdad Esfahbod -Date: Thu Apr 21 15:08:01 2011 -0400 - - [API] Allow negative font x_scale/y_scale - - I was reconsidering whether y should grow down, since all three/four - times I've used this API I was tricked and got that wrong in my use. - So I was very inclined to make y grow down instead of up. However, - considering that the font space has y up and it would be very - confusing - for callbacks to work against that, I decided that what I really want - is for the user to be able to set y_scale to a negative number - to imply - that user-space y grows down. - - Changing x_scale/y_scale from unsigned int to int allows that, - and I've - made pango to use that instead of negating glyph y_offset later. - hb-ft - however still has y group up. I *guess* that's how FreeType works? - I'm not sure, FreeType docs don't make this clear... - - I'm happy with the resolution :-). - - src/hb-font.cc | 8 ++++---- - src/hb-font.h | 8 ++++---- - src/hb-ot-layout-common-private.hh | 6 +----- - src/hb-ot-layout-private.hh | 2 +- - 4 files changed, 10 insertions(+), 14 deletions(-) - -commit 4d559cddbb3b3a5c12c5167eba69598618a9f283 -Author: Behdad Esfahbod -Date: Thu Apr 21 14:58:23 2011 -0400 - - [icu] Remove big script switch(), rely on reverse-lookup - - src/hb-icu.cc | 137 - ++++------------------------------------------------------ - 1 file changed, 9 insertions(+), 128 deletions(-) - -commit d18431b4cd8c1b14523733cd60a62b862f5b471f -Author: Behdad Esfahbod -Date: Wed Apr 20 18:59:10 2011 -0400 - - Move hb_reference_count_t from macros to inline methods - - src/hb-object-private.hh | 25 +++++++++++-------------- - 1 file changed, 11 insertions(+), 14 deletions(-) - -commit c57d454accff66e5f2c58006e8fb40bc020b6182 -Author: Behdad Esfahbod -Date: Wed Apr 20 18:50:27 2011 -0400 - - Rename all private sources and headers to C++ files - - So we can liberally use the simple features of C++ that parts of the - codebase is already using. - - src/Makefile.am | 17 - +++++++++-------- - src/{hb-blob-private.h => hb-blob-private.hh} | 8 ++++---- - src/hb-blob.cc | 4 ++-- - src/hb-buffer-private.hh | 2 +- - src/{hb-common.c => hb-common.cc} | 8 ++++---- - src/{hb-font-private.h => hb-font-private.hh} | 8 ++++---- - src/hb-font.cc | 6 +++--- - src/{hb-ft.c => hb-ft.cc} | 4 ++-- - src/hb-glib.cc | 2 +- - src/hb-icu.cc | 2 +- - src/{hb-object-private.h => hb-object-private.hh} | 10 ++++------ - src/hb-open-type-private.hh | 2 +- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-private.hh | 4 ++-- - ...abic-table.h => hb-ot-shape-complex-arabic-table.hh} | 8 ++++---- - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape-complex-private.hh | 2 +- - src/hb-ot-shape-private.hh | 2 +- - src/{hb-ot-tag.c => hb-ot-tag.cc} | 8 ++++---- - src/{hb-private.h => hb-private.hh} | 8 ++++---- - src/hb-shape.cc | 2 +- - src/hb-unicode-private.hh | 2 +- - src/hb-unicode.cc | 2 +- - src/hb-view.c | 6 ++++++ - 24 files changed, 63 insertions(+), 58 deletions(-) - -commit f19f4f9b0965ad7473a0f3a1ffcdbf16930e35d4 -Author: Behdad Esfahbod -Date: Wed Apr 20 18:25:56 2011 -0400 - - Rename hb-blob.c to hb-blob.cc in preparation of more changes - - src/Makefile.am | 2 +- - src/{hb-blob.c => hb-blob.cc} | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 04744e73bad22d679986173b5f0d84dbbf49dd57 -Author: Behdad Esfahbod -Date: Wed Apr 20 17:24:03 2011 -0400 - - [TODO] Remove done items - - TODO | 6 ------ - 1 file changed, 6 deletions(-) - -commit 9417c1c0d2b005eadf0c087ca695121a6200d0f7 -Author: Behdad Esfahbod -Date: Wed Apr 20 17:21:23 2011 -0400 - - [API] Make hb_face_reference_table() return empty blob instead of NULL - - The idea here is that: - - - Like pretty much all other API in harfbuzz, user does not have to - check for NULL. - - - In any caller code, the case of missing table should be handled - exactly the same way that a too-short table is handled. Turning - a non-existent talbe into a table of size 0 makes the user code - safer. - - src/hb-font.cc | 2 ++ - src/hb-open-type-private.hh | 3 --- - 2 files changed, 2 insertions(+), 3 deletions(-) - -commit c035812feb0d385a9e8c334631738e4915912c71 -Author: Behdad Esfahbod -Date: Wed Apr 20 17:03:00 2011 -0400 - - [API] Rename hb_face_get_table() to hb_face_reference_table() - - That correctly reflects the reference ownership transfer happening. - - src/hb-font.cc | 4 ++-- - src/hb-font.h | 7 ++----- - src/hb-ot-layout.cc | 6 +++--- - src/hb-shape.cc | 2 +- - 4 files changed, 8 insertions(+), 11 deletions(-) - -commit 2d7b61a4b0ed212ca414b3281c2eae3e3db19c13 -Author: Behdad Esfahbod -Date: Wed Apr 20 16:40:56 2011 -0400 - - [TODO] Remove done items - - TODO | 10 ++-------- - src/hb-ft.h | 2 +- - 2 files changed, 3 insertions(+), 9 deletions(-) - -commit af02933739e03a156b9f7761fd7a63e2a02d0df1 -Author: Behdad Esfahbod -Date: Wed Apr 20 15:49:31 2011 -0400 - - [API] Remove hb_*_get_reference_count() - - This was a bizzare piece of API that I inherited from cairo. It has - been wrong adding them to cairo in the first place. Remove them - before - someone uses them! - - src/hb-blob.c | 6 ------ - src/hb-blob.h | 3 --- - src/hb-buffer.cc | 6 ------ - src/hb-buffer.h | 3 --- - src/hb-font.cc | 18 ------------------ - src/hb-font.h | 9 --------- - src/hb-object-private.h | 7 ------- - src/hb-unicode.cc | 6 ------ - src/hb-unicode.h | 3 --- - test/test-unicode.c | 24 ------------------------ - 10 files changed, 85 deletions(-) - -commit 440a76b630a36a7336c93e8b05d988c6407b085e -Author: Behdad Esfahbod -Date: Wed Apr 20 14:20:00 2011 -0400 - - [OT] Fix script to ot-script-tag conversion - - src/hb-ot-tag.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit a3036a3e97b14c8eb1df208aed944207f9b6cc0b -Author: Behdad Esfahbod -Date: Wed Apr 20 14:13:23 2011 -0400 - - Minor - - src/hb-view.c | 1 - - 1 file changed, 1 deletion(-) - -commit fb6291d9c9224bedf207bf0077ad9f0a2690f867 -Author: Behdad Esfahbod -Date: Wed Apr 20 03:15:31 2011 -0400 - - [test] Add test for headers included from C and C++ - - test/Makefile.am | 17 +++++++++++++++++ - test/test-c.c | 49 - +++++++++++++++++++++++++++++++++++++++++++++++++ - test/test-cplusplus.cc | 29 +++++++++++++++++++++++++++++ - 3 files changed, 95 insertions(+) - -commit 107a50581ccab7df7c390d5b927fdab1bbe8e713 -Author: Behdad Esfahbod -Date: Wed Apr 20 03:04:56 2011 -0400 - - [test] Add todo items - - test/test-unicode.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 5668189c12c264e8d2caf0d12dac918363ef6f80 -Author: Behdad Esfahbod -Date: Wed Apr 20 03:03:32 2011 -0400 - - [API] font: move user_data before destroy() - - This is the common convention for language binding tools. - - src/hb-font-private.h | 4 ++-- - src/hb-font.cc | 30 +++++++++++++++--------------- - src/hb-font.h | 12 ++++++------ - src/hb-ft.c | 8 ++++---- - 4 files changed, 27 insertions(+), 27 deletions(-) - -commit e5847f75fb7bd25c5db6061d8e20d61fa469f9fe -Author: Behdad Esfahbod -Date: Wed Apr 20 02:59:28 2011 -0400 - - [API] blob: move user_data before destroy() - - This is the common convention for language binding tools. - - src/hb-blob-private.h | 2 +- - src/hb-blob.c | 16 ++++++++-------- - src/hb-blob.h | 4 ++-- - 3 files changed, 11 insertions(+), 11 deletions(-) - -commit 1fd73b594d611624ccb73f614c61298debf48994 -Author: Behdad Esfahbod -Date: Wed Apr 20 02:56:39 2011 -0400 - - [test] Rename test-types to test-common - - test/Makefile.am | 2 +- - test/{test-types.c => test-common.c} | 0 - 2 files changed, 1 insertion(+), 1 deletion(-) - -commit f144a8ea840c6452c1fece2fd988b42a8ea7c5a6 -Author: Behdad Esfahbod -Date: Wed Apr 20 02:54:42 2011 -0400 - - [icu] Add two-way script conversion functions - - Also optimizes the common-direction script lookup. - - src/hb-common.c | 5 +- - src/hb-icu.cc | 205 - +++++++++++++++++++++++++++++------------------------- - src/hb-icu.h | 9 +++ - test/test-types.c | 2 +- - 4 files changed, 124 insertions(+), 97 deletions(-) - -commit 0809aadd4bbd5d0f256407def7cc10b79772a824 -Author: Behdad Esfahbod -Date: Wed Apr 20 02:44:29 2011 -0400 - - [glib] Add two-way script conversion functions - - Also optimizes the common-direction script lookup to be an array - lookup. - - src/hb-glib.cc | 270 - ++++++++++++++++++++++++++++++--------------------------- - src/hb-glib.h | 8 ++ - 2 files changed, 148 insertions(+), 130 deletions(-) - -commit 5c8c1b680c4fa23c8574b9aebd21113e276f57a3 -Author: Behdad Esfahbod -Date: Wed Apr 20 02:29:22 2011 -0400 - - Remove verbose comments - - src/hb-glib.cc | 194 ++++++++++++++++++++--------------------- - src/hb-icu.cc | 266 - ++++++++++++++++++++++++++++----------------------------- - 2 files changed, 230 insertions(+), 230 deletions(-) - -commit fb194b8794898f51eb596fa4092c26606889d376 -Author: Behdad Esfahbod -Date: Wed Apr 20 02:00:47 2011 -0400 - - unicode: Cleanup implementation - - src/Makefile.am | 8 +- - src/hb-buffer-private.hh | 2 +- - src/{hb-glib.c => hb-glib.cc} | 65 +++---- - src/{hb-icu.c => hb-icu.cc} | 30 +-- - src/hb-ot-shape.cc | 14 +- - src/hb-shape.cc | 4 +- - ...{hb-unicode-private.h => hb-unicode-private.hh} | 65 ++++--- - src/{hb-unicode.c => hb-unicode.cc} | 213 - +++++++++------------ - src/hb-unicode.h | 57 +++--- - test/test-unicode.c | 23 ++- - 10 files changed, 237 insertions(+), 244 deletions(-) - -commit ecfb773829a5d98a4f5456a992f3e5ecd6731435 -Author: Behdad Esfahbod -Date: Wed Apr 20 01:34:51 2011 -0400 - - Cosmetic - - src/hb-unicode.h | 22 +++++++++------------- - 1 file changed, 9 insertions(+), 13 deletions(-) - -commit 2fd0c577e322ccbf762927bc4600b3ea31db4c80 -Author: Ryan Lortie -Date: Wed Apr 20 00:19:20 2011 -0400 - - [API] unicode: rework virtual functions for subclassing - - Unicode data providers can now be subclassed, including support for - chain-up. The interface should now be nicely bindable, as well. - - Also fix glib unicode funcs that where broken after hb_script_t - changes. Nicely caught by the test-unicode.c added in this commit. - - src/hb-glib.c | 186 ++++++++++++++++++++++++++++++++++++-- - src/hb-icu.c | 45 +++++++-- - src/hb-ot-shape.cc | 9 +- - src/hb-shape.cc | 2 +- - src/hb-unicode-private.h | 17 ++++ - src/hb-unicode.c | 231 - +++++++++++++++++++++++++---------------------- - src/hb-unicode.h | 68 +++++++------- - test/Makefile.am | 1 + - test/test-unicode.c | 215 - +++++++++++++++++++++++++++++++++++++++++++ - 9 files changed, 610 insertions(+), 164 deletions(-) - -commit f85faee9b3cb841ea977403945e2c877ab32b97a -Author: Behdad Esfahbod -Date: Tue Apr 19 00:38:01 2011 -0400 - - [API] Rename hb_buffer_add_glyph() to hb_buffer_add() - - src/hb-buffer.cc | 10 +++++----- - src/hb-buffer.h | 8 ++++---- - test/test-buffer.c | 2 +- - 3 files changed, 10 insertions(+), 10 deletions(-) - -commit aab0de50e23727b69fa8c3d4e05c50c114c62835 -Author: Behdad Esfahbod -Date: Tue Apr 19 00:32:19 2011 -0400 - - [API] Add hb_buffer_allocation_successful() - - Returns the error status of the buffer. - - src/hb-buffer.cc | 6 ++++++ - src/hb-buffer.h | 6 ++++++ - test/test-buffer.c | 2 +- - 3 files changed, 13 insertions(+), 1 deletion(-) - -commit 02a534b23f2d1e7475109563b9f61221ed020e8b -Author: Ryan Lortie -Date: Fri Apr 15 18:34:45 2011 -0400 - - [API] Rename hb_buffer_ensure() to hb_buffer_pre_allocate() - - The new name is self-documenting. - - src/hb-buffer.cc | 4 ++-- - src/hb-buffer.h | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 70566befc59cfa8b9c43ac682749c40ea783b1dd -Author: Ryan Lortie -Date: Fri Apr 15 18:32:36 2011 -0400 - - [API} hb_buffer_get_glyph_{infos,positions}: Add length out parameter - - Return the length, whenever we return an array. Makes it easier - on the - language bindings. - - src/hb-buffer.cc | 12 ++++++++++-- - src/hb-buffer.h | 6 ++++-- - src/hb-ot-layout-gpos-private.hh | 4 ++-- - src/hb-view.c | 4 ++-- - test/test-buffer.c | 7 ++----- - 5 files changed, 20 insertions(+), 13 deletions(-) - -commit 62879eebd9965179af8602ba29ac0a64a739b757 -Author: Behdad Esfahbod -Date: Mon Apr 18 23:40:21 2011 -0400 - - [API] Use ISO 15924 tags for hb_script_t - - This simplifies the code, reduces static data, and makes the design - more extensible to future additions of new scripts. - - src/hb-common.c | 411 - ++++--------------------------------- - src/hb-common.h | 199 +++++++++--------- - src/hb-ot-map.cc | 4 +- - src/hb-ot-shape-complex-private.hh | 3 +- - src/hb-ot-tag.c | 228 +++++++++----------- - src/hb-ot-tag.h | 6 +- - src/hb-shape.cc | 4 +- - test/test-types.c | 2 +- - 8 files changed, 252 insertions(+), 605 deletions(-) - -commit c0af193c8e25c4f11d23b8893e9ce1c2d2615bb2 -Author: Behdad Esfahbod -Date: Fri Apr 15 19:26:24 2011 -0400 - - Change buffer default properties to invalid - - This includes HB_DIRECTION_INVALID and HB_SCRIPT_INVALID. - - The INVALID will cause a "guess whatever from the text" in hb_shape(). - While it's not ideal, it works better than the previous defaults at - least (HB_DIRECTION_LTR and HB_SCRIPT_COMMON). - - src/hb-buffer-private.hh | 9 +++------ - src/hb-buffer.cc | 24 ++++++++++++++++-------- - src/hb-view.c | 6 ++---- - test/test-buffer.c | 4 ++-- - 4 files changed, 23 insertions(+), 20 deletions(-) - -commit 00bec2c969555e76c3f84650a1d3c45308e585ad -Author: Behdad Esfahbod -Date: Fri Apr 15 19:16:54 2011 -0400 - - Move enum types to hb-common.h - - src/hb-common.c | 406 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-common.h | 170 +++++++++++++++++++++++ - src/hb-unicode.c | 406 - ------------------------------------------------------- - src/hb-unicode.h | 166 ----------------------- - 4 files changed, 576 insertions(+), 572 deletions(-) - -commit 5dd4609f4da5674966a0169d9fa533ac5bc9f464 -Author: Behdad Esfahbod -Date: Fri Apr 15 19:16:34 2011 -0400 - - [TODO] Add new item - - TODO | 1 + - 1 file changed, 1 insertion(+) - -commit b54cd07b2623b68171e00179a9dc3ecbea7aa6a1 -Author: Behdad Esfahbod -Date: Fri Apr 15 19:12:01 2011 -0400 - - Mark internal buffer variables private - - src/hb-buffer.h | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 0e8d35c0932ddc20ebf430f2fd82c087da698954 -Author: Behdad Esfahbod -Date: Fri Apr 15 19:07:10 2011 -0400 - - Add hb_script_from_string() - - src/hb-unicode.c | 6 ++++++ - src/hb-unicode.h | 4 ++++ - src/hb-view.c | 2 +- - 3 files changed, 11 insertions(+), 1 deletion(-) - -commit 8f0d7e0c3fd4b05c43ac449be4f374dc2dc56127 -Author: Behdad Esfahbod -Date: Fri Apr 15 18:59:56 2011 -0400 - - Remove hb_buffer_clear_positions(), add hb_ot_layout_position_start() - - src/hb-buffer-private.hh | 6 +++++- - src/hb-buffer.cc | 24 ++++++++++++------------ - src/hb-buffer.h | 5 +---- - src/hb-ot-layout.cc | 6 ++++++ - src/hb-ot-layout.h | 4 ++++ - src/hb-ot-shape.cc | 2 +- - 6 files changed, 29 insertions(+), 18 deletions(-) - -commit 2fc56edff6d64f190271454ccb1b5fd347d4f172 -Author: Behdad Esfahbod -Date: Fri Apr 15 18:35:08 2011 -0400 - - [API] Remove hb_buffer_clear() - - One should use hb_buffer_reset() really. - - src/hb-buffer.cc | 16 +++++----------- - src/hb-buffer.h | 4 ---- - test/test-buffer.c | 4 ---- - 3 files changed, 5 insertions(+), 19 deletions(-) - -commit 7f5bdc80541cdc90aa1acafba5e9e0bd2df53ff4 -Author: Behdad Esfahbod -Date: Fri Apr 15 18:34:55 2011 -0400 - - [TODO] Remove done items - - TODO | 4 ---- - 1 file changed, 4 deletions(-) - -commit 5814dfa3f5aa41bc3df06b78980d57d7bea0ba58 -Author: Behdad Esfahbod -Date: Fri Apr 15 14:41:04 2011 -0400 - - Cosmetic - - src/hb-ot-shape.cc | 14 +++++++------- - src/hb-ot-shape.h | 4 ++-- - src/hb-shape.cc | 20 ++++++++++---------- - src/hb-shape.h | 10 +++++----- - 4 files changed, 24 insertions(+), 24 deletions(-) - -commit cfbfeb88a6ec059ea97a6624e63cfacc642b685a -Author: Behdad Esfahbod -Date: Fri Apr 15 12:40:40 2011 -0400 - - [TODO] Remove done items - - TODO | 4 ---- - 1 file changed, 4 deletions(-) - -commit 3cbdf70e0a92f1c24e16c0d4dcfbec4ac59a77a3 -Author: Behdad Esfahbod -Date: Fri Apr 15 12:32:06 2011 -0400 - - Make hb_language_t typesafe - - src/hb-common.c | 18 +++++++++++------- - src/hb-common.h | 2 +- - 2 files changed, 12 insertions(+), 8 deletions(-) - -commit 2f2f448af35c232d18888c0e57cb21c9796ba7a8 -Author: Behdad Esfahbod -Date: Fri Apr 15 11:45:14 2011 -0400 - - [test] Add more TODO items - - test/test-buffer.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit c910bec863215f918c659f58debbc7fe5264d7b6 -Author: Behdad Esfahbod -Date: Wed Apr 13 15:49:06 2011 -0400 - - Add hb_buffer_reset() and hb_buffer_set_length() - - src/hb-buffer.cc | 31 +++++++++++++++++++++++++++++++ - src/hb-buffer.h | 15 ++++++++++++++- - 2 files changed, 45 insertions(+), 1 deletion(-) - -commit 69ea23cb5d47dd1cfd3129f68375021ef79bf63b -Author: Behdad Esfahbod -Date: Wed Apr 13 15:02:40 2011 -0400 - - Minor - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7dea908cd582c8c25555015940065c69c1e7e65b -Author: Behdad Esfahbod -Date: Wed Apr 13 01:35:58 2011 -0400 - - [test] Add todo items - - test/test-buffer.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 07cbaac07d7f43437b171e9275430b5fb3097716 -Author: Behdad Esfahbod -Date: Wed Apr 13 01:11:19 2011 -0400 - - [TODO] Add item re script iso15924 functions - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit d0f53fdbead15d9003b521b8ed47d02fd29a4c64 -Author: Behdad Esfahbod -Date: Wed Apr 13 01:09:09 2011 -0400 - - [test] Test hb-buffer.h - - test/Makefile.am | 8 ++- - test/test-buffer.c | 195 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 202 insertions(+), 1 deletion(-) - -commit 72d89404c2837d578f5305456c817130b6a15c73 -Author: Behdad Esfahbod -Date: Wed Apr 13 01:07:42 2011 -0400 - - [TODO] Add item re hb_buffer_reset() - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5015c12dfb4de8525325178ae6def9e80fd83669 -Author: Behdad Esfahbod -Date: Wed Apr 13 01:06:02 2011 -0400 - - [TODO] Add item re hb_buffer_resize() - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 9329ec92078d0e2d7bb04f683e0c6a582aab92f7 -Author: Behdad Esfahbod -Date: Wed Apr 13 00:06:23 2011 -0400 - - [TODO] Add API item - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 4744379efc6063d94e15ff99381a7ab8b88ee567 -Author: Behdad Esfahbod -Date: Mon Apr 11 19:47:33 2011 -0400 - - Minor - - test/test-types.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9385caa8a693df0f06a511a71de9aa407637097c -Author: Behdad Esfahbod -Date: Mon Apr 11 19:43:51 2011 -0400 - - [test] Actually hook up hb_script_t tests - - I really shall find a way to automate the test enumeration. Otherwise - it's too easy to add a test and wrongly hook it up. Did it twice - today. - - test/test-types.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 8e4bb3cacc269ed32187aaaeaa166c64f41a0418 -Author: Behdad Esfahbod -Date: Mon Apr 11 17:55:58 2011 -0400 - - Fold hb-language.[ch] into hb-common.[ch] - - src/Makefile.am | 2 - - src/hb-buffer.h | 1 - - src/hb-common.c | 92 ++++++++++++++++++++++++++++++++++++++++- - src/hb-common.h | 42 +++++++++++++------ - src/hb-language.c | 120 - ------------------------------------------------------ - src/hb-language.h | 46 --------------------- - src/hb-ot-tag.h | 1 - - src/hb.h | 1 - - 8 files changed, 120 insertions(+), 185 deletions(-) - -commit 09125576ca745b3393f3dc49071df891400bbdc9 -Author: Behdad Esfahbod -Date: Mon Apr 11 17:49:33 2011 -0400 - - [test] Test hb_language_t - - test/test-types.c | 26 +++++++++++++++++++++++++- - 1 file changed, 25 insertions(+), 1 deletion(-) - -commit 316b7a1afb84a5dfeaed886a585669b4d549c9b7 -Author: Behdad Esfahbod -Date: Mon Apr 11 17:49:10 2011 -0400 - - Make hb_language_from_string("") return NULL language - - src/hb-language.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit db60c96f20426111ffa71e9802ef6e248f8b28d0 -Author: Behdad Esfahbod -Date: Mon Apr 11 16:17:02 2011 -0400 - - [teset] Test hb_script_t - - test/hb-test.h | 8 ++++++++ - test/test-types.c | 35 ++++++++++++++++++++++++++++++++++- - 2 files changed, 42 insertions(+), 1 deletion(-) - -commit 99b74760a4cddc798ab44b5ca897486bbb9c76d6 -Author: Behdad Esfahbod -Date: Mon Apr 11 15:47:40 2011 -0400 - - Rename hb_category_t to hb_unicode_general_category_t - - src/hb-glib.c | 2 +- - src/hb-icu.c | 64 - ++++++++++++++++++------------------- - src/hb-ot-shape-complex-arabic.cc | 8 ++--- - src/hb-ot-shape-private.hh | 2 +- - src/hb-ot-shape.cc | 2 +- - src/hb-unicode.c | 4 +-- - src/hb-unicode.h | 66 - +++++++++++++++++++-------------------- - 7 files changed, 74 insertions(+), 74 deletions(-) - -commit 4188096a7722f09ffa9319986c0286071da10a27 -Author: Behdad Esfahbod -Date: Mon Apr 11 14:58:28 2011 -0400 - - Make HB_TAG_CHAR4 private - - It's just sugar. - - src/hb-common.h | 5 +---- - src/hb-private.h | 7 ++++++- - test/test-types.c | 2 -- - 3 files changed, 7 insertions(+), 7 deletions(-) - -commit 7ff7401c9237cda661869c1cb196d685706ac4e9 -Author: Behdad Esfahbod -Date: Mon Apr 11 13:27:30 2011 -0400 - - Make hb_tag_from_string(NULL) return HB_TAG_NONE - - src/hb-common.c | 3 +++ - test/test-types.c | 3 +++ - 2 files changed, 6 insertions(+) - -commit 02f6e62d6cabc7808c188daef26a1fe7ac626b1f -Author: Behdad Esfahbod -Date: Mon Apr 11 13:27:21 2011 -0400 - - Build fix - - test/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit db5227c40e5c35fe2ffb750f32b639cb44424a1d -Author: Behdad Esfahbod -Date: Mon Apr 11 13:16:08 2011 -0400 - - Move macros around - - src/hb-ot-tag.c | 6 ++---- - src/hb-private.h | 7 +++++++ - 2 files changed, 9 insertions(+), 4 deletions(-) - -commit 07233581c9d953708d3c020907c42b8b89472b89 -Author: Behdad Esfahbod -Date: Mon Apr 11 13:12:37 2011 -0400 - - Rename HB_TAG_STR() to HB_TAG_CHAR4() - - The problem with HB_TAG_STR() was that it expected a string of size 4 - exactly, and unlike hb_tag_from_string() it doesn't pad the tag with - space characters. So, the new name is more appropriate. - - src/hb-common.c | 2 +- - src/hb-common.h | 8 ++++---- - src/hb-ot-tag.c | 2 +- - test/test-types.c | 2 +- - 4 files changed, 7 insertions(+), 7 deletions(-) - -commit 9faa980067f802f712c2adf8263152ed40c98088 -Author: Behdad Esfahbod -Date: Mon Apr 11 12:46:49 2011 -0400 - - Add an in-tree test suite - - Uses the glib testing framework. Wrote unit tests for hb-common.h - types. - - Makefile.am | 2 +- - test/Makefile.am | 18 +++++++++ - test/Makefile.decl | 90 ++++++++++++++++++++++++++++++++++++++++++++ - test/hb-test.h | 67 +++++++++++++++++++++++++++++++++ - test/test-types.c | 108 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 284 insertions(+), 1 deletion(-) - -commit d77b76200efbaa0611691920f9f2018b1e8be340 -Author: Behdad Esfahbod -Date: Mon Apr 11 12:29:52 2011 -0400 - - Add few more paratheses to the HB_TAG macro - - Never hurts. - - src/hb-common.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b13640de6992de9ee9d07e3581c33b8181b70ff9 -Author: Behdad Esfahbod -Date: Mon Apr 11 12:29:31 2011 -0400 - - A few more ASSERTs - - src/hb-private.h | 3 +++ - 1 file changed, 3 insertions(+) - -commit ae9eeaff9300f3bb7bed588c5478e8e5461b3df0 -Author: Behdad Esfahbod -Date: Mon Apr 11 11:49:08 2011 -0400 - - Remove warning message from public header file - - Since we now assert thos in hb-private.h, the int types cannot - be wrong. - (Except for when someone else includes hb-common.h in a very broken - configuration, but that's not our problem!) - - Plus, we don't use inline in the public headers, so remove that too. - - src/hb-common.h | 7 ------- - src/hb-private.h | 4 ++++ - 2 files changed, 4 insertions(+), 7 deletions(-) - -commit 6fd5364bdc3a2b459175377e9e16c86cff054232 -Author: Behdad Esfahbod -Date: Mon Apr 11 11:47:14 2011 -0400 - - Assert int types - - src/hb-private.h | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit bbdeff59646e5502b9fc53ab1761b3f014ee276c -Author: Behdad Esfahbod -Date: Thu Apr 7 16:05:07 2011 -0400 - - Add test directory - - configure.ac | 1 + - test/Makefile.am | 0 - 2 files changed, 1 insertion(+) - -commit 4accc92afc702177ea53280d977cec839af3c12c -Author: Behdad Esfahbod -Date: Thu Apr 7 15:53:26 2011 -0400 - - Update TODO items - - TODO | 31 ++++++++++++++++++++----------- - 1 file changed, 20 insertions(+), 11 deletions(-) - -commit a71b9c8579d73aea4549f12524bbc2e89f43b5c5 -Author: Behdad Esfahbod -Date: Wed Apr 6 14:04:56 2011 -0400 - - Disable 'cswh' by default except for Arabic shaper - - That better matches OpenType spec. Note that we enable it for all - Arabic-shaper scripts. Ie. we enable it by default for Syriac too, - but the SyriacOT spec does not require it. I think this is a more - useful compromise than special-casing for Arabic script alone. - - src/hb-ot-shape-complex-arabic.cc | 3 +++ - src/hb-ot-shape.cc | 1 - - 2 files changed, 3 insertions(+), 1 deletion(-) - -commit cab6f65bba560ac1651d9152f1ecf12eb88eca74 -Author: Behdad Esfahbod -Date: Mon Apr 4 15:36:51 2011 -0400 - - [hb-view] setlocale (LC_ALL, "") - - For now we don't use anything from the locale, but we should default - to using $LANG, etc, if --language is not specified. Right? - - src/hb-view.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit fb9ca1bfabde7da0c274e7a1bd12bffaf7949c18 -Author: Behdad Esfahbod -Date: Mon Apr 4 14:50:09 2011 -0400 - - [hb-view] Rewrite --features parsing, with range support - - The --features parsing handles errors now. More importantly, it - allos limiting individual features to specific byte ranges. The - format is Python-esque. Here is how it all works: - - Syntax: Value: Start: End: - - Setting value: - "kern" 1 0 ∞ # Turn feature on - "+kern" 1 0 ∞ # Turn feature off - "-kern" 0 0 ∞ # Turn feature off - "kern=0" 0 0 ∞ # Turn feature off - "kern=1" 1 0 ∞ # Turn feature on - "kern=2" 2 0 ∞ # Choose 2nd alternate - - Setting index: - "kern[]" 1 0 ∞ # Turn feature on - "kern[:]" 1 0 ∞ # Turn feature on - "kern[5:]" 1 5 ∞ # Turn feature on, partial - "kern[:5]" 1 0 5 # Turn feature on, partial - "kern[3:5]" 1 3 5 # Turn feature on, range - "kern[3]" 1 3 3+1 # Turn feature on, single char - - Mixing it all: - - "kern[3:5]=0" 1 3 5 # Turn feature off for range - - src/hb-view.c | 169 - +++++++++++++++++++++++++++++++++++++++++++++------------- - 1 file changed, 132 insertions(+), 37 deletions(-) - -commit ccc6745afaa68ce7497a6cd02ce85986d3c863d0 -Author: Behdad Esfahbod -Date: Mon Apr 4 14:49:50 2011 -0400 - - [hb-view] Use cached hb-ft face creation - - Avoids recreating the face the second time we call draw(). - - src/hb-view.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1b4a2cc095d165dc573e0235f00fbbf2a5d3c2c5 -Author: Behdad Esfahbod -Date: Mon Apr 4 14:45:28 2011 -0400 - - [hb-view] Add --debug - - Frees all allocated memory before exiting. Useful for valgrind run. - - src/hb-view.c | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - -commit b2da26d1e32a012f7feaad7c7cced61e4fb269f1 -Author: Behdad Esfahbod -Date: Fri Apr 1 15:48:43 2011 -0400 - - [hb-view] Support --features - - Accepts values like: - - --features="-mkmk,aalt=2,calt=1,+cswh" - - A minus sign means "=0", a plus sign means "=1". Default is "=1". - A minus sign overrides an explicit value. - - src/hb-view.c | 70 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 68 insertions(+), 2 deletions(-) - -commit f48ff19b629070d13cee3c0eeeb06c98992f93c6 -Author: Behdad Esfahbod -Date: Fri Apr 1 14:19:10 2011 -0400 - - Sort options for clarity - - src/hb-view.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 5d91c3d547f78163b36aa7436d4388a836cca94a -Author: Behdad Esfahbod -Date: Wed Mar 16 17:36:32 2011 -0300 - - Add script to/from ISO 15924 tag support - - Also adds --script support to hb-view. - - If a script tag is not known to us, we pass the ISO 15924 tag around. - Right now, the OT layer ignores that, but we can fix it to blindly - convert that to an OT script tag. - - src/hb-ot-tag.c | 4 + - src/hb-unicode.c | 273 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-unicode.h | 8 +- - src/hb-view.c | 10 +- - 4 files changed, 293 insertions(+), 2 deletions(-) - -commit 3286fc0e9adc3f2874c9409e7fdb09e4d2b7dda1 -Author: Behdad Esfahbod -Date: Wed Mar 16 14:53:32 2011 -0300 - - Let hb_shape() guess script and direction... - - - Rename HB_SCRIPT_INVALID_CODE to HB_SCRIPT_INVALID - - - Add HB_DIRECTION_INVALID - - - Make hb_script_get_horizontal_direction() public - - - Make hb_shape() guess script from buffer text (first non-common - non-inherit script) if buffer script is set to HB_SCRIPT_INVALID - (this - is NOT the default.) - - - Make hb_shape() guess direction from buffer script if buffer - direction - is set to HB_DIRECTION_INVALID (this is NOT the default.) - - - Make hb-view.c set INVALID script and direction on the buffer. - - The above changes are meant to make hb-view fairly useful for - uni-script - uni-direction text. The guessing behavior however is NOT the - default of - hb_shape() and must be asked for explicitly. This is intended, - because - the guess is not a suitable substitute to full-fledged bidi and script - segmentation. It's just a testing tool. - - src/hb-common.h | 3 ++- - src/hb-icu.c | 2 +- - src/hb-ot-shape.cc | 3 ++- - src/hb-shape.cc | 52 - ++++++++++++++++++++++++++++++++++++++++++------ - src/hb-unicode-private.h | 4 ---- - src/hb-unicode.c | 2 +- - src/hb-unicode.h | 8 +++++++- - src/hb-view.c | 4 ++-- - 8 files changed, 61 insertions(+), 17 deletions(-) - -commit b7b29684df67af7280b74ca4cf18f02ad6521bdc -Author: Behdad Esfahbod -Date: Wed Mar 2 01:01:03 2011 -0500 - - [hb-view] Handle write_to_png errors - - src/hb-view.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit c2cb98c8185c5560cfd04de7ee7c64c9496b986c -Author: Behdad Esfahbod -Date: Tue Mar 1 23:18:09 2011 -0500 - - [hb-view] Link with -lm - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b5dd44e24669cd35affcd92788d39ff56cac94db -Author: Behdad Esfahbod -Date: Mon Feb 28 10:13:52 2011 -0800 - - Fix possible overflow - - src/hb-buffer.cc | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -commit a4b781e93a0bee0549611e129b3564d9804d9090 -Author: Behdad Esfahbod -Date: Wed Feb 23 12:47:56 2011 -0500 - - Default background color shall either be white or transparent - - Definitely not black! - - src/hb-view.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5353bf439c150492708ef9337078cfd73b83627b -Author: Behdad Esfahbod -Date: Tue Feb 22 18:06:19 2011 -0500 - - Add initial hb-view tool - - Currently doesn't handle script or direction. - - configure.ac | 18 +++ - src/Makefile.am | 14 +++ - src/hb-view.c | 342 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 374 insertions(+) - -commit 82438c6ad5f60b6afc75c48cef72e18bef532468 -Author: Bradley Grainger -Date: Tue Feb 15 18:37:29 2011 -0500 - - Fix #pragma message for MSVC. - - __LOC__ was renamed to _HB__LOC__ in cd7555 but the corresponding - change wasn't made in hb-private.h. - - src/hb-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ba9ab8d6d9c863662c4b44ace4a4d89e29e592f2 -Author: Behdad Esfahbod -Date: Mon Jan 10 07:45:41 2011 -0500 - - Fix language extension matching - - src/hb-ot-tag.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a07874300a669ec0ea09a67df2a3ee8b0612d6b9 -Author: Behdad Esfahbod -Date: Mon Jan 10 02:27:49 2011 -0500 - - Don't use the m4/ dir - - We just require people to have libtool, pkg-config, etc installed - when running autogen.sh - - Makefile.am | 2 -- - configure.ac | 1 - - 2 files changed, 3 deletions(-) - -commit 7bbe14bed8a886ea5b293c927c4bf937cbfc6f51 -Author: Behdad Esfahbod -Date: Sun Jan 9 22:29:14 2011 -0500 - - Fix 'make distcheck' - - src/Makefile.am | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 2abe1264a580858bf7803af1701117a462375fb4 -Author: Javier Jardón -Date: Sun Jan 9 22:18:53 2011 -0500 - - Bug 31174 - Update autotools configuration - - Makefile.am | 2 + - autogen.sh | 188 - ++++------------------------------------------------------- - configure.ac | 22 +++++-- - 3 files changed, 29 insertions(+), 183 deletions(-) - -commit cc1a8a938b4c13e76b58825a9e1951c4134e634a -Author: Behdad Esfahbod -Date: Thu Jan 6 14:58:52 2011 -0500 - - Fix ChanContext backtrack matching with GPOS - - Reported on mailing list by Keith Stribley and Khaled Hosny. - - src/hb-buffer-private.hh | 5 +++-- - src/hb-buffer.cc | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 6 +++--- - 3 files changed, 7 insertions(+), 6 deletions(-) - -commit 1c3183027fe823cd673866ba29d169b69f8efba1 -Author: Behdad Esfahbod -Date: Thu Jan 6 14:44:14 2011 -0500 - - Remove unused realloc - - We always allocate and grow str and pos together. - - src/hb-buffer.cc | 6 ------ - 1 file changed, 6 deletions(-) - -commit 76691f0240d6de230e9b42280b54e91639464635 -Author: Behdad Esfahbod -Date: Thu Jan 6 14:16:59 2011 -0500 - - Fix ICU detection - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 756f794a1fce701092345a3f9afae039583fb55b -Author: Behdad Esfahbod -Date: Sun Dec 26 20:52:40 2010 -0500 - - Remove Graphite backend - - It was unmaintained and the code has to be replaced to use the new - grphite-ng code base. - - configure.ac | 6 -- - src/Makefile.am | 14 --- - src/hb-graphite.cc | 310 - ----------------------------------------------------- - src/hb-graphite.h | 47 -------- - 4 files changed, 377 deletions(-) - -commit f3d9d9879364609502d9d3a3a9f4647adb167d78 -Author: Behdad Esfahbod -Date: Wed Dec 22 01:39:29 2010 -0500 - - Docs - - src/hb-unicode.h | 60 - ++++++++++++++++++++++++++++---------------------------- - 1 file changed, 30 insertions(+), 30 deletions(-) - -commit d86a5b3c5752abcc791724035ba4115958e6b5e2 -Author: Behdad Esfahbod -Date: Tue Dec 21 18:36:25 2010 -0500 - - Bug 32274 - classic mongolian shaper - - Add support for classic Mongolian script to the Arabic shaper. - - Still work to be done around U+180E MONGOLIAN VOWEL SEPARATOR as it - should not be included in the final glyph stream the same way that - ZWNJ, etc should not appear in the final glyph stream. - - But the joining part should be done. - - There remains the question of how should the U+18A9 MONGOLIAN - LETTER ALI - GALI DAGALGA be handled as it has General Category NSM but a letter - nonetheless. For now, our generic logic makes this a joining - T instead - of joining D as other Mongolian letters are. - - src/hb-ot-shape-complex-arabic.cc | 8 ++++++++ - src/hb-ot-shape-complex-private.hh | 1 + - 2 files changed, 9 insertions(+) - -commit b0e7378fa9a4fc6fc74d9b3c27d927602eaacc5b -Author: Behdad Esfahbod -Date: Tue Dec 21 14:19:32 2010 -0500 - - Reroute Mandaic shaping through the Arabic shaper - - We added Mandaic joining data to the Arabic shaper a while ago, but - were not actually using the Arabic shaper for Mandaic. Fixed. - - src/hb-ot-shape-complex-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 88e7f37488e4e8590619d815b975232a0c9d2ea0 -Author: Behdad Esfahbod -Date: Tue Dec 21 14:18:24 2010 -0500 - - Annotate the Arabic joining table with block information - - src/gen-arabic-joining-table.py | 93 - +++++++++++++++++++++------------- - src/hb-ot-shape-complex-arabic-table.h | 24 +++++++-- - 2 files changed, 80 insertions(+), 37 deletions(-) - -commit 1482a39e56cd4151874e5c073540274349240a87 -Author: Behdad Esfahbod -Date: Fri Dec 17 20:15:05 2010 -0500 - - Rename remaining metrics uses to extents - - src/hb-font.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 22c537657cee1f47a4056a21e2cddfcbe6ab1c01 -Author: Behdad Esfahbod -Date: Tue Dec 14 23:51:29 2010 -0500 - - Rename TableDirectory to TableRecord as per OpenType 1.6 - - src/hb-open-file-private.hh | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit 33e8b86197239e667a887709104357bdc6566b7c -Author: Behdad Esfahbod -Date: Mon Dec 13 15:54:56 2010 -0500 - - Update 'head' table to OpenType 1.6 - - src/hb-ot-head-private.hh | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit b7683335146bfe3a74d9419db92cd7a8019a9c10 -Author: Behdad Esfahbod -Date: Mon Dec 13 14:22:35 2010 -0500 - - Disallow ligature substitutions replacing one glyph - - src/hb-ot-layout-gsub-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7eb875118dc31e9fb0e23c45985396a8bfe977e3 -Author: Behdad Esfahbod -Date: Mon Dec 13 14:13:35 2010 -0500 - - Mozilla Bug 618592 - freeze on typekit - - Fix apply_lookup() for zero-input broken fonts. - - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit bbbbe80ec9bc45c5b685bc09c8f993e98496555c -Author: Behdad Esfahbod -Date: Tue Dec 7 16:22:02 2010 -0500 - - Rename original_direction to target_direction - - src/hb-ot-shape-private.hh | 2 +- - src/hb-ot-shape.cc | 6 +++--- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit ee8aaf976a6eb42be49b63b4c51c7a0a338e0298 -Author: Behdad Esfahbod -Date: Tue Dec 7 16:20:42 2010 -0500 - - Fix arabic shaping of LTR text - - We should ensure-direction before doing any complex work. The only - exception is mirroring that needs to see the original / final - direction, - not the native. Handle that. - - src/hb-ot-shape.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit d1f1707adc03317760b0f75e04d0f3dd425e547f -Author: Behdad Esfahbod -Date: Tue Nov 30 00:57:15 2010 -0500 - - Bug 31965 - some GNU/Linux distributions lack icu.pc but have - icu-config - - Patch from suzuki toshiya. - - configure.ac | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit 3c48982be6b2286088541ee55cac78b0f2b6e771 -Author: Behdad Esfahbod -Date: Sun Nov 28 19:39:47 2010 -0500 - - Adjust pyx files to reflect change from int to hb_var_int_t - - Patch from Thomas Hunger. - - contrib/python/lib/harfbuzz.pyx | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 4f9e4a40bc248aeb1364ed6f4aa7f392aa364497 -Author: Behdad Esfahbod -Date: Mon Nov 22 11:30:32 2010 -0500 - - Fix failing checks - - src/hb-ot-shape-complex-arabic-table.h | 37 - ++++++++++++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -commit 9da26d6669e7f3b91ba37e71f6f8a6e2ea806688 -Author: Behdad Esfahbod -Date: Mon Nov 22 11:03:18 2010 -0500 - - Remove email address from Copyright headers - - COPYING | 2 +- - src/hb-ft.c | 2 +- - src/hb-icu.c | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit a45f00019242734fca742adeb2ed507305baeda6 -Author: Behdad Esfahbod -Date: Thu Nov 18 13:58:32 2010 -0500 - - Clarify copyright notice - - COPYING | 12 ++++++++++++ - README | 4 ++-- - src/hb-graphite.cc | 4 ++-- - src/hb-object-private.h | 2 +- - 4 files changed, 17 insertions(+), 5 deletions(-) - -commit 0884a8d9cd576f116400b3f7c8815e747c315d5e -Author: Behdad Esfahbod -Date: Wed Nov 17 16:58:21 2010 -0500 - - Move generated table to its own file - - src/Makefile.am | 1 + - src/hb-ot-shape-complex-arabic-table.h | 619 - ++++++++++++++++++++++++++++++++ - src/hb-ot-shape-complex-arabic.cc | 621 - +-------------------------------- - 3 files changed, 621 insertions(+), 620 deletions(-) - -commit 14d784116b08685425e4ddcb1c1f813dbe2b2986 -Author: Behdad Esfahbod -Date: Wed Nov 17 16:52:58 2010 -0500 - - Update Arabic joining table to include Mandaic - - Mandaic was added to Unicode 6.0, but the joining data was not - updated. - Draft ArabicShaping.txt from 6.1 includes the joining data for - Mandaic. - Use that. - - src/gen-arabic-joining-table.py | 45 ++++++++++---- - src/hb-ot-shape-complex-arabic.cc | 123 - ++++++++++++++++++++++++++++++++------ - 2 files changed, 137 insertions(+), 31 deletions(-) - -commit 43bf2f7f1ec427c431e2ee2fd1a9345e7d5c9718 -Author: Behdad Esfahbod -Date: Wed Nov 17 14:49:40 2010 -0500 - - Add OpenType script tags for Unicode 5.2 and Unicode 6.0 scripts - - Based on tags proposed by Microsoft for inclusion in OpenType. - - src/hb-ot-tag.c | 34 +++++++++++++++++----------------- - 1 file changed, 17 insertions(+), 17 deletions(-) - -commit afab01cf7caca79cf6dfabe6827d1703be1a74f7 -Author: Behdad Esfahbod -Date: Wed Nov 17 14:35:34 2010 -0500 - - Add Unicode 6.0 scripts - - src/hb-icu.c | 6 ++++++ - src/hb-ot-tag.c | 7 ++++++- - src/hb-unicode.c | 7 ++++++- - src/hb-unicode.h | 7 ++++++- - 4 files changed, 24 insertions(+), 3 deletions(-) - -commit f234b68d18d956f7e4eb4bf58d6dc408d9e5146e -Author: Behdad Esfahbod -Date: Wed Nov 17 14:25:44 2010 -0500 - - Change HB_SCRIPT_MEITEI_MAYEK to HB_SCRIPT_MEETEI_MAYEK - - The new name matches the Unicode name. Reported by Jonathan Kew. - - src/hb-icu.c | 2 +- - src/hb-ot-tag.c | 2 +- - src/hb-unicode.h | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -commit 3ca9a6d1cffe950b325e1d522b20d4a645ae448e -Author: Behdad Esfahbod -Date: Wed Nov 17 13:08:47 2010 -0500 - - Add TODO item - - TODO | 3 +++ - 1 file changed, 3 insertions(+) - -commit 300cb41417d40473268e3b4089bed24e9e77a753 -Author: Behdad Esfahbod -Date: Wed Nov 17 12:57:23 2010 -0500 - - Add XXX marks - - src/hb-ot-layout-gsubgpos-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit ea00aee9f94ae8c6cf03d620254817d5e1f51d64 -Author: Behdad Esfahbod -Date: Fri Nov 5 10:51:37 2010 -0400 - - Add TODO item - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 3a852ae7fe6edfaadd75625d27515a3689503395 -Author: Behdad Esfahbod -Date: Wed Nov 3 16:37:24 2010 -0400 - - Save general category and combining class in the buffer for reuse - - src/hb-ot-layout-private.hh | 3 ++- - src/hb-ot-shape-complex-arabic.cc | 16 ++++++++++------ - src/hb-ot-shape-private.hh | 6 ++++++ - src/hb-ot-shape.cc | 26 +++++++++++++++++++++----- - 4 files changed, 39 insertions(+), 12 deletions(-) - -commit a5ab682b9ba8224fc132624f93e6fef9973a68ca -Author: Behdad Esfahbod -Date: Wed Nov 3 15:50:36 2010 -0400 - - More "unreached code" warning fixes - - Ugly :(. - - src/hb-blob.c | 48 ++++++++++++++++++++++++------------------------ - 1 file changed, 24 insertions(+), 24 deletions(-) - -commit 4e22c7e94102c9f00c32b8cb6aaa832f83909149 -Author: Behdad Esfahbod -Date: Wed Nov 3 15:47:12 2010 -0400 - - Add comment - - src/hb-ot-layout-common-private.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit 0342034d1cb577d34b42f7204da7fb930c12a464 -Author: Behdad Esfahbod -Date: Wed Nov 3 15:40:07 2010 -0400 - - Pedantic - - src/hb-ot-layout-gpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4a2d844c2f12dc1b858ab4ddd737ded7c0852221 -Author: Behdad Esfahbod -Date: Wed Nov 3 15:28:56 2010 -0400 - - Minor code shuffling - - src/hb-ot-layout-private.hh | 21 +++------------- - src/hb-ot-layout.cc | 61 - +++++++++++++++++++++++++++++++++------------ - 2 files changed, 48 insertions(+), 34 deletions(-) - -commit 11e3ec444a85fc72541823c2e98cc92c4ceb19af -Author: Behdad Esfahbod -Date: Wed Nov 3 15:11:04 2010 -0400 - - Fix a few more "unreachable code" warnings - - src/hb-blob.c | 2 +- - src/hb-object-private.h | 12 +++--- - src/hb-open-type-private.hh | 84 - +++++++++++++++++------------------- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-private.h | 3 +- - 5 files changed, 49 insertions(+), 54 deletions(-) - -commit 2304856340782c72cb30873f7907191dc359e921 -Author: Behdad Esfahbod -Date: Wed Nov 3 12:46:58 2010 -0400 - - Remove another couple lines of dead code - - src/hb-ot-layout-gsubgpos-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit b8783c85ac5dd9ea8f5a66eacb92dfcfbf649a6d -Author: Behdad Esfahbod -Date: Wed Nov 3 11:50:21 2010 -0400 - - Fix unreachable-code warning - - src/hb-ot-layout-gpos-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit c2709119c8c610a0d4d71884a7d4fdba7cb65b72 -Author: Behdad Esfahbod -Date: Wed Oct 27 23:18:51 2010 -0400 - - Move things around some more - - src/hb-ot-layout-gpos-private.hh | 8 ++++---- - src/hb-ot-layout-gsub-private.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 9 +++++++-- - src/hb-ot-layout-private.hh | 7 +++---- - src/hb-ot-layout.cc | 6 +++--- - 5 files changed, 19 insertions(+), 15 deletions(-) - -commit 194d4566ec054db03fa31d369a9f1c6cf4941e74 -Author: Behdad Esfahbod -Date: Wed Oct 27 23:09:10 2010 -0400 - - Move buffer var allocation local - - src/hb-ot-layout-gpos-private.hh | 19 ++++++++++++++----- - src/hb-ot-layout-private.hh | 2 -- - 2 files changed, 14 insertions(+), 7 deletions(-) - -commit 1e7c1fcbc33599faefc32d4a28e5d8506d2c56fa -Author: Behdad Esfahbod -Date: Wed Oct 27 22:48:31 2010 -0400 - - Move code around - - src/hb-ot-layout-gpos-private.hh | 59 - ++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout.cc | 59 - ++-------------------------------------- - src/hb-ot-layout.h | 4 +-- - src/hb-ot-shape.cc | 2 +- - 4 files changed, 63 insertions(+), 61 deletions(-) - -commit bf94b3ad22b2fe4730d4e64d673c63154fc5b5fe -Author: Behdad Esfahbod -Date: Wed Oct 27 22:37:59 2010 -0400 - - Move some more code around - - src/hb-ot-layout-gdef-private.hh | 21 +++++++++++++++ - src/hb-ot-layout-private.hh | 27 ++++++++++++++++--- - src/hb-ot-layout.cc | 56 - ++++++---------------------------------- - 3 files changed, 52 insertions(+), 52 deletions(-) - -commit 6334658fe79d6acfb46a2a147721b78f92510ebb -Author: Behdad Esfahbod -Date: Wed Oct 27 22:11:32 2010 -0400 - - Simplify mark skipping logic - - src/hb-ot-layout.cc | 17 +++-------------- - 1 file changed, 3 insertions(+), 14 deletions(-) - -commit 8c69e65abed961002d90024c92e18538c6516262 -Author: Behdad Esfahbod -Date: Wed Oct 27 22:07:49 2010 -0400 - - Rename lookup_flags to lookup_props since it's more than just flags - - src/hb-ot-layout-common-private.hh | 6 +++++- - src/hb-ot-layout-gpos-private.hh | 14 +++++++------- - src/hb-ot-layout-gsub-private.hh | 8 ++++---- - src/hb-ot-layout-gsubgpos-private.hh | 10 +++++----- - src/hb-ot-layout-private.hh | 4 ++-- - src/hb-ot-layout.cc | 36 - ++++++++++++++++++------------------ - src/main.cc | 4 ++-- - 7 files changed, 43 insertions(+), 39 deletions(-) - -commit 98370e89d1bff248737b482d129c2a4deb8bfd95 -Author: Behdad Esfahbod -Date: Wed Oct 27 17:39:01 2010 -0400 - - WIP removing external synthesized GDEF support and implementing - it internally - - TODO | 2 - - src/hb-buffer-private.hh | 4 - - src/hb-buffer.cc | 3 - - src/hb-ot-layout-common-private.hh | 8 +- - src/hb-ot-layout-gdef-private.hh | 6 +- - src/hb-ot-layout-gpos-private.hh | 4 +- - src/hb-ot-layout-gsub-private.hh | 66 ++++++----------- - src/hb-ot-layout-gsubgpos-private.hh | 29 +++++++- - src/hb-ot-layout-private.hh | 29 +++----- - src/hb-ot-layout.cc | 138 - +++++------------------------------ - src/hb-ot-layout.h | 26 ------- - src/hb-ot-shape.cc | 10 +++ - 12 files changed, 98 insertions(+), 227 deletions(-) - -commit 870e2d6eac01d004c72a925ea93e6823251d5fa2 -Author: Behdad Esfahbod -Date: Wed Oct 27 17:37:20 2010 -0400 - - Remove unused function - - src/hb-buffer-private.hh | 10 ---------- - src/hb-buffer.cc | 27 --------------------------- - 2 files changed, 37 deletions(-) - -commit 1115890b90709fa5329a55d22f543020f3df9f6f -Author: Behdad Esfahbod -Date: Wed Oct 27 17:07:04 2010 -0400 - - More cleanup - - src/hb-buffer-private.hh | 5 +---- - src/hb-ot-layout-private.hh | 6 ++++++ - 2 files changed, 7 insertions(+), 4 deletions(-) - -commit dbf56b1d94910f04823e53e39ace1e5145bddc04 -Author: Behdad Esfahbod -Date: Wed Oct 27 17:06:12 2010 -0400 - - More lig-id cleanup - - src/hb-buffer-private.hh | 4 ++-- - src/hb-buffer.cc | 2 +- - src/hb-ot-layout-gsub-private.hh | 8 +++++++- - 3 files changed, 10 insertions(+), 4 deletions(-) - -commit f6a23a0b9171958f76c1d0473b09fc08d2b3a0d0 -Author: Behdad Esfahbod -Date: Wed Oct 27 17:01:03 2010 -0400 - - More removal of lig-id code from buffer - - src/hb-buffer.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit dd2ffd282c059194fd87fb1664e2e0cdb56a87a0 -Author: Behdad Esfahbod -Date: Wed Oct 27 16:57:01 2010 -0400 - - Minor renaming - - src/hb-buffer-private.hh | 41 - ++++++++++++++++++++-------------------- - src/hb-buffer.cc | 20 ++++++++++---------- - src/hb-ot-layout-gsub-private.hh | 8 ++++---- - src/hb-ot-shape.cc | 6 +++--- - 4 files changed, 37 insertions(+), 38 deletions(-) - -commit fe263272a2b26204bc39829a94d90ab537517f3f -Author: Behdad Esfahbod -Date: Wed Oct 27 16:51:02 2010 -0400 - - Move setting lig_id/component out of buffer and to the gsub code - - src/hb-buffer-private.hh | 30 +++++++---------------- - src/hb-buffer.cc | 52 - +++++++--------------------------------- - src/hb-ot-layout-gsub-private.hh | 27 ++++++++++++--------- - 3 files changed, 34 insertions(+), 75 deletions(-) - -commit 2e2b2480c01c788ea702d78ca830c2bb659654a8 -Author: Behdad Esfahbod -Date: Wed Oct 27 16:25:28 2010 -0400 - - Always allocate new ligature id - - No practical point in reusing ligature ids. - - src/hb-ot-layout-gsub-private.hh | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -commit bf07d5a29c61baf6fd683289c7764f487ad7e413 -Author: Behdad Esfahbod -Date: Wed Oct 27 16:19:13 2010 -0400 - - Set component=0 for ligature glyph - - src/hb-ot-layout-gsub-private.hh | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 37ab877149582c7ce7416425bb402340e3f948a2 -Author: Behdad Esfahbod -Date: Wed Oct 27 15:38:06 2010 -0400 - - Remove comment - - src/hb-buffer.cc | 20 -------------------- - 1 file changed, 20 deletions(-) - -commit 88474c6fdaf35c56368694a5b164f4988a004d49 -Author: Behdad Esfahbod -Date: Wed Oct 27 14:42:15 2010 -0400 - - Get rid of the OpenType-specific internal buffer representation - - Add variant integers to buffer item types. More cleanup coming. - - TODO | 2 -- - src/hb-buffer-private.hh | 35 ++++++---------------- - src/hb-buffer.cc | 62 - +++++++++++++++++++-------------------- - src/hb-buffer.h | 2 +- - src/hb-ot-layout-gpos-private.hh | 24 +++++++-------- - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-ot-layout-private.hh | 4 +-- - src/hb-ot-layout.cc | 39 ++++++++++++------------ - src/hb-ot-shape-complex-arabic.cc | 8 ++--- - 9 files changed, 79 insertions(+), 99 deletions(-) - -commit 6cb8c3493019e1497921666fc268cb81943f9f1f -Author: Behdad Esfahbod -Date: Wed Oct 27 14:27:03 2010 -0400 - - Add hb_var_int_t - - src/hb-buffer.h | 6 +++--- - src/hb-common.h | 10 ++++++++++ - 2 files changed, 13 insertions(+), 3 deletions(-) - -commit f22802431a983bd4bc60a7653b1103973c3475cb -Author: Behdad Esfahbod -Date: Tue Nov 2 19:12:37 2010 -0400 - - Remove trailing comma - - src/hb-ot-shape-complex-arabic.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 13528d0c78cadb1f67267c9a692558caef9fdaa6 -Author: Behdad Esfahbod -Date: Wed Oct 27 14:09:27 2010 -0400 - - Supposedly implement vertical support in GPOS - - Not tested at all. - - src/hb-ot-layout-gpos-private.hh | 27 ++++++++++++++++++++------- - src/hb-ot-layout.cc | 39 - ++++++++++++++++++++++++--------------- - 2 files changed, 44 insertions(+), 22 deletions(-) - -commit 9624de5b496846cd89ee4f7b07d38029aca70ce1 -Author: Behdad Esfahbod -Date: Wed Oct 27 13:44:59 2010 -0400 - - Clarify cursive_chain (and change its sign) - - src/hb-ot-layout-gpos-private.hh | 4 ++-- - src/hb-ot-layout.cc | 13 +++++++------ - 2 files changed, 9 insertions(+), 8 deletions(-) - -commit d6c9eadb88240c40b3cb9a33f067e575cbc2f729 -Author: Behdad Esfahbod -Date: Wed Oct 27 12:34:50 2010 -0400 - - Remove more pointless LONGTERMTODO items - - src/hb-ot-layout-common-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit e204674fe340a57c48a9fe7e1ed02a9a08f4aca4 -Author: Behdad Esfahbod -Date: Wed Oct 27 12:32:02 2010 -0400 - - Rename hb_ot_layout_get_lig_carets() to - hb_ot_layout_get_ligature_carets() - - src/hb-ot-layout.cc | 14 +++++++------- - src/hb-ot-layout.h | 14 +++++++------- - 2 files changed, 14 insertions(+), 14 deletions(-) - -commit 3357d145f81cb7b746c910018fe3a0dfab00972c -Author: Behdad Esfahbod -Date: Wed Oct 27 12:30:46 2010 -0400 - - Implement vertical support in get_lig_carets() - - src/hb-ot-layout-gdef-private.hh | 34 ++++++++++++++++++---------------- - src/hb-ot-layout.cc | 3 ++- - src/hb-ot-layout.h | 1 + - 3 files changed, 21 insertions(+), 17 deletions(-) - -commit 8eeed7eddc789151cbffe62ed6bfd77612266bf1 -Author: Behdad Esfahbod -Date: Wed Oct 27 12:07:49 2010 -0400 - - Remove LONGTERMTODO item that I'll never fix - - src/hb-ot-layout-gsubgpos-private.hh | 6 ------ - 1 file changed, 6 deletions(-) - -commit 184a5279c64f37bc2ceefbe2191bb64ca87f88d8 -Author: Behdad Esfahbod -Date: Wed Oct 27 12:00:49 2010 -0400 - - Remove unused macro - - src/hb-ot-layout-gpos-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit af5d02a269d55331300df1e382241893928d64e0 -Author: Behdad Esfahbod -Date: Wed Oct 27 11:54:26 2010 -0400 - - Rewrite Cursive joining to act more like other pair lookups - - Look forward for next character instead of joining to the last - character. - - src/hb-ot-layout-gpos-private.hh | 71 - ++++++++++++++++++---------------------- - src/hb-ot-layout-private.hh | 10 ------ - 2 files changed, 31 insertions(+), 50 deletions(-) - -commit ea22c749c7371cf66ca44f0bfe7030aef1926edd -Author: Behdad Esfahbod -Date: Wed Oct 27 11:09:48 2010 -0400 - - Fix Cursive positioning - - Test case: "مرا" rendered using IranNastaliq. - - src/hb-ot-layout-gpos-private.hh | 124 - +-------------------------------------- - 1 file changed, 3 insertions(+), 121 deletions(-) - -commit aefdb64689aab19df76590a36c4a04052a8bffdb -Author: Behdad Esfahbod -Date: Wed Oct 27 10:40:39 2010 -0400 - - Fix segfault with Arabic combining marks - - src/hb-ot-shape-complex-arabic.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 12b2d09a87adc1e1aac089cd2e09a68fb7129829 -Author: Behdad Esfahbod -Date: Wed Oct 27 01:28:28 2010 -0400 - - Remove obsolete TODO item - - We don't cache any metrics internally, so the correct way to add more - glyph metrics items is to add new callbacks for them. We already have - separeate callbacks for advance vs extents. - - TODO | 2 -- - 1 file changed, 2 deletions(-) - -commit 248e3c2ba47889c247959e44166644872aed59ba -Author: Behdad Esfahbod -Date: Wed Oct 27 01:23:14 2010 -0400 - - Oops, remove extra mask setting that broke complex shaping - - src/hb-ot-shape.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit 502f4cba3e0bcd625d31f8fd295b8b18e2d02a5a -Author: Behdad Esfahbod -Date: Wed Oct 27 01:13:56 2010 -0400 - - Divide get_metrics into get_advance and get_extents - - Graphite module not updated. - Bump version to 0.3. - - configure.ac | 2 +- - src/hb-font-private.h | 3 +- - src/hb-font.cc | 96 - +++++++++++++++++++++++++++++++++++---------------- - src/hb-font.h | 61 ++++++++++++++++++++------------ - src/hb-ft.c | 72 +++++++++++++++++++++++--------------- - src/hb-ot-shape.cc | 7 ++-- - 6 files changed, 154 insertions(+), 87 deletions(-) - -commit ec6c0e54d322d58cbc835feb58dcec7ede6ab744 -Author: Behdad Esfahbod -Date: Tue Oct 26 11:28:14 2010 -0400 - - Fix blob leak - - src/hb-font.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bd7378b2ef9793de4e7f57b920f29f48ac9d0c25 -Author: Behdad Esfahbod -Date: Wed Oct 13 18:33:16 2010 -0400 - - Massage mask setting a bit more - - Still finding the exact correct way the masks should be set. - - src/hb-buffer-private.hh | 19 ++++++++++++++++--- - src/hb-buffer.cc | 9 +++++++++ - src/hb-ot-shape.cc | 6 ++++-- - 3 files changed, 29 insertions(+), 5 deletions(-) - -commit 961f9baa7bc3556f1e4e7135859cebe1351f73a4 -Author: Behdad Esfahbod -Date: Wed Oct 13 17:17:00 2010 -0400 - - Oops, actually set global mask - - src/hb-buffer.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 39dede9ffffe732f78cbd092ccb3b48d77ddd66d -Author: Behdad Esfahbod -Date: Wed Oct 13 15:54:06 2010 -0400 - - Make sure boolean features always use value=1 - - Previously boolean features turned on the entire feature mask. - This is - wrong if feature is Alternate and user has provided values bigger - than one. - Though, I don't think other engines support such corner cases. - - src/hb-ot-map-private.hh | 10 ++++++++-- - src/hb-ot-map.cc | 3 ++- - src/hb-ot-shape-complex-arabic.cc | 2 +- - src/hb-ot-shape.cc | 2 +- - 4 files changed, 12 insertions(+), 5 deletions(-) - -commit 3506b2e78db27e7835bd2c09c053a9807c9cac40 -Author: Behdad Esfahbod -Date: Wed Oct 13 15:38:52 2010 -0400 - - Return early if mask is 0 - - src/hb-buffer.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 5c1c8c9c50ddbe66ea595afb245a208b7775b27c -Author: Behdad Esfahbod -Date: Wed Oct 13 15:36:38 2010 -0400 - - Make sure feature values don't leak out of their mask - - src/hb-buffer.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 852912fc2db06b6183a2dc87c45ec1b563063572 -Author: Behdad Esfahbod -Date: Wed Oct 13 15:34:50 2010 -0400 - - Fix applying default-value for features - - Previously if a default global feature was overrided by a non-global - user feature, we were not setting any default mask for the feature, - essentially disabling the feature by default. Fix that. - - TODO | 2 -- - src/hb-ot-map-private.hh | 10 ++++++---- - src/hb-ot-map.cc | 13 +++++++------ - 3 files changed, 13 insertions(+), 12 deletions(-) - -commit 2989be4919242670c94825bded96db20a7b2035b -Author: Behdad Esfahbod -Date: Wed Oct 13 15:18:29 2010 -0400 - - Set user masks after complex masks - - src/hb-ot-shape.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit a7820b7b15a809b4a1a4077147ceed7bea528483 -Author: Behdad Esfahbod -Date: Wed Oct 13 14:20:48 2010 -0400 - - Add TODO item - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 04a3023a66203d94b77f2d7a8d6bcdedf067e155 -Author: Behdad Esfahbod -Date: Wed Oct 13 10:57:27 2010 -0400 - - Cleanup TODO - - Looks like a roadmap now. - - TODO | 72 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++------------- - 1 file changed, 59 insertions(+), 13 deletions(-) - -commit 3111b8a0d5b38da57c0f6285aec2b92eb690188f -Author: Behdad Esfahbod -Date: Wed Oct 13 10:41:53 2010 -0400 - - Fix stupid bug, oops - - src/hb-font.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3703f88b74707113e782eb6ca9a77603561760d0 -Author: Behdad Esfahbod -Date: Tue Oct 12 18:34:20 2010 -0400 - - Step the version up to 0.2 now that Arabic shaper is in - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 758f68b860b44b5a04eb3dde5cb40b1b04cf634a -Author: Behdad Esfahbod -Date: Tue Oct 12 17:37:44 2010 -0400 - - Fix Arabic shaper - - It's tested now. It works! - - src/hb-ot-shape-complex-arabic.cc | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 13403bc67a01e0d4908fb964093fd02ddd11c580 -Author: Behdad Esfahbod -Date: Tue Oct 12 17:23:54 2010 -0400 - - Hookup Arabic shaper! - - Not tested yet. - - src/hb-ot-shape-complex-arabic.cc | 6 +++--- - src/hb-ot-shape-complex-private.hh | 37 - ++++++++++++++++++++++--------------- - src/hb-ot-shape-private.hh | 14 +++++++++++++- - src/hb-ot-shape.cc | 3 ++- - 4 files changed, 40 insertions(+), 20 deletions(-) - -commit 57ac0ecb7843533b2e6e6d6c8a12b2a44437cc1c -Author: Behdad Esfahbod -Date: Tue Oct 12 17:07:02 2010 -0400 - - Merge clearing masks and setting global masks - - src/hb-buffer-private.hh | 11 ++++++----- - src/hb-buffer.cc | 5 +++-- - src/hb-ot-map.cc | 2 +- - src/hb-ot-shape.cc | 7 ++----- - 4 files changed, 12 insertions(+), 13 deletions(-) - -commit fc96596b7c1c4e62491e951a3c256fb00dcde550 -Author: Behdad Esfahbod -Date: Tue Oct 12 17:00:25 2010 -0400 - - Form clusters before setting masks - - src/hb-ot-shape.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 1e80782244cdb1dedae9d1e61079d0508e57ca72 -Author: Behdad Esfahbod -Date: Tue Oct 12 17:00:07 2010 -0400 - - Clear masks before setting them up, not after! - - src/hb-ot-shape.cc | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit fd3d32d31cb6d74a9994b6850d539fd0b707d941 -Author: Behdad Esfahbod -Date: Tue Oct 12 16:57:47 2010 -0400 - - Add hb_ot_shape_execute() - - Not public yet. - - src/hb-ot-shape-private.hh | 5 ++--- - src/hb-ot-shape.cc | 19 ++++++++++++++----- - 2 files changed, 16 insertions(+), 8 deletions(-) - -commit 49baa1f69efb0e3c62e45bd59dd88459a84bf390 -Author: Behdad Esfahbod -Date: Tue Oct 12 16:50:36 2010 -0400 - - Add hb_ot_complex_shaper_t stuff and start hooking Arabic shaper up - - src/Makefile.am | 3 +- - src/hb-ot-map-private.hh | 2 +- - src/hb-ot-map.cc | 2 +- - ...ape-arabic.cc => hb-ot-shape-complex-arabic.cc} | 9 +++ - src/hb-ot-shape-complex-private.hh | 88 - ++++++++++++++++++++++ - src/hb-ot-shape-private.hh | 12 +-- - src/hb-ot-shape.cc | 8 +- - 7 files changed, 107 insertions(+), 17 deletions(-) - -commit 605ed468f380f86d642031f6451447d270cb6de1 -Author: Behdad Esfahbod -Date: Tue Oct 12 16:19:29 2010 -0400 - - Add hb_ot_shape_plan_t - - This is the object that a separate plan/execute shaping API will - use in - between the two stages. - - src/hb-ot-shape-private.hh | 12 ++++++++++-- - src/hb-ot-shape.cc | 38 ++++++++++++++++++-------------------- - 2 files changed, 28 insertions(+), 22 deletions(-) - -commit 895fb5d364e7ae5d9d2e34b9f68b8651804369ef -Author: Behdad Esfahbod -Date: Tue Oct 12 16:00:21 2010 -0400 - - Refactor, in a different direction - - src/hb-ot-map-private.hh | 15 ++++++++------- - src/hb-ot-map.cc | 23 ++++++++++++----------- - src/hb-ot-shape-private.hh | 13 +------------ - src/hb-ot-shape.cc | 33 +++++++++++++++++---------------- - 4 files changed, 38 insertions(+), 46 deletions(-) - -commit d2ba016ca1ba7489537768b619980d5159b5870c -Author: Behdad Esfahbod -Date: Tue Oct 12 15:35:45 2010 -0400 - - More refactoring - - src/hb-ot-map-private.hh | 32 +++++--------------------------- - src/hb-ot-map.cc | 32 +++++++++++++++++++++++++++++--- - src/hb-ot-shape-private.hh | 16 ++++++++++++++-- - src/hb-ot-shape.cc | 43 - ++++++++++++++++++++++++++++--------------- - src/hb-ot-shape.h | 10 +++++----- - 5 files changed, 81 insertions(+), 52 deletions(-) - -commit 66e487dfbfdccd0c4be8cd11661d412ca27c3425 -Author: Behdad Esfahbod -Date: Tue Oct 12 13:51:19 2010 -0400 - - Update Arabic shaping table to Unicode 6.0.0. - - src/hb-ot-shape-arabic.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit f4792d99eee0e8cd72b7cb01c96a09f16e2a72ce -Author: Behdad Esfahbod -Date: Tue Oct 12 12:32:18 2010 -0400 - - Fix infinite loop! - - Untested code is indeed buggy code. - - Mozilla bug #603352. - - src/hb-ot-tag.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit 993d1e786a32612b796dae8309ce402a4121bec7 -Author: Behdad Esfahbod -Date: Tue Oct 12 11:17:30 2010 -0400 - - Fix missing negation in unreachable code! - - Mozilla bug #603346 - - src/hb-open-type-private.hh | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 52601275d5e4000dada4f925fb78723eeeee7bd4 -Author: Behdad Esfahbod -Date: Fri Oct 8 20:38:46 2010 -0400 - - More separation - - src/hb-ot-shape.cc | 14 +++++--------- - 1 file changed, 5 insertions(+), 9 deletions(-) - -commit 6b7e6758626268ba1c7c266128e618ec73ae2c0f -Author: Behdad Esfahbod -Date: Fri Oct 8 20:30:04 2010 -0400 - - Minor - - src/hb-ot-shape.cc | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -commit aa9c450bb2d7c3c9e36ea32e3558250391a0582d -Author: Behdad Esfahbod -Date: Fri Oct 8 20:27:38 2010 -0400 - - Enable 'rtlm' mirroring - - src/hb-ot-map-private.hh | 9 +++++---- - src/hb-ot-shape.cc | 30 +++++++++++++++--------------- - 2 files changed, 20 insertions(+), 19 deletions(-) - -commit 36925f695d349a53d52ecc3a58f18240a6977463 -Author: Behdad Esfahbod -Date: Fri Oct 8 20:20:32 2010 -0400 - - Rename hb_mask_allocator_t to hb_ot_map_t - - hb_ot_plan_t may be a better name, donno. - - src/hb-ot-map-private.hh | 4 ++-- - src/hb-ot-map.cc | 2 +- - src/hb-ot-shape-private.hh | 4 ++-- - src/hb-ot-shape.cc | 49 - +++++++++++++++++++++------------------------- - 4 files changed, 27 insertions(+), 32 deletions(-) - -commit f5dd3be46b5c77a2c5b97b82a0b67ac9e851b898 -Author: Behdad Esfahbod -Date: Fri Oct 8 20:16:23 2010 -0400 - - Improve checks - - src/check-c-linkage-decls.sh | 2 +- - src/check-header-guards.sh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 5a2b0b3878cd9c62121bb4fd6344e102a9ee1825 -Author: Behdad Esfahbod -Date: Fri Oct 8 20:14:57 2010 -0400 - - Add hb-ot-map.cc - - src/Makefile.am | 1 + - src/hb-ot-map-private.hh | 129 +----------------------------------- - src/hb-ot-map.cc | 165 - +++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 168 insertions(+), 127 deletions(-) - -commit ecc4550ed7bc900a61081edfbcd0ad09cbf29b36 -Author: Behdad Esfahbod -Date: Fri Oct 8 20:05:29 2010 -0400 - - Fix feature overriding - - src/hb-ot-map-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8f08c3275040870a645ef034a38d30c05c619f21 -Author: Behdad Esfahbod -Date: Fri Oct 8 19:43:48 2010 -0400 - - Minor cleanup - - src/hb-open-type-private.hh | 8 ++---- - src/hb-ot-map-private.hh | 61 - +++++++++++++-------------------------------- - src/hb-ot-tag.c | 11 ++++---- - src/hb-private.h | 4 +++ - 4 files changed, 28 insertions(+), 56 deletions(-) - -commit a806762a314e83154793d96ee665e6668d6b56de -Author: Behdad Esfahbod -Date: Fri Oct 8 19:18:40 2010 -0400 - - Add hb-ot-shape-private.hh - - src/Makefile.am | 1 + - src/hb-ot-shape-arabic.cc | 2 +- - src/hb-ot-shape-private.hh | 60 - ++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 62 insertions(+), 1 deletion(-) - -commit 4924affe0f0adf75f2a0e2137a71206b0576d63f -Author: Behdad Esfahbod -Date: Fri Oct 8 19:18:16 2010 -0400 - - Add hb-ot-map-private.hh - - src/Makefile.am | 1 + - src/hb-ot-map-private.hh | 307 - +++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-shape.cc | 274 ++---------------------------------------- - 3 files changed, 315 insertions(+), 267 deletions(-) - -commit a7c5046d6b676a32298b97403a49235f7f255161 -Author: Behdad Esfahbod -Date: Fri Oct 8 18:47:47 2010 -0400 - - Add private hb_segment_properties_t - - src/hb-buffer-private.hh | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -commit b897c607d91d569f4eaa681d1f5b3d9f3d2bb093 -Author: Behdad Esfahbod -Date: Fri Oct 8 18:41:57 2010 -0400 - - Flip the OT bit-allocation vs gsub/gpos inside-out - - We now build our entire attack plan before jumping in. - - src/hb-ot-shape.cc | 333 - ++++++++++++++++++++++++++++------------------------- - 1 file changed, 176 insertions(+), 157 deletions(-) - -commit e89b7d2a61b7f58e6c7cec00d5ce2246dee1e8a1 -Author: Behdad Esfahbod -Date: Fri Oct 8 12:29:59 2010 -0400 - - Logically separate feature collection - - src/hb-ot-shape.cc | 29 ++++++++++++++++++----------- - 1 file changed, 18 insertions(+), 11 deletions(-) - -commit 5b88908f12ad1d828dd6075fb8fc0036c2d6af3a -Author: Behdad Esfahbod -Date: Fri Oct 8 12:23:01 2010 -0400 - - Minor - - src/hb-ot-shape.cc | 18 ++++++------------ - 1 file changed, 6 insertions(+), 12 deletions(-) - -commit 5360ce0c5c33f921b3f9ad3f42529a19df5ad0fe -Author: Behdad Esfahbod -Date: Thu Oct 7 21:21:11 2010 -0400 - - Move some more code around - - src/hb-ot-shape.cc | 27 +++++++++++++-------------- - 1 file changed, 13 insertions(+), 14 deletions(-) - -commit d9c726078828d50db62e05407a3f38f2e7607533 -Author: Behdad Esfahbod -Date: Thu Oct 7 21:19:54 2010 -0400 - - Minor - - src/hb-ot-shape.cc | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit efe0d682e860ffd23a1d17c68c8273f17d51c1c9 -Author: Behdad Esfahbod -Date: Thu Oct 7 21:12:46 2010 -0400 - - Simplify compiling lookups - - src/hb-ot-shape.cc | 66 - ++++++++++++++++++++++-------------------------------- - 1 file changed, 27 insertions(+), 39 deletions(-) - -commit 476c94218b4f5b8e119e82b0e10b641e0c10bf56 -Author: Behdad Esfahbod -Date: Thu Oct 7 17:47:33 2010 -0400 - - Rename - - src/hb-ot-shape.cc | 18 ++++++++++-------- - 1 file changed, 10 insertions(+), 8 deletions(-) - -commit 34db6f031d7ac009f554386ef990bad44886b9ee -Author: Behdad Esfahbod -Date: Thu Oct 7 01:21:19 2010 -0400 - - Add XXX note - - src/hb-buffer.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 98aa3f65446496dc250d9b01d98cacfdf1157e06 -Author: Behdad Esfahbod -Date: Wed Oct 6 00:23:36 2010 -0400 - - Call hb_ot_shape_setup_lookups_complex() - - src/hb-ot-shape.cc | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit f1d07885dc358e79c237e824c94b3320c0a9c17d -Author: Behdad Esfahbod -Date: Wed Oct 6 00:21:37 2010 -0400 - - Rename setup_lookups() - - src/hb-ot-shape.cc | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit affc5abac7bdae51df85856a5478d34d96fda4fe -Author: Behdad Esfahbod -Date: Wed Oct 6 00:18:16 2010 -0400 - - Move table_tag to hb_ot_shape_context_t - - src/hb-ot-shape.cc | 31 +++++++++++++++++-------------- - 1 file changed, 17 insertions(+), 14 deletions(-) - -commit 967240dd8b96802345ef273e75427066e91ea8fb -Author: Behdad Esfahbod -Date: Tue Oct 5 23:00:05 2010 -0400 - - Add internal hb_ot_shape_context_t - - src/hb-ot-shape-arabic.cc | 26 ++--- - src/hb-ot-shape.cc | 237 - +++++++++++++++++++--------------------------- - 2 files changed, 108 insertions(+), 155 deletions(-) - -commit 3eb936f1539475098f39be78654b9c39b86f0799 -Author: Behdad Esfahbod -Date: Tue Oct 5 18:36:58 2010 -0400 - - Add Arabic/Syriac/N'ko shaping logic - - Not hooked up just yet. - - src/Makefile.am | 9 + - src/gen-arabic-joining-table.py | 39 +++ - src/hb-ot-shape-arabic.cc | 716 - ++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 764 insertions(+) - -commit 0109816b50064a314389333ff64aaf22cb4b1e56 -Author: Behdad Esfahbod -Date: Tue Oct 5 18:36:45 2010 -0400 - - Update build system - - autogen.sh | 3 --- - configure.ac | 1 + - 2 files changed, 1 insertion(+), 3 deletions(-) - -commit e81d7afe6e0e9dd26025f3243a11cf0b408a8046 -Author: Behdad Esfahbod -Date: Mon Oct 4 18:18:48 2010 -0400 - - Add hb_face_get_upem() - - src/hb-font.cc | 6 ++++++ - src/hb-font.h | 3 +++ - 2 files changed, 9 insertions(+) - -commit d47f79db92fa45d51cd5f7845db8a206f5ec122b -Author: Behdad Esfahbod -Date: Mon Oct 4 18:13:30 2010 -0400 - - Add TODO item - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit bd361945a89ea31e6c4525aa030e18744ea81fb3 -Author: Behdad Esfahbod -Date: Mon Oct 4 17:22:57 2010 -0400 - - Add API comments - - src/hb-font.h | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -commit 645f6f265b5f6fb85b3c0f59ea874d58c86e3917 -Author: Behdad Esfahbod -Date: Mon Oct 4 17:01:01 2010 -0400 - - Add is_mutable() functions - - Correspond to the make_mutable() ones. - - src/hb-font.cc | 6 ++++++ - src/hb-font.h | 2 ++ - src/hb-unicode.c | 6 ++++++ - src/hb-unicode.h | 2 ++ - 4 files changed, 16 insertions(+) - -commit 19c0eab8cf96d00e168c4b11ec435019c1ed44f7 -Author: Behdad Esfahbod -Date: Mon Oct 4 16:45:21 2010 -0400 - - Add getters for all setter APIs - - One in particular is not a straight getter: hb_font_unset_funcs() is - special because of the specific needs of the lifecycle management of - the user_data object. - - src/hb-font.cc | 64 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-font.h | 40 +++++++++++++++++++++++++++++++++++ - src/hb-unicode.c | 32 ++++++++++++++++++++++++++++ - src/hb-unicode.h | 31 ++++++++++++++++++++++++++- - 4 files changed, 166 insertions(+), 1 deletion(-) - -commit f0feb084b0fd1510474b25404d1dcc5686ee0538 -Author: Behdad Esfahbod -Date: Sun Oct 3 19:09:39 2010 -0400 - - Minor - - src/hb-ot-layout-private.hh | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit ac0c1663fa6e93a5a94c88fc7497bc11ca17f0a1 -Author: Behdad Esfahbod -Date: Fri Oct 1 19:09:23 2010 -0400 - - Avoid div-by-zero, validate upem - - src/hb-ot-head-private.hh | 7 +++++++ - src/hb-ot-layout-private.hh | 6 +++--- - 2 files changed, 10 insertions(+), 3 deletions(-) - -commit 7f97d2cd904ea999c099c73c52187c5d65aeec67 -Author: Behdad Esfahbod -Date: Fri Oct 1 18:58:50 2010 -0400 - - Pedantic - - src/hb-open-type-private.hh | 12 ++++++------ - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gdef-private.hh | 10 +++++----- - src/hb-ot-layout-gpos-private.hh | 6 +++--- - 4 files changed, 15 insertions(+), 15 deletions(-) - -commit 2841436926d6a406bd1f4a35c66a0e3c2fdbeca7 -Author: Behdad Esfahbod -Date: Wed Sep 29 12:20:36 2010 -0400 - - Don't zero glyph advances in MarkToBase and similar lookups - - See email thread "Should MarkToBase attachment zero the mark advance?" - started by Jonathan Kew on 23 August 2010 for details. - - src/hb-ot-layout-gpos-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit 36b3862009c00ad922d68810173a69ac59723365 -Author: Behdad Esfahbod -Date: Wed Sep 29 12:10:24 2010 -0400 - - One fewer cmp() implementation... - - src/hb-ot-layout-common-private.hh | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 4e573715ae5f5ed486ad66382bb44c47a86591ff -Author: Behdad Esfahbod -Date: Tue Sep 28 16:23:58 2010 -0400 - - Improve cmp function parameter namings and casts - - No semantic change. - - src/hb-open-type-private.hh | 6 +++--- - src/hb-ot-layout-common-private.hh | 6 +++--- - src/hb-ot-shape.cc | 8 ++++---- - 3 files changed, 10 insertions(+), 10 deletions(-) - -commit dca8aff24652c83c53efbb9d06e5e1c7ef1c2fa5 -Author: Behdad Esfahbod -Date: Tue Sep 28 16:25:23 2010 -0400 - - Add comment re DejaVu Sans Mono having 'dflt' script - - src/hb-ot-layout.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 9dc45401c07cb40114067cafbe286c63a9598f3b -Author: Behdad Esfahbod -Date: Tue Sep 28 16:23:28 2010 -0400 - - Fix stupid bug in bsearch cmp function! - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6fca4c18c42bdcbc67ee8855499c51c7d6311eb2 -Author: Behdad Esfahbod -Date: Thu Sep 23 10:28:51 2010 -0400 - - Add TODO iteam - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit f2a30bd605a57b99fce4b78e288c2ca62f7191ad -Author: Behdad Esfahbod -Date: Thu Sep 23 10:27:08 2010 -0400 - - Remove unimplemented method hb_font_get_funcs() - - Got to add a suitable replacement. - - src/hb-font.h | 3 --- - 1 file changed, 3 deletions(-) - -commit 7b9a38a112aa2421d97187a9b30619360edeabbe -Author: Behdad Esfahbod -Date: Wed Sep 22 17:42:59 2010 -0400 - - Add test.c using public API - - src/Makefile.am | 6 +++- - src/test.c | 94 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 99 insertions(+), 1 deletion(-) - -commit 9ea7368fce3fa373d8d2925961ad211f5cf6ce70 -Author: Behdad Esfahbod -Date: Wed Sep 22 17:38:44 2010 -0400 - - Fix hb_ot_layout leak - - src/hb-ot-layout.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 8e577acae2e605547b6a1b9b3a941cb9e3c56a4c -Author: Behdad Esfahbod -Date: Wed Sep 22 17:37:02 2010 -0400 - - Fix blob refcounting with insane SFNT table directories - - src/hb-font.cc | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 75371bea4fbf50b8604d2698b4935c011648a6b6 -Author: Behdad Esfahbod -Date: Wed Sep 22 17:12:10 2010 -0400 - - Add TODO item - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5bd1e95236320aed60fb29ca1e93b9595d4aeeec -Author: Behdad Esfahbod -Date: Wed Sep 22 16:46:18 2010 -0400 - - Speedup Device table delta computation for common cases - - src/hb-ot-layout-common-private.hh | 25 +++++++++++++++++++++---- - 1 file changed, 21 insertions(+), 4 deletions(-) - -commit ed4acbde9c5e3323cc95037b500d1bf2878ed3ee -Author: Behdad Esfahbod -Date: Mon Aug 16 14:36:27 2010 -0400 - - Fix NULL dereference - - Reported by Jonathan Kew. Face table handling needs to be redone - anyway, but fix this for now. - - src/hb-ot-layout.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 258305c2a5dd47bd2d83f12eaf9caa5b19ae5efb -Author: Behdad Esfahbod -Date: Fri Aug 13 14:10:02 2010 -0400 - - [GPOS] Fix div-by-zero - - Patch by Jonathan Kew. Mozilla bug #465728. - - src/hb-ot-layout-gpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2422c4b96d32037a5cdaef4c427ed1d25db5f647 -Author: Behdad Esfahbod -Date: Fri Aug 13 14:00:34 2010 -0400 - - Add TODO - - src/hb-ot-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 27f0b092a13344e8791c496c77a3c1e5de4f887c -Author: Behdad Esfahbod -Date: Fri Jul 23 17:35:54 2010 -0400 - - Logically separate feature allocation from application - - src/hb-ot-shape.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 6cf63132dc771e1bcd5627720daf4bd2ea0800a5 -Author: Behdad Esfahbod -Date: Fri Jul 23 17:32:26 2010 -0400 - - Minor - - src/hb-ot-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4e4ef24e46f273ad2bdda2f718223e05b37dd50f -Author: Behdad Esfahbod -Date: Fri Jul 23 17:22:11 2010 -0400 - - Towards separating bit allocation from shaping - - src/hb-buffer-private.hh | 9 ++++++--- - src/hb-buffer.cc | 12 ++++++------ - src/hb-ot-layout-gpos-private.hh | 2 +- - src/hb-ot-layout.cc | 2 +- - src/hb-ot-shape.cc | 41 - ++++++++++++++++------------------------ - 5 files changed, 30 insertions(+), 36 deletions(-) - -commit da6cff3864d2ef4a061a29e5918359bafcd51f4c -Author: Behdad Esfahbod -Date: Fri Jul 23 15:40:58 2010 -0400 - - Add TODO items - - TODO | 3 +++ - 1 file changed, 3 insertions(+) - -commit acdba3f90b232fc12fcb200dca2584481b339118 -Author: Behdad Esfahbod -Date: Fri Jul 23 15:11:18 2010 -0400 - - Prefer C linkage - - src/Makefile.am | 1 + - src/check-c-linkage-decls.sh | 18 ++++++++++++++++++ - src/hb-blob-private.h | 2 ++ - src/hb-blob.c | 18 ++++++++++++------ - src/hb-blob.h | 2 ++ - src/hb-buffer-private.hh | 1 + - src/hb-buffer.cc | 7 ++++++- - src/hb-buffer.h | 1 + - src/hb-common.c | 6 ++++++ - src/hb-common.h | 21 +++++++++++++-------- - src/hb-font-private.h | 1 + - src/hb-font.cc | 4 ++++ - src/hb-font.h | 1 + - src/hb-ft.c | 10 ++++++++-- - src/hb-ft.h | 2 ++ - src/hb-glib.c | 6 ++++++ - src/hb-glib.h | 2 ++ - src/hb-graphite.cc | 6 ++++++ - src/hb-graphite.h | 3 ++- - src/hb-icu.c | 6 ++++++ - src/hb-icu.h | 2 ++ - src/hb-language.c | 5 +++++ - src/hb-language.h | 2 ++ - src/hb-object-private.h | 2 ++ - src/hb-open-file-private.hh | 4 ++++ - src/hb-open-type-private.hh | 5 +++++ - src/hb-ot-head-private.hh | 5 +++++ - src/hb-ot-layout-common-private.hh | 6 ++++++ - src/hb-ot-layout-gdef-private.hh | 4 ++++ - src/hb-ot-layout-gpos-private.hh | 6 ++++++ - src/hb-ot-layout-gsub-private.hh | 7 ++++++- - src/hb-ot-layout-gsubgpos-private.hh | 13 +++++++++++++ - src/hb-ot-layout-private.hh | 3 ++- - src/hb-ot-layout.cc | 5 +++++ - src/hb-ot-layout.h | 1 + - src/hb-ot-shape.cc | 6 ++++++ - src/hb-ot-shape.h | 2 ++ - src/hb-ot-tag.c | 5 +++++ - src/hb-ot-tag.h | 2 ++ - src/hb-ot.h | 3 +++ - src/hb-private.h | 5 +++++ - src/hb-shape.cc | 5 +++++ - src/hb-shape.h | 1 + - src/hb-unicode-private.h | 1 + - src/hb-unicode.c | 6 ++++++ - src/hb-unicode.h | 1 + - src/hb.h | 3 +++ - src/main.cc | 6 ++++++ - 48 files changed, 214 insertions(+), 20 deletions(-) - -commit cc6d52279d10a2edcf0d86c3a18a79ff4f6d3858 -Author: Behdad Esfahbod -Date: Fri Jul 23 15:00:13 2010 -0400 - - De-C++ where possible - - Helps with avoiding many "extern C" declarations in source files. - - src/Makefile.am | 4 ++-- - src/check-header-guards.sh | 2 +- - src/{hb-font-private.hh => hb-font-private.h} | 6 +++--- - src/hb-font.cc | 2 +- - src/{hb-ft.cc => hb-ft.c} | 2 +- - src/hb-graphite.cc | 2 +- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-private.hh | 2 +- - 8 files changed, 11 insertions(+), 11 deletions(-) - -commit 0dd200d28f51bf4062d8a377432c8977c80cb210 -Author: Behdad Esfahbod -Date: Fri Jul 23 14:56:29 2010 -0400 - - Header dep cleanup - - src/hb-font-private.hh | 2 -- - src/hb-ot-layout-private.hh | 1 + - 2 files changed, 1 insertion(+), 2 deletions(-) - -commit fb0d25246267851a1fc200ead28c56359a40047e -Author: Behdad Esfahbod -Date: Fri Jul 23 14:54:22 2010 -0400 - - dos2unix - - src/hb-ot-head-private.hh | 256 - +++++++++++++++++++++++----------------------- - 1 file changed, 128 insertions(+), 128 deletions(-) - -commit 81408cd51ce575891e79e6483be187130f864c28 -Author: Behdad Esfahbod -Date: Fri Jul 23 14:46:57 2010 -0400 - - Don't use "operator =" - - Some compilers don't like operator = defined on members of union - members - either. Reported by Ginn Chen for Sun Studio compilers. - - src/hb-open-type-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 39fe34d4c356516f0a92f42b13a168572829d24e -Author: Behdad Esfahbod -Date: Thu Jul 22 18:12:38 2010 -0400 - - Add TODO option - - TODO | 2 ++ - 1 file changed, 2 insertions(+) - -commit 243a96f41482edb83e4798358064bd3329dd278c -Author: Behdad Esfahbod -Date: Wed Jul 21 17:21:12 2010 -0400 - - Add arm build fix to TODO - - TODO | 1 + - 1 file changed, 1 insertion(+) - -commit c407f05f99f9225916d3d0ae06eac8fbc8b55b97 -Author: Behdad Esfahbod -Date: Wed Jul 21 17:20:44 2010 -0400 - - Remove fixed TODO item - - TODO | 1 - - 1 file changed, 1 deletion(-) - -commit 4f801bd6586defdbf70162e0c7f8968d2b476df2 -Author: Behdad Esfahbod -Date: Wed Jul 21 16:37:01 2010 -0400 - - Mozilla bug 580233 - check for zero-length record in hb sanitizer. - - Patch / report by Jonathan Kew. - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 17e9ff938b638fd1cb80c990ba13bd47562116b8 -Author: Behdad Esfahbod -Date: Thu Jul 15 11:21:34 2010 -0700 - - Fix 64bit issues with debug prints - - src/hb-blob.c | 10 +++++----- - src/hb-open-type-private.hh | 5 +++-- - 2 files changed, 8 insertions(+), 7 deletions(-) - -commit fd56ae49637b978ea3b36fab5b48f1a3cc99e90e -Author: Behdad Esfahbod -Date: Thu Jul 8 00:53:40 2010 -0400 - - Don't bother sorting, it's a safe font error if the array is not - sorted - - src/hb-open-type-private.hh | 29 ----------------------------- - src/hb-ot-layout-common-private.hh | 7 ------- - 2 files changed, 36 deletions(-) - -commit cc8a4abea68f2dba26feb5785f9e518e6853c744 -Author: Behdad Esfahbod -Date: Thu Jul 8 00:40:04 2010 -0400 - - Use bsearch where applicable - - src/hb-open-type-private.hh | 49 +++++++++++++ - src/hb-ot-layout-common-private.hh | 145 - +++++++++++++------------------------ - 2 files changed, 100 insertions(+), 94 deletions(-) - -commit 2f418f5709b2b8b3ef2f6056b9d8c13b66f0b74a -Author: Behdad Esfahbod -Date: Wed Jul 7 22:07:40 2010 -0400 - - Remove useless TODO - - src/hb-open-file-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit da8edbb62204dc39f93d500ef85929e234e0bd19 -Author: Behdad Esfahbod -Date: Wed Jun 9 07:15:39 2010 -0400 - - Fix header - - src/hb-buffer-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit d05d13df02fbe76814694fe49cc01bbb41c3d0e7 -Author: Behdad Esfahbod -Date: Wed Jun 9 07:15:03 2010 -0400 - - Add a test for header preprocessor guards - - src/Makefile.am | 4 +++- - src/check-header-guards.sh | 20 ++++++++++++++++++++ - src/check-libstdc++.sh | 1 - - 3 files changed, 23 insertions(+), 2 deletions(-) - -commit 0f0cd9d361f1bb614aa3fd4616160d027062370e -Author: Behdad Esfahbod -Date: Wed Jun 9 06:32:56 2010 -0400 - - Fix header tags - - src/hb-font-private.hh | 6 +++--- - src/hb-object-private.h | 6 +++--- - src/hb-open-type-private.hh | 4 ++-- - src/hb-ot-layout-private.hh | 6 +++--- - src/hb-ot-shape.h | 2 +- - 5 files changed, 12 insertions(+), 12 deletions(-) - -commit f2a1b411b1d48c3dfac0df8e78c848d9aa3bb047 -Author: Behdad Esfahbod -Date: Thu Jun 3 11:37:51 2010 -0400 - - Followup fix for variation-selectors - - Patch from Jonathan Kew - - src/hb-ot-shape.cc | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit a224b4d502d026fa642ee4098bf7bc0b4ba7ce27 -Author: Behdad Esfahbod -Date: Wed Jun 2 22:24:54 2010 -0400 - - Fix skipping variation-selectors - - src/hb-ot-shape.cc | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -commit 81a77b115db401f69e869690f24b9047370bdfde -Author: Behdad Esfahbod -Date: Tue Jun 1 23:03:54 2010 -0400 - - Make feature sorting stable - - src/hb-ot-shape.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit fdc322a82047c4bda9fa3dab4338a0eac1c1bde7 -Author: Behdad Esfahbod -Date: Fri May 28 20:55:52 2010 -0400 - - Minor - - src/hb-ot-shape.cc | 38 +++++++++++++++++++++----------------- - 1 file changed, 21 insertions(+), 17 deletions(-) - -commit f062ec6bb24b1c21d37b12adc7e944a5fe53526a -Author: Behdad Esfahbod -Date: Fri May 28 20:54:43 2010 -0400 - - Further simplify mask allocator - - src/hb-ot-shape.cc | 23 +++++++---------------- - 1 file changed, 7 insertions(+), 16 deletions(-) - -commit 8af45fda475d075c5a285002463a00a0423d3926 -Author: Behdad Esfahbod -Date: Fri May 28 20:41:20 2010 -0400 - - Fix global feature handling - - src/hb-ot-shape.cc | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit e04685ee7be01695ec437fab50f919f1b7423c57 -Author: Behdad Esfahbod -Date: Fri May 28 20:37:06 2010 -0400 - - Simplify mask allocation - - src/hb-ot-shape.cc | 48 ++++++++++++++++++++---------------------------- - 1 file changed, 20 insertions(+), 28 deletions(-) - -commit 0e235d0fc9bdeeaffa7215c21abc5d40767a10c7 -Author: Behdad Esfahbod -Date: Fri May 28 20:21:47 2010 -0400 - - Towards a mask allocator - - src/hb-ot-shape.cc | 291 - ++++++++++++++++++++++++++++++++++------------------- - 1 file changed, 186 insertions(+), 105 deletions(-) - -commit 81c5e8724b740c6e42ed3a45e0574c7c5f3ad8e6 -Author: Behdad Esfahbod -Date: Fri May 28 18:31:16 2010 -0400 - - Allow disabling default features - - Patch from Jonathan Kew - - src/hb-buffer-private.hh | 18 +++-- - src/hb-buffer.cc | 15 ++-- - src/hb-ot-shape.cc | 196 - ++++++++++++++++++++++++++++++++--------------- - 3 files changed, 153 insertions(+), 76 deletions(-) - -commit 2163afbf35044f59dbf449254e65b8c9feb6cdeb -Author: Behdad Esfahbod -Date: Thu May 27 14:04:15 2010 -0400 - - Add note about UTF-8 decoder - - src/hb-buffer.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 226faa58f4e23eb655bebb0eff7206a3024c8d55 -Author: Behdad Esfahbod -Date: Thu May 27 11:42:34 2010 -0400 - - Fix loop - - src/hb-ot-tag.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 56bef5680cc76a67d16ca14ac69f0dda1a691968 -Author: Martin Hosken -Date: Thu May 27 10:09:04 2010 +0100 - - Fixes to Python and Graphite from Martin - - contrib/python/README | 10 ++++ - contrib/python/lib/fontconfig.pyx | 47 +++++++++++++++++ - contrib/python/lib/harfbuzz.pyx | 104 - ++------------------------------------ - contrib/python/scripts/hbtestfont | 103 - +++++++++++++++++++++++++++++++++---- - contrib/python/setup.py | 3 +- - src/hb-graphite.cc | 8 +-- - 6 files changed, 159 insertions(+), 116 deletions(-) - -commit b485da0b719cb03cc33da57802c5151301664c2f -Author: Behdad Esfahbod -Date: Thu May 27 11:39:19 2010 -0400 - - Disable Graphite as it crashes all over the place... - - src/hb-shape.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 93ac709b1f6b015371c29bf244a9ece62baedff0 -Author: Behdad Esfahbod -Date: Wed May 26 16:22:00 2010 -0400 - - Cypriot is RTL - - src/hb-unicode.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 15c7379c16dbb9ee8ed1c0333ca7492532ce8423 -Author: Behdad Esfahbod -Date: Wed May 26 10:48:10 2010 -0400 - - Revert "Merge remote branch 'martin/master'" - - This reverts commit 80af2812fb3b231ddcb4608ec13c6038a681c818, - reversing - changes made to c442672ec2fb83ed41f3994b3aa4f92a097664ab. - - contrib/python/README | 10 ---- - contrib/python/lib/fontconfig.pyx | 47 ----------------- - contrib/python/lib/harfbuzz.pyx | 104 - ++++++++++++++++++++++++++++++++++++-- - contrib/python/scripts/hbtestfont | 98 - ++++------------------------------- - contrib/python/setup.py | 3 +- - src/Makefile.am | 2 +- - src/hb-graphite.cc | 8 +-- - src/hb-ot-shape.cc | 2 +- - src/hb-ot-tag.c | 1 - - src/hb-ot.h | 2 +- - src/hb-shape.cc | 2 +- - 11 files changed, 119 insertions(+), 160 deletions(-) - -commit 80af2812fb3b231ddcb4608ec13c6038a681c818 -Merge: c442672e 3109a86a -Author: Behdad Esfahbod -Date: Mon May 24 18:14:24 2010 +0100 - - Merge remote branch 'martin/master' - -commit c442672ec2fb83ed41f3994b3aa4f92a097664ab -Author: Behdad Esfahbod -Date: Mon May 24 18:02:32 2010 +0100 - - Fix struct initializers - - src/hb-ft.cc | 12 ++++++------ - src/hb-glib.c | 14 +++++++------- - src/hb-icu.c | 14 +++++++------- - 3 files changed, 20 insertions(+), 20 deletions(-) - -commit f5ac9de259773a5f86809892e58166a485d70a3d -Author: Behdad Esfahbod -Date: Mon May 24 18:01:09 2010 +0100 - - Minor - - src/hb-object-private.h | 24 +++++++++++++----------- - 1 file changed, 13 insertions(+), 11 deletions(-) - -commit f97bf4f81257c97a46dff51be31b2ec214d6c270 -Author: Behdad Esfahbod -Date: Mon May 24 17:50:19 2010 +0100 - - Make sure we initialize all callbacks upon creation - - Also fixes issue with unicode callbacks never being set really. - - src/hb-font.cc | 18 +++++++----------- - src/hb-unicode.c | 9 ++------- - 2 files changed, 9 insertions(+), 18 deletions(-) - -commit bf36a1074ab23abeab0a7a6c47db26770dc1ab0a -Author: Behdad Esfahbod -Date: Mon May 24 17:46:21 2010 +0100 - - Move all callback functions in a vtable structs - - src/hb-font-private.hh | 10 ++++++---- - src/hb-font.cc | 28 +++++++++++++++------------- - src/hb-ot-shape.cc | 4 ++-- - src/hb-unicode-private.h | 12 +++++++----- - src/hb-unicode.c | 32 +++++++++++++++++--------------- - 5 files changed, 47 insertions(+), 39 deletions(-) - -commit 3109a86add936ae4cc77541fc026c4fe2db4e328 -Author: Martin Hosken -Date: Mon May 24 13:25:37 2010 +0100 - - hb-graphite now no longer has -ve advances within clusters. Fix - infinite loop in tag_to_script(). python fixed to use tag_to_script - and allow hbtestfont to be passed font files, where fontconfig knows - about them. - - contrib/python/lib/harfbuzz.pyx | 4 ++-- - contrib/python/scripts/hbtestfont | 6 +++++- - src/hb-graphite.cc | 4 ++-- - src/hb-ot-tag.c | 1 + - 4 files changed, 10 insertions(+), 5 deletions(-) - -commit e5bed0a37fe1b0576d08435179e455cb28eadcdb -Author: Martin Hosken -Date: Sat May 22 20:19:00 2010 +0100 - - Tidy up hbtestfont and add README - - contrib/python/README | 10 +++ - contrib/python/scripts/hbtestfont | 134 - +++++++++++++++++++------------------- - 2 files changed, 77 insertions(+), 67 deletions(-) - -commit 70ae332fe66510500d303b6fcc79537833b42f05 -Author: Martin Hosken -Date: Sat May 22 19:58:00 2010 +0100 - - Add fontconfig to hbtestfont - - contrib/python/lib/fontconfig.pyx | 47 ++++++++++++++++++++++++++++ - contrib/python/scripts/hbtestfont | 64 - ++++++++++++++++++++++++--------------- - contrib/python/setup.py | 3 +- - 3 files changed, 88 insertions(+), 26 deletions(-) - -commit 72631c9d06b131d82080f212908e7d0b0266b841 -Merge: 1432ab15 1094a294 -Author: Martin Hosken -Date: Sat May 22 09:38:02 2010 +0100 - - Merge branch 'master' of git://git.freedesktop.org/~behdad/harfbuzz-ng - -commit 1432ab15c163eb0b5be3de66a4cb3df15ad73500 -Author: Martin Hosken -Date: Sat May 22 00:56:40 2010 +0100 - - Add graphical output to hbtestfont - - contrib/python/lib/harfbuzz.pyx | 100 - +------------------------------------- - contrib/python/scripts/hbtestfont | 62 ++++++++++++++++++++++- - src/Makefile.am | 2 +- - src/hb-ot-shape.cc | 2 +- - src/hb-ot.h | 2 +- - src/hb-shape.cc | 2 +- - 6 files changed, 67 insertions(+), 103 deletions(-) - -commit bbc7a99d01298f9be1ebaaceacbc9bc961e247e5 -Author: Behdad Esfahbod -Date: Fri May 21 18:24:34 2010 +0100 - - Move mirroring around a bit - - src/hb-ot-shape.cc | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit bd0987386b3a4dddf208ccf1a70ebfff6242ba73 -Author: Behdad Esfahbod -Date: Fri May 21 18:06:35 2010 +0100 - - Add a few more standard features - - src/hb-ot-shape.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit 75f3469ca6d626b08eb411984a2ba7fd48ca5b5f -Author: Behdad Esfahbod -Date: Fri May 21 17:59:04 2010 +0100 - - Add note - - src/hb-ot-shape.cc | 1 + - 1 file changed, 1 insertion(+) - -commit 1094a294f6a44c47fc75867983f2b135a6442bab -Author: Behdad Esfahbod -Date: Fri May 21 17:58:20 2010 +0100 - - Add rtlm - - src/hb-ot-shape.cc | 26 +++++++++++++++++++++----- - 1 file changed, 21 insertions(+), 5 deletions(-) - -commit 074ea787493a37ae8f68d17be7820f13fff57520 -Author: Behdad Esfahbod -Date: Fri May 21 17:53:10 2010 +0100 - - Add ltra, ltrm, and rtla features - - src/hb-ot-shape.cc | 60 - +++++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 48 insertions(+), 12 deletions(-) - -commit 1ce7b87c4d8d1ab3ec1d5198351d71b7199f7c64 -Author: Behdad Esfahbod -Date: Fri May 21 17:31:45 2010 +0100 - - Cleanup bitmask allocation - - src/hb-buffer-private.hh | 16 +++++++++++++ - src/hb-buffer.cc | 36 +++++++++++++++++++++++++++++ - src/hb-ot-shape.cc | 60 - +++++++++++++++++++++--------------------------- - 3 files changed, 78 insertions(+), 34 deletions(-) - -commit dd22a8f7bfd424a69286e90f79d2a23af6e89ec1 -Author: Behdad Esfahbod -Date: Fri May 21 16:43:17 2010 +0100 - - Add note - - src/hb-ot-layout-gsub-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit cbd1d6a63a5d696b7d6a5aba9ee7305ea228416a -Author: Martin Hosken -Date: Fri May 21 15:16:43 2010 +0100 - - Rename Grxxx to HbGrxxx - - src/hb-graphite.cc | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -commit 0375bdd2027767ee7bebef1ed289b33dc64f430e -Author: Martin Hosken -Date: Fri May 21 15:01:37 2010 +0100 - - Rename classes from Grxxx to HbGrxxx - - src/hb-graphite.cc | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -commit a5a72e004bb7123445c2c3a94352d358fc80d904 -Author: Behdad Esfahbod -Date: Fri May 21 15:12:52 2010 +0100 - - Add hb-ot-shape.h, oops. - - src/hb-ot-shape.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 44 insertions(+) - -commit aa62a402a72bdecad2a955dbfaf6e24cd2c00e55 -Author: Behdad Esfahbod -Date: Fri May 21 14:42:11 2010 +0100 - - Fix Makefile to install hb-ot-shape.h - - src/Makefile.am | 2 +- - src/hb-ot.h | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit 9722b8f005a10fd16e841df4da3ccd80be66e296 -Author: Behdad Esfahbod -Date: Fri May 21 14:37:47 2010 +0100 - - Simple renames - - src/hb-ot-shape.cc | 36 ++++++++++++++++++------------------ - 1 file changed, 18 insertions(+), 18 deletions(-) - -commit 02f28550d785671cf92fd4239c5f913f7e71585f -Author: Behdad Esfahbod -Date: Fri May 21 14:37:28 2010 +0100 - - Graphite also forces us to link to libstdc++ currently - - src/Makefile.am | 3 +++ - 1 file changed, 3 insertions(+) - -commit ca663bb23c16f6a1f04efa6e10dad0e3e7c260a3 -Author: Behdad Esfahbod -Date: Fri May 21 14:34:23 2010 +0100 - - Move main shaper code into hb_ot_shape() - - src/hb-ot-shape-private.hh | 53 ----------- - src/hb-ot-shape.cc | 225 - ++++++++++++++++++++++++++++++++++++++++++--- - src/hb-shape.cc | 209 - +---------------------------------------- - 3 files changed, 214 insertions(+), 273 deletions(-) - -commit 7acd232d36c2b2ed03823e6aa6bb2b814bf673b3 -Author: Behdad Esfahbod -Date: Fri May 21 14:20:48 2010 +0100 - - Fix test failing - - src/hb-graphite.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dd47924d88d86b83e7f3ab040de6e7136ac0ca09 -Author: Behdad Esfahbod -Date: Fri May 21 14:18:08 2010 +0100 - - Fix warnings - - src/hb-graphite.cc | 14 +++++--------- - 1 file changed, 5 insertions(+), 9 deletions(-) - -commit 305ba8671553cd955c20a54db622666c0bb02532 -Author: Behdad Esfahbod -Date: Fri May 21 14:02:20 2010 +0100 - - Import Graphite shaping backend by Martin Hosken - - configure.ac | 6 ++ - src/Makefile.am | 11 ++ - src/hb-graphite.cc | 308 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-graphite.h | 46 ++++++++ - src/hb-shape.cc | 15 +++ - 5 files changed, 386 insertions(+) - -commit 3ba6818ba9be950e46902f0239f2451ec0e65d44 -Author: Behdad Esfahbod -Date: Fri May 21 13:51:29 2010 +0100 - - Update the Python module - - contrib/python/lib/harfbuzz.pyx | 40 - +++++++++++++++++++++------------------- - 1 file changed, 21 insertions(+), 19 deletions(-) - -commit 83f34677bcbc6bb194940407b0fcb23575650e3d -Author: Behdad Esfahbod -Date: Fri May 21 13:43:49 2010 +0100 - - Add hb_tag_from_string() - - src/Makefile.am | 1 + - src/hb-common.c | 41 +++++++++++++++++++++++++++++++++++++++++ - src/hb-common.h | 3 +++ - 3 files changed, 45 insertions(+) - -commit 4a9a5c0b06e8aa5d15327242609a7c766d3e0e94 -Author: Behdad Esfahbod -Date: Fri May 21 13:33:46 2010 +0100 - - Don't allocate bits for features not available - - src/hb-ot-shape.cc | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit e53d77142ac4ecbe38ab3235491fa93cb7ff16ab -Author: Behdad Esfahbod -Date: Fri May 21 13:32:38 2010 +0100 - - Speed up feature mask setting - - Patch from Jonathan Kew. - - src/hb-ot-shape.cc | 31 +++++++++++++++++++++++++------ - 1 file changed, 25 insertions(+), 6 deletions(-) - -commit 4fa67f34ecc65056ce60a572213fbdae66e0423b -Author: Behdad Esfahbod -Date: Fri May 21 13:29:12 2010 +0100 - - Add Unicode 5.2 scripts - - src/hb-icu.c | 29 ++++++++++++++++++++++++++++- - src/hb-ot-tag.c | 21 +++++++++++++++++++-- - src/hb-unicode.c | 19 ++++++++++++++++++- - src/hb-unicode.h | 19 ++++++++++++++++++- - 4 files changed, 83 insertions(+), 5 deletions(-) - -commit ee1b322100a6bd575b999904592abbd9fed5587f -Author: Behdad Esfahbod -Date: Fri May 21 12:55:57 2010 +0100 - - Fix feature mask setting - - src/hb-ot-shape.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit b490fa343322f1b5abaf880abc073287c1f34132 -Author: Behdad Esfahbod -Date: Fri May 21 11:15:07 2010 +0100 - - Add hb_ot_tag_to_script() - - src/hb-ot-tag.c | 14 ++++++++++++++ - src/hb-ot-tag.h | 3 +++ - 2 files changed, 17 insertions(+) - -commit 50355309047765558ef8f5d60aefed42a7f954cc -Author: Behdad Esfahbod -Date: Fri May 21 10:33:23 2010 +0100 - - Add Python wrapper from Martin Hosken - - contrib/python/lib/harfbuzz.pyx | 306 - ++++++++++++++++++++++++++++++++++++++ - contrib/python/runpy | 2 + - contrib/python/scripts/hbtestfont | 35 +++++ - contrib/python/setup.py | 24 +++ - 4 files changed, 367 insertions(+) - -commit 280af1bddb958ff97cf7ce12fe7ec2b6352e61d0 -Author: Behdad Esfahbod -Date: Thu May 20 18:33:35 2010 +0100 - - Let hb_face_get_table() return NULL if table not found - - src/hb-font.cc | 2 +- - src/hb-font.h | 1 + - src/hb-open-type-private.hh | 3 +++ - 3 files changed, 5 insertions(+), 1 deletion(-) - -commit 1cdbfd944eecb58587461f57f037e47a44f39990 -Author: Behdad Esfahbod -Date: Thu May 20 17:47:28 2010 +0100 - - Fix alternate, again - - src/hb-ot-layout-gsub-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit fdca3d51603bd6bef6a4b0ee4a560f7dcd2f1d37 -Author: Behdad Esfahbod -Date: Thu May 20 17:46:20 2010 +0100 - - Fix alternate off-by-one - - src/hb-ot-layout-gsub-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b634beb39e0a4fef7167a8af646f6b2d8cafe69b -Author: Behdad Esfahbod -Date: Thu May 20 17:44:52 2010 +0100 - - Fix delta scale, again... - - src/hb-ot-layout-common-private.hh | 8 ++++++++ - src/hb-ot-layout-gdef-private.hh | 3 +-- - src/hb-ot-layout-gpos-private.hh | 12 ++++++------ - src/hb-ot-layout-private.hh | 2 +- - 4 files changed, 16 insertions(+), 9 deletions(-) - -commit 40335d4533ac2b08121c9dc6003f3ebc5b44a67b -Author: Behdad Esfahbod -Date: Thu May 20 17:35:14 2010 +0100 - - Remove unused operator - - src/hb-ot-layout-common-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit f7acd8df5146155b51d6f50aeb04f54f3030c1c3 -Author: Behdad Esfahbod -Date: Thu May 20 17:26:35 2010 +0100 - - Do alternate glyph selection! - - Kinda hand-wavy right now. Not tested. - - src/hb-ot-layout-gpos-private.hh | 12 +++++++----- - src/hb-ot-layout-gsub-private.hh | 20 +++++++++----------- - src/hb-ot-layout-gsubgpos-private.hh | 1 + - src/hb-private.h | 19 ++++++++++++++++++- - 4 files changed, 35 insertions(+), 17 deletions(-) - -commit 750a2294553d252e28875b605fe61fd9d6696e0f -Author: Behdad Esfahbod -Date: Thu May 20 16:23:27 2010 +0100 - - get_table() is allowed to return NULL. Use that to simplify code - - src/hb-font.cc | 2 +- - src/hb-ft.cc | 6 +++--- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 99d9ef785f108df76f80a307eaa2784685ea86ba -Author: Behdad Esfahbod -Date: Thu May 20 15:47:49 2010 +0100 - - Write hb_face_create_for_data() in terms of - hb_face_create_for_tables() - - Fixes lack of head_table initialization in create_for_tables() also. - - src/hb-font.cc | 35 ++++++++++++----------------------- - 1 file changed, 12 insertions(+), 23 deletions(-) - -commit 6774463883978b00b4d8c719ed75edfc4537c77f -Author: Behdad Esfahbod -Date: Thu May 20 15:40:12 2010 +0100 - - Apply user features to ranges! - - src/hb-ot-shape.cc | 23 ++++++++++++++++++++++- - 1 file changed, 22 insertions(+), 1 deletion(-) - -commit 9b6023338530a2dbb8214eb4391ef3e8372f3892 -Author: Behdad Esfahbod -Date: Thu May 20 15:31:12 2010 +0100 - - Add _hb_bit_storage() - - src/hb-private.h | 35 ++++++++++++++++++++++------------- - 1 file changed, 22 insertions(+), 13 deletions(-) - -commit 6b1b957f6d2955cbe4fa97e2659e033b3eaaf4d2 -Author: Behdad Esfahbod -Date: Thu May 20 15:14:44 2010 +0100 - - Add lookup_map - - src/hb-ot-shape.cc | 48 +++++++++++++++++++++++++++++++++--------------- - 1 file changed, 33 insertions(+), 15 deletions(-) - -commit 60010a0c4d8efae5c61a0c9cf10cfe2c1860f41e -Author: Behdad Esfahbod -Date: Thu May 20 14:05:02 2010 +0100 - - Update always-apply mask from 0xFFFF to 1 - - We plan to use the first bit to be always on. - - src/hb-ot-shape.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 009aad567863c05ee2ec4a3ee76fe0ee79c767bb -Author: Behdad Esfahbod -Date: Thu May 20 14:00:57 2010 +0100 - - Invert the mask logic - - Before, the mask in the buffer was inverted. That is, a 0 bit meant - feature should be applied and 1 meant not applied, whereas in the - lookups, the logic was positive. - - Now both are in sync. When calling hb_buffer_add_glyph() manually, - the mask should be 1 instead of 0. - - src/hb-buffer.cc | 2 +- - src/hb-ot-layout-gpos-private.hh | 2 +- - src/hb-ot-layout-gsub-private.hh | 4 ++-- - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit 7f411dbfd9f8d5360c948531ff9f6c3998d1d897 -Author: Behdad Esfahbod -Date: Thu May 20 13:40:18 2010 +0100 - - Apply user features - - No ranges yet - - src/hb-ot-shape.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 0db299ccad346d9ea5573ea8408b78d9997bd379 -Author: Behdad Esfahbod -Date: Thu May 20 13:30:09 2010 +0100 - - Change hb_feature_t to keep tag/int instead of string - - src/hb-shape.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0a4399ca228d244e646abdb3487da0f13b228889 -Author: Behdad Esfahbod -Date: Wed May 19 15:45:06 2010 -0400 - - Fix scale issues - - hb_font_set_scale() now sets the value to be used to represent a unit - pixel. For example, if rendering a 10px font with a 26.6 - representation, - you would set scale to (10 << 6). For 10px in 16.16 you would set - it to - (10 << 16). This space should be the same space that the - get_glyph_metrics - and get_kerning callbacks work in. - - src/hb-common.h | 1 - - src/hb-font-private.hh | 8 +++----- - src/hb-font.cc | 12 ++++++------ - src/hb-font.h | 12 +++--------- - src/hb-ft.cc | 4 ++-- - src/hb-ot-layout-gdef-private.hh | 6 +++--- - src/hb-ot-layout-gpos-private.hh | 37 - +++++++++++++++++-------------------- - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-ot-layout-private.hh | 20 +++++++++++--------- - src/hb-ot-layout.cc | 31 +++++++++++++++---------------- - src/hb-private.h | 4 ---- - 11 files changed, 61 insertions(+), 76 deletions(-) - -commit cf5585cfa6cac6fdf627a99941299e76af5ae0f7 -Author: Behdad Esfahbod -Date: Wed May 19 12:03:35 2010 -0400 - - Add 'head' table - - src/Makefile.am | 1 + - src/hb-font-private.hh | 5 ++ - src/hb-font.cc | 9 ++++ - src/hb-open-type-private.hh | 2 +- - src/hb-ot-head-private.hh | 128 - ++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 144 insertions(+), 1 deletion(-) - -commit e29caf3f943b2b6f4997f469f7274252c82f465e -Author: Behdad Esfahbod -Date: Wed May 19 11:47:17 2010 -0400 - - Add LONGDATETIME - - src/hb-open-type-private.hh | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -commit f415755fdf011d3fa3b9aad04c38f2255dd7acf8 -Author: Behdad Esfahbod -Date: Mon May 17 15:14:14 2010 -0400 - - Minor - - src/hb-ot-layout.cc | 52 - +++++++++++++++++++++++++++------------------------- - 1 file changed, 27 insertions(+), 25 deletions(-) - -commit 73af7756dc6d3961f176854246e5722baff101fb -Author: Behdad Esfahbod -Date: Fri May 14 23:38:08 2010 -0400 - - Indent - - src/hb-ot-layout-gsub-private.hh | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 3567b87cce541dfb0af7caf024ec67c9d3c09214 -Author: Behdad Esfahbod -Date: Fri May 14 23:28:44 2010 -0400 - - Add an inline version of hb_buffer_ensure() - - src/hb-buffer.cc | 117 - ++++++++++++++++++++++++++++++------------------------- - 1 file changed, 63 insertions(+), 54 deletions(-) - -commit a6a79df5fe2ed2cd307e7a991346faee164e70d9 -Author: Behdad Esfahbod -Date: Fri May 14 23:20:16 2010 -0400 - - Handle malloc failture in the buffer - - src/hb-buffer-private.hh | 5 ++-- - src/hb-buffer.cc | 71 - +++++++++++++++++++++++++++++------------------- - src/hb-buffer.h | 2 +- - 3 files changed, 47 insertions(+), 31 deletions(-) - -commit ca54a12658510f9aa0b2db82f20a8fac230d6bb6 -Author: Behdad Esfahbod -Date: Fri May 14 22:25:42 2010 -0400 - - Minor - - src/hb-shape.cc | 60 - +++++++++++++++++++++++++-------------------------------- - 1 file changed, 26 insertions(+), 34 deletions(-) - -commit 910a33fe8457a8e13f7eb77fc92fa59c31f5e8fd -Author: Behdad Esfahbod -Date: Fri May 14 22:13:38 2010 -0400 - - Update buffer docs - - src/hb-buffer-private.hh | 13 +++++++------ - src/hb-buffer.cc | 16 ++++++++-------- - 2 files changed, 15 insertions(+), 14 deletions(-) - -commit 36b73c80df91e96492357c6da945e081e9046a93 -Author: Behdad Esfahbod -Date: Fri May 14 22:10:39 2010 -0400 - - Shortening buffer accessors: rename buffer->in_pos to buffer->i - - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 52 ++++++++++---------- - src/hb-ot-layout-gpos-private.hh | 94 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.hh | 48 +++++++++--------- - src/hb-ot-layout-gsubgpos-private.hh | 46 +++++++++--------- - src/hb-shape.cc | 40 +++++++-------- - 6 files changed, 141 insertions(+), 141 deletions(-) - -commit 29427c5c51ac70aca53ed523fa5ddb3de4355fb0 -Author: Behdad Esfahbod -Date: Fri May 14 22:08:22 2010 -0400 - - Shortening buffer accessors: rename buffer->out_length to - buffer->out_len - - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 52 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 6 ++--- - 4 files changed, 31 insertions(+), 31 deletions(-) - -commit 6960350be97f24e97140391025b56369c393a3df -Author: Behdad Esfahbod -Date: Fri May 14 22:07:46 2010 -0400 - - Shortening buffer accessors: rename buffer->in_length to buffer->len - - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 26 +++++++++++++------------- - src/hb-ot-layout-gpos-private.hh | 8 ++++---- - src/hb-ot-layout-gsub-private.hh | 8 ++++---- - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++---- - src/hb-shape.cc | 12 ++++++------ - 6 files changed, 32 insertions(+), 32 deletions(-) - -commit 1b621823f3e31b48c80cc8b0691dfa873ba086cd -Author: Behdad Esfahbod -Date: Fri May 14 22:05:53 2010 -0400 - - Shortening buffer accessors: rename buffer->positions to buffer->pos - - src/hb-buffer-private.hh | 4 ++-- - src/hb-buffer.cc | 32 ++++++++++++++++---------------- - src/hb-ot-layout-gpos-private.hh | 26 +++++++++++++------------- - src/hb-shape.cc | 10 +++++----- - 4 files changed, 36 insertions(+), 36 deletions(-) - -commit 9d5e26df0877aa5b187764ba09bd7bf221e92968 -Author: Behdad Esfahbod -Date: Fri May 14 22:03:11 2010 -0400 - - Shortening buffer accessors: rename buffer->out_string to - buffer->out_info - - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 56 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsubgpos-private.hh | 4 +-- - 3 files changed, 31 insertions(+), 31 deletions(-) - -commit 7e7007a1c9bf2c07a8369752126ece8fa6164248 -Author: Behdad Esfahbod -Date: Fri May 14 22:02:37 2010 -0400 - - Shortening buffer accessors: rename buffer->in_string to buffer->info - - src/hb-buffer-private.hh | 2 +- - src/hb-buffer.cc | 82 - ++++++++++++++++++------------------ - src/hb-ot-layout-gpos-private.hh | 58 ++++++++++++------------- - src/hb-ot-layout-gsub-private.hh | 30 ++++++------- - src/hb-ot-layout-gsubgpos-private.hh | 26 ++++++------ - src/hb-shape.cc | 18 ++++---- - 6 files changed, 108 insertions(+), 108 deletions(-) - -commit 8e6b6bb2932946ebc7b01c3abf575b654c741e20 -Author: Behdad Esfahbod -Date: Fri May 14 21:58:22 2010 -0400 - - Merge buffer->out_pos and buffer->out_length - - src/hb-buffer-private.hh | 1 - - src/hb-buffer.cc | 48 - +++++++++++++++--------------------- - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 6 ++--- - 4 files changed, 24 insertions(+), 33 deletions(-) - -commit 22f668eb9ad5f62d9fcd2e0c826ea78977687e5c -Author: Behdad Esfahbod -Date: Fri May 14 21:41:04 2010 -0400 - - Remove the unused BUFFER macro - - src/hb-buffer-private.hh | 6 ------ - src/hb-ot-layout-gpos-private.hh | 6 ------ - src/hb-ot-layout-gsub-private.hh | 6 ------ - src/hb-ot-layout-gsubgpos-private.hh | 5 ----- - 4 files changed, 23 deletions(-) - -commit 7e53ebe478597778c25c197ff9f0cb379f1d0043 -Author: Behdad Esfahbod -Date: Fri May 14 21:38:13 2010 -0400 - - Remove the IN_CURGLYPH() macro - - src/hb-buffer-private.hh | 3 --- - src/hb-ot-layout-gpos-private.hh | 24 ++++++++++++------------ - src/hb-ot-layout-gsub-private.hh | 16 ++++++++-------- - src/hb-ot-layout-gsubgpos-private.hh | 16 ++++++++-------- - src/hb-shape.cc | 14 +++++++------- - 5 files changed, 35 insertions(+), 38 deletions(-) - -commit d784da1923ff2ca093f8b0210449731d376b7513 -Author: Behdad Esfahbod -Date: Fri May 14 21:37:18 2010 -0400 - - Remove the IN_CURINFO() macro - - src/hb-buffer-private.hh | 1 - - src/hb-ot-layout-gpos-private.hh | 2 +- - src/hb-ot-layout-gsub-private.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 4 files changed, 4 insertions(+), 5 deletions(-) - -commit 281f59b4fb16f7c73767eb042a91f70f4c109b3a -Author: Behdad Esfahbod -Date: Fri May 14 21:34:22 2010 -0400 - - Remove IN_INFO() and IN_NEXTGLYPH() macros - - src/hb-buffer-private.hh | 2 -- - src/hb-ot-layout-gpos-private.hh | 10 +++++----- - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - src/hb-shape.cc | 4 ++-- - 5 files changed, 10 insertions(+), 12 deletions(-) - -commit 6e489cdf7623ac627d06d59a80ecea03ca97dc1b -Author: Behdad Esfahbod -Date: Fri May 14 21:07:35 2010 -0400 - - Remove the IN_GLYPH() macro - - src/hb-buffer-private.hh | 1 - - src/hb-ot-layout-gpos-private.hh | 12 ++++++------ - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - src/hb-shape.cc | 2 +- - 5 files changed, 10 insertions(+), 11 deletions(-) - -commit 01feb74c78a3a302fa3472a0be7b2a1d52fd1ba3 -Author: Behdad Esfahbod -Date: Fri May 14 21:00:08 2010 -0400 - - Remove the IN_CLUSTER() macro - - src/hb-buffer-private.hh | 1 - - src/hb-shape.cc | 2 +- - 2 files changed, 1 insertion(+), 2 deletions(-) - -commit d63a1e089acad9ab9f80addd936d36b6d38fb46a -Author: Behdad Esfahbod -Date: Fri May 14 20:30:07 2010 -0400 - - Remove the IN_MASK() macro - - src/hb-buffer-private.hh | 1 - - src/hb-ot-layout-gpos-private.hh | 2 +- - src/hb-ot-layout-gsub-private.hh | 4 ++-- - 3 files changed, 3 insertions(+), 4 deletions(-) - -commit 89e2834dabd2d17f2823c51fe3a7fcadeaba7a59 -Author: Behdad Esfahbod -Date: Fri May 14 20:25:55 2010 -0400 - - Remove the IN_LIGID() macro - - src/hb-buffer-private.hh | 1 - - src/hb-ot-layout-gpos-private.hh | 4 ++-- - src/hb-ot-layout-gsub-private.hh | 2 +- - 3 files changed, 3 insertions(+), 4 deletions(-) - -commit 4a871041f4718834afa312ed17cdd157603468b7 -Author: Behdad Esfahbod -Date: Fri May 14 20:25:04 2010 -0400 - - Remove IN_COMPONENT() macro - - src/hb-buffer-private.hh | 1 - - src/hb-ot-layout-gpos-private.hh | 8 ++++---- - src/hb-ot-layout-gsub-private.hh | 2 +- - 3 files changed, 5 insertions(+), 6 deletions(-) - -commit 27da6dd89a359f7ef340c646c4cb79373782261d -Author: Behdad Esfahbod -Date: Fri May 14 20:17:50 2010 -0400 - - Remove OUT_GLYPH() and OUT_INFO() macros - - src/hb-buffer-private.hh | 2 -- - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 2 files changed, 2 insertions(+), 4 deletions(-) - -commit cc6ae7ff91eeb93bef153f331ed02b500062f90e -Author: Behdad Esfahbod -Date: Fri May 14 20:09:48 2010 -0400 - - Fix lookahead matching. Oops! - - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3109375b849f340b4807724218010c53dea58082 -Author: Behdad Esfahbod -Date: Fri May 14 19:55:27 2010 -0400 - - Remove POSITION() and CURPOSITION() macros - - src/hb-buffer-private.hh | 2 -- - src/hb-ot-layout-gpos-private.hh | 54 - ++++++++++++++++++++-------------------- - src/hb-shape.cc | 10 ++++---- - 3 files changed, 32 insertions(+), 34 deletions(-) - -commit d7cfb3b2d1dd2e9fdae2b3e540bbe313660895e8 -Author: Behdad Esfahbod -Date: Thu May 13 14:18:49 2010 -0400 - - s/\/c/g - - src/hb-open-file-private.hh | 28 +-- - src/hb-open-type-private.hh | 100 ++++---- - src/hb-ot-layout-common-private.hh | 84 +++---- - src/hb-ot-layout-gdef-private.hh | 98 ++++---- - src/hb-ot-layout-gpos-private.hh | 460 - +++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.hh | 306 +++++++++++------------ - src/hb-ot-layout-gsubgpos-private.hh | 258 ++++++++++---------- - src/hb-ot-layout.cc | 24 +- - 8 files changed, 679 insertions(+), 679 deletions(-) - -commit f679635893eebc13402c5ee51a6f106eed0c76be -Author: Behdad Esfahbod -Date: Thu May 13 13:34:17 2010 -0400 - - Don't use variable-length-arrays - - src/hb-open-type-private.hh | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 72071a8afaba2952fe42be093024ae9dbd37f233 -Author: Behdad Esfahbod -Date: Thu May 13 13:22:24 2010 -0400 - - Add a few more buffer convenience methods - - src/hb-buffer-private.hh | 12 ++++++++++++ - src/hb-ot-layout-gsub-private.hh | 20 ++++++++++---------- - 2 files changed, 22 insertions(+), 10 deletions(-) - -commit 11a81612e51c598e857507c268312206423cbfca -Author: Behdad Esfahbod -Date: Thu May 13 00:01:40 2010 -0400 - - Minor - - src/hb-unicode.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3f93518a634cb1852bf050877db23b9b9203ad03 -Author: Behdad Esfahbod -Date: Wed May 12 23:48:40 2010 -0400 - - Improve check for internal symbols - - src/check-internal-symbols.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 357d0f29c431b842179ee4b56c21bcc402178ce7 -Author: Behdad Esfahbod -Date: Wed May 12 23:46:16 2010 -0400 - - Make HB_PRIVATE more useful - - So we can apply it to class methods also. Not sure if that works! - - src/hb-blob-private.h | 2 +- - src/hb-font-private.hh | 4 ++-- - src/hb-private.h | 2 +- - src/hb-unicode-private.h | 3 +-- - 4 files changed, 5 insertions(+), 6 deletions(-) - -commit 1d5e78013696b10751d8a35027619e81978e1312 -Author: Behdad Esfahbod -Date: Wed May 12 23:43:00 2010 -0400 - - Add a few other buffer methods - - src/hb-buffer-private.hh | 11 +++++++---- - src/hb-buffer.cc | 7 ------- - src/hb-ot-layout-gsub-private.hh | 10 +++++----- - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 4 files changed, 14 insertions(+), 18 deletions(-) - -commit d0316a81f59a4e814b0af78797d915d7ce04d119 -Author: Behdad Esfahbod -Date: Wed May 12 23:34:52 2010 -0400 - - Add buffer->swap() - - src/hb-buffer-private.hh | 68 - ++++++++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.hh | 2 +- - 2 files changed, 38 insertions(+), 32 deletions(-) - -commit 3b649a38b5772dd7aba7f07ff7698a7f427f421f -Author: Behdad Esfahbod -Date: Wed May 12 23:28:38 2010 -0400 - - Add check for internal symbols - - src/Makefile.am | 3 ++- - src/check-internal-symbols.sh | 28 ++++++++++++++++++++++++++++ - 2 files changed, 30 insertions(+), 1 deletion(-) - -commit eee8598d75d3af692d9ececf7e8ac458e892ba9e -Author: Behdad Esfahbod -Date: Wed May 12 23:22:55 2010 -0400 - - Hide internal symbols - - src/hb-ot-layout-private.hh | 4 ++-- - src/hb-private.h | 8 ++++---- - 2 files changed, 6 insertions(+), 6 deletions(-) - -commit 8951fc2c82f2db4865da6d9e303fce419b6363bb -Author: Behdad Esfahbod -Date: Wed May 12 23:13:39 2010 -0400 - - Add buffer->allocate_lig_id() - - src/hb-buffer-private.hh | 5 ++--- - src/hb-buffer.cc | 6 ------ - src/hb-ot-layout-gsub-private.hh | 4 ++-- - 3 files changed, 4 insertions(+), 11 deletions(-) - -commit 1ce4dc95dbb28842085342aea4f9d12cbe9671a9 -Author: Behdad Esfahbod -Date: Wed May 12 18:29:25 2010 -0400 - - Use bit tricks for HB_DIRECTION_IS_* - - We already depend on the exact values of the direction enum - in HB_DIRECTION_REVERSE(), so we may as well use that. - - src/hb-common.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 22da7fd94d6318c52df69d70470a85464ffc533d -Author: Behdad Esfahbod -Date: Wed May 12 18:23:21 2010 -0400 - - Rename a few files to be C++ sources - - In anticipation for buffer revamp coming. - - src/Makefile.am | 16 - ++++++++-------- - src/{hb-buffer-private.h => hb-buffer-private.hh} | 2 +- - src/{hb-buffer.c => hb-buffer.cc} | 14 - +++++++------- - src/hb-common.h | 1 + - src/{hb-font-private.h => hb-font-private.hh} | 2 +- - src/hb-font.cc | 4 ++-- - src/{hb-ft.c => hb-ft.cc} | 8 ++++---- - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/{hb-ot-layout-private.h => hb-ot-layout-private.hh} | 2 +- - src/hb-ot-layout.cc | 2 +- - src/{hb-ot-shape-private.h => hb-ot-shape-private.hh} | 0 - src/{hb-ot-shape.c => hb-ot-shape.cc} | 4 ++-- - src/{hb-shape.c => hb-shape.cc} | 6 +++--- - 15 files changed, 34 insertions(+), 33 deletions(-) - -commit c3df649f258b334e93c7626a43cd8ebfbd5a610e -Author: Behdad Esfahbod -Date: Tue May 11 13:54:12 2010 -0400 - - Fix comment - - src/hb-buffer-private.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 281f08954a1d96d7807153c25073b8eb7630703b -Author: Behdad Esfahbod -Date: Tue May 11 11:37:58 2010 -0400 - - Remove obsolete friend - - src/hb-ot-layout-gpos-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 70c9bfd5646a4a55a7f43c0cf0b5ac5993615d5b -Author: Behdad Esfahbod -Date: Tue May 11 00:23:50 2010 -0400 - - Simplify PairSet - - src/hb-ot-layout-gpos-private.hh | 101 - +++++++++++++++++++++------------------ - 1 file changed, 54 insertions(+), 47 deletions(-) - -commit 97e7f8f305c47caf2968a9da3b8407825547286d -Author: Behdad Esfahbod -Date: Tue May 11 00:11:36 2010 -0400 - - Add CONST_FUNC annotation - - src/hb-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 494d28ad988e505c1c45cc35a7ec6b880cfec5fc -Author: Behdad Esfahbod -Date: Mon May 10 23:50:07 2010 -0400 - - Simplify likely() implementation - - Shrinks .text by 1%! - - src/hb-private.h | 10 +--------- - 1 file changed, 1 insertion(+), 9 deletions(-) - -commit 75651b20871047d3ec17f4221794b8ef5d60e14b -Author: Behdad Esfahbod -Date: Mon May 10 23:44:51 2010 -0400 - - Fix warnings - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4c20d8c057738b66150a88472714690e137884f8 -Author: Behdad Esfahbod -Date: Mon May 10 23:27:54 2010 -0400 - - Sprinkle a few strategic likely()'s - - Shrinks the code size by some 2% even. - - src/hb-open-file-private.hh | 4 ++-- - src/hb-open-type-private.hh | 20 ++++++++++---------- - 2 files changed, 12 insertions(+), 12 deletions(-) - -commit 69cb28bc13d236a01acf40da62e345c7e83ccba7 -Author: Behdad Esfahbod -Date: Mon May 10 23:13:08 2010 -0400 - - Remove a few likely()'s - - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 8 ++++---- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 24552ecf92982fe561dc47d5102fcf1a7b337c70 -Author: Behdad Esfahbod -Date: Mon May 10 23:08:41 2010 -0400 - - Remove excess sub_format sanitize - - src/hb-ot-layout-gpos-private.hh | 1 - - src/hb-ot-layout-gsub-private.hh | 1 - - 2 files changed, 2 deletions(-) - -commit f7adc5e9be352ac31ad3ab847abb6fceb239aa12 -Author: Behdad Esfahbod -Date: Mon May 10 22:41:50 2010 -0400 - - Shrink NullPool now that we have accurate size tracking - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3d44fb6f15177dc6518166e435597936b044acc1 -Author: Behdad Esfahbod -Date: Mon May 10 22:22:54 2010 -0400 - - Fix warning - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b5db4f1e4eefa266a71a28b5496f47ff9d1a81e8 -Author: Behdad Esfahbod -Date: Mon May 10 22:22:22 2010 -0400 - - Clean up NO_INDEX - - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 10 ++++++---- - src/hb-ot-layout-common-private.hh | 17 ++++------------- - src/hb-ot-layout.cc | 8 ++++---- - src/main.cc | 2 +- - 5 files changed, 16 insertions(+), 23 deletions(-) - -commit fe9bc070e1d545b0df2ea548eebf5a1fc4c92ddc -Author: Behdad Esfahbod -Date: Mon May 10 21:39:24 2010 -0400 - - Fix awful confusion between lookup format and subtable format - - As reported by John Daggett. - - src/hb-ot-layout-gpos-private.hh | 14 +++++++------- - src/hb-ot-layout-gsub-private.hh | 14 +++++++------- - 2 files changed, 14 insertions(+), 14 deletions(-) - -commit 458ecbb60bb7e8e32aca62a562586d921d5396aa -Author: Behdad Esfahbod -Date: Mon May 10 21:11:35 2010 -0400 - - Fix tracing order - - src/hb-open-type-private.hh | 14 +++++--------- - src/hb-ot-layout-gsubgpos-private.hh | 3 +-- - 2 files changed, 6 insertions(+), 11 deletions(-) - -commit 48146e5612f6d272d6962f6829c6d64a31edef89 -Author: Behdad Esfahbod -Date: Mon May 10 20:07:56 2010 -0400 - - Don't fail sanitize on NULL data - - src/hb-open-type-private.hh | 5 +++++ - 1 file changed, 5 insertions(+) - -commit d2c2ca8faf62fc380d4717d286556139a62d2356 -Author: Behdad Esfahbod -Date: Mon May 10 19:58:25 2010 -0400 - - Fix comment - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b435ab7e29c388e3b100f729957319931625a3a8 -Author: Behdad Esfahbod -Date: Mon May 10 19:51:57 2010 -0400 - - Fix accessing tables from NULL pointer - - src/hb-font.cc | 2 +- - src/hb-open-type-private.hh | 5 +++++ - src/hb-ot-layout.cc | 6 +++--- - 3 files changed, 9 insertions(+), 4 deletions(-) - -commit dacebcadae36b35531d635d81df2afb937677b7a -Author: Behdad Esfahbod -Date: Mon May 10 19:45:41 2010 -0400 - - Simplify unions - - src/hb-open-file-private.hh | 24 +++---- - src/hb-ot-layout-common-private.hh | 24 +++---- - src/hb-ot-layout-gdef-private.hh | 24 +++---- - src/hb-ot-layout-gpos-private.hh | 120 - +++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.hh | 88 ++++++++++++------------- - src/hb-ot-layout-gsubgpos-private.hh | 44 ++++++------- - 6 files changed, 163 insertions(+), 161 deletions(-) - -commit fd671e02433bcbc1fd07901fa2d6065020f41ba8 -Author: Behdad Esfahbod -Date: Mon May 10 19:02:32 2010 -0400 - - Remove unused macro - - src/hb-open-type-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 0eb9fc6e37935707dba2bf4b3705de2161a08cb7 -Author: Behdad Esfahbod -Date: Mon May 10 19:01:17 2010 -0400 - - Change DEFINE_SIZE_VAR to DEFINE_SIZE_ARRAY - - src/hb-open-file-private.hh | 4 ++-- - src/hb-open-type-private.hh | 10 +++++----- - src/hb-ot-layout-common-private.hh | 27 +++++++++++++++------------ - src/hb-ot-layout-gdef-private.hh | 10 +++++----- - src/hb-ot-layout-gpos-private.hh | 25 ++++++++++++------------- - src/hb-ot-layout-gsub-private.hh | 14 +++++++------- - src/hb-ot-layout-gsubgpos-private.hh | 16 ++++++++-------- - 7 files changed, 54 insertions(+), 52 deletions(-) - -commit 596e471aa5053d955fb5d5b5923088c8814469b1 -Author: Behdad Esfahbod -Date: Mon May 10 18:47:48 2010 -0400 - - Cleanup DEFINE_SIZE_VAR2 - - src/hb-open-type-private.hh | 18 +++++++++++------- - src/hb-ot-layout-common-private.hh | 6 +++--- - src/hb-ot-layout-gdef-private.hh | 4 ++-- - src/hb-ot-layout-gpos-private.hh | 4 ++-- - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 6 files changed, 21 insertions(+), 17 deletions(-) - -commit 33afa4e2dc352f08cc094703e3f01d3ecd83b354 -Author: Behdad Esfahbod -Date: Mon May 10 18:35:02 2010 -0400 - - Minor - - src/hb-open-type-private.hh | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit b961518b9611471ff7060e97686e5625974847eb -Author: Behdad Esfahbod -Date: Mon May 10 18:20:54 2010 -0400 - - Simplify array access - - src/hb-open-type-private.hh | 29 ++++++++++------------------- - src/hb-ot-layout-common-private.hh | 8 ++++---- - src/hb-ot-layout-gsub-private.hh | 6 +++--- - src/hb-ot-layout-gsubgpos-private.hh | 16 ++++++++-------- - 4 files changed, 25 insertions(+), 34 deletions(-) - -commit 54842374c2b291ef208c51ae1d853ec0403ccf84 -Author: Behdad Esfahbod -Date: Mon May 10 18:13:32 2010 -0400 - - Fix check_struct to check min_size instead of sizeof - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ed07422c33bbb52ff4d79e65986171e3f07697d8 -Author: Behdad Esfahbod -Date: Mon May 10 18:08:46 2010 -0400 - - Further cleanup of sizeof - - src/hb-open-type-private.hh | 7 +++++-- - src/hb-ot-layout-common-private.hh | 4 ++++ - src/hb-ot-layout-gdef-private.hh | 4 ++++ - src/hb-ot-layout-gpos-private.hh | 10 +++++++--- - src/hb-ot-layout-gsub-private.hh | 4 +++- - src/hb-ot-layout-gsubgpos-private.hh | 2 ++ - 6 files changed, 25 insertions(+), 6 deletions(-) - -commit a82ef7a893b773a17f7548375de9f588dfc83aba -Author: Behdad Esfahbod -Date: Mon May 10 17:55:03 2010 -0400 - - Remove CastP completely - - src/hb-open-type-private.hh | 39 +++++++++++++++++---------------------- - 1 file changed, 17 insertions(+), 22 deletions(-) - -commit 40cbefe858192531ed64dd51d402f7ca7b8153a3 -Author: Behdad Esfahbod -Date: Mon May 10 17:47:22 2010 -0400 - - Remove unnecessary casts - - src/hb-open-type-private.hh | 12 ++++++------ - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 34 - +++++++++++++++++----------------- - src/hb-ot-layout-gsub-private.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 34 - +++++++++++++++++----------------- - 5 files changed, 43 insertions(+), 43 deletions(-) - -commit 09766b1ec5ec55a61edbcd7a89ed3613cc92d4cb -Author: Behdad Esfahbod -Date: Mon May 10 17:36:03 2010 -0400 - - Make StructAtOffset take a pointer - - Is safer. - - src/hb-open-type-private.hh | 26 +++++++++++++------------- - src/hb-ot-layout-gpos-private.hh | 6 +++--- - src/hb-ot-layout-gsub-private.hh | 4 ++-- - 3 files changed, 18 insertions(+), 18 deletions(-) - -commit bea34c7cbb583cf7660776e95cab3171590b8427 -Author: Behdad Esfahbod -Date: Mon May 10 17:28:16 2010 -0400 - - Further cleanup of DEFINE_SIZE - - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 10 +++++----- - src/hb-ot-layout-common-private.hh | 16 ++++++++-------- - src/hb-ot-layout-gdef-private.hh | 8 ++++---- - src/hb-ot-layout-gpos-private.hh | 16 +++++----------- - src/hb-ot-layout-gsub-private.hh | 14 +++++++------- - src/hb-ot-layout-gsubgpos-private.hh | 14 +++++++------- - 7 files changed, 37 insertions(+), 43 deletions(-) - -commit 0abcc3b48cfd51a22695c9e988938b2f45cb19d8 -Author: Behdad Esfahbod -Date: Mon May 10 17:04:20 2010 -0400 - - Cleanup - - src/hb-open-type-private.hh | 18 ++++++++++-------- - 1 file changed, 10 insertions(+), 8 deletions(-) - -commit b3651231bf80bb7009214547a75ed90e21815c68 -Author: Behdad Esfahbod -Date: Mon May 10 16:57:29 2010 -0400 - - Remove ASSERT_SIZE in favor of the safer DEFINE_SIZE_STATIC - - src/hb-open-file-private.hh | 3 ++- - src/hb-open-type-private.hh | 20 +++++++++++++--- - src/hb-ot-layout-common-private.hh | 24 ++++++++++++-------- - src/hb-ot-layout-gdef-private.hh | 22 +++++++++++------- - src/hb-ot-layout-gpos-private.hh | 44 - ++++++++++++++++++++---------------- - src/hb-ot-layout-gsub-private.hh | 32 ++++++++++++++++---------- - src/hb-ot-layout-gsubgpos-private.hh | 27 ++++++++++++++-------- - src/hb-private.h | 2 -- - 8 files changed, 109 insertions(+), 65 deletions(-) - -commit 569da92bc6956f42d9b2d65c784e184fb6380efe -Author: Behdad Esfahbod -Date: Mon May 10 16:38:32 2010 -0400 - - Cleanup ASSERT_SIZE_VAR - - src/hb-open-file-private.hh | 9 ++++++--- - src/hb-open-type-private.hh | 6 ++++-- - src/hb-ot-layout-common-private.hh | 22 ++++++++++++---------- - src/hb-ot-layout-gdef-private.hh | 3 ++- - src/hb-ot-layout-gpos-private.hh | 30 +++++++++++++++++++----------- - src/hb-ot-layout-gsubgpos-private.hh | 10 ++++++---- - src/hb-private.h | 8 -------- - 7 files changed, 49 insertions(+), 39 deletions(-) - -commit 99bf03459ff2f00cf3fb7fa3c8b8336ec9fcca56 -Author: Behdad Esfahbod -Date: Thu May 6 19:37:32 2010 -0400 - - Whitespace - - src/hb-ot-layout-gpos-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 65f46b00333e20ab8a52a4b350747507541ec1db -Author: Behdad Esfahbod -Date: Thu May 6 19:35:19 2010 -0400 - - Simplify DEFINE_NULL_DATA - - Using ::min_size. - - src/hb-open-type-private.hh | 6 +++--- - src/hb-ot-layout-common-private.hh | 9 +++++---- - 2 files changed, 8 insertions(+), 7 deletions(-) - -commit e45d3f86f9a5f3d29ca35a282de7f98e702878f9 -Author: Behdad Esfahbod -Date: Thu May 6 19:33:31 2010 -0400 - - Start cleaning up get_size() - - So we know when the size is static and when dynamic. - - src/hb-open-file-private.hh | 7 +++--- - src/hb-open-type-private.hh | 42 - +++++++++++++++++++++++++----------- - src/hb-ot-layout-common-private.hh | 14 ++++++------ - src/hb-ot-layout-gpos-private.hh | 17 ++++++--------- - src/hb-ot-layout-gsubgpos-private.hh | 19 ++++++++-------- - 5 files changed, 55 insertions(+), 44 deletions(-) - -commit b157617644d1e38f680163889d1dc2e2f64d9ba3 -Author: Behdad Esfahbod -Date: Thu May 6 14:48:27 2010 -0400 - - Remove the last of SANITIZE macros: SANITIZE_SELF - - src/hb-open-file-private.hh | 4 ++-- - src/hb-open-type-private.hh | 21 ++++++++++++--------- - src/hb-ot-layout-common-private.hh | 16 ++++++++-------- - src/hb-ot-layout-gdef-private.hh | 6 +++--- - src/hb-ot-layout-gpos-private.hh | 26 +++++++++++++------------- - src/hb-ot-layout-gsubgpos-private.hh | 6 +++--- - 6 files changed, 41 insertions(+), 38 deletions(-) - -commit 4f252fedc7136c66a9d7fbcb2978581986da6227 -Author: Behdad Esfahbod -Date: Thu May 6 13:30:23 2010 -0400 - - Remove SANITIZE macro - - src/hb-open-file-private.hh | 4 ++-- - src/hb-open-type-private.hh | 6 ++---- - src/hb-ot-layout-common-private.hh | 18 +++++++++--------- - src/hb-ot-layout-gdef-private.hh | 6 +++--- - src/hb-ot-layout-gpos-private.hh | 18 +++++++++--------- - src/hb-ot-layout-gsub-private.hh | 26 +++++++++++++------------- - src/hb-ot-layout-gsubgpos-private.hh | 22 +++++++++++----------- - 7 files changed, 49 insertions(+), 51 deletions(-) - -commit c2ddfd2d268385257c77c09a9abeacf4230d5377 -Author: Behdad Esfahbod -Date: Thu May 6 13:06:15 2010 -0400 - - Cleanup Value casts - - src/hb-ot-layout-gpos-private.hh | 34 +++++++++++++++++++++------------- - 1 file changed, 21 insertions(+), 13 deletions(-) - -commit 41a93d2c1ff175ef06328a99983577459c2d34b0 -Author: Behdad Esfahbod -Date: Thu May 6 12:55:14 2010 -0400 - - Remove SANITIZE_WITH_BASE - - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 2 - - src/hb-ot-layout-common-private.hh | 6 +-- - src/hb-ot-layout-gdef-private.hh | 24 +++++----- - src/hb-ot-layout-gpos-private.hh | 90 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.hh | 31 ++++++------- - src/hb-ot-layout-gsubgpos-private.hh | 44 +++++++++--------- - 7 files changed, 98 insertions(+), 101 deletions(-) - -commit f5fab0c71837371cce32dc3e9edca1ccb8d44e29 -Author: Behdad Esfahbod -Date: Thu May 6 10:26:52 2010 -0400 - - Remove SANITIZE_MEM - - src/hb-open-type-private.hh | 4 +--- - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 6 +++--- - 4 files changed, 6 insertions(+), 8 deletions(-) - -commit 4ad2cc5dec6b0639da2b1846282bdd99d06d5ff1 -Author: Behdad Esfahbod -Date: Thu May 6 09:24:24 2010 -0400 - - Rename check to check_range - - src/hb-open-type-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 1cd1e117d060d38e314618b627d7663cb01ed584 -Author: Behdad Esfahbod -Date: Wed May 5 20:15:14 2010 -0400 - - Remove SANITIZE_ARRAY - - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 16 +++++++--------- - src/hb-ot-layout-gpos-private.hh | 8 ++++---- - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 4 files changed, 14 insertions(+), 16 deletions(-) - -commit 583d7f9586ce69754f1354aa3895e6d732a0c2ce -Author: Behdad Esfahbod -Date: Wed May 5 01:49:22 2010 -0400 - - Cosmetic - - src/hb-open-file-private.hh | 3 ++- - src/hb-open-type-private.hh | 6 ++++-- - src/hb-ot-layout-common-private.hh | 15 ++++++++++----- - src/hb-ot-layout-gpos-private.hh | 5 ++--- - src/hb-ot-layout-gsub-private.hh | 3 ++- - src/hb-ot-layout-gsubgpos-private.hh | 9 +++++---- - 6 files changed, 25 insertions(+), 16 deletions(-) - -commit 705e215268aa95c2bc6af8af9b48b72b690ec1f7 -Author: Behdad Esfahbod -Date: Wed May 5 01:40:25 2010 -0400 - - Minor - - src/hb-open-type-private.hh | 4 ++-- - src/hb-ot-layout-gpos-private.hh | 2 +- - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 4 files changed, 5 insertions(+), 5 deletions(-) - -commit b18eafd0f62f854d15276c78f99843aecd47acad -Author: Behdad Esfahbod -Date: Wed May 5 01:39:26 2010 -0400 - - Minor - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4169710911450e0f9bc045fe279bfc8ba9e8457c -Author: Behdad Esfahbod -Date: Wed May 5 01:37:58 2010 -0400 - - Simplify chaining - - src/hb-ot-layout-gsubgpos-private.hh | 61 - +++++++++++++++--------------------- - 1 file changed, 25 insertions(+), 36 deletions(-) - -commit 1911b9d21b2b7b6b8219ce6c888540e3a60aa9c3 -Author: Behdad Esfahbod -Date: Wed May 5 01:32:04 2010 -0400 - - Remove APPLY_ARG_DEF and APPLY_ARG - - src/hb-ot-layout-gpos-private.hh | 92 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.hh | 88 - +++++++++++++++++----------------- - src/hb-ot-layout-gsubgpos-private.hh | 89 - ++++++++++++++++------------------ - 3 files changed, 132 insertions(+), 137 deletions(-) - -commit 6c42cddfe53a1c664081862bb9a3e1c38d05a823 -Author: Behdad Esfahbod -Date: Wed May 5 01:30:48 2010 -0400 - - Port apply to use hb_trace_t - - src/hb-ot-layout-gpos-private.hh | 9 ++++----- - src/hb-ot-layout-gsub-private.hh | 11 +++++------ - src/hb-ot-layout-gsubgpos-private.hh | 13 +++++-------- - 3 files changed, 14 insertions(+), 19 deletions(-) - -commit 969c9705ae0c64577c3f69f5300fec975f952e1f -Author: Behdad Esfahbod -Date: Wed May 5 01:23:44 2010 -0400 - - Move context_length into apply_context - - src/hb-ot-layout-gpos-private.hh | 9 ++--- - src/hb-ot-layout-gsub-private.hh | 9 ++--- - src/hb-ot-layout-gsubgpos-private.hh | 70 - ++++++++++++++++++++---------------- - 3 files changed, 50 insertions(+), 38 deletions(-) - -commit 94a23aaeca39c662614037ef887412249bdc8d49 -Author: Behdad Esfahbod -Date: Wed May 5 01:13:09 2010 -0400 - - Move buffer into apply_context - - src/hb-buffer-private.h | 30 +++++++++-------- - src/hb-ot-layout-gpos-private.hh | 64 - ++++++++++++++++++++---------------- - src/hb-ot-layout-gsub-private.hh | 45 ++++++++++++++----------- - src/hb-ot-layout-gsubgpos-private.hh | 49 ++++++++++++++------------- - 4 files changed, 106 insertions(+), 82 deletions(-) - -commit 63493f956dca519df49da0a6badc3cb0a1b92779 -Author: Behdad Esfahbod -Date: Wed May 5 01:01:05 2010 -0400 - - Move layout_context into apply_context - - src/hb-ot-layout-gpos-private.hh | 105 - ++++++++++++++++++----------------- - src/hb-ot-layout-gsub-private.hh | 47 ++++++++-------- - src/hb-ot-layout-gsubgpos-private.hh | 11 ++-- - 3 files changed, 82 insertions(+), 81 deletions(-) - -commit fff9aa263d1daf7c5117cf383fafa5043d5eb5af -Author: Behdad Esfahbod -Date: Wed May 5 00:32:21 2010 -0400 - - Minor - - src/hb-ot-layout-gsubgpos-private.hh | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 27e302dc8e794ff6bf878bc76e17d336d510849e -Author: Behdad Esfahbod -Date: Wed May 5 00:26:16 2010 -0400 - - I keep changing my mind about this - - src/hb-open-type-private.hh | 30 ++++++++++-------------------- - 1 file changed, 10 insertions(+), 20 deletions(-) - -commit 39840474afd2cda9ff576c08aff9c87095496c27 -Author: Behdad Esfahbod -Date: Wed May 5 00:23:19 2010 -0400 - - Remove SANITIZE_ARG_DEF and SANITIZE_ARG - - src/hb-open-file-private.hh | 16 ++--- - src/hb-open-type-private.hh | 59 +++++++-------- - src/hb-ot-layout-common-private.hh | 42 +++++------ - src/hb-ot-layout-gdef-private.hh | 28 ++++---- - src/hb-ot-layout-gpos-private.hh | 136 - +++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.hh | 72 +++++++++---------- - src/hb-ot-layout-gsubgpos-private.hh | 46 ++++++------ - 7 files changed, 197 insertions(+), 202 deletions(-) - -commit b261e2ad5c5a065599ce1dbc4ba437caa2cee1e9 -Author: Behdad Esfahbod -Date: Wed May 5 00:20:16 2010 -0400 - - Remove trace from sanitize_shallow() - - src/hb-open-type-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit dfc8cbe85479dde1ffdc6b2e73f4907331d77a19 -Author: Behdad Esfahbod -Date: Wed May 5 00:19:46 2010 -0400 - - Add hb_trace_t - - src/hb-open-type-private.hh | 33 +++++++++++++++++++-------------- - 1 file changed, 19 insertions(+), 14 deletions(-) - -commit 20e3dd5d292b65f70d2eae63b8d8713a1c889d47 -Author: Behdad Esfahbod -Date: Tue May 4 23:21:57 2010 -0400 - - Make sanitize_depth variable automatic and not passed through - function args - - src/hb-open-type-private.hh | 72 - +++++++++++++++++++++++++++------------------ - 1 file changed, 43 insertions(+), 29 deletions(-) - -commit 4a446ac35136eff23d55f47bdd7b40095ad707ab -Author: Behdad Esfahbod -Date: Tue May 4 22:46:21 2010 -0400 - - Use function template for pass-thru argument - - src/hb-open-type-private.hh | 26 ++++++-------------------- - src/hb-ot-layout-gpos-private.hh | 6 +++--- - 2 files changed, 9 insertions(+), 23 deletions(-) - -commit 98daaf183d6dbf2b68959da608cd9876ba55d7aa -Author: Behdad Esfahbod -Date: Tue May 4 22:42:49 2010 -0400 - - Make _hb_sanitize_*() methods of the context object - - src/hb-open-type-private.hh | 190 - +++++++++++++++++++++++--------------------- - 1 file changed, 98 insertions(+), 92 deletions(-) - -commit bb029af943faa9905e652d58856998687e60c31d -Author: Behdad Esfahbod -Date: Tue May 4 15:28:52 2010 -0400 - - Remove SANITIZE_THIS - - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 3 +- - src/hb-ot-layout-common-private.hh | 4 +-- - src/hb-ot-layout-gdef-private.hh | 25 ++++++++-------- - src/hb-ot-layout-gpos-private.hh | 55 - ++++++++++++++++++++---------------- - src/hb-ot-layout-gsub-private.hh | 29 ++++++++++--------- - src/hb-ot-layout-gsubgpos-private.hh | 42 +++++++++++++-------------- - 7 files changed, 85 insertions(+), 75 deletions(-) - -commit 2226fc93d1427b8830bfb892fe1b25b488ea36dc -Author: Behdad Esfahbod -Date: Tue May 4 15:12:17 2010 -0400 - - Rename SANITIZE_BASE to SANITIZE_WITH_BASE - - src/hb-open-type-private.hh | 11 +++++++---- - src/hb-ot-layout-common-private.hh | 3 ++- - src/hb-ot-layout-gpos-private.hh | 15 ++++++++------- - 3 files changed, 17 insertions(+), 12 deletions(-) - -commit 89da1346ec3a8dec8a368df46d61ca75356e22fa -Author: Behdad Esfahbod -Date: Tue May 4 15:01:45 2010 -0400 - - Remove SANITIZE_OBJ - - src/hb-open-type-private.hh | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 4d4cce96266b777a01cec03e8766dc8c0b159351 -Author: Behdad Esfahbod -Date: Tue May 4 14:57:55 2010 -0400 - - Remove SANITIZE_THIS2 - - src/hb-open-type-private.hh | 2 -- - src/hb-ot-layout-common-private.hh | 3 ++- - src/hb-ot-layout-gdef-private.hh | 10 ++++++---- - src/hb-ot-layout-gpos-private.hh | 9 ++++++--- - src/hb-ot-layout-gsub-private.hh | 11 +++++++---- - src/hb-ot-layout-gsubgpos-private.hh | 14 +++++++++----- - 6 files changed, 30 insertions(+), 19 deletions(-) - -commit 26bfcb64e473c40e439d6efbe974781dada28eca -Author: Behdad Esfahbod -Date: Tue May 4 14:49:45 2010 -0400 - - Cosmetic - - src/hb-ot-layout-gdef-private.hh | 5 ++--- - src/hb-ot-layout-gsubgpos-private.hh | 7 +++---- - 2 files changed, 5 insertions(+), 7 deletions(-) - -commit be74284673a1944e0f1884e861c3fe8f9855172c -Author: Behdad Esfahbod -Date: Tue May 4 14:47:05 2010 -0400 - - Remove SANITIZE_THIS3 - - src/hb-open-type-private.hh | 1 - - src/hb-ot-layout-gpos-private.hh | 21 +++++++++++++++------ - src/hb-ot-layout-gsubgpos-private.hh | 8 ++++++-- - 3 files changed, 21 insertions(+), 9 deletions(-) - -commit fbab9f9bd8ba59e7e5811f33c1dda198f95cf05a -Author: Behdad Esfahbod -Date: Tue May 4 14:42:10 2010 -0400 - - Remove SANITIZE_BASE2 - - src/hb-open-type-private.hh | 1 - - src/hb-ot-layout-gpos-private.hh | 3 ++- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 73c7dbf7f5433c0cdd467ef32402f52867e9798e -Author: Behdad Esfahbod -Date: Tue May 4 14:40:55 2010 -0400 - - Remove SANITIZE2 - - src/hb-open-type-private.hh | 1 - - src/hb-ot-layout-gsub-private.hh | 2 +- - 2 files changed, 1 insertion(+), 2 deletions(-) - -commit c9f14687a30866181feb57ee2736a147ec9f25a1 -Author: Behdad Esfahbod -Date: Tue May 4 14:38:08 2010 -0400 - - Remove the NEUTER macro, move code to a method - - src/hb-open-type-private.hh | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - -commit 30fa2821c277df99a14089749313dfe2b541e2d0 -Author: Behdad Esfahbod -Date: Tue May 4 14:28:18 2010 -0400 - - Make internal method private - - src/hb-open-type-private.hh | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit ce5694c79671bf75990923c1da17bb611e4e7d15 -Author: Behdad Esfahbod -Date: Tue May 4 14:10:18 2010 -0400 - - [main] Recognize Apple SFNTs - - src/hb-open-file-private.hh | 4 ++-- - src/main.cc | 6 ++++++ - 2 files changed, 8 insertions(+), 2 deletions(-) - -commit 710500a93ecc2a0c595045602aa367073485ff91 -Author: Behdad Esfahbod -Date: Mon May 3 23:11:16 2010 -0400 - - Comment new SFNT tags - - src/hb-open-file-private.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 64d3fc8d0dada673245cc8c0b1c12cd849b30997 -Author: Behdad Esfahbod -Date: Mon May 3 22:51:19 2010 -0400 - - Cosmetic: Rename HB_LIKELY/HB_UNLIKELY to likely/unlikely - - src/hb-buffer.c | 14 ++++---- - src/hb-font.cc | 6 ++-- - src/hb-ft.c | 14 ++++---- - src/hb-language.c | 2 +- - src/hb-object-private.h | 10 +++--- - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 38 ++++++++++----------- - src/hb-ot-layout-common-private.hh | 16 ++++----- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 64 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.hh | 52 ++++++++++++++--------------- - src/hb-ot-layout-gsubgpos-private.hh | 40 +++++++++++----------- - src/hb-ot-layout.cc | 12 +++---- - src/hb-ot-tag.c | 2 +- - src/hb-private.h | 8 ++--- - src/hb-shape.c | 10 +++--- - src/hb-unicode.c | 2 +- - 17 files changed, 147 insertions(+), 147 deletions(-) - -commit fa3b3d58443a7c22eca3f86243993ba2d4bd9f4a -Author: Behdad Esfahbod -Date: Mon May 3 22:47:22 2010 -0400 - - Mark a couple functions as inline - - src/hb-open-type-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 6b84198f9d471defb6f55d44d4f5423df70b2a10 -Merge: 631d10b7 eaf29edb -Author: Behdad Esfahbod -Date: Mon May 3 22:46:52 2010 -0400 - - Merge remote branch 'jrmuizel/master' - -commit eaf29edb8fa49390e5f48b78105dfd173aff445b -Author: Jeff Muizelaar -Date: Mon May 3 22:27:56 2010 -0400 - - HB_UNUSED is unneeded on static inline functions - - src/hb-object-private.h | 2 +- - src/hb-open-type-private.hh | 6 +++--- - src/hb-private.h | 4 ++-- - 3 files changed, 6 insertions(+), 6 deletions(-) - -commit 4ce578ed369f1526c91deedcf9e72537b3e4328f -Author: Jeff Muizelaar -Date: Mon May 3 15:03:53 2010 -0400 - - Include the tags from the Apple specification for TrueType fonts - - src/hb-open-file-private.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 631d10b728d9e1a02c7dddf505d4fae5e244c6e8 -Author: Behdad Esfahbod -Date: Sun May 2 21:14:21 2010 -0400 - - Remove unused method - - src/hb-open-file-private.hh | 5 ----- - 1 file changed, 5 deletions(-) - -commit f0abcd69408a3af65207cdf8847575ade4579bd4 -Author: Behdad Esfahbod -Date: Sun May 2 18:14:25 2010 -0400 - - Whitespace - - src/hb-open-type-private.hh | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit a8d960bd26883ee937b04ca2a3c16a3644870356 -Author: Behdad Esfahbod -Date: Thu Apr 29 14:31:56 2010 -0400 - - [GPOS] Speedup apply_value() - - src/hb-ot-layout-gpos-private.hh | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit 2cd1ea4411d0808559a942ff3fa4e637f9c9a9c8 -Author: Behdad Esfahbod -Date: Thu Apr 29 14:15:32 2010 -0400 - - [ft] Disallow getting the entire font data with tag=0 - - src/hb-ft.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 33d13fdda99acaeffa9600737e8870278d053ebe -Author: Behdad Esfahbod -Date: Thu Apr 29 13:56:44 2010 -0400 - - Rename HB_GNUC_UNUSED -> HB_UNUSED - - src/hb-buffer.c | 6 ++--- - src/hb-font.cc | 44 - ++++++++++++++++++------------------ - src/hb-ft.c | 16 ++++++------- - src/hb-object-private.h | 2 +- - src/hb-open-type-private.hh | 18 +++++++-------- - src/hb-ot-layout-gdef-private.hh | 4 ++-- - src/hb-ot-layout-gpos-private.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 6 ++--- - src/hb-ot-layout.cc | 4 ++-- - src/hb-ot-shape.c | 2 +- - src/hb-private.h | 16 ++++++------- - src/hb-shape.c | 32 +++++++++++++------------- - src/hb-unicode.c | 8 +++---- - 13 files changed, 81 insertions(+), 81 deletions(-) - -commit 7d3a126334f8e6f6441561c1bb592bd3fa7a2c5c -Author: Behdad Esfahbod -Date: Thu Apr 29 13:54:01 2010 -0400 - - Define HB_FUNC for portability to non-gcc - - src/hb-open-type-private.hh | 12 ++++++------ - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-private.h | 9 +++++++++ - 3 files changed, 16 insertions(+), 7 deletions(-) - -commit fa030175ca998b00cc42cbced6e98de323ec01ec -Author: Behdad Esfahbod -Date: Thu Apr 29 13:48:26 2010 -0400 - - [sanitize] Make debug code always available to the compiler - - Such that we don't break debug build all the time. - - src/hb-open-type-private.hh | 71 - ++++++++++++++++++++------------------------- - 1 file changed, 31 insertions(+), 40 deletions(-) - -commit fde6f5bd682f5ad0cc5e2ec69fc831b0192bf90b -Author: Behdad Esfahbod -Date: Thu Apr 29 04:41:41 2010 -0400 - - Convert to uppercase in hb_ot_tag_from_language() - - src/hb-ot-tag.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 6f729b45b04243c42ad7201b67cda9d5e5c363f1 -Author: Behdad Esfahbod -Date: Thu Apr 29 03:59:06 2010 -0400 - - More contour point use - - src/hb-font.cc | 1 + - src/hb-ot-layout-gdef-private.hh | 8 +++++--- - src/hb-ot-layout-gpos-private.hh | 13 +++++++++---- - 3 files changed, 15 insertions(+), 7 deletions(-) - -commit 3840b6b50503ba2c9a99f774284e0077baffa8a0 -Author: Behdad Esfahbod -Date: Thu Apr 29 03:48:27 2010 -0400 - - [gdef] Fix delta scale - - src/hb-ot-layout-gdef-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4ac6cc284b2c1eb670c2a3659ec385ed729acac4 -Author: Behdad Esfahbod -Date: Thu Apr 29 03:48:11 2010 -0400 - - [gdef] Fix rounding - - src/hb-ot-layout-gdef-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b52fbb1bab608bda76efb936f08344afaec600a1 -Author: Behdad Esfahbod -Date: Thu Apr 29 03:47:00 2010 -0400 - - [gdef] Implement getting contour point - - src/hb-ot-layout-gdef-private.hh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 4c5fbae011a33b9efef5aedd61c357fc0ded1113 -Author: Behdad Esfahbod -Date: Thu Apr 29 03:39:39 2010 -0400 - - Make sure mirroring is done in original direction - - Reported by Jonathan Kew. - - src/hb-shape.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit ce23c9234b87513d6460fb89bad178fb8537e161 -Author: Behdad Esfahbod -Date: Thu Apr 29 03:31:03 2010 -0400 - - Use BCP47 private-use tags for OpenType tag language string mapping - - src/hb-ot-tag.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit eaf1d9a46c4a320f3b0026c0a610f95a620d566f -Author: Behdad Esfahbod -Date: Thu Apr 29 03:11:32 2010 -0400 - - Minor - - src/hb-ot-tag.c | 1 + - 1 file changed, 1 insertion(+) - -commit 3a4784fe88a0f14147ccdd3633952c9c0f3ae8f3 -Author: Behdad Esfahbod -Date: Thu Apr 29 02:58:38 2010 -0400 - - Fix bug in hb_language_from_string() - - Reported by Jonathan Kew. - - src/hb-language.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 602e4f8d5512cdf48c696ad64ad62ff97f6dbdcc -Author: Behdad Esfahbod -Date: Thu Apr 29 02:28:54 2010 -0400 - - Use const_cast - - src/hb-open-type-private.hh | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit abff3580a5b229641086e0da097efee11d22ff81 -Author: Behdad Esfahbod -Date: Thu Apr 29 02:27:20 2010 -0400 - - Add const - - src/hb-object-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6617eada95928457a25e29f793f1a93c6b3edaec -Author: Behdad Esfahbod -Date: Thu Apr 29 02:25:30 2010 -0400 - - Rename apply_context -> context - - src/hb-ot-layout-gpos-private.hh | 22 +++++++++++----------- - src/hb-ot-layout-gsub-private.hh | 26 +++++++++++++------------- - src/hb-ot-layout-gsubgpos-private.hh | 12 ++++++------ - 3 files changed, 30 insertions(+), 30 deletions(-) - -commit b4c7fab762935b9c182b3e2ac3415f29fc6a5558 -Author: Behdad Esfahbod -Date: Thu Apr 29 02:24:25 2010 -0400 - - Rename - - src/hb-ot-layout-gpos-private.hh | 98 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.hh | 46 ++++++++--------- - src/hb-ot-layout-gsubgpos-private.hh | 12 ++--- - 3 files changed, 78 insertions(+), 78 deletions(-) - -commit 1376fb7bf9ef07970f0ba13dc64d6a8ab8252762 -Author: Behdad Esfahbod -Date: Thu Apr 29 02:19:21 2010 -0400 - - [apply] Use a context object to reduce number of parameters passed - around - - src/hb-open-type-private.hh | 5 ++--- - src/hb-ot-layout-gpos-private.hh | 26 ++++++++++++++----------- - src/hb-ot-layout-gsub-private.hh | 37 - +++++++++++++++++++----------------- - src/hb-ot-layout-gsubgpos-private.hh | 29 +++++++++++++++------------- - 4 files changed, 53 insertions(+), 44 deletions(-) - -commit 173fde7087c0db3e99409f1119530477c14072f5 -Author: Behdad Esfahbod -Date: Thu Apr 29 01:47:30 2010 -0400 - - Further simplify tracing - - src/hb-open-type-private.hh | 31 +++++++++++++++---------------- - src/hb-ot-layout-gpos-private.hh | 9 +++++---- - src/hb-ot-layout-gsub-private.hh | 11 ++++++----- - src/hb-ot-layout-gsubgpos-private.hh | 8 -------- - 4 files changed, 26 insertions(+), 33 deletions(-) - -commit bc200457430c083914a64bf4b056153506749610 -Author: Behdad Esfahbod -Date: Thu Apr 29 01:40:26 2010 -0400 - - Simplify trace code - - src/hb-open-type-private.hh | 41 +++++++++--------------------- - src/hb-ot-layout-gsubgpos-private.hh | 25 +++++-------------- - src/hb-private.h | 48 - +++++++++++++++++++++++++----------- - 3 files changed, 51 insertions(+), 63 deletions(-) - -commit 807c5b03a2251a3c29a520852639421783101b55 -Author: Behdad Esfahbod -Date: Wed Apr 28 20:25:22 2010 -0400 - - [sanitize] Make debug code always available to the compiler - - Such that we don't break debug build all the time. - - src/hb-open-type-private.hh | 31 ++++++++++++++++++++----------- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 2 files changed, 21 insertions(+), 12 deletions(-) - -commit 74e313c016704e1d9157c2763691c4151f049dfc -Author: Behdad Esfahbod -Date: Wed Apr 28 15:15:09 2010 -0400 - - [gsubgpos] Make debug code always available to the compiler - - Such that we don't break debug build all the time. - - src/hb-ot-layout-gsubgpos-private.hh | 52 - ++++++++++++++++++------------------ - 1 file changed, 26 insertions(+), 26 deletions(-) - -commit 41011a6ed7c4891b20c0eddbb6d4ad9c820cfddb -Author: Behdad Esfahbod -Date: Wed Apr 28 13:33:09 2010 -0400 - - Fix compiler warning about value unused - - src/hb-object-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 863df68e894b7644dcd12da88aa22f73edf829dc -Author: Behdad Esfahbod -Date: Wed Apr 28 13:29:55 2010 -0400 - - [object] Make debug code always available to the compiler - - Such that we don't break debug build all the time. - - src/hb-object-private.h | 42 +++++++++++++++++++++++++++--------------- - 1 file changed, 27 insertions(+), 15 deletions(-) - -commit 1d52151a19ed8ec776276aac5cc6ce3769e0d947 -Author: Behdad Esfahbod -Date: Wed Apr 28 13:18:41 2010 -0400 - - Minor - - src/hb-private.h | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 444fffb1ab378cb3022e2a8e9f90d20a00c82f6a -Author: Behdad Esfahbod -Date: Wed Apr 28 13:16:38 2010 -0400 - - [blob] Make debug code always available to the compiler - - Such that we don't break debug build all the time. - - src/hb-blob.c | 78 - ++++++++++++++++++++++++----------------------------------- - 1 file changed, 32 insertions(+), 46 deletions(-) - -commit ba51b25c7ba568aeced17f016eceba987569c5d9 -Author: Behdad Esfahbod -Date: Wed Apr 28 13:10:36 2010 -0400 - - Fix build. Ouch! - - src/hb-object-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a92f0fda7fee9d60b399b8865541bf73e6e30141 -Author: Behdad Esfahbod -Date: Wed Apr 28 13:09:40 2010 -0400 - - Fix debug build - - src/hb-open-type-private.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit c165f25410f817d248ad5d07e1827d33efd1b0a0 -Author: Behdad Esfahbod -Date: Tue Apr 27 23:28:10 2010 -0400 - - [object] Actually handle malloc() failure - - Caught by John Daggett. - - src/hb-object-private.h | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit caff7db93d205e32a535d49e51a3cad70f91dfdd -Author: Behdad Esfahbod -Date: Mon Apr 26 10:07:35 2010 -0400 - - Fix Device::get_size() calculation - - src/hb-ot-layout-common-private.hh | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 66d6eb30eb0b8d61e00f86ea0c7829abaddb52fa -Author: Behdad Esfahbod -Date: Sun Apr 25 23:01:45 2010 -0400 - - Rename Var to Obj - - src/hb-open-type-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 690b9194619589c32ffc0c092e45262ae7776e79 -Author: Behdad Esfahbod -Date: Sun Apr 25 22:51:05 2010 -0400 - - Remove use of flexible arrays - - Also remove wrong ASSERT_SIZE that would trigger only when not using - flexible arrays (which was the case on win32, but not with gcc). - - configure.ac | 2 -- - src/hb-open-file-private.hh | 1 - - src/hb-private.h | 4 ---- - 3 files changed, 7 deletions(-) - -commit 1cebfbb0636b13dc5dc6a4b8b7acbb7da28129d2 -Author: Behdad Esfahbod -Date: Fri Apr 23 20:49:18 2010 -0400 - - Cleanup hb_face_create_for_data() - - src/Makefile.am | 1 + - src/hb-blob-private.h | 57 +++++++++++++++++++++++++++++++ - src/hb-blob.c | 20 ++--------- - src/hb-font-private.h | 3 -- - src/hb-font.cc | 92 - +++++++++++++++++++++++++++++++++++---------------- - 5 files changed, 123 insertions(+), 50 deletions(-) - -commit d6b3c83a90f60bedb4049750ffb351161710980d -Author: Behdad Esfahbod -Date: Fri Apr 23 19:59:53 2010 -0400 - - Allow get_table() to return NULL - - src/hb-font.cc | 6 +++++- - src/hb-ft.c | 2 +- - 2 files changed, 6 insertions(+), 2 deletions(-) - -commit ad3653751b1e4a03f7058200cb83f64db46722d5 -Author: Behdad Esfahbod -Date: Fri Apr 23 19:43:40 2010 -0400 - - Typo - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 990443e5f282ad61de00dcf1ebff9cf1d5bc2d70 -Author: Behdad Esfahbod -Date: Fri Apr 23 17:53:32 2010 -0400 - - Remove lock_instance() - - src/hb-font.cc | 2 +- - src/hb-open-type-private.hh | 4 ---- - src/hb-ot-layout.cc | 6 +++--- - 3 files changed, 4 insertions(+), 8 deletions(-) - -commit 187454c595559ce48d072fee6bccb51f3de283d4 -Author: Behdad Esfahbod -Date: Fri Apr 23 16:35:01 2010 -0400 - - Add different casts from pointer and ref to avoid bugs - - src/hb-open-type-private.hh | 22 +++++++++++++++------- - src/hb-ot-layout-gpos-private.hh | 8 ++++---- - src/hb-ot-layout-gsub-private.hh | 12 ++++++------ - src/main.cc | 6 +++--- - 4 files changed, 28 insertions(+), 20 deletions(-) - -commit efb324a46ff64adb4ec8612b4089e8daff1e6d8e -Author: Behdad Esfahbod -Date: Fri Apr 23 16:22:54 2010 -0400 - - Remove GET_FOR_DATA macros - - The major-version check is now handled by sanitize. If major - doesn't match, we reject and fall back to the Null object. - - src/hb-open-file-private.hh | 4 ---- - src/hb-open-type-private.hh | 23 ++--------------------- - src/hb-ot-layout-gdef-private.hh | 2 -- - src/hb-ot-layout-gpos-private.hh | 3 --- - src/hb-ot-layout-gsub-private.hh | 3 --- - src/hb-ot-layout-gsubgpos-private.hh | 2 -- - src/main.cc | 6 +++--- - 7 files changed, 5 insertions(+), 38 deletions(-) - -commit f1aaa2a43654c28405ffd393de2cb127437c99a5 -Author: Behdad Esfahbod -Date: Fri Apr 23 15:19:50 2010 -0400 - - Add TODO - - src/hb-ft.c | 2 -- - src/hb-ft.h | 1 + - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 2 ++ - src/hb-ot-layout-common-private.hh | 12 ++++++------ - 5 files changed, 10 insertions(+), 9 deletions(-) - -commit 33d4d4325e15e332105ea8f361bab79ee542f0f8 -Author: Behdad Esfahbod -Date: Fri Apr 23 14:56:55 2010 -0400 - - Zero glyph metrics before calling user callback - - src/hb-font.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 4206e9511a222c0c50cc9b4fe72ec421983bba2c -Author: Behdad Esfahbod -Date: Fri Apr 23 14:44:55 2010 -0400 - - More warning fixes - - src/hb-ot-layout.cc | 4 ++-- - src/hb-ot-shape.c | 9 ++++----- - src/hb-shape.c | 32 ++++++++++++++++---------------- - 3 files changed, 22 insertions(+), 23 deletions(-) - -commit ef66ebeabc6c234004bd9e9bb67eb5c9711f4a1e -Author: Behdad Esfahbod -Date: Fri Apr 23 14:40:36 2010 -0400 - - Remove unused parameter - - src/hb-open-file-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 1d720192b193f48b44be0385eda3c2c5d5cd28ad -Author: Behdad Esfahbod -Date: Fri Apr 23 14:39:10 2010 -0400 - - Fix compile warnings (HB_GNUC_UNUSED) - - src/hb-buffer.c | 6 +++--- - src/hb-font.cc | 31 ++++++++++++++++++++++--------- - src/hb-ft.c | 29 +++++++++++++++++++++-------- - src/hb-open-type-private.hh | 2 +- - src/hb-unicode.c | 8 ++++---- - 5 files changed, 51 insertions(+), 25 deletions(-) - -commit 8dfdca599c0a3ba5255131002910bca3b381acac -Author: Behdad Esfahbod -Date: Fri Apr 23 14:07:34 2010 -0400 - - No need to keep blob in sanitize context - - src/hb-open-type-private.hh | 13 +++++-------- - 1 file changed, 5 insertions(+), 8 deletions(-) - -commit 254933c397f1ce9796f59689a25f9fc2e58df4ea -Author: Behdad Esfahbod -Date: Fri Apr 23 13:57:10 2010 -0400 - - When sanitizing, delay making writable - - Before, as soon as we needed to make an edit, we tried to make - the blob - writable inplace. That grows code unnecessarily though. We can - simply - fail, make writable, then start again. That's indeed what the - fallback - was doing anyway. - - src/hb-open-type-private.hh | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -commit 71e735e915c85536ee4d3035576f7426e8cd19dd -Author: Behdad Esfahbod -Date: Fri Apr 23 13:48:06 2010 -0400 - - [blob] Fallback to copying if mprotect() fails - - src/hb-blob.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 1aa4666b914da7747fc58a8f6f2d913c94e3b8da -Author: Behdad Esfahbod -Date: Fri Apr 23 13:32:03 2010 -0400 - - Cleanup OpenTypeFontFile - - src/hb-open-file-private.hh | 44 - ++++++++++++++++++++++++++------------------ - src/main.cc | 2 +- - 2 files changed, 27 insertions(+), 19 deletions(-) - -commit ae4190cafe927649f8ff8be6a0082478d1298fda -Author: Behdad Esfahbod -Date: Fri Apr 23 12:33:02 2010 -0400 - - Properly define separate structs for TTCHeader and TTCHeaderVersion1 - - src/hb-open-file-private.hh | 71 - +++++++++++++++++++++++++++++++++++---------- - 1 file changed, 55 insertions(+), 16 deletions(-) - -commit a065f471b3bc23d33ef75217308efeaed4ffd033 -Author: Behdad Esfahbod -Date: Thu Apr 22 20:15:11 2010 -0400 - - Cleanup Extension lookups - - Two things: - - 1. Allow nested Extension lookups. The offset is always positive, so - it can't loop circularly. - - 2. Move the check for all Extension subtables having the same lookup - type to the correct place. Before it wasn't really working. - - src/hb-ot-layout-gpos-private.hh | 29 +------------------- - src/hb-ot-layout-gsub-private.hh | 57 - ++++++++++++++++++++++------------------ - 2 files changed, 33 insertions(+), 53 deletions(-) - -commit a0bb49c5830f8a7f25d573ec57b79df2620ddba7 -Author: Behdad Esfahbod -Date: Thu Apr 22 18:47:03 2010 -0400 - - Add comment re bsearch effect on sanitize - - src/hb-open-file-private.hh | 2 +- - src/hb-ot-layout-common-private.hh | 8 ++++---- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit d632ec4000b3079150e6424e88a3ab7509f7445c -Author: Behdad Esfahbod -Date: Thu Apr 22 18:33:12 2010 -0400 - - Cosmetic - - src/hb-open-type-private.hh | 6 +++--- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit a3263aa773ad7a914496792466c69047048b093c -Author: Behdad Esfahbod -Date: Thu Apr 22 18:29:09 2010 -0400 - - Convert the last set of cast macros to templates - - src/hb-open-file-private.hh | 4 +-- - src/hb-open-type-private.hh | 53 - +++++++++++++++++++++++------------- - src/hb-ot-layout-gpos-private.hh | 16 +++++------ - src/hb-ot-layout-gsub-private.hh | 14 +++++----- - src/hb-ot-layout-gsubgpos-private.hh | 12 ++++---- - 5 files changed, 57 insertions(+), 42 deletions(-) - -commit c38188a1912f72d9ef90ae1bcbdbba7ecce63371 -Author: Behdad Esfahbod -Date: Thu Apr 22 16:52:09 2010 -0400 - - Remove unused macro - - src/hb-open-type-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 3b2c2df41b90f2a1d9e33b3dc15a92cff58a689a -Author: Behdad Esfahbod -Date: Thu Apr 22 16:51:42 2010 -0400 - - Cleanup Extension sanitize() - - src/hb-ot-layout-common-private.hh | 20 +++----------------- - src/hb-ot-layout-gpos-private.hh | 20 +++++++++++++------- - src/hb-ot-layout-gsub-private.hh | 20 +++++++++++++------- - src/hb-ot-layout-gsubgpos-private.hh | 13 ++++--------- - 4 files changed, 33 insertions(+), 40 deletions(-) - -commit 1856184b93760a1a54fb1a3c54281bb252df7ce6 -Author: Behdad Esfahbod -Date: Thu Apr 22 14:15:11 2010 -0400 - - Fail sanitize on major version mismatch - - We handle major-version differences via get_for_data(), so sanitize - should never see a major version mismatch. - - src/hb-open-file-private.hh | 4 ++-- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit df3f505dcfeefc8cd395900b116767d22549f756 -Author: Behdad Esfahbod -Date: Thu Apr 22 14:11:33 2010 -0400 - - More sanitize cleanup - - src/hb-open-file-private.hh | 24 ++---------------------- - src/main.cc | 4 ++-- - 2 files changed, 4 insertions(+), 24 deletions(-) - -commit 278a91f0cd802ac817c2603429bae1fa4a350ea0 -Author: Behdad Esfahbod -Date: Thu Apr 22 13:59:39 2010 -0400 - - Minor cleanup of sanitize - - Done with an audit of all sanitize() - - src/hb-ot-layout-gpos-private.hh | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit 9ac7dc73bc24b6dafb94df5de9cbf8fa0c82d5bc -Author: Behdad Esfahbod -Date: Thu Apr 22 13:50:22 2010 -0400 - - Check for (impossible) overflow - - src/hb-ot-layout-gpos-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 9fc8684fd85ef6ec82b3b54323761bbdd4c3d891 -Author: Behdad Esfahbod -Date: Thu Apr 22 13:37:58 2010 -0400 - - Cleanup ContextFormat3 sanitize - - src/hb-ot-layout-gsubgpos-private.hh | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit e77302c61f1f1620d1f438a997575fa6ee5c172e -Author: Behdad Esfahbod -Date: Thu Apr 22 13:34:00 2010 -0400 - - Add comment - - src/hb-ot-layout-common-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 7c469c3ca4ed4e45c50eff70df59b1a4780bae5b -Author: Behdad Esfahbod -Date: Thu Apr 22 13:26:21 2010 -0400 - - Minor - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dc228048a813e43356373505168d3822deea5d72 -Author: Behdad Esfahbod -Date: Thu Apr 22 13:22:41 2010 -0400 - - Remove integrity check in Tag sanitize - - Serves no useful purpose. - - src/hb-open-type-private.hh | 9 --------- - src/hb-ot-layout-common-private.hh | 2 +- - 2 files changed, 1 insertion(+), 10 deletions(-) - -commit 8015a8c762dc7be36998d529b7a3af59e3d14d87 -Author: Behdad Esfahbod -Date: Thu Apr 22 11:06:30 2010 -0400 - - Don't sanitize raw table data - - That part is performed by individual table sanitize. - - src/hb-open-file-private.hh | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -commit c293581e962b7982622e7d607fa3909b40da718e -Author: Behdad Esfahbod -Date: Thu Apr 22 11:15:46 2010 -0400 - - Add coment - - src/hb-open-type-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 1faa76c6e848c6b0e360d9ddcf567533b87f8f31 -Author: Behdad Esfahbod -Date: Thu Apr 22 10:54:26 2010 -0400 - - Remove unnecessary casts - - src/hb-open-type-private.hh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 079dc40112d3908ff7b7028ea3019bfe82bf606d -Author: Behdad Esfahbod -Date: Thu Apr 22 10:47:12 2010 -0400 - - Avoid overflow in TableDirectory sanitize - - src/hb-open-file-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fb5904ec935d925a423401bc975ffaa22022ce1b -Author: Behdad Esfahbod -Date: Thu Apr 22 10:43:30 2010 -0400 - - Make casts more explicit - - src/hb-ot-layout-gpos-private.hh | 4 ++-- - src/hb-ot-layout-gsub-private.hh | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 565c80bd2960366ace2d10dd71beaaf2a80213c8 -Author: Behdad Esfahbod -Date: Thu Apr 22 10:26:35 2010 -0400 - - Make sure semicolon is expected after DEFINE_NULL_DATA() - - src/hb-open-type-private.hh | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit bb1e16335e537231246f44740f73cc23c0707364 -Author: Behdad Esfahbod -Date: Thu Apr 22 01:01:35 2010 -0400 - - Improve Subst/Pos SubTable access and sanitize - - src/hb-ot-layout-gpos-private.hh | 4 ++-- - src/hb-ot-layout-gsub-private.hh | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 81f2af40f9afd5bb9695018e6baddcd4aa3361c1 -Author: Behdad Esfahbod -Date: Thu Apr 22 00:58:49 2010 -0400 - - Simplify Extension offset now that our int types have no alignment - - src/hb-ot-layout-gsubgpos-private.hh | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -commit 19828ad42d8117563412aae3c70887aa117805a9 -Author: Behdad Esfahbod -Date: Thu Apr 22 00:49:16 2010 -0400 - - Sanitize shallow in Lookup since the generic SubLookup has no methods - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e5546a4352c54311ac4a9ef138b187378155ebe1 -Author: Behdad Esfahbod -Date: Thu Apr 22 00:45:42 2010 -0400 - - Watch for overflow in Array sanitize - - src/hb-open-type-private.hh | 21 +++++++++++++++------ - src/hb-ot-layout-common-private.hh | 2 +- - 2 files changed, 16 insertions(+), 7 deletions(-) - -commit 4f5f1c34dda1e0629bfa6d7b0ffa2e1ce003b7c7 -Author: Behdad Esfahbod -Date: Thu Apr 22 00:27:39 2010 -0400 - - Rename const_sub_array to sub_array since all consts are implicit now - - src/hb-open-type-private.hh | 2 +- - src/hb-ot-layout-common-private.hh | 4 ++-- - src/hb-ot-layout-gdef-private.hh | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit 0795b784dd1009976c185482a376df250167e73b -Author: Behdad Esfahbod -Date: Thu Apr 22 00:23:14 2010 -0400 - - Cosmetic - - src/hb-ot-layout-common-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 2d98d3bbaa0ddadcb08b5a8f437b18c211c50768 -Author: Behdad Esfahbod -Date: Thu Apr 22 00:19:30 2010 -0400 - - Simplify Lookup sanitize - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c755cb3e3ac55156d0d2ec05adea7a650b97cc41 -Author: Behdad Esfahbod -Date: Thu Apr 22 00:11:43 2010 -0400 - - Change header comment - - README | 2 +- - src/hb-blob.c | 2 +- - src/hb-blob.h | 2 +- - src/hb-buffer-private.h | 2 +- - src/hb-buffer.c | 2 +- - src/hb-buffer.h | 2 +- - src/hb-common.h | 2 +- - src/hb-font-private.h | 2 +- - src/hb-font.cc | 2 +- - src/hb-font.h | 2 +- - src/hb-ft.c | 2 +- - src/hb-ft.h | 2 +- - src/hb-glib.c | 2 +- - src/hb-glib.h | 2 +- - src/hb-icu.c | 2 +- - src/hb-icu.h | 2 +- - src/hb-language.c | 2 +- - src/hb-language.h | 2 +- - src/hb-object-private.h | 2 +- - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 2 +- - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 2 +- - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - src/hb-ot-layout-private.h | 2 +- - src/hb-ot-layout.cc | 2 +- - src/hb-ot-layout.h | 2 +- - src/hb-ot-shape-private.h | 2 +- - src/hb-ot-shape.c | 2 +- - src/hb-ot-tag.c | 2 +- - src/hb-ot-tag.h | 2 +- - src/hb-ot.h | 2 +- - src/hb-private.h | 2 +- - src/hb-shape.c | 2 +- - src/hb-shape.h | 2 +- - src/hb-unicode-private.h | 2 +- - src/hb-unicode.c | 2 +- - src/hb-unicode.h | 2 +- - src/hb.h | 2 +- - src/main.cc | 2 +- - 42 files changed, 42 insertions(+), 42 deletions(-) - -commit 243d20e011e251462a07947275e0e98cc19c7e9b -Author: Behdad Esfahbod -Date: Wed Apr 21 23:57:01 2010 -0400 - - More cast simplification - - src/hb-open-type-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 0dfcc13a4668cdd2c2ebdd5f4a7540a51222cf2f -Author: Behdad Esfahbod -Date: Wed Apr 21 23:41:26 2010 -0400 - - Rename ConstCharP to CharP (overloaded now) - - src/hb-open-file-private.hh | 10 +++++----- - src/hb-open-type-private.hh | 24 ++++++++++++------------ - src/hb-ot-layout-gpos-private.hh | 12 ++++++------ - src/hb-ot-layout-gsub-private.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 14 +++++++------- - 5 files changed, 32 insertions(+), 32 deletions(-) - -commit 62c0fd75737a69721dbf29e773405a4c529f8b6d -Author: Behdad Esfahbod -Date: Wed Apr 21 23:30:48 2010 -0400 - - Cleanup de-const-casting during sanitize - - src/hb-open-file-private.hh | 2 +- - src/hb-open-type-private.hh | 29 ++++++++++++++--------------- - src/hb-ot-layout-common-private.hh | 4 ++-- - src/hb-ot-layout-gpos-private.hh | 12 ++++++------ - 4 files changed, 23 insertions(+), 24 deletions(-) - -commit dd155870567cfb9647b2e71593ace8b2705d7cff -Author: Behdad Esfahbod -Date: Wed Apr 21 23:13:33 2010 -0400 - - Add more comments - - src/hb-open-type-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit c85c3620675f38ffdca59134aeec2641485f40ca -Author: Behdad Esfahbod -Date: Wed Apr 21 23:12:54 2010 -0400 - - Add comment - - src/hb-open-type-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 2467c669c2aee4de2a6621a9d06cba0262376d41 -Author: Behdad Esfahbod -Date: Wed Apr 21 23:11:45 2010 -0400 - - Add comment - - src/hb-open-type-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit 29c3f5e1b6212c775a7b911becd44ba093b7b0eb -Author: Behdad Esfahbod -Date: Wed Apr 21 23:01:00 2010 -0400 - - Improve comment - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 01c01618e98283611628cd54d5ba4bf122f24cd9 -Author: Behdad Esfahbod -Date: Wed Apr 21 22:49:56 2010 -0400 - - Further simplify IntType struct defs - - src/hb-open-type-private.hh | 21 ++++++++++++--------- - 1 file changed, 12 insertions(+), 9 deletions(-) - -commit 2cb08458f674301cde9d962c13911035a251f7c5 -Author: Behdad Esfahbod -Date: Wed Apr 21 22:37:31 2010 -0400 - - Rename const_array() to array() (overloaded) - - src/hb-open-type-private.hh | 12 ++++++------ - src/hb-ot-layout-common-private.hh | 4 ++-- - src/hb-ot-layout-gsub-private.hh | 6 +++--- - src/hb-ot-layout-gsubgpos-private.hh | 16 ++++++++-------- - 4 files changed, 19 insertions(+), 19 deletions(-) - -commit 2e2f43edf2f49f4047e28b1ce2ea95938536de9c -Author: Behdad Esfahbod -Date: Wed Apr 21 22:30:36 2010 -0400 - - Remove ArrayAfter, use StructAfter in place - - src/hb-open-type-private.hh | 21 ++++++--------------- - 1 file changed, 6 insertions(+), 15 deletions(-) - -commit e961c86c579fd98ee604342a9c70c4e7f8d4f220 -Author: Behdad Esfahbod -Date: Wed Apr 21 15:56:11 2010 -0400 - - Convert NEXT() and ARRAY_AFTER() macros to templates - - src/hb-open-type-private.hh | 40 - ++++++++++++++++++++++++++---------- - src/hb-ot-layout-common-private.hh | 4 ++-- - src/hb-ot-layout-gsub-private.hh | 8 ++++---- - src/hb-ot-layout-gsubgpos-private.hh | 24 +++++++++++----------- - 4 files changed, 47 insertions(+), 29 deletions(-) - -commit 198facdc55756cb48cdfb8ba7fa50916fac54ec3 -Author: Behdad Esfahbod -Date: Wed Apr 21 13:35:36 2010 -0400 - - Use templates for const char * casts - - src/hb-open-file-private.hh | 12 ++++----- - src/hb-open-type-private.hh | 48 - ++++++++++++++++++------------------ - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 32 ++++++++++++------------ - src/hb-ot-layout-gsub-private.hh | 4 +-- - src/hb-ot-layout-gsubgpos-private.hh | 14 +++++------ - 6 files changed, 56 insertions(+), 56 deletions(-) - -commit 1922ffe7013c46014803a9f18c42e193a25b1968 -Author: Behdad Esfahbod -Date: Wed Apr 21 04:19:51 2010 -0400 - - Const correctness - - src/hb-ot-layout-gsub-private.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 30 +++++++++++++++--------------- - 2 files changed, 17 insertions(+), 17 deletions(-) - -commit e032ed9f75d4a0f365649a25706871bbb5ae6651 -Author: Behdad Esfahbod -Date: Wed Apr 21 03:11:46 2010 -0400 - - Use templates for defining int typess - - src/hb-open-type-private.hh | 66 - ++++++++++++++++++++++++++++++--------------- - src/hb-private.h | 10 ++----- - 2 files changed, 46 insertions(+), 30 deletions(-) - -commit 2c9fd2adce5a6a9dcd62c874bd64613ea68d8d9b -Author: Behdad Esfahbod -Date: Wed Apr 21 02:15:39 2010 -0400 - - Remove unused macro - - src/hb-open-type-private.hh | 15 --------------- - 1 file changed, 15 deletions(-) - -commit 7a52f281178867379adb6e6c6fb0022102f75d17 -Author: Behdad Esfahbod -Date: Wed Apr 21 02:14:44 2010 -0400 - - Rename macros - - src/hb-open-type-private.hh | 6 +++--- - src/hb-private.h | 30 +++++++++++++++--------------- - 2 files changed, 18 insertions(+), 18 deletions(-) - -commit ffff7dc44cb2a35a60f92831165e9d3c3a61ce19 -Author: Behdad Esfahbod -Date: Wed Apr 21 02:13:55 2010 -0400 - - Minor - - src/hb-private.h | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit f60f2166c48d07f556ff83f04e95181946eb03df -Author: Behdad Esfahbod -Date: Wed Apr 21 02:12:45 2010 -0400 - - Move macros around - - src/hb-private.h | 122 - ++++++++++++++++++++++++++++--------------------------- - 1 file changed, 62 insertions(+), 60 deletions(-) - -commit 649a4344ca363da3d44cdd908350449ec40ed0f9 -Author: Behdad Esfahbod -Date: Wed Apr 21 02:11:59 2010 -0400 - - Remove unused macros - - src/hb-private.h | 7 ------- - 1 file changed, 7 deletions(-) - -commit eba8b4f644701cc6b78b0fcb4e932dce15561598 -Author: Behdad Esfahbod -Date: Mon Mar 29 00:04:12 2010 -0400 - - GNOME Bug 613015 - [HB] Does not sanitize Device tables referenced - from ValueRecords - - src/hb-ot-layout-gpos-private.hh | 47 - ++++++++++++++++++++++++++++++---------- - 1 file changed, 36 insertions(+), 11 deletions(-) - -commit 673a4efcbc72a62105a24d9b0b54047417160f7d -Author: Behdad Esfahbod -Date: Wed Apr 21 02:02:57 2010 -0400 - - WIP - - src/hb-ot-layout-gpos-private.hh | 102 - +++++++++++++++++++++++++++++++-------- - 1 file changed, 81 insertions(+), 21 deletions(-) - -commit 40d73bc68dd828cf68f90fde0f9499a6ce9fbb19 -Author: Behdad Esfahbod -Date: Wed Apr 21 00:49:40 2010 -0400 - - Improve comments - - src/hb-open-type-private.hh | 22 ++++++++++++++-------- - 1 file changed, 14 insertions(+), 8 deletions(-) - -commit 394bad41a76f90e441e327cef76efb99997e9ae0 -Author: Behdad Esfahbod -Date: Wed Apr 21 00:40:50 2010 -0400 - - Remove stale TODO item - - src/hb-open-type-private.hh | 1 - - 1 file changed, 1 deletion(-) - -commit 9d3677899f90abdc7fb3e3d854db654a8707a84b -Author: Behdad Esfahbod -Date: Wed Apr 21 00:32:47 2010 -0400 - - Use a function template instead of struct template for Null - - src/hb-open-type-private.hh | 24 ++++++++++-------------- - 1 file changed, 10 insertions(+), 14 deletions(-) - -commit ffd321afd91429c5de7ab03d71ef1030044f53cb -Author: Behdad Esfahbod -Date: Wed Apr 21 00:14:12 2010 -0400 - - Simplify Tag struct - - src/hb-open-file-private.hh | 3 ++- - src/hb-open-type-private.hh | 6 +----- - src/hb-ot-layout-common-private.hh | 3 ++- - 3 files changed, 5 insertions(+), 7 deletions(-) - -commit 00e23fcc6fd0eee5c582251bf3de6a2703fbbd3e -Author: Behdad Esfahbod -Date: Tue Apr 20 23:50:45 2010 -0400 - - Cosmetic - - src/hb-open-type-private.hh | 8 ++++---- - src/hb-ot-layout-common-private.hh | 6 +++--- - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit a87072db5d41e25b2e31191545298bca4838c65c -Author: Behdad Esfahbod -Date: Tue Apr 20 15:52:47 2010 -0400 - - Fix Class operator return type - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f9b37727985191c9b4aedb0e9835736027e59260 -Author: Behdad Esfahbod -Date: Tue Apr 20 15:51:53 2010 -0400 - - Add couple consts to operators - - src/hb-open-type-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 53d237ec6352d7c6fab3b2805b48154a25506beb -Author: Behdad Esfahbod -Date: Tue Apr 20 15:25:27 2010 -0400 - - Remove ASSERT_SIZE_DATA - - src/hb-open-type-private.hh | 4 ---- - src/hb-ot-layout-common-private.hh | 9 ++++++--- - 2 files changed, 6 insertions(+), 7 deletions(-) - -commit 06558d2a745b8f3af11a8d6dce956ae52187a7e5 -Author: Behdad Esfahbod -Date: Mon Apr 19 02:34:10 2010 -0400 - - Round instead of trunc - - src/hb-ot-layout-gpos-private.hh | 20 ++++++++++---------- - src/hb-private.h | 2 +- - 2 files changed, 11 insertions(+), 11 deletions(-) - -commit 0e206de98621ed8a55824b42e9e6bf320f4c6cc8 -Author: Behdad Esfahbod -Date: Mon Apr 19 02:29:04 2010 -0400 - - Fix warnings - - src/hb-open-type-private.hh | 2 +- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 4 ++-- - src/hb-ot-layout-gsubgpos-private.hh | 6 +++--- - 4 files changed, 7 insertions(+), 7 deletions(-) - -commit d5943407a4251cb947fbfc130c0facb2f6216bd6 -Author: Behdad Esfahbod -Date: Mon Apr 19 02:27:56 2010 -0400 - - Fix debug build - - src/hb-open-type-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 12b27ed91de0192deee4e9feffcaf4aca4c78113 -Author: Behdad Esfahbod -Date: Sat Mar 27 17:00:19 2010 -0400 - - Fix leak when duplicating blob - - src/hb-blob.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit 4b8487d83e0c10076a6c573cb3487790ce366607 -Author: Behdad Esfahbod -Date: Tue Mar 16 03:46:17 2010 -0400 - - Fix the mystery bug! - - A couple bugs joined forces to exhibit the mystery behavior of - crashes / infinite loops on OS X / wrong kerning / invalid memory - access. Pooh! - - The bugs were involved: - - - Wrong pointer math with ValueRecord in PairPosFormat1 - - - Fallout from avoiding flex arrays, code not correctly updated - to remove sizeof() usage. - - We strictly never use sizeof() directly now. And the PairPos code - is cleaned up. Should fix them all. Bugs are: - - Bug 605655 - Pango 1.26.2 introduces kerning bug - Bug 611229 - Pango reads from uninitialized memory - Bug 593240 - (pangoosx) Crash / infinite loop with Mac OS X - - We were also doing wrong math converting Device adjustments to - hb_position_t. Fallout from FreeType days. Should shift 16, not - 6. Fixed that too. - - There's still another bug: we don't sanitize Device records - referenced from value records. Fixing that also. - - src/hb-open-file-private.hh | 4 +++- - src/hb-open-type-private.hh | 11 ++++++----- - src/hb-ot-layout-common-private.hh | 10 ++++++++-- - src/hb-ot-layout-gpos-private.hh | 37 - ++++++++++++++++++++---------------- - src/hb-ot-layout-gsubgpos-private.hh | 15 ++++++++------- - 5 files changed, 46 insertions(+), 31 deletions(-) - -commit 9b39755d104603d1163738f77637cc1923d4055b -Author: Behdad Esfahbod -Date: Thu Apr 15 14:00:25 2010 -0400 - - Typo - - src/hb-open-type-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f85ec1c7da36d2c2c9b1c94a988563697dcc79c9 -Author: Behdad Esfahbod -Date: Wed Mar 10 04:14:40 2010 -0500 - - Cosmetic - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e48ed72230a83499dabbd02af2ac63340220a353 -Author: Behdad Esfahbod -Date: Mon Mar 1 22:33:45 2010 -0500 - - [ft] Check stream->read instead of stream->base - - The former is more robust. See discussion on freetype-devel. - - src/hb-ft.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 917c227500305aee543981ad24a39f868c5ca0b7 -Author: Behdad Esfahbod -Date: Tue Feb 23 16:47:51 2010 -0500 - - Make blob unlocking 64bit-safe - - GNOME Bug 604128 - Applications crash when displaying Hebrew - characters - - src/hb-blob.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit ecd2e996d2137fef30011a41dd57ea45f9a796de -Author: Behdad Esfahbod -Date: Tue Feb 23 02:42:00 2010 -0500 - - Improve the alignment for NullPool - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bc7830e4259755ce7549025c6f5bf750e78c2ff1 -Author: Behdad Esfahbod -Date: Wed Feb 17 15:14:57 2010 -0500 - - Use __attribute__((unused)) only with gcc 4 and later - - See discussion at: - https://bugzilla.gnome.org/show_bug.cgi?id=610183 - - src/hb-private.h | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 555d11273ee4c30e84eda3a78ffadb3ee7da65d0 -Author: Behdad Esfahbod -Date: Tue Jan 26 12:58:59 2010 -0500 - - [GDEF] Fix bug in building synthetic GDEF - - src/hb-ot-layout.cc | 5 +++-- - src/hb-ot-layout.h | 1 - - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 70834d89c30a56fcd78825fbc28fc9c6bec31124 -Author: Behdad Esfahbod -Date: Tue Jan 26 12:17:37 2010 -0500 - - [TODO] Add kern/GPOS interaction - - TODO | 3 +++ - 1 file changed, 3 insertions(+) - -commit cd11a98fa1426e9dbc4b61e702913b23a4794ae2 -Author: Behdad Esfahbod -Date: Sun Dec 20 23:05:02 2009 +0100 - - Fix compile with older FreeType - - configure.ac | 7 +++++++ - src/hb-ft.c | 2 ++ - 2 files changed, 9 insertions(+) - -commit 7f7448a354c43650348b4e91b4e40ecf18718d66 -Author: Behdad Esfahbod -Date: Sun Dec 20 21:42:14 2009 +0100 - - Indent - - src/hb-ot-layout-gpos-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit e70f45eb522bcb41388cc218b79bbd6aaecf8050 -Author: Behdad Esfahbod -Date: Sun Dec 20 21:26:24 2009 +0100 - - Revert "Fallback to 'kern' if no GPOS applied" - - This reverts commit d740c8f78bcbe80a8bcd8a9468830a406da37cc0. - - The change is wrong. If there is a GPOS table, we should not use - 'kern'. - - src/hb-ot-shape.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit d740c8f78bcbe80a8bcd8a9468830a406da37cc0 -Author: Behdad Esfahbod -Date: Sun Dec 20 21:23:56 2009 +0100 - - Fallback to 'kern' if no GPOS applied - - src/hb-ot-shape.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2f78c17197892b2bdc2f64caeb1c1c806ef44545 -Author: Behdad Esfahbod -Date: Sun Dec 20 21:03:11 2009 +0100 - - Remove glibism! - - src/hb-ot-shape-private.h | 4 ++-- - src/hb-ot-shape.c | 4 ++-- - src/hb-shape.c | 4 ++-- - 3 files changed, 6 insertions(+), 6 deletions(-) - -commit 907e67da13b5ed719362702138703fe2f90e790d -Author: Behdad Esfahbod -Date: Sun Dec 20 20:59:51 2009 +0100 - - Oops, add file. - - src/hb-ot-shape-private.h | 53 - +++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 53 insertions(+) - -commit 2014b8d110231b13e524008282ece7451f1ae9e7 -Author: Behdad Esfahbod -Date: Sun Dec 20 20:58:26 2009 +0100 - - Hook OpenType shaping up - - Default features only for now. - - src/Makefile.am | 2 + - src/hb-ot-layout.cc | 28 +++++++++ - src/hb-ot-layout.h | 7 +++ - src/hb-ot-shape.c | 165 - ++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-shape.c | 8 +-- - 5 files changed, 206 insertions(+), 4 deletions(-) - -commit 196610ba4c7071c2b802d0fc921a63cbc0753114 -Author: Behdad Esfahbod -Date: Sun Dec 20 19:01:14 2009 +0100 - - Pass features down - - src/hb-shape.c | 49 +++++++++++++++++++++++++++++++++---------------- - 1 file changed, 33 insertions(+), 16 deletions(-) - -commit 51f141a7f38a73f671b23f58cadf97a72c43b625 -Author: Behdad Esfahbod -Date: Sun Dec 20 18:22:28 2009 +0100 - - Avoid overflow - - src/hb-shape.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 26d7a75752631b2596a5bcb7e645b34cc3d139ab -Author: Behdad Esfahbod -Date: Sun Dec 20 17:58:25 2009 +0100 - - Refactor hb_shape a bit - - src/hb-shape.c | 87 - +++++++++++++++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 74 insertions(+), 13 deletions(-) - -commit 001fc2d2aa22f14302739fe4ca45f7535855e0fb -Author: Behdad Esfahbod -Date: Sun Dec 20 17:24:05 2009 +0100 - - Add TrueType kern support - - src/hb-shape.c | 74 - +++++++++++++++++++++++++++++++++++++--------------------- - 1 file changed, 48 insertions(+), 26 deletions(-) - -commit 2c1b85cf66e5ecb7521b6018b76f0e161fb68967 -Author: Behdad Esfahbod -Date: Sun Dec 20 16:29:17 2009 +0100 - - Direct unicode->get_mirroring directly - - src/hb-shape.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 6a2ef5aa5459def232708af30ef8a484906b868b -Author: Behdad Esfahbod -Date: Sun Dec 20 16:28:01 2009 +0100 - - Do mirroring - - src/hb-shape.c | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -commit 0465e69832393cc1ed36508ec5d597fbab64877a -Author: Behdad Esfahbod -Date: Sun Dec 20 16:25:18 2009 +0100 - - Protect against NULL funcs - - src/hb-buffer.c | 3 +++ - src/hb-font.cc | 3 +++ - 2 files changed, 6 insertions(+) - -commit 5ceefa1d8dbd310570ea8d1c47107fe8d3dc96d9 -Author: Behdad Esfahbod -Date: Sun Dec 20 15:29:16 2009 +0100 - - Add hb_unicode_get_*() functions - - src/hb-unicode.c | 37 +++++++++++++++++++++++++++++++++++++ - src/hb-unicode.h | 21 +++++++++++++++++++++ - 2 files changed, 58 insertions(+) - -commit b8a53e44ce05911ce98b7cff34dee165e19d87ba -Author: Behdad Esfahbod -Date: Sun Dec 20 14:56:25 2009 +0100 - - We'll have to link to libstdc++ if linking to ICU, so disable test - for now - - We have to get rid of the ICU in main lib. Still thinking about - best way - to do it. - - src/Makefile.am | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 314905d7548d5be58354546d660754b807b6efb2 -Author: Behdad Esfahbod -Date: Sun Dec 20 14:50:42 2009 +0100 - - Explicitly track whether the buffer has positions - - src/hb-buffer-private.h | 3 ++- - src/hb-buffer.c | 27 ++++++++++++++------------- - 2 files changed, 16 insertions(+), 14 deletions(-) - -commit 314b460d8a02ed4b2789ff527cf6c9bc19769114 -Author: Behdad Esfahbod -Date: Sun Dec 20 13:58:50 2009 +0100 - - Add HB_DIRECTION_IS_FORWARD/BACKWARD - - src/hb-common.h | 2 ++ - src/hb-shape.c | 3 +-- - 2 files changed, 3 insertions(+), 2 deletions(-) - -commit bdd0ff5290bae4db65c3fdf95c5728031f13ca84 -Author: Behdad Esfahbod -Date: Tue Dec 15 04:07:40 2009 -0500 - - Make main.cc compile without glib - - src/main.cc | 18 ++++++++++++++++-- - 1 file changed, 16 insertions(+), 2 deletions(-) - -commit 8a7d16808200f4fa02d6d12a8b8492bdedeb2c24 -Author: Behdad Esfahbod -Date: Tue Dec 15 03:53:45 2009 -0500 - - Distribute autogen.sh - - Makefile.am | 3 +++ - 1 file changed, 3 insertions(+) - -commit 807b8aa486753474e05e09f4fcca8ac94021b97c -Author: Behdad Esfahbod -Date: Thu Nov 19 20:28:03 2009 -0500 - - Another C++ strictness fix - - Pango Bug 602408 - Invalid C++ code breaks compile with Sun C++ - Compiler - (Error: A union member cannot have a user-defined assignment operator) - - According to the bug: - - C++ Programming Language by Bjarne Stroustrup: Chapter 10.4.12 forbids - explicitly using of union members with constructors, destructors - or assignment - operations. - - So we use a set() method instead of the assignment operator. Ugly, - but hey, - that's life. - - src/hb-open-type-private.hh | 8 ++++---- - src/hb-ot-layout-common-private.hh | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 8b9b866d3e495c186f0530fcf4e00ffcdc170d3f -Author: Behdad Esfahbod -Date: Thu Nov 19 20:27:57 2009 -0500 - - Fix warning - - src/hb-ot-layout-gdef-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c65b26acf28bd1a5b346fd8f6f28bec1f7d17a2a -Author: Behdad Esfahbod -Date: Wed Nov 18 11:27:33 2009 -0500 - - Use autoconf FLEXIBLE_ARRAY_MEMBER when available - - configure.ac | 2 ++ - src/hb-ot-layout-gpos-private.hh | 4 ++-- - src/hb-private.h | 13 ++++++++++--- - 3 files changed, 14 insertions(+), 5 deletions(-) - -commit d33f674cb793af40f1612df3660b138383f2de95 -Author: Behdad Esfahbod -Date: Wed Nov 18 09:47:44 2009 -0500 - - Add Mongolian variation selectors - - src/hb-shape.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit d6387757de2c27867d6f57c4ee7c4ef436b3a74f -Author: Behdad Esfahbod -Date: Wed Nov 11 17:15:03 2009 -0500 - - Fix sanitize - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 636f017e387d46d4083c9f9ee57647a94dc5dc6d -Author: Behdad Esfahbod -Date: Tue Nov 10 12:56:35 2009 -0500 - - Remove obsolete TODO item - - src/hb-open-file-private.hh | 2 -- - 1 file changed, 2 deletions(-) - -commit bf2b25dd8591e92f3944c763641b613a70c379a7 -Author: Behdad Esfahbod -Date: Fri Nov 6 19:52:47 2009 -0500 - - Remove done item - - src/hb-shape.c | 1 - - 1 file changed, 1 deletion(-) - -commit 4a8605315901e0ff1e6e09437a92dd5ac39164cc -Author: Behdad Esfahbod -Date: Fri Nov 6 19:52:01 2009 -0500 - - Reverse buffer at the end if RTL - - src/hb-shape.c | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit ff44f88df2c46920f3ec2384ef321a4c7bb0f6ef -Author: Behdad Esfahbod -Date: Fri Nov 6 19:48:16 2009 -0500 - - Handle shaping in non-native direction - - src/hb-buffer-private.h | 1 + - src/hb-buffer.c | 42 +++++++++++++++++-- - src/hb-buffer.h | 10 ++--- - src/hb-common.h | 11 +++++ - src/hb-shape.c | 38 +++++++++++++++-- - src/hb-unicode-private.h | 5 +++ - src/hb-unicode.c | 103 - +++++++++++++++++++++++++++++++++++++++++++++++ - 7 files changed, 196 insertions(+), 14 deletions(-) - -commit b4b4272c8d19ba3e0cb8f12b3b7d1590349e3d14 -Author: Behdad Esfahbod -Date: Fri Nov 6 17:46:33 2009 -0500 - - Oops, wrong change - - src/hb-ot-layout.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 52ea47767c7c35650ebddfba6ddc8203a3e33d3a -Author: Behdad Esfahbod -Date: Fri Nov 6 17:45:38 2009 -0500 - - Change order of font and face for API consistency - - src/hb-ot-layout.cc | 14 +++++++------- - src/hb-ot-layout.h | 14 +++++++------- - 2 files changed, 14 insertions(+), 14 deletions(-) - -commit f4f1fc970b3e37d9903cbf5e05bbd38be4df3047 -Author: Behdad Esfahbod -Date: Fri Nov 6 17:42:38 2009 -0500 - - Remove debug info that crept in - - src/hb-ot-layout.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit aa196d6026b496ec70be3d3588cc8cd2b8ccdb36 -Author: Behdad Esfahbod -Date: Fri Nov 6 17:23:31 2009 -0500 - - [GSUB] More ligature/component fixing - - We can only reuse the ligid if it belongs to a previous ligature, - not a - component! - - src/hb-ot-layout-gsub-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 25e7ef704633447f109b148620336c42d6fb310e -Author: Behdad Esfahbod -Date: Fri Nov 6 17:21:01 2009 -0500 - - Add _hb_buffer_add_output_glyphs() that takes codepoint_t* - - src/hb-buffer-private.h | 10 ++++++++- - src/hb-buffer.c | 45 - ++++++++++++++++++++++++++++++++++++++-- - src/hb-ot-layout-gsub-private.hh | 16 +++++++------- - 3 files changed, 60 insertions(+), 11 deletions(-) - -commit 9db8ad75317d589807e7725455f49cafece58d5d -Author: Behdad Esfahbod -Date: Fri Nov 6 16:47:31 2009 -0500 - - Add hb_ot_layout_position_finish() - - We expect buffer to be setup with default positions before GPOS. - - src/hb-buffer-private.h | 6 +---- - src/hb-buffer.h | 11 +-------- - src/hb-ot-layout-gpos-private.hh | 8 +++---- - src/hb-ot-layout.cc | 52 - ++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout.h | 16 +++++++++---- - 5 files changed, 69 insertions(+), 24 deletions(-) - -commit edb54e9aeca25f4120a69ed3d5562cbb68fdb348 -Author: Behdad Esfahbod -Date: Fri Nov 6 15:19:22 2009 -0500 - - Fix FT_Face finalizer call - - src/hb-ft.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3d14528b8b2e7da425a9df7057fc9fb326d8298c -Author: Behdad Esfahbod -Date: Fri Nov 6 15:13:17 2009 -0500 - - Rename hb_buffer_get_len() to hb_buffer_get_length() - - src/hb-buffer.c | 2 +- - src/hb-buffer.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 1ff7775051559a8ca442be3938450c7ed3817806 -Author: Behdad Esfahbod -Date: Fri Nov 6 13:52:57 2009 -0500 - - Minor. - - src/hb-shape.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 3648bdf5b221adfe01ad99714de420b49964921e -Author: Behdad Esfahbod -Date: Thu Nov 5 20:17:53 2009 -0500 - - Fix FT_Face generic finalizer - - src/hb-ft.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit 5a11c875d8c95d480e6f32b57e969ee34ca1940d -Author: Behdad Esfahbod -Date: Thu Nov 5 20:08:17 2009 -0500 - - Cosmetic - - src/hb-blob.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -commit 44533e773f75b9a1171d884fcbe91a2f3879e2d8 -Author: Behdad Esfahbod -Date: Thu Nov 5 19:58:02 2009 -0500 - - Fix warning - - src/hb-object-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bcc0406a525ca3fe597aec5f2a97e5c50965d49c -Author: Behdad Esfahbod -Date: Thu Nov 5 19:54:23 2009 -0500 - - include errno.h - - src/hb-blob.c | 1 + - 1 file changed, 1 insertion(+) - -commit 799b3c375ad0e1293fd37a0e3a0d422a3166dcd8 -Author: Behdad Esfahbod -Date: Thu Nov 5 19:37:58 2009 -0500 - - Add debugging to object lifecycle - - src/hb-object-private.h | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -commit 25edb940ab050545f47a06648e73c192fa213548 -Author: Behdad Esfahbod -Date: Thu Nov 5 19:20:06 2009 -0500 - - Cosmetic - - src/hb-ft.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 850dc5bb551409bb9bf6113ec2199bb3fb905e43 -Author: Behdad Esfahbod -Date: Thu Nov 5 18:26:52 2009 -0500 - - Return 0 from get_glyph_nil - - src/hb-font.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 85555a953376ee68a8fcc64485e74d44a353577b -Author: Behdad Esfahbod -Date: Thu Nov 5 18:25:56 2009 -0500 - - Initialize font->klass - - src/hb-font.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit bcd26bd7b1c96057bf154d7d50a61018d40f0d29 -Author: Behdad Esfahbod -Date: Thu Nov 5 18:03:26 2009 -0500 - - Add TODO item - - src/hb-ft.c | 1 + - 1 file changed, 1 insertion(+) - -commit f4281e0a92a40746fa630fb15b877adaf3ff15b1 -Author: Behdad Esfahbod -Date: Thu Nov 5 17:58:41 2009 -0500 - - Fix ref counting - - src/hb-ft.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit 6358ff45ae8cfc0b58b4976619319e3dde43add2 -Author: Behdad Esfahbod -Date: Thu Nov 5 17:39:16 2009 -0500 - - Add hb_ft_face_create_cached - - src/hb-ft.c | 16 ++++++++++++++++ - src/hb-ft.h | 3 +++ - 2 files changed, 19 insertions(+) - -commit 2027f74b286cabe3c60c275170c4f4b437a30f55 -Author: Behdad Esfahbod -Date: Thu Nov 5 16:34:47 2009 -0500 - - Add default positioning to hb-shape - - src/hb-shape.c | 28 ++++++++++++++++++++++++---- - 1 file changed, 24 insertions(+), 4 deletions(-) - -commit c3f9f7e59d865f8664862b7ca99d9a3a9221e456 -Author: Behdad Esfahbod -Date: Thu Nov 5 16:16:14 2009 -0500 - - Fix MarkMark issue with ligid and components - - src/hb-ot-layout-gpos-private.hh | 11 ++++++----- - src/hb-ot-layout-gsub-private.hh | 6 +----- - 2 files changed, 7 insertions(+), 10 deletions(-) - -commit d0351314cd29fbdf0efb5c7f89a569648f7a7fc7 -Author: Behdad Esfahbod -Date: Thu Nov 5 16:16:06 2009 -0500 - - Include stdio.h if debugging - - src/hb-blob.c | 4 ++++ - src/hb-open-type-private.hh | 1 + - src/hb-ot-layout-gsubgpos-private.hh | 1 + - 3 files changed, 6 insertions(+) - -commit 2e336692913405976392bf505028481a5caa53b4 -Author: Behdad Esfahbod -Date: Thu Nov 5 13:55:41 2009 -0500 - - Add hb_font_get_* - - src/hb-font.cc | 35 +++++++++++++++++++++++++++++++++++ - src/hb-font.h | 18 ++++++++++++++++++ - src/hb-shape.c | 2 +- - 3 files changed, 54 insertions(+), 1 deletion(-) - -commit 9bef3611f07b45ba8199a4a339c72f49d266216a -Author: Behdad Esfahbod -Date: Thu Nov 5 12:20:11 2009 -0500 - - Rename [xy]_pos to [xy]_offset since we don't accumulate positions - - src/hb-buffer-private.h | 4 ++-- - src/hb-buffer.h | 4 ++-- - src/hb-font.h | 4 ++-- - src/hb-ft.c | 10 +++++----- - src/hb-ot-layout-gpos-private.hh | 40 - ++++++++++++---------------------------- - src/hb-shape.c | 14 +++++++------- - src/hb-shape.h | 4 ++-- - 7 files changed, 32 insertions(+), 48 deletions(-) - -commit 2daa47e9cdbfb027f76765301b3a78950e92eb09 -Author: Behdad Esfahbod -Date: Thu Nov 5 12:08:34 2009 -0500 - - Cosmetic - - src/hb-shape.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2f50d873680ce0a43b6ec79df1ac946b91f31e63 -Author: Behdad Esfahbod -Date: Wed Nov 4 21:07:03 2009 -0500 - - Start filling hb_shape() in - - src/hb-buffer-private.h | 1 + - src/hb-shape.c | 40 +++++++++++++++++++++++++++++++++++++++- - 2 files changed, 40 insertions(+), 1 deletion(-) - -commit ae070b7d39d03bd8bc1244f687b24db505f4af3f -Author: Behdad Esfahbod -Date: Wed Nov 4 20:29:54 2009 -0500 - - Add script and language to buffer - - TODO | 1 - - src/hb-buffer-private.h | 6 +++--- - src/hb-buffer.c | 26 ++++++++++++++++++++++++++ - src/hb-buffer.h | 15 ++++++++++++++- - 4 files changed, 43 insertions(+), 5 deletions(-) - -commit 8a3511ac6c795226699c2b36e03401ecdf88f5f8 -Author: Behdad Esfahbod -Date: Wed Nov 4 19:45:39 2009 -0500 - - Add hb_language_t as well as language/script conversion to OT tags - - src/Makefile.am | 4 + - src/hb-language.c | 113 +++++++++ - src/hb-language.h | 44 ++++ - src/hb-ot-layout.cc | 6 +- - src/hb-ot-layout.h | 4 +- - src/hb-ot-tag.c | 662 - ++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-tag.h | 49 ++++ - src/hb-ot.h | 1 + - src/hb-private.h | 3 + - src/hb.h | 1 + - 10 files changed, 882 insertions(+), 5 deletions(-) - -commit 4591753ad4b5ec0224e3f1befdfe4fc5f6075562 -Author: Behdad Esfahbod -Date: Wed Nov 4 18:15:59 2009 -0500 - - Define ARRAY_LENGTH - - src/hb-private.h | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -commit 214ac7c1ff51b397d227832526f882e824cb9ea3 -Author: Behdad Esfahbod -Date: Wed Nov 4 18:12:32 2009 -0500 - - Another one - - src/hb-unicode.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1e91434569a9e9535ef021ca52b60b2e2af75d19 -Author: Behdad Esfahbod -Date: Wed Nov 4 18:12:09 2009 -0500 - - Minor - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 48de3730cdf91b9f6473509e22260a902ccec992 -Author: Behdad Esfahbod -Date: Wed Nov 4 16:59:50 2009 -0500 - - Fix previous commit, ouch! - - src/hb-open-type-private.hh | 12 ++++++++++++ - src/hb-ot-layout-common-private.hh | 12 ++++-------- - src/hb-ot-layout-gdef-private.hh | 12 ++++-------- - 3 files changed, 20 insertions(+), 16 deletions(-) - -commit e21899bc3593aa0d3adf64cee21c5de2ea219783 -Author: Behdad Esfahbod -Date: Wed Nov 4 16:36:14 2009 -0500 - - Fix array query API - - The array query APIs now all do: - - - Return the total number of items - - Take a start_offset, such that individual items can be fetched - - The _count IN/OUT variable always has number of items written - into the array upon return of the function - - TODO | 1 - - src/hb-ot-layout-common-private.hh | 59 ++++++++++++++----------- - src/hb-ot-layout-gdef-private.hh | 84 - +++++++++++++++++++++--------------- - src/hb-ot-layout-gsubgpos-private.hh | 14 +++--- - src/hb-ot-layout.cc | 40 ++++++++++------- - src/hb-ot-layout.h | 24 +++++++---- - 6 files changed, 131 insertions(+), 91 deletions(-) - -commit 3b59306b858d31d97be0ea8c64461de1d0d03572 -Author: Behdad Esfahbod -Date: Wed Nov 4 15:48:32 2009 -0500 - - Finish FT glue. Rough and untested - - src/hb-font.cc | 2 +- - src/hb-font.h | 2 +- - src/hb-ft.c | 114 - ++++++++++++++++++++++++++++++--------------------------- - 3 files changed, 63 insertions(+), 55 deletions(-) - -commit f8be443aecd54b479470e6559b1dfbc8f33c5f55 -Author: Behdad Esfahbod -Date: Tue Nov 3 20:28:27 2009 -0500 - - Add TODO item - - TODO | 1 + - 1 file changed, 1 insertion(+) - -commit 7951279b4a52b48f13631e7838dbc180c7249ea4 -Author: Behdad Esfahbod -Date: Tue Nov 3 20:27:05 2009 -0500 - - Implement nil font functions - - TODO | 1 + - src/hb-font-private.h | 8 ++--- - src/hb-font.cc | 72 - +++++++++++++++++++++++++++++++++++++--- - src/hb-font.h | 9 +++-- - src/hb-ot-layout-gpos-private.hh | 7 ++-- - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-private.h | 18 +++++----- - 7 files changed, 91 insertions(+), 26 deletions(-) - -commit 8fb3d1aa4e613cdf965a83bd650c668884c58ad8 -Author: Behdad Esfahbod -Date: Tue Nov 3 18:34:20 2009 -0500 - - Start ft glue - - TODO | 3 - - src/Makefile.am | 16 ++++- - src/hb-font-private.h | 4 +- - src/hb-font.cc | 17 ++++- - src/hb-font.h | 6 +- - src/hb-ft.c | 192 - ++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-ft.h | 52 ++++++++++++++ - src/hb-glib.h | 2 - - src/hb-icu.h | 2 - - src/hb.h | 4 +- - 10 files changed, 281 insertions(+), 17 deletions(-) - -commit d94647e2cd187bf4a4c8fb1c0c15c3d23c1293ac -Author: Behdad Esfahbod -Date: Tue Nov 3 16:35:10 2009 -0500 - - Add ICU glue - - configure.ac | 8 +- - src/Makefile.am | 23 +++++- - src/hb-icu.c | 221 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-icu.h | 41 +++++++++++ - 4 files changed, 288 insertions(+), 5 deletions(-) - -commit b7dd4b945b4ec384526439b365a25739bf9cd2df -Author: Behdad Esfahbod -Date: Tue Nov 3 15:21:15 2009 -0500 - - Fix hb_be_uint16() - - src/hb-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cd7555eef27cb18857c0c06d2afdaf3a354a3c15 -Author: Behdad Esfahbod -Date: Tue Nov 3 15:16:10 2009 -0500 - - Namespace MSVC defines in public header - - src/hb-common.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 5ebabecef382c3e8b0a2a5657b2c01f7ff37d796 -Author: Behdad Esfahbod -Date: Tue Nov 3 15:15:07 2009 -0500 - - Move unicode_funcs to buffer - - TODO | 1 - - src/hb-buffer-private.h | 12 +++++++++++- - src/hb-buffer.c | 47 - ++++++++++++++++++++++++++++++++++++++--------- - src/hb-buffer.h | 10 ++++++++++ - src/hb-font-private.h | 3 --- - src/hb-font.cc | 17 ----------------- - src/hb-font.h | 9 ++++----- - 7 files changed, 63 insertions(+), 36 deletions(-) - -commit d5a8e46099e363d928b54de104126b1b34ba401c -Author: Behdad Esfahbod -Date: Tue Nov 3 15:14:40 2009 -0500 - - [Makefile] Install hb-unicode.h - - Separate OT headers also. - - src/Makefile.am | 27 ++++++++++++++++----------- - 1 file changed, 16 insertions(+), 11 deletions(-) - -commit 63d7a41dd0704a7e89bd2872ad096f470f51866a -Author: Behdad Esfahbod -Date: Tue Nov 3 15:14:08 2009 -0500 - - [TODO] Add item for fixing buffer error handling - - TODO | 1 + - 1 file changed, 1 insertion(+) - -commit 21d0fce3d5364c91e5582bd530210f03e054d1a4 -Author: Behdad Esfahbod -Date: Tue Nov 3 14:28:32 2009 -0500 - - Add check for not linking to libstdc++ - - TODO | 3 +-- - src/Makefile.am | 4 ++++ - src/check-libstdc++.sh | 28 ++++++++++++++++++++++++++++ - 3 files changed, 33 insertions(+), 2 deletions(-) - -commit ca95ce460adf2ca6901595d4a6107fd000d90151 -Author: Behdad Esfahbod -Date: Tue Nov 3 14:18:33 2009 -0500 - - Use the C linker, not C++ linker - - Such that we don't link to libstdc++. - - src/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit eb4ebda2d10637b966f42a4ed5cfaec46082a050 -Author: Behdad Esfahbod -Date: Tue Nov 3 14:09:32 2009 -0500 - - [configure] Fix check for FreeType - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cb0e99a5a76136c128faba1c27d7e7eac2f219ee -Author: Behdad Esfahbod -Date: Tue Nov 3 14:09:10 2009 -0500 - - [TODO] Remove obsolete item - - TODO | 2 -- - 1 file changed, 2 deletions(-) - -commit 3a59ec37c5576b711c7c36dcfa2a63f6c00a3f5c -Author: Behdad Esfahbod -Date: Tue Nov 3 11:36:06 2009 -0500 - - Add bunch of TODO items - - TODO | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -commit ffbe0a853d5e7defa85d0eef53814c22d1ecb412 -Author: Behdad Esfahbod -Date: Tue Nov 3 10:52:45 2009 -0500 - - More MSVC fixes from Jonathan Kew - - src/hb-common.h | 7 ++++++- - src/hb-private.h | 5 +++++ - 2 files changed, 11 insertions(+), 1 deletion(-) - -commit d3480ba37fbb5d4be75b094060f5b2f1ce98fb53 -Author: Behdad Esfahbod -Date: Tue Nov 3 10:47:29 2009 -0500 - - Don't use zero-sized arrays - - It's not part of the standard and MSVC doesn't like it. It makes - the code - a lot less elegant than it used to be, but I think it should work now. - - src/hb-open-file-private.hh | 4 +- - src/hb-open-type-private.hh | 36 +++++++++++------ - src/hb-ot-layout-common-private.hh | 33 ++++++++-------- - src/hb-ot-layout-gdef-private.hh | 14 +++---- - src/hb-ot-layout-gpos-private.hh | 76 - ++++++++++++++---------------------- - src/hb-ot-layout-gsub-private.hh | 44 ++++++++------------- - src/hb-ot-layout-gsubgpos-private.hh | 47 +++++++++++----------- - src/hb-private.h | 5 +++ - 8 files changed, 122 insertions(+), 137 deletions(-) - -commit 6bec81aa3a58b8be255568b2ea63b7854e1b0ea7 -Author: Behdad Esfahbod -Date: Mon Nov 2 19:17:36 2009 -0500 - - Cosmetic - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f94cf6b969281cf8a7f701ff26ea4f134ff9746e -Author: Behdad Esfahbod -Date: Mon Nov 2 18:55:19 2009 -0500 - - Another try at build without glib - - configure.ac | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 2f3e69f3cb7e571cc62b0840d0b3f2072b29345a -Author: Behdad Esfahbod -Date: Mon Nov 2 18:53:15 2009 -0500 - - Fix build without glib, again - - src/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit d03f81865914b40e941bf680557c0d8f98e30ad5 -Author: Behdad Esfahbod -Date: Mon Nov 2 18:52:21 2009 -0500 - - Disable configure cache - - autogen.sh | 1 - - 1 file changed, 1 deletion(-) - -commit a6451aa626fa5850d7c3b716bd52126995154e27 -Author: Behdad Esfahbod -Date: Mon Nov 2 18:35:12 2009 -0500 - - We don't really use gthread directly - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 63a792a811e0ad69d05e8805d4f347bd533db4c3 -Author: Behdad Esfahbod -Date: Mon Nov 2 18:33:52 2009 -0500 - - Update Makefile to build without glib - - src/Makefile.am | 12 +++++++++--- - src/hb-glib.c | 2 ++ - 2 files changed, 11 insertions(+), 3 deletions(-) - -commit 68a2c771e2b923461a552bf3673e9e8245e1bfea -Author: Behdad Esfahbod -Date: Mon Nov 2 18:31:53 2009 -0500 - - Build without glib - - Thready-safety disabled in that case, until we add support for - pthread, etc. - Fun... - - src/hb-private.h | 19 +++++++++++++++++-- - 1 file changed, 17 insertions(+), 2 deletions(-) - -commit cc4c096a7e08ae96b3030fe27f871ce5b797f370 -Author: Behdad Esfahbod -Date: Mon Nov 2 18:13:17 2009 -0500 - - MSVC has no stdint.h - - src/hb-common.h | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -commit 9a204c7ab57ca0a866c72e1431c54a8883b15605 -Author: Behdad Esfahbod -Date: Mon Nov 2 18:11:55 2009 -0500 - - Remove use of GINT16_FROM_BE - - src/hb-private.h | 10 ++-------- - 1 file changed, 2 insertions(+), 8 deletions(-) - -commit 1f0ceeb8cf2fad0a0dfd338ce1472470a81789d4 -Author: Behdad Esfahbod -Date: Mon Nov 2 16:28:39 2009 -0500 - - Install library - - autogen.sh | 2 +- - src/Makefile.am | 5 ++--- - 2 files changed, 3 insertions(+), 4 deletions(-) - -commit 5932f8f7c3b73ade3752020351fa8b6a9a3bf500 -Author: Behdad Esfahbod -Date: Mon Nov 2 16:38:41 2009 -0500 - - Generate ChangeLog - - Makefile.am | 39 +++++++++++++++++++++++++++++++++++++++ - 1 file changed, 39 insertions(+) - -commit 29aa40018301a4f138cd5e73463079c7704bf3ac -Author: Behdad Esfahbod -Date: Mon Nov 2 16:28:39 2009 -0500 - - Add build system - - AUTHORS | 0 - src/COPYING => COPYING | 0 - Makefile.am | 3 + - NEWS | 0 - src/README => README | 0 - src/TODO => TODO | 0 - autogen.sh | 189 - +++++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 40 +++++++++++ - git.mk | 184 - +++++++++++++++++++++++++++++++++++++++++++++++ - harfbuzz.pc.in | 11 +++ - src/.gitignore | 1 - - src/Makefile.ng | 11 --- - 12 files changed, 427 insertions(+), 12 deletions(-) - -commit c09ed9801ead002d6f8e507ce664b83707b202e9 -Author: Behdad Esfahbod -Date: Thu Oct 29 03:08:42 2009 -0400 - - [HB] Add glyph_metrics typedef - - src/hb-font.h | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 91b1e03e0312be2a7a165308239b40449e3ab360 -Author: Behdad Esfahbod -Date: Thu Oct 29 03:05:18 2009 -0400 - - [HB] Add point_index to get_contour_point() - - Pointed out by Keith Stribley on HarfBuzz list. - - src/hb-font.h | 1 + - 1 file changed, 1 insertion(+) - -commit aa87d951739f6beacb66daa235cd033fdcfcadd7 -Author: Behdad Esfahbod -Date: Thu Oct 29 03:00:44 2009 -0400 - - [HB] Fix lookup_flag ignoring - - Reported by Keith Stribley on HarfBuzz list. - - src/hb-ot-layout-common-private.hh | 1 + - src/hb-ot-layout.cc | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit 52e9a71d578c5171bbb0f4bfc1b70841c3270328 -Author: Behdad Esfahbod -Date: Mon Sep 21 13:58:56 2009 -0400 - - [HB] Add comment - - src/hb-ot-layout-gsubgpos-private.hh | 5 +++++ - 1 file changed, 5 insertions(+) - -commit f9c0a2dad09cd168fb28cdee09b4303f307ea56d -Author: Behdad Esfahbod -Date: Mon Sep 21 13:43:54 2009 -0400 - - [HB] Fix apply_lookup() loop - - Part of Bug 595539 - Regressions in rendering certain Thai sequences - with - OpenType font - - src/hb-ot-layout-gsubgpos-private.hh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit c0ab43c05833e8fc06d770a89370bec58a627e74 -Author: Behdad Esfahbod -Date: Mon Sep 21 13:40:38 2009 -0400 - - [HB] Fix bug in chain_context_lookup() invocations - - Part of Bug 595539 - Regressions in rendering certain Thai sequences - with - OpenType font - - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit e6bd4e93bd5722249ab977dfa98bdc8eb765318c -Author: Behdad Esfahbod -Date: Sun Aug 30 21:02:28 2009 -0400 - - [HB] Add TODO item - - src/TODO | 1 + - 1 file changed, 1 insertion(+) - -commit 3e2401f6c53d2b047954d75c37aef5e5e7cdc51a -Author: Behdad Esfahbod -Date: Fri Aug 28 17:17:11 2009 -0400 - - [HB] Rename DEBUG to TRACE where appropriate - - src/hb-open-file-private.hh | 8 ++-- - src/hb-open-type-private.hh | 50 ++++++++++---------- - src/hb-ot-layout-common-private.hh | 32 ++++++------- - src/hb-ot-layout-gdef-private.hh | 20 ++++---- - src/hb-ot-layout-gpos-private.hh | 92 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.hh | 72 ++++++++++++++-------------- - src/hb-ot-layout-gsubgpos-private.hh | 78 +++++++++++++++--------------- - 7 files changed, 176 insertions(+), 176 deletions(-) - -commit 0535b50f436f3dac85e6df1761957f86c2bd7213 -Author: Behdad Esfahbod -Date: Fri Aug 28 17:14:33 2009 -0400 - - [HB] Add GSUB/GPOS tracing - - src/hb-ot-layout-gpos-private.hh | 29 ++++++++++++++++++--- - src/hb-ot-layout-gsub-private.hh | 28 ++++++++++++++++++--- - src/hb-ot-layout-gsubgpos-private.hh | 49 - ++++++++++++++++++++++++++++++++++-- - 3 files changed, 98 insertions(+), 8 deletions(-) - -commit 95e202403ffa543c817f45cca21fbc116eb8e807 -Author: Behdad Esfahbod -Date: Fri Aug 28 16:31:20 2009 -0400 - - [HB] Allow enabling different debug facilities individually - - src/hb-blob.c | 28 ++++++++++++++++------------ - src/hb-open-type-private.hh | 32 ++++++++++++++++++-------------- - 2 files changed, 34 insertions(+), 26 deletions(-) - -commit 37006bd1bd107ac1a1c1b131579e9c494ba3a20f -Author: Behdad Esfahbod -Date: Fri Aug 28 09:46:14 2009 -0400 - - Fix stupid array growing bug - - src/hb-ot-layout.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 9897749113f76dc26a83bfae8de62e55d384fcad -Author: Behdad Esfahbod -Date: Thu Aug 27 01:32:17 2009 -0400 - - [HB] Simplify counting - - src/hb-ot-layout.cc | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit 81a5c4df94e7c6066314d5fe75bbaf24483bc022 -Author: Behdad Esfahbod -Date: Thu Aug 27 00:21:04 2009 -0400 - - [HB] Indent - - src/hb-blob.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit c91facd83b5dc3b9aed75617c7c35585ff18889f -Author: Behdad Esfahbod -Date: Wed Aug 26 18:53:43 2009 -0400 - - [HB] Bug 593231 - < c99 compiler dislikes ValueRecord - - src/hb-ot-layout-gpos-private.hh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit f0c7540c4e217a7354072365a7301453d1e25b80 -Author: Behdad Esfahbod -Date: Thu Aug 20 14:01:37 2009 -0400 - - Bug 592484 - invalid write in HB - - Fix off-by-one. - - src/hb-ot-layout.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b614b004723ead60849dd37e7ba2faee67cebd93 -Author: Behdad Esfahbod -Date: Thu Aug 20 13:07:50 2009 -0400 - - [HB][glib] Make glib unicode funcs static - - src/hb-glib.c | 36 +++++++++++++++++------------------- - 1 file changed, 17 insertions(+), 19 deletions(-) - -commit 8b5346130425c7c101f6ff2432874ba2fd372edc -Author: Behdad Esfahbod -Date: Wed Aug 19 18:16:50 2009 -0400 - - [HB] Fix more casts - - src/hb-open-type-private.hh | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 9d2e02db74deb3b3b92beab96f112cc387c8bd88 -Author: Behdad Esfahbod -Date: Wed Aug 19 18:07:36 2009 -0400 - - [HB] Rename CAIRO_ in macro prefix to HB_ - - Hiss! - - src/hb-private.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 388ad037ff399c23c5e24bbcede27e0e35bed07e -Author: Behdad Esfahbod -Date: Wed Aug 19 16:45:41 2009 -0400 - - [HB] Remove HB_MEMORY_MODE_READONLY_NEVER_DUPLICATE - - Unlike the rest of the memory-mode enum, this one didn't only - describe the access mode of the input memory region. Remove it. - - If someone wants to inhibit duplicating, they can lock the blob - and throw away the key. - - Based on mailing list discussion with Carl Worth. - - src/hb-blob.c | 51 +++++++++++++++++++++++++-------------------------- - src/hb-blob.h | 1 - - 2 files changed, 25 insertions(+), 27 deletions(-) - -commit 977eeb714454630bd045bb11f58ff6397f10b143 -Author: Behdad Esfahbod -Date: Wed Aug 19 16:17:24 2009 -0400 - - [HB] s/writeable/writable/g - - src/hb-blob.c | 38 +++++++++++++++++++------------------- - src/hb-blob.h | 10 +++++----- - src/hb-open-type-private.hh | 6 +++--- - 3 files changed, 27 insertions(+), 27 deletions(-) - -commit 2f5931e404cb56e31d24b2eb7ff0a849fb077b55 -Author: Behdad Esfahbod -Date: Wed Aug 19 16:07:40 2009 -0400 - - [HB] Hide lig_id and component members of hb_glyph_info_t - - src/hb-buffer.h | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 6b600dd6199104cff01b3fa43d2abb52ae4319ea -Author: Behdad Esfahbod -Date: Wed Aug 19 14:45:24 2009 -0400 - - [HB] Fix typo - - src/hb-font.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 32c65a5ca3bde673bf2aa8fca911dd32914d3122 -Author: Behdad Esfahbod -Date: Tue Aug 18 18:37:36 2009 -0400 - - [HB] Add font funcs prototypes - - src/hb-font-private.h | 2 -- - src/hb-font.cc | 14 ++++++-------- - src/hb-font.h | 23 ++++++++++++++++------- - 3 files changed, 22 insertions(+), 17 deletions(-) - -commit 8f034d5849627ee95a5889fa34c9ba294fff13ca -Author: Behdad Esfahbod -Date: Tue Aug 18 16:41:59 2009 -0400 - - Fix a few other pedantic warnings - - src/hb-ot-layout-common-private.hh | 2 +- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 4 ++-- - src/hb-ot-layout-gsub-private.hh | 2 +- - 4 files changed, 5 insertions(+), 5 deletions(-) - -commit 864e2560b627f1e73be3b0635e02f00844cb67c3 -Author: Behdad Esfahbod -Date: Tue Aug 18 16:38:48 2009 -0400 - - [HB] Fix pedantic warnings - - src/hb-blob.h | 2 +- - src/hb-buffer-private.h | 18 +++++++++--------- - src/hb-buffer.h | 6 +++--- - 3 files changed, 13 insertions(+), 13 deletions(-) - -commit 3e09722214d9bbcc9014409342072c79d0c4447f -Author: Behdad Esfahbod -Date: Tue Aug 18 16:32:31 2009 -0400 - - [HB] Fix more wrong method signatures - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 822e99fe9ae920df41a0bd3f1125495c2ea96b45 -Author: Behdad Esfahbod -Date: Tue Aug 18 16:27:48 2009 -0400 - - [HB] Fix wrong method signature - - src/hb-ot-layout-common-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4ff2a58952f010c6252f06e5f404d6840d257250 -Author: Behdad Esfahbod -Date: Tue Aug 18 15:49:23 2009 -0400 - - Bug 592194 - Fix missing _SC_PAGE_SIZE macro - - Autoconfiscate a simple call to mprotect() even more. - - src/hb-blob.c | 94 - ++++++++++++++++++++++++++++++++++++++--------------------- - 1 file changed, 60 insertions(+), 34 deletions(-) - -commit 3c69bd46e27069fac0bfdefdecf5492c17eb01df -Author: Behdad Esfahbod -Date: Mon Aug 17 16:48:13 2009 -0400 - - [HB] Avoid int overflow in GPOS - - Bug 592036 - integer overflow bug causes misrendering of Nepali - characters - - src/hb-ot-layout-gpos-private.hh | 20 ++++++++++---------- - src/hb-private.h | 3 +++ - 2 files changed, 13 insertions(+), 10 deletions(-) - -commit b2b18ef43c5bac6a5bb8412da7c9a37f815d4deb -Author: Behdad Esfahbod -Date: Fri Aug 14 19:37:18 2009 -0400 - - [HB] Simplify loop - - src/hb-ot-layout-gpos-private.hh | 31 ++++++++++++++----------------- - 1 file changed, 14 insertions(+), 17 deletions(-) - -commit b41f210d12d8df48e645823463343f7e14b0ddd0 -Author: Behdad Esfahbod -Date: Fri Aug 14 19:33:24 2009 -0400 - - [HB] Merge mark positionin code between three types of lookups - - src/hb-ot-layout-gpos-private.hh | 95 - ++++++++++++---------------------------- - 1 file changed, 29 insertions(+), 66 deletions(-) - -commit cd33cb9ed84308da72bd7c64b9355dc2410c63ec -Author: Behdad Esfahbod -Date: Fri Aug 14 18:42:42 2009 -0400 - - [HB] More minor shuffling - - src/hb-open-type-private.hh | 3 --- - src/hb-ot-layout-common-private.hh | 5 +++++ - 2 files changed, 5 insertions(+), 3 deletions(-) - -commit 80e2aa2e1bfa2c8ecedcfa4cce8cadeb15792ac3 -Author: Behdad Esfahbod -Date: Fri Aug 14 18:40:56 2009 -0400 - - [HB] Move code around - - src/hb-open-type-private.hh | 21 +++++++++++++++++++++ - src/hb-ot-layout-common-private.hh | 19 ------------------- - 2 files changed, 21 insertions(+), 19 deletions(-) - -commit 3564ee5216004d45d30b0ded61184cf8dde5dd89 -Author: Behdad Esfahbod -Date: Fri Aug 14 18:32:56 2009 -0400 - - [HB] Correctly sanitize LigatureAttach - - src/hb-open-type-private.hh | 14 ++++++++++---- - src/hb-ot-layout-common-private.hh | 4 ++++ - src/hb-ot-layout-gdef-private.hh | 4 ++-- - src/hb-ot-layout-gpos-private.hh | 6 +++--- - 4 files changed, 19 insertions(+), 9 deletions(-) - -commit cb71a2fb76c6ddee050f775eb299ee44230c3ac9 -Author: Behdad Esfahbod -Date: Fri Aug 14 18:14:03 2009 -0400 - - [HB] Simplify MarkBase and MarkLig too - - src/hb-ot-layout-gpos-private.hh | 127 - +++++++++++++++------------------------ - 1 file changed, 48 insertions(+), 79 deletions(-) - -commit dfa54f4440960c39d37ef02fff4c0d9eb315d4b4 -Author: Behdad Esfahbod -Date: Fri Aug 14 17:53:31 2009 -0400 - - [HB] Simplify MarkMark - - src/hb-ot-layout-gpos-private.hh | 29 ++++++++++++++++------------- - 1 file changed, 16 insertions(+), 13 deletions(-) - -commit 815a73e4202ca17677f12e862b70ca8724cf2f57 -Author: Behdad Esfahbod -Date: Fri Aug 14 17:31:16 2009 -0400 - - [HB] Fix possible int overflows during sanitize - - src/TODO | 1 - - src/hb-open-type-private.hh | 22 ++++++++++++++++++++++ - src/hb-ot-layout-gpos-private.hh | 15 ++++++++------- - 3 files changed, 30 insertions(+), 8 deletions(-) - -commit ae728e51e94d18d731b7c8dc524da1a4f427d63b -Author: Behdad Esfahbod -Date: Fri Aug 14 16:41:00 2009 -0400 - - [HB] Debug output for SANITIZE_MEM() - - src/hb-open-type-private.hh | 34 +++++++++++++++++++++++----------- - 1 file changed, 23 insertions(+), 11 deletions(-) - -commit 41895506cb6a41b1a833866f8822261ea449ea0b -Author: Behdad Esfahbod -Date: Fri Aug 14 16:25:33 2009 -0400 - - [HB] Use inline function for SANITIZE_MEM() - - src/hb-open-type-private.hh | 33 ++++++++++++++++++++------------- - 1 file changed, 20 insertions(+), 13 deletions(-) - -commit 95528131b5ab9fc9e265ace715832135ebd457a4 -Author: Behdad Esfahbod -Date: Fri Aug 14 16:17:32 2009 -0400 - - [HB] Use SANITIZE_THIS() when applicable - - src/hb-open-type-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 5769538abfe153c503da4801649493e57a9854c2 -Author: Behdad Esfahbod -Date: Fri Aug 14 16:12:22 2009 -0400 - - [HB] Add note about auditing sanitize code for overflows - - src/TODO | 1 + - src/hb-ot-layout-gpos-private.hh | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit 15232e26f4a89dab1b6de35ad9d3d16e75bf93d0 -Author: Behdad Esfahbod -Date: Thu Aug 13 17:13:25 2009 -0400 - - [HB] Add empty hb_shape() API - - src/Makefile.am | 2 ++ - src/hb-shape.c | 40 ++++++++++++++++++++++++++++++++++++++++ - src/hb-shape.h | 53 - +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 95 insertions(+) - -commit 2866d2974b6768e93cc7d473d14c5a8abae5f7fd -Author: Behdad Esfahbod -Date: Thu Aug 13 11:47:08 2009 -0400 - - [HB] Bitfield packing *is* very delicate - - Fix the second instance. - - src/hb-buffer.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ec90ee23b29aab187c3fa209970aa97434c84b1b -Author: Behdad Esfahbod -Date: Thu Aug 13 05:25:23 2009 -0400 - - Bug 591511 – hh-blob.c does not compile using mingw on windows - - Check for sys/mman.h, not mprotect(). - - src/hb-blob.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 12eae6d55d468ff2fbe2bc12bec188d313c671f9 -Author: Behdad Esfahbod -Date: Thu Aug 13 05:20:46 2009 -0400 - - [HB] Fix buffer sizing issue with mingw gcc - - Bit field packing is a delicate field. Issue reported in comment - 3 here: - http://bugzilla.gnome.org/show_bug.cgi?id=591511 - - src/hb-buffer-private.h | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit 6936706cd77f96961a1239d0c9dc8ede64d7f06d -Author: Behdad Esfahbod -Date: Wed Aug 12 19:45:50 2009 -0400 - - Bug 591413 – needs to link with libstdc++ - - Enforce -fno-exceptions better. - - src/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c486ea9c3582710474c1085c21c1dc5e2700adc3 -Author: Behdad Esfahbod -Date: Wed Aug 12 19:36:29 2009 -0400 - - Bug 591511 – hb-blob.c does not compile using mingw on windows - - Only call mprotect() when available. For optimal performance, a win32 - way to make memory writeable needs to be added. - - src/hb-blob.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit a579584594f1ca4781f1c5b92ad78513c0b37480 -Author: Behdad Esfahbod -Date: Wed Aug 12 19:23:16 2009 -0400 - - [HB] Add comment - - src/hb-buffer-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b6e66ee102eb5b64d945e5a73ab63fe8cac5edcb -Author: Behdad Esfahbod -Date: Wed Aug 12 16:50:28 2009 -0400 - - [HB] Always clear positions if dirty, before returning to user - - src/hb-buffer.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit e4679d9fae43f3219c476c5b9e411d1f5d0d5bae -Author: Behdad Esfahbod -Date: Wed Aug 12 16:47:27 2009 -0400 - - [HB] Fix _hb_buffer_next() when positioning - - We were copying glyphs to output. This should not happen when in - GPOS. Back then it was fine, then some optimizations broke then - assumption. - - src/hb-buffer-private.h | 1 + - src/hb-buffer.c | 12 ++++++++++++ - 2 files changed, 13 insertions(+) - -commit 5ccf1ba339d6ffb4469f1c4f20d8d8d00012c857 -Author: Behdad Esfahbod -Date: Wed Aug 12 15:55:23 2009 -0400 - - [HB] Fixed signedness warnings - - src/hb-open-type-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f71329147bd3087588cfeafd6feff45f29d1ca7a -Author: Behdad Esfahbod -Date: Wed Aug 12 15:48:44 2009 -0400 - - [HB] Ouch. Fix compilation. - - src/hb-ot-layout-gpos-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0532ed160c678b5404b20594fd2ca9a640bf6a0a -Author: Behdad Esfahbod -Date: Wed Aug 12 15:40:04 2009 -0400 - - [HB] Fix invalid access / overflow on x86-64 - - Bug 591557 – [HB] crash scrolling the evolution message list - Bug 591576 – crashed with SIGSEGV at pango - - src/hb-ot-layout-gpos-private.hh | 21 ++++++++++++--------- - src/hb-ot-layout-gsub-private.hh | 2 -- - 2 files changed, 12 insertions(+), 11 deletions(-) - -commit 8d70312c7b899131c3aafa7a43527ef3ced33bfe -Author: Behdad Esfahbod -Date: Mon Aug 10 23:50:51 2009 -0400 - - [HB] Add hb_font_funcs_make_immutable() - - src/hb-font-private.h | 4 ++++ - src/hb-font.cc | 17 +++++++++++++++-- - src/hb-font.h | 3 +++ - 3 files changed, 22 insertions(+), 2 deletions(-) - -commit 3284d05da27c338d94f0da99df66d924cd9d6717 -Author: Behdad Esfahbod -Date: Mon Aug 10 23:45:57 2009 -0400 - - [HB] Add missing initializer - - src/hb-font.cc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 081819ea8b98c0a4b4dffe8d4aca3512f9798719 -Author: Behdad Esfahbod -Date: Mon Aug 10 23:40:28 2009 -0400 - - [OT] Hookup glib unicode funcs - - src/hb-buffer.c | 14 +++++++------- - src/hb-glib.c | 4 +++- - src/hb-glib.h | 4 ++-- - src/hb-ot-layout.cc | 10 +++++----- - src/hb-private.h | 2 +- - 5 files changed, 18 insertions(+), 16 deletions(-) - -commit 49f261df2aa753e8b09e97f7835e6a827f92970a -Author: Behdad Esfahbod -Date: Mon Aug 10 23:35:05 2009 -0400 - - [HB] Add hb-glib - - src/Makefile.am | 4 +++- - src/hb-glib.c | 56 - ++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-glib.h | 41 +++++++++++++++++++++++++++++++++++ - src/hb-unicode-private.h | 2 +- - src/hb-unicode.c | 10 ++++----- - src/hb-unicode.h | 6 +++--- - 6 files changed, 109 insertions(+), 10 deletions(-) - -commit eb27ec0cef0d92740875ab5035b53acc639e5fae -Author: Behdad Esfahbod -Date: Mon Aug 10 23:25:28 2009 -0400 - - [HB] Add hb_unicode_funcs_make_immutable() - - src/hb-unicode-private.h | 2 ++ - src/hb-unicode.c | 22 +++++++++++++++++----- - src/hb-unicode.h | 2 ++ - 3 files changed, 21 insertions(+), 5 deletions(-) - -commit af9e104028b7cdc1fbba0eb1d86cfa4d5258657f -Author: Behdad Esfahbod -Date: Mon Aug 10 23:21:33 2009 -0400 - - [HB] Use nil unicode funcs in nil face - - src/hb-font.cc | 7 ++++--- - src/hb-unicode-private.h | 3 +++ - src/hb-unicode.c | 2 +- - 3 files changed, 8 insertions(+), 4 deletions(-) - -commit 48910f8f0034c54b4e11cef3d08aa40e52c06b28 -Author: Behdad Esfahbod -Date: Mon Aug 10 23:05:05 2009 -0400 - - [HB] Initialize unicode funcs to nil getters - - src/hb-unicode.c | 29 +++++++++++++++++++---------- - 1 file changed, 19 insertions(+), 10 deletions(-) - -commit 04cc0a29ee1472c318c36efcd19b9c1a6657d9ea -Author: Behdad Esfahbod -Date: Mon Aug 10 22:58:56 2009 -0400 - - [HB] Flesh out Unicode funcs - - src/hb-object-private.h | 2 +- - src/hb-unicode-private.h | 12 ++++----- - src/hb-unicode.c | 67 - ++++++++++++++++++++++++++++++++++++++++++------ - src/hb-unicode.h | 3 --- - 4 files changed, 65 insertions(+), 19 deletions(-) - -commit 299f08961ffcea27e8def4f0743d0c86ef8dadf1 -Author: Behdad Esfahbod -Date: Mon Aug 10 22:47:57 2009 -0400 - - [HB] Implement buffer UTF-X input - - src/hb-buffer.c | 110 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-buffer.h | 12 +++---- - 2 files changed, 116 insertions(+), 6 deletions(-) - -commit 1b7b97f28ac192006ca5b6d1cc9fbc80fa2bdb55 -Author: Behdad Esfahbod -Date: Mon Aug 10 21:10:37 2009 -0400 - - [HB] Add buffer UTF-X API - - src/hb-buffer.h | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -commit fbaf8ffa098bd2b6fb4f4bc2d04b360a319c4af5 -Author: Behdad Esfahbod -Date: Mon Aug 10 20:59:25 2009 -0400 - - [HB] Add hb_buffer_reverse() - - src/hb-buffer.c | 32 +++++++++++++++++++++++++++++--- - src/hb-buffer.h | 7 +++++++ - 2 files changed, 36 insertions(+), 3 deletions(-) - -commit cbe5a4e08e6c2ccfdf98e630d48ec9da69374516 -Author: Behdad Esfahbod -Date: Mon Aug 10 20:24:49 2009 -0400 - - [HB] Reuse the positions array as alt string array - - src/hb-buffer-private.h | 1 - - src/hb-buffer.c | 28 +++++++++------------------- - 2 files changed, 9 insertions(+), 20 deletions(-) - -commit 5c44188455ca1b696aa24b20c3a83877dfae2fb2 -Author: Behdad Esfahbod -Date: Mon Aug 10 20:05:16 2009 -0400 - - [HB] Start adding Unicode funcs - - src/Makefile.am | 3 + - src/hb-font-private.h | 29 ++----- - src/hb-font.cc | 163 ++++++++++------------------------- - src/hb-font.h | 140 ++++++++++-------------------- - src/hb-unicode-private.h | 54 ++++++++++++ - src/hb-unicode.c | 89 +++++++++++++++++++ - src/hb-unicode.h | 220 - +++++++++++++++++++++++++++++++++++++++++++++++ - 7 files changed, 463 insertions(+), 235 deletions(-) - -commit 20b035dad41247076815a2bbb0346d63058b322f -Author: Behdad Esfahbod -Date: Mon Aug 10 19:00:36 2009 -0400 - - [HB] Put C++ inline's back - - Apparetly in C++, inline means a totally different thing. - - src/hb-open-file-private.hh | 14 +++++++------- - src/hb-open-type-private.hh | 16 ++++++++-------- - src/hb-ot-layout-common-private.hh | 12 ++++++------ - src/hb-ot-layout-gdef-private.hh | 4 ++-- - src/hb-ot-layout-gpos-private.hh | 12 ++++++------ - src/hb-ot-layout-gsub-private.hh | 12 ++++++------ - src/hb-ot-layout-gsubgpos-private.hh | 12 ++++++------ - 7 files changed, 41 insertions(+), 41 deletions(-) - -commit a62f776d8e7e3e57d28ee71b34abab0a5b8471eb -Author: Behdad Esfahbod -Date: Mon Aug 10 13:57:02 2009 -0400 - - [HB] Don't override CXX compiler - - Just add couple of options to it (still assuming gcc) - - src/Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 6bdab706ecb41c1305e85d041a586e86c54d0ab7 -Author: Behdad Esfahbod -Date: Mon Aug 10 09:35:11 2009 -0400 - - [HB] Indent - - src/hb-ot-layout.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 797724904a3ab294f8390d4ff80c299d8213a5c6 -Author: Behdad Esfahbod -Date: Sun Aug 9 22:25:17 2009 -0400 - - [HB] Remove unused code - - src/hb-ot-layout-gdef-private.hh | 10 ---------- - 1 file changed, 10 deletions(-) - -commit 284899ccbe79fda7405ab09d3092fc25fd89e810 -Author: Behdad Esfahbod -Date: Sun Aug 9 22:10:39 2009 -0400 - - [HB] Add a NEXT() macro - - src/hb-open-type-private.hh | 2 ++ - src/hb-ot-layout-common-private.hh | 4 ++-- - src/hb-ot-layout-gsub-private.hh | 8 ++++---- - src/hb-ot-layout-gsubgpos-private.hh | 24 ++++++++++++------------ - 4 files changed, 20 insertions(+), 18 deletions(-) - -commit 918572fc870dfd7596155ce700247a5bb024fb1a -Author: Behdad Esfahbod -Date: Sun Aug 9 18:31:47 2009 -0400 - - [HB] Remove done TODO item - - src/TODO | 1 - - 1 file changed, 1 deletion(-) - -commit 67cb8111f209de26b3afa46e9fb7e4d01c9ecad4 -Author: Behdad Esfahbod -Date: Sun Aug 9 13:05:08 2009 -0400 - - [HB] Print mark sets in main.cc - - src/main.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 17878255fa88e76cd503461fc1ade2ed365cebd2 -Author: Behdad Esfahbod -Date: Sat Aug 8 16:57:27 2009 -0400 - - [HB] Remove hb_ot_layout_table_find_feature() - - That function doesn't make much sense as multiple features in the - table may - have the same tag. - - src/hb-ot-layout.cc | 16 ---------------- - src/hb-ot-layout.h | 6 ------ - 2 files changed, 22 deletions(-) - -commit 468769b8f5332940278244e744ec2bd5a5dc5ee9 -Author: Behdad Esfahbod -Date: Sat Aug 8 16:53:23 2009 -0400 - - [HB] Rename hb_ot_layout_feature_mask_t to hb_mask_t - - src/TODO | 1 - - src/hb-buffer-private.h | 4 ++-- - src/hb-buffer.c | 12 ++++++------ - src/hb-buffer.h | 4 ++-- - src/hb-common.h | 1 + - src/hb-ot-layout-gpos-private.hh | 12 ++++++------ - src/hb-ot-layout-gsub-private.hh | 14 +++++++------- - src/hb-ot-layout.cc | 18 +++++++++--------- - src/hb-ot-layout.h | 34 +++++++++------------------------- - 9 files changed, 42 insertions(+), 58 deletions(-) - -commit 7f96b39a9d5a81ba77e0c3dea8fe2cdb9957c4c7 -Author: Behdad Esfahbod -Date: Sat Aug 8 16:37:22 2009 -0400 - - [HB] Fix bug introduced recently - - src/hb-open-type-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit bff3c0fde5da04a70d1f7aeeb9fa2a75fe5c07f6 -Author: Behdad Esfahbod -Date: Fri Aug 7 19:46:30 2009 -0400 - - [HB] Remove clumsy macros and improve API - - src/TODO | 2 - - src/hb-open-file-private.hh | 41 ++++++++-- - src/hb-open-type-private.hh | 104 +------------------------ - src/hb-ot-layout-common-private.hh | 103 ++++++++++++++++++------ - src/hb-ot-layout-gsubgpos-private.hh | 35 +++++++-- - src/hb-ot-layout.cc | 146 - ++++++++++++----------------------- - src/hb-ot-layout.h | 101 ++++++++++-------------- - 7 files changed, 240 insertions(+), 292 deletions(-) - -commit d0b657379bbe63602953412d6bc944b2a0f430eb -Author: Behdad Esfahbod -Date: Thu Aug 6 18:34:47 2009 -0400 - - [HB] Fix various XXX issues - - src/hb-open-type-private.hh | 13 ++++++++++--- - src/hb-ot-layout-gdef-private.hh | 5 ++--- - 2 files changed, 12 insertions(+), 6 deletions(-) - -commit 82199868fb036b63799af761762225d45d36f575 -Author: Behdad Esfahbod -Date: Thu Aug 6 18:28:45 2009 -0400 - - [HB] Remove unused var - - src/hb-ot-layout-private.h | 2 -- - 1 file changed, 2 deletions(-) - -commit 07e69226cbd4167741fd868a3125487bbabb99dc -Author: Behdad Esfahbod -Date: Thu Aug 6 18:28:00 2009 -0400 - - [HB] Remove another stale XXX - - src/hb-ot-layout.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit e605c367c5627e7ab05af9cb59247a89290e598a -Author: Behdad Esfahbod -Date: Thu Aug 6 18:27:28 2009 -0400 - - [HB] Rebrand XXX as TODO - - src/hb-open-file-private.hh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit c5a13048e21fcfcfd3b74f800e8d521e6245b451 -Author: Behdad Esfahbod -Date: Thu Aug 6 18:26:38 2009 -0400 - - [HB] Remove stale XXX - - src/hb-blob.c | 2 -- - 1 file changed, 2 deletions(-) - -commit 9e826ea2832f0444bcef9075b445d481a58a09c2 -Author: Behdad Esfahbod -Date: Thu Aug 6 18:24:55 2009 -0400 - - [HB] Fix unaligned access - - src/hb-open-type-private.hh | 20 +++++++++++++++++--- - src/hb-private.h | 22 ++++++++++++++++++++++ - 2 files changed, 39 insertions(+), 3 deletions(-) - -commit 71a8344a5eeaa34e31d53138cf3bbe30b819f83c -Author: Behdad Esfahbod -Date: Thu Aug 6 14:28:18 2009 -0400 - - [HB] Remove a few 'inline's, though the compiler mostly ignores them - - src/hb-open-file-private.hh | 1 - - src/hb-open-type-private.hh | 16 ++++++++-------- - src/hb-ot-layout-gsubgpos-private.hh | 6 +++--- - 3 files changed, 11 insertions(+), 12 deletions(-) - -commit 7f3d5c8166e5205e9d9bf8b4b2f31d44387a8006 -Author: Behdad Esfahbod -Date: Thu Aug 6 13:33:51 2009 -0400 - - [HB] Fix blob to use a actual mutex - - src/hb-blob.c | 125 - +++++++++++++++++++++++++++++++++++------------- - src/hb-object-private.h | 4 +- - src/hb-private.h | 20 +++++--- - 3 files changed, 106 insertions(+), 43 deletions(-) - -commit a794ebf4be9896393f4badf02905a4007981a588 -Author: Behdad Esfahbod -Date: Thu Aug 6 12:32:35 2009 -0400 - - [HB] Use glib again - - src/Makefile.am | 5 +++-- - src/hb-blob.c | 4 ++-- - src/hb-object-private.h | 19 ++++++------------- - src/hb-private.h | 45 - ++++++++++++++++++++++++++------------------- - 4 files changed, 37 insertions(+), 36 deletions(-) - -commit 9b76a290a94f2603f3cb9498ae976125347cf54b -Author: Behdad Esfahbod -Date: Thu Aug 6 10:27:38 2009 -0400 - - [HB] Improve debug output - - src/hb-open-type-private.hh | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 9faee63034d3965735bd6362c0beeca1613bd771 -Author: Behdad Esfahbod -Date: Thu Aug 6 10:24:49 2009 -0400 - - [HB] Minor - - src/hb-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f72059ee6946d9b4812b794f662ee83c7e25fe53 -Author: Behdad Esfahbod -Date: Wed Aug 5 15:35:02 2009 -0400 - - [HB] Add a few TODO items - - src/TODO | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 0d77ab8a73f57c9fca4c6f9301dae394d79526e3 -Author: Behdad Esfahbod -Date: Wed Aug 5 15:27:42 2009 -0400 - - [HB] Improve debug output - - src/hb-open-type-private.hh | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit 268cac4c9ef8cb592cfb8507273332165b8d3ad3 -Author: Behdad Esfahbod -Date: Wed Aug 5 15:21:48 2009 -0400 - - [HB] Fix blob unlock - - src/hb-blob.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7acb389569cf99c6bae9db31a8ed7c7007fbb566 -Author: Behdad Esfahbod -Date: Wed Aug 5 15:20:34 2009 -0400 - - [HB] Improve debug output and fix mprotect bug - - src/hb-blob.c | 57 - ++++++++++++++++++++++++++++++++++++++------- - src/hb-open-type-private.hh | 30 +++++++++++------------- - src/hb-private.h | 3 ++- - 3 files changed, 65 insertions(+), 25 deletions(-) - -commit ec9f8db0d3cad146801b7dc5c59e517de3b6fa34 -Author: Behdad Esfahbod -Date: Wed Aug 5 14:52:03 2009 -0400 - - [HB] Minor - - src/hb-private.h | 3 +++ - 1 file changed, 3 insertions(+) - -commit d341881d9a0f835f691b121480046081ad162918 -Author: Behdad Esfahbod -Date: Wed Aug 5 14:49:25 2009 -0400 - - [HB] Fix build of main.cc - - src/Makefile.am | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 8f3be25e7ec88ea451ee8097bf32e5f729f4fef9 -Author: Behdad Esfahbod -Date: Tue Aug 4 23:43:40 2009 -0400 - - [HB] turn debugging off - - src/hb-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 62ed5850d9e0e0d0231889470d58e815420c21e5 -Author: Behdad Esfahbod -Date: Tue Aug 4 23:30:32 2009 -0400 - - [HB] Fix another sanitize() bug; hopefully it's the last one - - src/hb-ot-layout-common-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 90482b68178b687c0f0a3f82cd6a36b2c0bb9384 -Author: Behdad Esfahbod -Date: Tue Aug 4 23:24:35 2009 -0400 - - [HB] Fix a couple other sanitize() bugs - - src/hb-ot-layout-gpos-private.hh | 4 ++-- - src/hb-ot-layout-gsub-private.hh | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 4f3ad9115a4161fc23fa559c26082440196217ec -Author: Behdad Esfahbod -Date: Tue Aug 4 23:01:23 2009 -0400 - - [HB] More debugging output - - src/hb-open-type-private.hh | 45 - ++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 40 insertions(+), 5 deletions(-) - -commit 8cd6fa28d1b77100491519b8dedb2e113508bf59 -Author: Behdad Esfahbod -Date: Tue Aug 4 22:55:44 2009 -0400 - - [HB] Fix fatal Sanitizer bug - - src/hb-open-type-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2870ac5e5d5d87646a4b273a9805fb3fcf280f97 -Author: Behdad Esfahbod -Date: Tue Aug 4 22:43:47 2009 -0400 - - [HB] Add missing sanitize - - src/hb-open-file-private.hh | 1 + - 1 file changed, 1 insertion(+) - -commit b28815c1f6e46d38471cacbc31248ca6fda8c4d1 -Author: Behdad Esfahbod -Date: Tue Aug 4 22:35:36 2009 -0400 - - [HB] Add sanitize debugging facilities - - src/hb-open-file-private.hh | 4 ++++ - src/hb-open-type-private.hh | 43 - +++++++++++++++++++++++++++++++----- - src/hb-ot-layout-common-private.hh | 17 ++++++++++++++ - src/hb-ot-layout-gdef-private.hh | 10 +++++++++ - src/hb-ot-layout-gpos-private.hh | 28 +++++++++++++++++++++++ - src/hb-ot-layout-gsub-private.hh | 18 +++++++++++++++ - src/hb-ot-layout-gsubgpos-private.hh | 16 ++++++++++++++ - src/hb-private.h | 6 ++++- - 8 files changed, 136 insertions(+), 6 deletions(-) - -commit 7edb430f9182723b7b720708c56088cec1200a70 -Author: Behdad Esfahbod -Date: Tue Aug 4 22:06:57 2009 -0400 - - [HB] Rename open-types to open-type; beauty - - src/Makefile.am | 2 +- - src/hb-open-file-private.hh | 2 +- - src/{hb-open-types-private.hh => hb-open-type-private.hh} | 0 - src/hb-ot-layout-common-private.hh | 2 +- - 4 files changed, 3 insertions(+), 3 deletions(-) - -commit f4b58d3fc2956a9d1b6178588d809c781f7a5c0c -Author: Behdad Esfahbod -Date: Tue Aug 4 21:47:29 2009 -0400 - - [HB] Save edit even if not writeable - - src/hb-open-types-private.hh | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit 9bd629ccd064e739789e504c41ad875eed93abba -Author: Behdad Esfahbod -Date: Tue Aug 4 21:42:23 2009 -0400 - - [HB] Fix warnings - - src/hb-open-file-private.hh | 1 + - src/hb-open-types-private.hh | 5 +++++ - src/hb-ot-layout-gsub-private.hh | 3 +-- - 3 files changed, 7 insertions(+), 2 deletions(-) - -commit 5ff4e13143c227fa57854c987b5a98e610f89361 -Author: Behdad Esfahbod -Date: Tue Aug 4 21:35:32 2009 -0400 - - [HB] Avoid infinite recusion in Extension sanitize() - - src/hb-ot-layout-gpos-private.hh | 1 + - src/hb-ot-layout-gsub-private.hh | 1 + - 2 files changed, 2 insertions(+) - -commit d60bb8ca2ae6edf29b2227b56c57f0d16879370b -Author: Behdad Esfahbod -Date: Tue Aug 4 21:32:57 2009 -0400 - - [HB] Hook Sanitizer up. Hell's breaking loose right now - - src/hb-font.cc | 7 ++----- - src/hb-open-types-private.hh | 2 +- - src/hb-ot-layout.cc | 12 ++++++------ - 3 files changed, 9 insertions(+), 12 deletions(-) - -commit 679f41fe61242aa8d7f45b64bdb66395aa530fe2 -Author: Behdad Esfahbod -Date: Tue Aug 4 21:32:06 2009 -0400 - - [HB] Fix leak - - src/hb-ot-layout.cc | 2 ++ - 1 file changed, 2 insertions(+) - -commit 4e8a0602bb0b3cbf7f26cc38790e37cdec7b0b37 -Author: Behdad Esfahbod -Date: Tue Aug 4 20:52:47 2009 -0400 - - [HB] Add Sanitizer - - src/hb-open-types-private.hh | 58 - ++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 53 insertions(+), 5 deletions(-) - -commit 2765d333e523a13dbd932fa33f3b39a5cf83f0f7 -Author: Behdad Esfahbod -Date: Tue Aug 4 20:50:18 2009 -0400 - - [HB] Add XXX - - src/hb-open-file-private.hh | 3 +++ - 1 file changed, 3 insertions(+) - -commit a328d66e6a8122f7d4d71941449d4d0136203e08 -Author: Behdad Esfahbod -Date: Tue Aug 4 20:27:05 2009 -0400 - - [HB] Minor cleanup - - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 2 +- - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 4 ++-- - 4 files changed, 5 insertions(+), 5 deletions(-) - -commit 577c1116493d785d3455626612f97dabb383abf0 -Author: Behdad Esfahbod -Date: Tue Aug 4 19:31:02 2009 -0400 - - [HB] Shuffle code around - - src/hb-open-types-private.hh | 127 - ++++++++++++++++++++++--------------------- - 1 file changed, 65 insertions(+), 62 deletions(-) - -commit b1e187fc6365f5355c652a61494a5e9f6acf51b4 -Author: Behdad Esfahbod -Date: Tue Aug 4 15:28:49 2009 -0400 - - [HB] More sanitize infrastructure - - src/hb-open-types-private.hh | 29 ++++++++++++++++++++++++++++- - 1 file changed, 28 insertions(+), 1 deletion(-) - -commit b508e5ccd528f3f0f49f545bd5f30a525d5abd5a -Author: Behdad Esfahbod -Date: Tue Aug 4 15:07:24 2009 -0400 - - [HB] open-file sanitize() - - src/hb-open-file-private.hh | 46 - ++++++++++++++++++++++++++++++++++++++++---- - src/hb-open-types-private.hh | 13 +++++++++++++ - 2 files changed, 55 insertions(+), 4 deletions(-) - -commit 738c54d9caa3affc4b434e56bfb810ff6dc9b0b3 -Author: Behdad Esfahbod -Date: Tue Aug 4 14:42:46 2009 -0400 - - [HB] Tag sanitize() - - src/hb-open-types-private.hh | 8 ++++++++ - src/hb-ot-layout-common-private.hh | 6 +----- - 2 files changed, 9 insertions(+), 5 deletions(-) - -commit e49a84c9e37c08808880e74e94c8160731ababa1 -Author: Behdad Esfahbod -Date: Tue Aug 4 14:33:23 2009 -0400 - - [HB] GDEF sanitize() - - src/hb-ot-layout-gdef-private.hh | 54 - ++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout-gpos-private.hh | 2 +- - src/hb-ot-layout-gsub-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 4 files changed, 57 insertions(+), 3 deletions(-) - -commit 18939487d04dba86880b0af8e89cf2cc44a431f5 -Author: Behdad Esfahbod -Date: Tue Aug 4 14:27:56 2009 -0400 - - [HB] Fix Extension sanitize() - - src/hb-ot-layout-gpos-private.hh | 3 ++- - src/hb-ot-layout-gsub-private.hh | 3 ++- - src/hb-ot-layout-gsubgpos-private.hh | 2 +- - 3 files changed, 5 insertions(+), 3 deletions(-) - -commit f2be750981be58a723831e69b1670275851d4be9 -Author: Behdad Esfahbod -Date: Tue Aug 4 14:12:46 2009 -0400 - - [HB] Remove stale TODO - - src/hb-ot-layout.cc | 2 -- - 1 file changed, 2 deletions(-) - -commit ac26e2a838d1266bb5f39c43245eb2a52c5e072d -Author: Behdad Esfahbod -Date: Tue Aug 4 14:10:39 2009 -0400 - - [HB] Hookup NEUTER() - - src/hb-open-types-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 15164d9258a74122a4db748d35532bd72c47cec2 -Author: Behdad Esfahbod -Date: Tue Aug 4 13:57:41 2009 -0400 - - [HB] Fix mix warnings - - src/Makefile.am | 2 +- - src/hb-font.cc | 15 +++------------ - src/hb-open-types-private.hh | 2 +- - src/hb-ot-layout-common-private.hh | 6 +++--- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gpos-private.hh | 9 ++++----- - src/hb-ot-layout.cc | 2 +- - src/main.cc | 4 +--- - 8 files changed, 15 insertions(+), 27 deletions(-) - -commit 42b778f89e0818fe06910ce04e2203485823da09 -Author: Behdad Esfahbod -Date: Tue Aug 4 13:30:49 2009 -0400 - - [HB] GPOS sanitize() - - src/hb-open-types-private.hh | 22 ++++- - src/hb-ot-layout-gpos-private.hh | 195 - ++++++++++++++++++++++++++++++++++++++- - src/hb-ot-layout-gsub-private.hh | 2 - - 3 files changed, 213 insertions(+), 6 deletions(-) - -commit dc9c4d93cd0f3ac991f32df08c1c17fc389054c0 -Author: Behdad Esfahbod -Date: Tue Aug 4 12:26:26 2009 -0400 - - [HB] Sanitize DeviceTable - - src/hb-open-types-private.hh | 8 ++++---- - src/hb-ot-layout-common-private.hh | 17 ++++++++++++++--- - src/hb-ot-layout-gsub-private.hh | 2 +- - 3 files changed, 19 insertions(+), 8 deletions(-) - -commit ad3a3cd4955661c591b20af1f2c493432f0bebf0 -Author: Behdad Esfahbod -Date: Tue Aug 4 12:13:52 2009 -0400 - - [HB] More casts - - src/hb-ot-layout-gsub-private.hh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 95639fccc1ef18eadeb737e8b611d1d1f1315fc2 -Author: Behdad Esfahbod -Date: Tue Aug 4 12:05:24 2009 -0400 - - [HB] Fix couple of bugs - - src/hb-open-types-private.hh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 2b5a59c277f4c5bf7aac9a9005054763e322e02d -Author: Behdad Esfahbod -Date: Tue Aug 4 11:38:50 2009 -0400 - - [HB] More cast cleanup - - src/hb-open-types-private.hh | 23 ++++++++----- - src/hb-ot-layout-common-private.hh | 7 ++-- - src/hb-ot-layout-gsub-private.hh | 27 ++++++--------- - src/hb-ot-layout-gsubgpos-private.hh | 64 - +++++++++++++----------------------- - 4 files changed, 50 insertions(+), 71 deletions(-) - -commit 196598bbccff08415ff5192314cba044df258cad -Author: Behdad Esfahbod -Date: Tue Aug 4 11:04:32 2009 -0400 - - [Hb] Use reinterpret casts instead of direct casts to char * - - src/hb-open-file-private.hh | 4 ++-- - src/hb-open-types-private.hh | 19 +++++++++++----- - src/hb-ot-layout-common-private.hh | 8 +++---- - src/hb-ot-layout-gpos-private.hh | 12 +++++----- - src/hb-ot-layout-gsub-private.hh | 20 ++++++++-------- - src/hb-ot-layout-gsubgpos-private.hh | 44 - ++++++++++++++++++------------------ - 6 files changed, 57 insertions(+), 50 deletions(-) - -commit 92b5dd8e71e1bdeaa6e86a53f167683a3f5f4289 -Author: Behdad Esfahbod -Date: Tue Aug 4 10:41:32 2009 -0400 - - [HB] Merge more templates - - src/hb-open-types-private.hh | 167 - ++++++++++++++----------------------------- - 1 file changed, 55 insertions(+), 112 deletions(-) - -commit e6ab2c59ba2d37942ac5fcbfe61d38b7e359ac8c -Author: Behdad Esfahbod -Date: Tue Aug 4 10:23:01 2009 -0400 - - [HB] Simplify indirect sanitize() - - src/hb-open-types-private.hh | 52 - ++++++++++++++++++-------------------- - src/hb-ot-layout-common-private.hh | 11 +------- - 2 files changed, 26 insertions(+), 37 deletions(-) - -commit 29d8644a315ebe6976f15db2fe96069376d9b8cd -Author: Behdad Esfahbod -Date: Tue Aug 4 02:27:37 2009 -0400 - - [HB] Finish GSUB sanitize() - - src/hb-ot-layout-gsub-private.hh | 21 ++++++++++++++++++++- - 1 file changed, 20 insertions(+), 1 deletion(-) - -commit cf086adca1b7b5a361a248808f9a847e513d3630 -Author: Behdad Esfahbod -Date: Tue Aug 4 02:14:24 2009 -0400 - - [HB] Add comment - - src/hb-ot-layout-common-private.hh | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit a97ce570ab693190350886e4e80942851c4d5727 -Author: Behdad Esfahbod -Date: Tue Aug 4 02:10:48 2009 -0400 - - [HB] Optimize sanitize() - - src/hb-open-types-private.hh | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -commit cd3827ee567612c5500206b62840702fc956e0f5 -Author: Behdad Esfahbod -Date: Tue Aug 4 02:09:34 2009 -0400 - - [HB] More sanitize() - - src/hb-open-file-private.hh | 2 +- - src/hb-open-types-private.hh | 12 ++++--- - src/hb-ot-layout-common-private.hh | 64 - +++++++++++++++++++++++++++++++----- - src/hb-ot-layout-gdef-private.hh | 2 +- - src/hb-ot-layout-gsubgpos-private.hh | 15 +++++++-- - 5 files changed, 79 insertions(+), 16 deletions(-) - -commit 70de50c11ed7037b20eb6814ff60f6e32a9944e4 -Author: Behdad Esfahbod -Date: Tue Aug 4 00:58:28 2009 -0400 - - [HB] Start sanitize() - - src/hb-open-types-private.hh | 105 ++++++++++++++++++++++++++++- - src/hb-ot-layout-common-private.hh | 48 +++++++++++++- - src/hb-ot-layout-gsub-private.hh | 125 - ++++++++++++++++++++++++++++++++++- - src/hb-ot-layout-gsubgpos-private.hh | 104 +++++++++++++++++++++++++++++ - 4 files changed, 376 insertions(+), 6 deletions(-) - -commit 5fc22e647c8a2bf6d3cb59185e351ac625e7e322 -Author: Behdad Esfahbod -Date: Mon Aug 3 22:43:02 2009 -0400 - - [HB] Remove use of typeof() - - src/hb-blob.c | 4 ++-- - src/hb-buffer.c | 2 +- - src/hb-font.cc | 14 +++++++------- - src/hb-object-private.h | 4 ++-- - 4 files changed, 12 insertions(+), 12 deletions(-) - -commit 70e0f2a75ec1559f2f70ada837ce4bc4baca49e3 -Author: Behdad Esfahbod -Date: Mon Aug 3 22:01:47 2009 -0400 - - [HB] Make it all work again - - src/hb-font.cc | 23 ++++++++++++--------- - src/hb-ot-layout-private.h | 9 +++++--- - src/hb-ot-layout.cc | 51 - +++++++++++++++++++++++----------------------- - 3 files changed, 44 insertions(+), 39 deletions(-) - -commit 23c86aa0009324433e78fcd0c47f2c0ff14b1949 -Author: Behdad Esfahbod -Date: Mon Aug 3 21:40:20 2009 -0400 - - [HB] Use face_t directly instead of ot_layout_t - - src/TODO | 1 + - src/hb-font-private.h | 4 + - src/hb-font.cc | 74 +++++++++--- - src/hb-font.h | 3 + - src/hb-object-private.h | 36 +++--- - src/hb-ot-layout-gdef-private.hh | 2 + - src/hb-ot-layout-gpos-private.hh | 14 +-- - src/hb-ot-layout-gsub-private.hh | 32 ++--- - src/hb-ot-layout-gsubgpos-private.hh | 8 +- - src/hb-ot-layout-private.h | 40 ++++--- - src/hb-ot-layout.cc | 220 - +++++++++++++++-------------------- - 11 files changed, 237 insertions(+), 197 deletions(-) - -commit fc6c94002dd5478cf9fbdaff12d8374a786c85e1 -Author: Behdad Esfahbod -Date: Mon Aug 3 21:27:08 2009 -0400 - - [HB] Simplify sub-blob support - - src/hb-blob.c | 172 - ++++++++++++++++++++++------------------------------------ - src/hb-blob.h | 14 +++-- - 2 files changed, 74 insertions(+), 112 deletions(-) - -commit a26442437ae9f11674e0d68cd5cbf395ade7695d -Author: Behdad Esfahbod -Date: Mon Aug 3 17:53:29 2009 -0400 - - [HB] Add sub-blobs - - src/hb-blob.c | 162 - +++++++++++++++++++++++++++++++++++++++++++++++++--------- - src/hb-blob.h | 12 ++++- - 2 files changed, 147 insertions(+), 27 deletions(-) - -commit b28e21b90c4105a0c2e17009b748777294614664 -Author: Behdad Esfahbod -Date: Sun Aug 2 20:06:48 2009 -0400 - - [HB] Rename hb-font.c to hb-font.cc - - src/Makefile.am | 2 +- - src/{hb-font.c => hb-font.cc} | 0 - 2 files changed, 1 insertion(+), 1 deletion(-) - -commit 5f5b24f99f52bbc922e238b65c06061ba07c8548 -Author: Behdad Esfahbod -Date: Sun Aug 2 20:03:12 2009 -0400 - - [OT] Rename C++ header files from *.h to *.hh - - src/Makefile.am | 14 - +++++++------- - src/{hb-open-file-private.h => hb-open-file-private.hh} | 8 ++++---- - src/{hb-open-types-private.h => hb-open-types-private.hh} | 6 +++--- - ...out-common-private.h => hb-ot-layout-common-private.hh} | 8 ++++---- - ...-layout-gdef-private.h => hb-ot-layout-gdef-private.hh} | 8 ++++---- - ...-layout-gpos-private.h => hb-ot-layout-gpos-private.hh} | 8 ++++---- - ...-layout-gsub-private.h => hb-ot-layout-gsub-private.hh} | 8 ++++---- - ...gsubgpos-private.h => hb-ot-layout-gsubgpos-private.hh} | 8 ++++---- - src/hb-ot-layout.cc | 8 ++++---- - src/main.cc | 6 +++--- - 10 files changed, 41 insertions(+), 41 deletions(-) - -commit 2098a021a826e76ee27d5db74e32738d7d1c3d30 -Author: Behdad Esfahbod -Date: Sun Aug 2 19:57:00 2009 -0400 - - [HB] Move OT file handling out of ot-layout - - src/Makefile.am | 3 +- - src/hb-open-file-private.h | 145 - +++++++++++++++++++++ - ...yout-open-private.h => hb-open-types-private.h} | 117 - +---------------- - src/hb-ot-layout-common-private.h | 4 +- - src/hb-ot-layout.cc | 2 +- - src/main.cc | 4 +- - 6 files changed, 157 insertions(+), 118 deletions(-) - -commit 0ead481a5a8623103565fd7d924666e7342278dd -Author: Behdad Esfahbod -Date: Sun Aug 2 17:41:36 2009 -0400 - - [HB] Port ot-layout to new public API - - src/TODO | 1 + - src/hb-common.h | 1 + - src/hb-font.c | 9 + - src/hb-font.h | 3 + - src/hb-ot-layout-gdef-private.h | 32 ++-- - src/hb-ot-layout-gpos-private.h | 106 ++++++------ - src/hb-ot-layout-gsub-private.h | 50 +++--- - src/hb-ot-layout-gsubgpos-private.h | 12 +- - src/hb-ot-layout-private.h | 36 +++- - src/hb-ot-layout.cc | 334 - ++++++++++++++++++++---------------- - src/hb-ot-layout.h | 207 ++++++++++------------ - 11 files changed, 415 insertions(+), 376 deletions(-) - -commit 678bed433371d90536976a2d57195c1e1867f766 -Author: Behdad Esfahbod -Date: Sun Aug 2 15:35:31 2009 -0400 - - [HB] Add top-level header files - - src/Makefile.am | 2 ++ - src/hb-ot.h | 34 ++++++++++++++++++++++++++++++++++ - src/hb.h | 35 +++++++++++++++++++++++++++++++++++ - 3 files changed, 71 insertions(+) - -commit 2c80296aa5991ad67483889147f5c84fefe54af2 -Author: Behdad Esfahbod -Date: Sun Aug 2 15:20:22 2009 -0400 - - [HB] Add XXX marks - - src/hb-ot-layout-private.h | 2 ++ - src/hb-ot-layout.cc | 7 ++----- - 2 files changed, 4 insertions(+), 5 deletions(-) - -commit c46f8efd6ddd981b5724b2600ac98a80193385be -Author: Behdad Esfahbod -Date: Sat Aug 1 23:06:27 2009 -0400 - - [HB] Rename _duplicate to _copy - - To be in line with cairo - - src/hb-font.c | 4 ++-- - src/hb-font.h | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit f1ebe44985e2192844cf1747a4e36ed81e715ce6 -Author: Behdad Esfahbod -Date: Sat Aug 1 22:55:11 2009 -0400 - - [HB] Cleanup TODO - - src/TODO | 10 +--------- - 1 file changed, 1 insertion(+), 9 deletions(-) - -commit f1322e52d557726baa010be8d35a594748e8fa1a -Author: Behdad Esfahbod -Date: Sat Aug 1 22:53:04 2009 -0400 - - [HB] Cleanup public buffer structs - - src/hb-buffer-private.h | 46 - +++++++++++++++++++++++++++++++------- - src/hb-buffer.c | 49 - +++++++++++++++++++++-------------------- - src/hb-buffer.h | 35 ++++++++++++++--------------- - src/hb-ot-layout-gpos-private.h | 8 +++---- - src/hb-ot-layout-private.h | 5 +++-- - src/hb-ot-layout.cc | 20 ++++++++--------- - 6 files changed, 97 insertions(+), 66 deletions(-) - -commit 6d5bb18e93d2a53350b342869a3ec8f25f0396c2 -Author: Behdad Esfahbod -Date: Sat Aug 1 22:25:04 2009 -0400 - - [OT] Match struct with HB's - - src/hb-buffer.c | 6 +++--- - src/hb-buffer.h | 2 +- - src/hb-ot-layout.cc | 12 ++++++------ - 3 files changed, 10 insertions(+), 10 deletions(-) - -commit 11fbb5487d9900a019440ef8235f35c9f525decb -Author: Behdad Esfahbod -Date: Sat Aug 1 22:19:06 2009 -0400 - - [HB] Port buffert to new object API - - src/hb-buffer-private.h | 24 +++++++++++++++--- - src/hb-buffer.c | 65 - +++++++++++++++++++++++++++++++++++++------------ - src/hb-buffer.h | 53 +++++++++++++++++++++++++--------------- - 3 files changed, 104 insertions(+), 38 deletions(-) - -commit 0cc7bc59ea6e8f38bf1e196c558cca9862ac3302 -Author: Behdad Esfahbod -Date: Sat Aug 1 21:38:39 2009 -0400 - - [HB] Move typedef's around - - src/hb-blob.h | 2 ++ - src/hb-common.h | 9 --------- - src/hb-font.h | 10 ++++++++++ - 3 files changed, 12 insertions(+), 9 deletions(-) - -commit a12dd324a3859496a95602d426aee34ce6c5c8a6 -Author: Behdad Esfahbod -Date: Sat Aug 1 21:36:15 2009 -0400 - - [HB] Add get_reference_count() - - src/hb-blob.c | 6 ++++++ - src/hb-blob.h | 3 +++ - src/hb-font.c | 24 ++++++++++++++++++++++++ - src/hb-font.h | 12 ++++++++++++ - src/hb-object-private.h | 7 +++++++ - 5 files changed, 52 insertions(+) - -commit baec684fde2303edb16341bfcf1022cd72acf129 -Author: Behdad Esfahbod -Date: Sat Aug 1 21:06:11 2009 -0400 - - [HB] Remove glib dependency - - src/Makefile.am | 7 ++----- - src/hb-buffer.c | 2 +- - src/hb-private.h | 30 ++++++++++++++++++------------ - src/main.cc | 1 + - 4 files changed, 22 insertions(+), 18 deletions(-) - -commit df66028781a7609a515980e64396e6f1044d764a -Author: Behdad Esfahbod -Date: Sat Aug 1 20:46:02 2009 -0400 - - [HB] Assorted compiler macros - - src/hb-ot-layout-open-private.h | 4 +- - src/hb-private.h | 88 - +++++++++++++++++++++++++++++++---------- - 2 files changed, 70 insertions(+), 22 deletions(-) - -commit ba8d94ce3360bfaf2c530d01f2af69237018a531 -Author: Behdad Esfahbod -Date: Sat Aug 1 20:29:22 2009 -0400 - - [HB] Simplify object creation - - src/Makefile.am | 2 +- - src/hb-blob.c | 6 +--- - src/hb-font-private.h | 1 - - src/hb-font.c | 37 - +++++++--------------- - src/{hb-refcount-private.h => hb-object-private.h} | 14 ++++++-- - src/hb-private.h | 2 ++ - 6 files changed, 27 insertions(+), 35 deletions(-) - -commit c62b503770325819f249885dfc9d4683a69c9efd -Author: Behdad Esfahbod -Date: Sat Aug 1 19:54:49 2009 -0400 - - [HB] Add abstract font and face API - - Not used yet. - - src/Makefile.am | 3 + - src/hb-blob.c | 6 +- - src/hb-font-private.h | 108 +++++++++++++++ - src/hb-font.c | 331 - ++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-font.h | 182 +++++++++++++++++++++++++ - src/hb-refcount-private.h | 14 +- - 6 files changed, 636 insertions(+), 8 deletions(-) - -commit 35a7383c6138fd705560f0d4bb30659cbd1ab64c -Author: Behdad Esfahbod -Date: Sat Aug 1 19:30:31 2009 -0400 - - [HB] Simplify refcounting functions - - src/hb-blob.c | 32 ++++++++++---------------------- - src/hb-common.h | 2 ++ - src/hb-private.h | 2 ++ - src/hb-refcount-private.h | 31 ++++++++++++++++++++++++++++++- - 4 files changed, 44 insertions(+), 23 deletions(-) - -commit 23af767a4475fecc1fe9fe9108f12c05c89bc8c9 -Author: Behdad Esfahbod -Date: Sat Aug 1 19:10:41 2009 -0400 - - [HB] Fix for dfont's with multiple faces - - src/hb-ot-layout-open-private.h | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit e97a95f2ea2770689bbf076d3c3ac404f273271e -Author: Behdad Esfahbod -Date: Sat Aug 1 19:05:44 2009 -0400 - - [HB] Use calloc instead of malloc where feasible - - src/hb-blob.c | 8 +++++--- - src/hb-buffer.c | 4 ++-- - 2 files changed, 7 insertions(+), 5 deletions(-) - -commit 0090dc0f67b553d2f6eaaedc289c0956ade09ef6 -Author: Behdad Esfahbod -Date: Thu Jul 30 16:28:45 2009 -0400 - - [HB] Remove hinting setting and use ppem==0 to mean "no hinting" - - src/hb-blob.h | 3 --- - src/hb-common.h | 9 +++++++++ - src/hb-ot-layout-gpos-private.h | 36 ++++++++++++++++++++++++------------ - src/hb-ot-layout-private.h | 2 -- - src/hb-ot-layout.cc | 7 ------- - src/hb-ot-layout.h | 4 ---- - 6 files changed, 33 insertions(+), 28 deletions(-) - -commit f0954d1e08ae288eda9904e17108fc73f48c0b98 -Author: Behdad Esfahbod -Date: Thu Jul 30 15:33:57 2009 -0400 - - [HB] Add a "blob" manager - - src/Makefile.am | 5 +- - src/hb-blob.c | 181 - ++++++++++++++++++++++++++++++++++++++++++++++ - src/hb-blob.h | 74 +++++++++++++++++++ - src/hb-private.h | 2 + - src/hb-refcount-private.h | 54 ++++++++++++++ - 5 files changed, 315 insertions(+), 1 deletion(-) - -commit 02a370697d25b986dbf1d5c38f46a89a4833b495 -Author: Behdad Esfahbod -Date: Wed Jul 29 18:41:25 2009 -0400 - - [HB] Move direction to buffer - - src/hb-buffer.c | 9 +++++++++ - src/hb-buffer.h | 14 ++++++++++++++ - src/hb-ot-layout-gpos-private.h | 2 +- - src/hb-ot-layout-private.h | 1 - - src/hb-ot-layout.cc | 7 ------- - src/hb-ot-layout.h | 5 ----- - 6 files changed, 24 insertions(+), 14 deletions(-) - -commit 7cda6fa24c26887c5543d0657b07aad466452cb3 -Author: Behdad Esfahbod -Date: Wed Jul 29 18:37:57 2009 -0400 - - [HB] Rename internal vars - - src/hb-ot-layout-gsubgpos-private.h | 56 - ++++++++++++++++++------------------- - 1 file changed, 28 insertions(+), 28 deletions(-) - -commit b196e6f2743d631ef181f1116370be3055063d36 -Author: Behdad Esfahbod -Date: Tue Jul 28 15:50:42 2009 -0400 - - [HB] Fix buffer enlargement. Ouch - - src/hb-buffer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f9cd1014f8f4d0394b5e0e9eefc1e2af13c59cab -Author: Behdad Esfahbod -Date: Tue Jul 28 15:43:34 2009 -0400 - - Apply patch from Jonathan Kew - - src/hb-buffer.c | 75 - ++++++++++++++++++++++++++++------------------------- - src/hb-buffer.h | 6 ++++- - src/hb-ot-layout.cc | 31 ++++++++++++++++++++++ - src/hb-ot-layout.h | 15 +++++++++++ - src/hb-private.h | 2 +- - 5 files changed, 91 insertions(+), 38 deletions(-) - -commit 2ebb89d63dd27e800f2b6cbf624924601105f48a -Author: Behdad Esfahbod -Date: Sat Jul 25 19:09:01 2009 -0400 - - Revert "XX" - - This reverts commit c939f6aff405ca7b10b1f1538f46148bff719fcb. - - src/Makefile.am | 2 - - src/hb-buffer.c | 9 --- - src/hb-buffer.h | 14 ----- - src/hb-common.h | 3 - - src/hb-ot-layout-gdef-private.h | 32 +++++------ - src/hb-ot-layout-gpos-private.h | 108 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.h | 46 +++++++-------- - src/hb-ot-layout-gsubgpos-private.h | 68 +++++++++++------------ - src/hb-ot-layout-private.h | 28 ++++------ - src/hb-ot-layout.cc | 30 ++++++++++ - src/hb-ot-layout.h | 5 ++ - src/hb-private.h | 16 ------ - 12 files changed, 174 insertions(+), 187 deletions(-) - -commit 55520d2af172f5f6617b909e80cbd7d898f2bc15 -Author: Behdad Esfahbod -Date: Wed Jun 10 23:26:51 2009 -0400 - - XX - - src/Makefile.am | 2 + - src/hb-buffer.c | 9 +++ - src/hb-buffer.h | 14 +++++ - src/hb-common.h | 3 + - src/hb-ot-layout-gdef-private.h | 32 +++++------ - src/hb-ot-layout-gpos-private.h | 108 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.h | 46 +++++++-------- - src/hb-ot-layout-gsubgpos-private.h | 68 +++++++++++------------ - src/hb-ot-layout-private.h | 28 ++++++---- - src/hb-ot-layout.cc | 30 ---------- - src/hb-ot-layout.h | 5 -- - src/hb-private.h | 16 ++++++ - 12 files changed, 187 insertions(+), 174 deletions(-) - -commit f53d434b9151c4ec43c148734b49bb165e522cc9 -Author: Behdad Esfahbod -Date: Sat May 30 22:17:32 2009 -0400 - - [GPOS] Advance buffer cursor in SinglePos lookups. Ouch! - - src/hb-ot-layout-gpos-private.h | 4 ++++ - 1 file changed, 4 insertions(+) - -commit e35bbd570a5d914f86f1ea83941ee4328f268059 -Author: Behdad Esfahbod -Date: Sat May 30 12:02:46 2009 -0400 - - [HB] Improve buffer. Don't dup out buffer unless out is longer - than in - - That is, we work in-place even for ligatures now. - - src/hb-buffer.c | 156 - ++++++++++++++++++++++++-------------------------------- - src/hb-buffer.h | 7 ++- - 2 files changed, 71 insertions(+), 92 deletions(-) - -commit 6734ed4b6b2ce382917bf644aaf1acfa993f00ad -Author: Behdad Esfahbod -Date: Wed May 27 18:16:55 2009 -0400 - - [GPOS] Fix property checking - - src/hb-ot-layout-gpos-private.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit cc83ae12484108586fba6586bd9008971338b322 -Author: Behdad Esfahbod -Date: Wed May 27 00:17:37 2009 -0400 - - [GPOS] Add vertical TODO - - src/hb-ot-layout-gpos-private.h | 2 ++ - 1 file changed, 2 insertions(+) - -commit b69d38e7eaea544ba6c1876cdc6ddac61a698dd3 -Author: Behdad Esfahbod -Date: Tue May 26 22:29:02 2009 -0400 - - [HB] Remove useless include - - src/hb-ot-layout-private.h | 3 --- - 1 file changed, 3 deletions(-) - -commit 6c8108cb583292a679b05844ab613b7f4587adc6 -Author: Behdad Esfahbod -Date: Tue May 26 22:26:08 2009 -0400 - - [GPOS] Remove unused variables - - src/hb-ot-layout-gpos-private.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 09c292e3b688a67fbae67b645d1e6ffcf8d8eb6e -Author: Behdad Esfahbod -Date: Tue May 26 19:48:16 2009 -0400 - - [HB] Fix glyph properties - - src/hb-ot-layout-common-private.h | 6 +++--- - src/hb-ot-layout-open-private.h | 2 +- - src/hb-ot-layout.cc | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit 64e33f008ff9cc807fdfdc4553ad3fe01bb0615f -Author: Behdad Esfahbod -Date: Tue May 26 18:57:56 2009 -0400 - - [GPOS] Fix PairPos signedness - - src/hb-ot-layout-gpos-private.h | 11 ++++------- - 1 file changed, 4 insertions(+), 7 deletions(-) - -commit 80ea5bd10e72561a7627a5196621a6d7eccd91b7 -Author: Behdad Esfahbod -Date: Tue May 26 17:58:37 2009 -0400 - - [GPOS] Fix mark matching - - src/hb-ot-layout-gpos-private.h | 44 - +++++++++++++++++++---------------------- - 1 file changed, 20 insertions(+), 24 deletions(-) - -commit 4189b92aaa41e4a1756c561cc6e08b0ed024afda -Author: Behdad Esfahbod -Date: Tue May 26 17:31:56 2009 -0400 - - [HB] When looking back/forward, skip marks only - - src/TODO | 1 - - src/hb-ot-layout-gpos-private.h | 13 ++----- - src/hb-ot-layout-gsub-private.h | 38 +++++++++----------- - src/hb-ot-layout-gsubgpos-private.h | 14 ++++---- - src/hb-ot-layout-private.h | 6 ++++ - src/hb-ot-layout.cc | 69 - ++++++++++++++++++++++++------------- - 6 files changed, 76 insertions(+), 65 deletions(-) - -commit 1246e41021ab1d782b4c97e5d81c4917a57e3ed4 -Author: Behdad Esfahbod -Date: Tue May 26 15:58:34 2009 -0400 - - [GDEF] Support MarkFilteringSets - - src/hb-ot-layout.cc | 59 - +++++++++++++++++++---------------------------------- - 1 file changed, 21 insertions(+), 38 deletions(-) - -commit 5130c35e93528bcf3095fee5baf3847589167a58 -Author: Behdad Esfahbod -Date: Tue May 26 15:45:41 2009 -0400 - - [HB] Simplify MarkAttachmentType handling - - src/hb-ot-layout-gpos-private.h | 6 +++--- - src/hb-ot-layout-gsub-private.h | 6 ++---- - src/hb-ot-layout.cc | 18 ++++++++---------- - 3 files changed, 13 insertions(+), 17 deletions(-) - -commit e4b92b85a7750bd4271ad607b3c41f0184e89feb -Author: Behdad Esfahbod -Date: Tue May 26 15:38:53 2009 -0400 - - [HB] Support parsing MarkFilteringSets introduced in OpenType 1.6 - - src/hb-ot-layout-gdef-private.h | 55 - +++++++++++++++++++++++++++++++++++------ - src/hb-ot-layout-gpos-private.h | 1 + - src/hb-ot-layout.cc | 6 ++--- - 3 files changed, 51 insertions(+), 11 deletions(-) - -commit 515ce4ceb2ab0151d8dfc03ff0bfc7d110dd93b5 -Author: Behdad Esfahbod -Date: Tue May 26 13:08:00 2009 -0400 - - [HB] More de-C++'ization - - src/hb-ot-layout-gsubgpos-private.h | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -commit d7df42d7ee586219475878d160f85ae5a188bd59 -Author: Behdad Esfahbod -Date: Tue May 26 13:04:59 2009 -0400 - - [HB] Start MarkFilteringSet support - - src/hb-ot-layout-common-private.h | 24 +++++++++++++++++++----- - 1 file changed, 19 insertions(+), 5 deletions(-) - -commit 62964afcecd96038cfaa8bc2bc931f43ee83be7e -Author: Behdad Esfahbod -Date: Tue May 26 12:40:10 2009 -0400 - - [HB] Implement get_lig_carets() - - src/hb-ot-layout-gdef-private.h | 57 - ++++++++++++++++++++++++++++++++--------- - src/hb-ot-layout.cc | 17 +++++++++--- - src/hb-ot-layout.h | 8 +++++- - src/main.cc | 9 +------ - 4 files changed, 66 insertions(+), 25 deletions(-) - -commit 79420ad9caf2d5fc94c3693e8292edfa27060b2d -Author: Behdad Esfahbod -Date: Tue May 26 12:24:16 2009 -0400 - - [HB] Add get_attach_points() - - src/Makefile.am | 2 +- - src/hb-ot-layout-gdef-private.h | 35 +++++++++++++++++++++++++---------- - src/hb-ot-layout-gpos-private.h | 28 +++++++--------------------- - src/hb-ot-layout-gsub-private.h | 28 +++++++--------------------- - src/hb-ot-layout-open-private.h | 12 +++--------- - src/hb-ot-layout.cc | 9 +++++++++ - src/hb-ot-layout.h | 6 ++++++ - src/main.cc | 8 ++++---- - 8 files changed, 62 insertions(+), 66 deletions(-) - -commit 855720ca47bf5a7a44eb5b84dce9f7da6e7156bd -Author: Behdad Esfahbod -Date: Tue May 26 12:00:28 2009 -0400 - - [HB] Remove more macros - - src/hb-ot-layout-gdef-private.h | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit c968fc2dc87cf85b53f60a40db59d5ee7b992edf -Author: Behdad Esfahbod -Date: Mon May 25 04:04:24 2009 -0400 - - [HB] More buffer cleanup - - src/hb-buffer-private.h | 39 +++-------- - src/hb-buffer.c | 136 - ++++++++++++++++++------------------ - src/hb-buffer.h | 22 +++--- - src/hb-ot-layout-gpos-private.h | 29 ++++---- - src/hb-ot-layout-gsub-private.h | 10 +-- - src/hb-ot-layout-gsubgpos-private.h | 8 +-- - src/hb-ot-layout-private.h | 13 ++-- - src/hb-ot-layout.cc | 16 ++--- - src/hb-private.h | 29 -------- - 9 files changed, 125 insertions(+), 177 deletions(-) - -commit 88a5f5a49b6809d88560791f9cf6b8f78f22a4ad -Author: Behdad Esfahbod -Date: Mon May 25 03:39:11 2009 -0400 - - [HB] Cleanup buffer - - src/hb-buffer-private.h | 2 +- - src/hb-buffer.c | 26 ++++++++------ - src/hb-ot-layout-gsub-private.h | 26 +++++--------- - src/hb-ot-layout-gsubgpos-private.h | 2 +- - src/hb-ot-layout.cc | 71 - ------------------------------------- - 5 files changed, 25 insertions(+), 102 deletions(-) - -commit 347f0b8621d3adfec157e5634ff3defc818ea37f -Author: Behdad Esfahbod -Date: Mon May 25 03:30:31 2009 -0400 - - [HB] Clean more - - src/hb-ot-layout-private.h | 10 ++++------ - src/hb-ot-layout.cc | 8 ++++---- - 2 files changed, 8 insertions(+), 10 deletions(-) - -commit d9d2a07f4a8696666a12f5a206aa9cfb56dc2b35 -Author: Behdad Esfahbod -Date: Mon May 25 03:24:19 2009 -0400 - - [HB] Remove one XXX, add another - - src/hb-buffer.h | 2 ++ - src/hb-ot-layout-private.h | 3 +-- - 2 files changed, 3 insertions(+), 2 deletions(-) - -commit 6c78683c042250a7b5a6fc6ebae4717b03fadf9e -Author: Behdad Esfahbod -Date: Mon May 25 03:22:19 2009 -0400 - - [HB] Update copyright years - - src/hb-buffer-private.h | 2 +- - src/hb-buffer.h | 2 +- - src/hb-common.h | 2 +- - src/hb-ot-layout-private.h | 2 +- - src/hb-ot-layout.h | 2 +- - src/hb-private.h | 2 +- - 6 files changed, 6 insertions(+), 6 deletions(-) - -commit 4497af0069a94c69fc1518b1db2c1282721b732a -Author: Behdad Esfahbod -Date: Mon May 25 03:20:18 2009 -0400 - - [HB] Would have helped if I actually knew C++ before using it... - - src/hb-ot-layout-gsubgpos-private.h | 4 ++-- - src/hb-ot-layout-open-private.h | 24 ++++++++++++------------ - 2 files changed, 14 insertions(+), 14 deletions(-) - -commit cc6c644ff2af5f6669b6ec100ff13e904872b21c -Author: Behdad Esfahbod -Date: Mon May 25 03:10:06 2009 -0400 - - [HB] More cleanup - - src/hb-ot-layout-common-private.h | 4 ++-- - src/hb-ot-layout-open-private.h | 9 +++++---- - 2 files changed, 7 insertions(+), 6 deletions(-) - -commit 20cc86b3592db33731de671f008d7d222776be49 -Author: Behdad Esfahbod -Date: Mon May 25 02:41:49 2009 -0400 - - [HB] Simplify Tag - - src/hb-ot-layout-open-private.h | 46 - ++++++++++++++++------------------------- - 1 file changed, 18 insertions(+), 28 deletions(-) - -commit 3ec0092c5e2d48e8c4fc1618d3bee427adddb1e7 -Author: Behdad Esfahbod -Date: Mon May 25 02:34:25 2009 -0400 - - [HB] Simplify more - - src/hb-ot-layout-open-private.h | 31 ++++++++++--------------------- - 1 file changed, 10 insertions(+), 21 deletions(-) - -commit 6ad8d5f3c7028147b371137ae4bca6aae66b3489 -Author: Behdad Esfahbod -Date: Mon May 25 02:27:29 2009 -0400 - - [HB] Simplify some basic things - - src/hb-ot-layout-open-private.h | 90 - +++++++++++++++++++++++++++-------------- - src/main.cc | 8 ++-- - 2 files changed, 64 insertions(+), 34 deletions(-) - -commit f96ffd43bce0ac6d9c897933c9be0e51d543e570 -Author: Behdad Esfahbod -Date: Sun May 24 15:01:16 2009 -0400 - - [HB] simplify macros - - src/hb-buffer-private.h | 4 ++-- - src/hb-buffer.h | 4 ++-- - src/hb-common.h | 8 ++++---- - src/hb-ot-layout-private.h | 4 ++-- - src/hb-ot-layout.h | 4 ++-- - 5 files changed, 12 insertions(+), 12 deletions(-) - -commit 8e7b30782a12f3997b9a5a18e6b9d01f6bff8b46 -Author: Behdad Esfahbod -Date: Sun May 24 14:27:24 2009 -0400 - - [HB] Update text files - - src/COPYING | 7 ------- - src/README | 13 ++----------- - 2 files changed, 2 insertions(+), 18 deletions(-) - -commit fa7d47249496fe00ea1ab6943b385c8dd80e5ce6 -Author: Behdad Esfahbod -Date: Sun May 24 14:24:35 2009 -0400 - - [HB] Remove stale makefile.msc too - - src/makefile.msc | 19 ------------------- - 1 file changed, 19 deletions(-) - -commit da2c52abcd75d46929b34cad55c4fb2c8892bc08 -Author: Behdad Esfahbod -Date: Sun May 24 14:22:22 2009 -0400 - - [HB] Remove old code! - - Goodbye 16 thousand lines of ten-year old code! - - src/harfbuzz-dump-main.c | 97 - - src/harfbuzz-dump.c | 768 ------ - src/harfbuzz-dump.h | 41 - - src/harfbuzz-gdef-private.h | 124 - - src/harfbuzz-gdef.c | 1160 -------- - src/harfbuzz-gdef.h | 135 - - src/harfbuzz-global.h | 84 - - src/harfbuzz-gpos-private.h | 712 ----- - src/harfbuzz-gpos.c | 6071 - ----------------------------------------- - src/harfbuzz-gpos.h | 174 -- - src/harfbuzz-gsub-private.h | 476 ---- - src/harfbuzz-gsub.c | 4304 ----------------------------- - src/harfbuzz-gsub.h | 140 - - src/harfbuzz-impl.c | 84 - - src/harfbuzz-impl.h | 126 - - src/harfbuzz-open-private.h | 102 - - src/harfbuzz-open.c | 1405 ---------- - src/harfbuzz-open.h | 282 -- - src/harfbuzz-stream-private.h | 83 - - src/harfbuzz-stream.c | 257 -- - src/harfbuzz.c | 31 - - src/harfbuzz.h | 35 - - 22 files changed, 16691 deletions(-) - -commit e5372f1621602dcee4e14a4b22dc182c21502a50 -Author: Behdad Esfahbod -Date: Sun May 24 14:21:27 2009 -0400 - - [HB] Remove stale TODO mark - - src/hb-ot-layout-open-private.h | 1 - - 1 file changed, 1 deletion(-) - -commit 96908b898476ca5d7da5f386b15be76f9e83d76e -Author: Behdad Esfahbod -Date: Sun May 24 12:30:40 2009 -0400 - - [HB] Add FixedVersion cast to int - - src/hb-ot-layout-open-private.h | 2 ++ - 1 file changed, 2 insertions(+) - -commit 957740dd253475020a94a62ec5dfcd03e3358176 -Author: Behdad Esfahbod -Date: Sun May 24 12:29:55 2009 -0400 - - [HB] Simplify tag - - src/hb-ot-layout-open-private.h | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit 87fcdcbe3644da10154688765db2d62eb9ac079a -Author: Behdad Esfahbod -Date: Sun May 24 01:03:24 2009 -0400 - - [HB] Remove unused data types - - src/hb-ot-layout-gdef-private.h | 2 +- - src/hb-ot-layout-gsubgpos-private.h | 2 +- - src/hb-ot-layout-open-private.h | 54 - ++++--------------------------------- - 3 files changed, 7 insertions(+), 51 deletions(-) - -commit 5876bf1b73fcb56cc41b4d348248a4817f9688cb -Author: Behdad Esfahbod -Date: Sun May 24 00:53:28 2009 -0400 - - [HB] Simplify version check in GSUB/GPOS - - src/hb-ot-layout-gpos-private.h | 5 ++++- - src/hb-ot-layout-gsub-private.h | 5 ++++- - 2 files changed, 8 insertions(+), 2 deletions(-) - -commit 212aba6189d7aaac0bab169b77ae6bdab16800a5 -Author: Behdad Esfahbod -Date: Sun May 24 00:50:27 2009 -0400 - - [HB] Check for GDEF/GSUB/GPOS versions - - src/hb-ot-layout-gdef-private.h | 3 +-- - src/hb-ot-layout-gpos-private.h | 3 +-- - src/hb-ot-layout-gsub-private.h | 3 +-- - src/hb-ot-layout-gsubgpos-private.h | 5 ++--- - src/hb-ot-layout-open-private.h | 11 ++++++++++- - 5 files changed, 15 insertions(+), 10 deletions(-) - -commit a21b5062cc32c04eeee3c4b20d26c7e2b34133e9 -Author: Behdad Esfahbod -Date: Sat May 23 22:39:42 2009 -0400 - - [HB] Minor - - src/hb-ot-layout-gdef-private.h | 6 +++--- - src/hb-ot-layout-open-private.h | 4 ++-- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit a080b1cc2f66d6e109d431a1e09519d7cf53bb9a -Author: Behdad Esfahbod -Date: Sat May 23 18:50:44 2009 -0400 - - [HB] Add TODO items - - src/TODO | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit e4efdd80a8fa4edbcdec9cd84f35f5f4521943c2 -Author: Behdad Esfahbod -Date: Fri May 22 18:54:24 2009 -0400 - - [GDEF] Add some get_carret_value() code - - src/hb-ot-layout-gdef-private.h | 36 ++++++++++++++++++------------------ - 1 file changed, 18 insertions(+), 18 deletions(-) - -commit 9b006bc0322723d065271e4b0ea4f137f81101e1 -Author: Behdad Esfahbod -Date: Fri May 22 18:29:45 2009 -0400 - - [GPOS] MarkLigPosFormat1 - - GPOS is complete now! Yay! - - src/hb-ot-layout-gpos-private.h | 128 - +++++++++++++++++++++++++++++----------- - 1 file changed, 92 insertions(+), 36 deletions(-) - -commit 923923feb248250626c637c11a886804011197b0 -Author: Behdad Esfahbod -Date: Fri May 22 17:58:09 2009 -0400 - - [HB] Remove apply_subtables() again - - src/hb-ot-layout-gpos-private.h | 31 +++++++++++-------------------- - src/hb-ot-layout-gsub-private.h | 33 ++++++++++++--------------------- - 2 files changed, 23 insertions(+), 41 deletions(-) - -commit d468f9af5b9fdc2713b0b86f28129e4190ee5053 -Author: Behdad Esfahbod -Date: Thu May 21 22:31:33 2009 -0400 - - [HB] Share Extension lookup code between GSUB and GPOS - - src/hb-ot-layout-gpos-private.h | 64 +++++----------------------- - src/hb-ot-layout-gsub-private.h | 83 - +++++++------------------------------ - src/hb-ot-layout-gsubgpos-private.h | 52 +++++++++++++++++++++++ - 3 files changed, 77 insertions(+), 122 deletions(-) - -commit 498f1909e0f7a32484b2058622c4a018cbfc1334 -Author: Behdad Esfahbod -Date: Thu May 21 15:51:04 2009 -0400 - - [GPOS] Remove printf. MarkMarkPos1 is working - - The "bug" was in the font. - - src/hb-ot-layout-gpos-private.h | 1 - - 1 file changed, 1 deletion(-) - -commit c7d457aa3ae7138630f52ca7263f663a3ea284c0 -Author: Behdad Esfahbod -Date: Thu May 21 12:46:29 2009 -0400 - - [HB] Ouch. Add files. - - src/hb-common.h | 13 +++++----- - src/hb-private.h | 74 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- - 2 files changed, 78 insertions(+), 9 deletions(-) - -commit fe550f4dd815285e9de8c3cbff810b0a1c7b377f -Author: Behdad Esfahbod -Date: Thu May 21 08:27:07 2009 -0400 - - [GPOS] MarkMarkPosFormat1 - - Still not quite working. - - src/TODO | 4 +- - src/hb-ot-layout-gpos-private.h | 105 - +++++++++++++++++++++++++++++----------- - 2 files changed, 79 insertions(+), 30 deletions(-) - -commit 357ccde36bba01a405d59b7da061fc5048cdc7b4 -Author: Behdad Esfahbod -Date: Thu May 21 06:32:01 2009 -0400 - - [GPOS] MarkBasePosFormat1 - - src/TODO | 1 + - src/hb-ot-layout-gpos-private.h | 62 - +++++++++++++++++++++++++++++++++++++---- - 2 files changed, 58 insertions(+), 5 deletions(-) - -commit 377bfc5860ae018f54e4a2dd737b4b000383ab54 -Author: Behdad Esfahbod -Date: Thu May 21 04:58:24 2009 -0400 - - [GPOS] Implement MarkArray interface - - src/hb-ot-layout-gpos-private.h | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit c18ec2b1d7b8c7abe6ebf4b53c9ec75d5c9bb255 -Author: Behdad Esfahbod -Date: Thu May 21 04:54:01 2009 -0400 - - [GPOS] Implement Device support in AnchorFormat3 - - src/hb-ot-layout-gpos-private.h | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -commit fca6a0d158b847181dcf67a13f34499177df899b -Author: Behdad Esfahbod -Date: Thu May 21 04:49:04 2009 -0400 - - [GPOS] Remove apply_value() return value - - src/hb-ot-layout-gpos-private.h | 75 - +++++++++++++++++++---------------------- - 1 file changed, 34 insertions(+), 41 deletions(-) - -commit fb3b5ccfefc4c38c9184d432703e81f73e1f5bc7 -Author: Behdad Esfahbod -Date: Thu May 21 04:47:05 2009 -0400 - - [GPOS] Start MarkBasePosFormat1 - - src/TODO | 1 + - src/hb-ot-layout-gpos-private.h | 38 - +++++++++++++++++--------------------- - 2 files changed, 18 insertions(+), 21 deletions(-) - -commit ee8776d9e009a7fb8e1f3c1f9cf3ad42d9746a16 -Author: Behdad Esfahbod -Date: Wed May 20 15:46:12 2009 -0400 - - [HB] Add TODO item - - src/hb-ot-layout-gpos-private.h | 1 + - src/hb-ot-layout-gsub-private.h | 1 + - 2 files changed, 2 insertions(+) - -commit c6456ca5cfc35095378dcf29f8edc33ece9c3ea1 -Author: Behdad Esfahbod -Date: Wed May 20 06:15:23 2009 -0400 - - [HB] Add TODO item - - src/TODO | 1 + - 1 file changed, 1 insertion(+) - -commit 3015c4175179a1816aad2a4950da9a3b8baf2578 -Author: Behdad Esfahbod -Date: Wed May 20 06:01:16 2009 -0400 - - [HB] Remove last dependence on the old code base! - - src/hb-buffer-private.h | 88 - ++++++++++++++++++++--------------------- - src/hb-buffer.c | 47 +++++++++++----------- - src/hb-ot-layout-gpos-private.h | 11 ++---- - src/hb-ot-layout-gsub-private.h | 12 +++--- - src/hb-ot-layout.cc | 16 ++++---- - 5 files changed, 85 insertions(+), 89 deletions(-) - -commit 5c0adce1ccc739415c4b26ff13ffd2d77ea4bc6c -Author: Behdad Esfahbod -Date: Wed May 20 05:42:12 2009 -0400 - - [HB] Rename harfbuzz-buffer to hb-buffer - - src/Makefile.am | 5 +++-- - src/{harfbuzz-buffer-private.h => hb-buffer-private.h} | 8 ++++---- - src/{harfbuzz-buffer.c => hb-buffer.c} | 6 ++---- - src/{harfbuzz-buffer.h => hb-buffer.h} | 8 ++++---- - src/hb-ot-layout-gsubgpos-private.h | 2 +- - src/hb-ot-layout-private.h | 2 +- - src/hb-ot-layout.cc | 5 +++-- - src/hb-ot-layout.h | 2 +- - 8 files changed, 19 insertions(+), 19 deletions(-) - -commit b857b49c82782d29d6d189f1a9f4a84d39cd84ea -Author: Behdad Esfahbod -Date: Wed May 20 05:35:14 2009 -0400 - - [HB] Remove all references to the old code! - - src/Makefile.am | 76 +++++++--------------- - src/harfbuzz-buffer.c | 154 - +++++++++++++++++++-------------------------- - src/harfbuzz-buffer.h | 80 +++++++++++------------ - src/hb-ot-layout-private.h | 6 +- - src/hb-ot-layout.cc | 17 ++--- - src/hb-ot-layout.h | 1 + - 6 files changed, 137 insertions(+), 197 deletions(-) - -commit e1593a6e620ee6a8184487185d1c95e0d1820ba5 -Author: Behdad Esfahbod -Date: Wed May 20 04:51:30 2009 -0400 - - [GPOS] Finally it's working, up to Cursive - - Wow, IranNastaliq renders perfectly again! - - src/hb-ot-layout.cc | 24 ++++++++++++++++++++++++ - src/hb-ot-layout.h | 12 ++++++++++++ - 2 files changed, 36 insertions(+) - -commit 0f7e6b2cead0c7d527ef68ededb27e0afd71d819 -Author: Behdad Esfahbod -Date: Wed May 20 04:16:35 2009 -0400 - - [GPOS] Fix more brokenness - - src/Makefile.am | 2 +- - src/hb-ot-layout-gpos-private.h | 37 - ++++++++++++++++++++----------------- - src/hb-ot-layout.cc | 7 +++++++ - src/hb-ot-layout.h | 5 +++++ - 4 files changed, 33 insertions(+), 18 deletions(-) - -commit ff05d257dd43221b7c8ebead188e78495daa8eda -Author: Behdad Esfahbod -Date: Wed May 20 03:53:00 2009 -0400 - - [HB] Move lookup types enum into subtable class - - src/hb-ot-layout-gpos-private.h | 66 - ++++++++++++++++++++--------------------- - src/hb-ot-layout-gsub-private.h | 44 +++++++++++++-------------- - 2 files changed, 55 insertions(+), 55 deletions(-) - -commit 263bbef7670b59aa88ef9ba910579dfa51226524 -Author: Behdad Esfahbod -Date: Wed May 20 00:00:09 2009 -0400 - - [GDEF] Simplify Device access - - src/hb-ot-layout-gdef-private.h | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -commit 60d77cf05fddc5304b4b1fc19cdedba15cbee1e9 -Author: Behdad Esfahbod -Date: Tue May 19 23:58:54 2009 -0400 - - [HB] Indentation - - src/hb-ot-layout-common-private.h | 170 - +++++++++++++++++------------------- - src/hb-ot-layout-gdef-private.h | 65 +++++++------- - src/hb-ot-layout-gsubgpos-private.h | 150 +++++++++++++++++-------------- - src/hb-ot-layout-open-private.h | 159 - ++++++++++++++++----------------- - src/hb-ot-layout-private.h | 9 +- - 5 files changed, 288 insertions(+), 265 deletions(-) - -commit 90de3dfff9e82dae20b7517642511aebaf736b74 -Author: Behdad Esfahbod -Date: Tue May 19 23:43:04 2009 -0400 - - [HB] Remove unused methods - - src/hb-ot-layout-common-private.h | 6 ------ - 1 file changed, 6 deletions(-) - -commit 4c44d830d79431fcb143df2b5a29cdc8e8fccef3 -Author: Behdad Esfahbod -Date: Tue May 19 23:42:30 2009 -0400 - - [HB] Indentation - - src/hb-ot-layout-gpos-private.h | 253 - +++++++++++++++++++++----------------- - src/hb-ot-layout-gsub-private.h | 262 - ++++++++++++++++++++++------------------ - 2 files changed, 284 insertions(+), 231 deletions(-) - -commit d18fd8e3f7185f531fa4c4988d3f5d5c5282b8eb -Author: Behdad Esfahbod -Date: Tue May 19 23:25:41 2009 -0400 - - [GPOS] CursivePosFormat1 - - src/hb-ot-layout-gpos-private.h | 174 - ++++++++++++++++++++++++++++++++++++++-- - src/hb-ot-layout-private.h | 2 +- - 2 files changed, 169 insertions(+), 7 deletions(-) - -commit 70632add333e4ab38f8f485bb87b25116128cf92 -Author: Behdad Esfahbod -Date: Tue May 19 22:30:09 2009 -0400 - - [GSUB] PairPosFormat2 - - src/hb-ot-layout-gpos-private.h | 43 - ++++++++++++++++++++++++++++++++++++----- - 1 file changed, 38 insertions(+), 5 deletions(-) - -commit b24ecbadf44d56fd3286d1d3ff6928151ccec9bd -Author: Behdad Esfahbod -Date: Tue May 19 22:16:04 2009 -0400 - - [GPOS] PairPosFormat1 - - src/hb-ot-layout-gpos-private.h | 91 - +++++++++++++++++++++++++++++++++-------- - 1 file changed, 73 insertions(+), 18 deletions(-) - -commit 056c7ec1aea1eca60a3b20b583b8a8072be9d758 -Author: Behdad Esfahbod -Date: Mon May 18 19:47:52 2009 -0400 - - [GPOS] Start filling apply() functions in - - src/harfbuzz-buffer-private.h | 1 + - src/harfbuzz-buffer.c | 3 - - src/hb-ot-layout-common-private.h | 35 ++++++----- - src/hb-ot-layout-gpos-private.h | 127 - ++++++++++++++++++++++++++++---------- - 4 files changed, 116 insertions(+), 50 deletions(-) - -commit 4fa77d3c4305a76b956de8c1a9b83a961d035a80 -Author: Behdad Esfahbod -Date: Mon May 18 18:44:54 2009 -0400 - - [HB] Use enums - - src/hb-ot-layout-common-private.h | 14 ++++++++------ - src/hb-ot-layout-gdef-private.h | 22 +++++++++++++--------- - 2 files changed, 21 insertions(+), 15 deletions(-) - -commit 6b54c5d0446b514fbb6521e7e9e614d153435f0e -Author: Behdad Esfahbod -Date: Mon May 18 18:30:25 2009 -0400 - - [HB] More reference cast simplification - - src/hb-ot-layout-gsub-private.h | 8 ++++---- - src/hb-ot-layout-gsubgpos-private.h | 28 ++++++++++++++-------------- - src/hb-ot-layout-open-private.h | 2 +- - 3 files changed, 19 insertions(+), 19 deletions(-) - -commit eb0dfc830e09405492f494c85380e133ac5d0ea3 -Author: Behdad Esfahbod -Date: Mon May 18 18:22:44 2009 -0400 - - [HB] Rename LOOKUP_ARGS to APPLY_ARGS - - src/hb-ot-layout-gpos-private.h | 88 - ++++++++++++++++++------------------ - src/hb-ot-layout-gsub-private.h | 84 - +++++++++++++++++----------------- - src/hb-ot-layout-gsubgpos-private.h | 90 - ++++++++++++++++++------------------- - 3 files changed, 131 insertions(+), 131 deletions(-) - -commit 2a8e6accdf798a78ff180dcb593140592d62b872 -Author: Behdad Esfahbod -Date: Mon May 18 18:21:44 2009 -0400 - - [HB] Internally rename position() and substitute() to apply() - - src/hb-ot-layout-gpos-private.h | 110 - ++++++++++++++++++++-------------------- - src/hb-ot-layout-gsub-private.h | 104 - ++++++++++++++++++------------------- - 2 files changed, 107 insertions(+), 107 deletions(-) - -commit f6c8a6eacf27fd1c509d07c85985f0367c5e475f -Author: Behdad Esfahbod -Date: Mon May 18 18:01:19 2009 -0400 - - [HB] Simplify casts - - src/hb-ot-layout-gdef-private.h | 2 +- - src/hb-ot-layout-gpos-private.h | 6 +++--- - src/hb-ot-layout-gsub-private.h | 6 +++--- - src/hb-ot-layout-open-private.h | 10 +++++----- - 4 files changed, 12 insertions(+), 12 deletions(-) - -commit 9c42f05a5ccbb48a9367b80ecdf3679e88088fcf -Author: Behdad Esfahbod -Date: Mon May 18 17:43:49 2009 -0400 - - Switch Pango to new, defunt, GPOS - - src/hb-ot-layout-gpos-private.h | 22 +++++++++++++++------- - src/hb-ot-layout.cc | 13 +++++++++++++ - src/hb-ot-layout.h | 5 +++++ - 3 files changed, 33 insertions(+), 7 deletions(-) - -commit 5e5eb0573f7ea2ce2cf037fef0df70a4351e82c0 -Author: Behdad Esfahbod -Date: Mon May 18 17:09:33 2009 -0400 - - [HB] Start GPOS! - - src/hb-ot-layout-gpos-private.h | 915 - ++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout-gsub-private.h | 2 - - src/hb-ot-layout-private.h | 15 +- - src/hb-ot-layout.cc | 5 +- - src/hb-ot-layout.h | 8 +- - 5 files changed, 936 insertions(+), 9 deletions(-) - -commit 64e67f7599deeec98b104f8b70d0d321cf96799d -Author: Behdad Esfahbod -Date: Mon May 18 15:32:40 2009 -0400 - - [GSUB] Minor - - src/hb-ot-layout-gsub-private.h | 16 ++++++---------- - 1 file changed, 6 insertions(+), 10 deletions(-) - -commit d79cae0b4eef8c2694ada791bb8e427c1202875e -Author: Behdad Esfahbod -Date: Mon May 18 13:50:15 2009 -0400 - - [HB] Minor - - src/hb-ot-layout-gsub-private.h | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -commit 8533bb985e6af2b656d7c45620d8f11f36330b85 -Author: Behdad Esfahbod -Date: Mon May 18 06:00:12 2009 -0400 - - [GSUB] Protect against mismatching Extension subtable types - - src/hb-ot-layout-gsub-private.h | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit 969afd706e9b52adc79f6210c0088b2c6bbae9bc -Author: Behdad Esfahbod -Date: Mon May 18 05:47:47 2009 -0400 - - [GSUB] Implement ReverseChainSingleSubst - - GSUB is done! - - src/hb-ot-layout-gsub-private.h | 55 - +++++++++++++++++++++++++++---------- - src/hb-ot-layout-gsubgpos-private.h | 43 +++++++++-------------------- - 2 files changed, 54 insertions(+), 44 deletions(-) - -commit 4acaffd786a11b5bd7d41b39fc65625fd8cd5077 -Author: Behdad Esfahbod -Date: Mon May 18 05:29:29 2009 -0400 - - [HB] Don't use G_LIKELY! - - src/hb-ot-layout-gsub-private.h | 12 ++++++------ - src/hb-ot-layout-gsubgpos-private.h | 12 ++++++------ - src/hb-ot-layout-open-private.h | 4 ++-- - src/hb-ot-layout.cc | 6 +++--- - 4 files changed, 17 insertions(+), 17 deletions(-) - -commit 3dcb12f171ebbf44461e6ce6439d286c9520dd88 -Author: Behdad Esfahbod -Date: Mon May 18 05:22:32 2009 -0400 - - [GSUB] Oops, fix Extension check - - src/hb-ot-layout-gsub-private.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 2e8fb6c38dbc01cb77b384c0ae0212514dfbb588 -Author: Behdad Esfahbod -Date: Mon May 18 04:37:37 2009 -0400 - - [HB] Tweak some constants and fix Coverage - - src/hb-ot-layout-common-private.h | 11 ++++++----- - src/hb-ot-layout-gsubgpos-private.h | 2 ++ - src/hb-ot-layout-open-private.h | 6 +++--- - 3 files changed, 11 insertions(+), 8 deletions(-) - -commit d6aae5f5cad54fc5dac8b0ff10a3921ebda533d4 -Author: Behdad Esfahbod -Date: Mon May 18 04:25:22 2009 -0400 - - [HB] Cleanup TODOs - - src/hb-ot-layout-gsub-private.h | 12 ++++++------ - src/hb-ot-layout-open-private.h | 2 +- - src/hb-ot-layout.cc | 4 ++-- - 3 files changed, 9 insertions(+), 9 deletions(-) - -commit 122f21fb9a3a0b914575929a3be11884f1ae00c0 -Author: Behdad Esfahbod -Date: Mon May 18 04:21:53 2009 -0400 - - [GSUB] Fix context_length handling in Ligature too - - src/hb-ot-layout-gsub-private.h | 9 ++++----- - src/hb-ot-layout-gsubgpos-private.h | 5 +++-- - 2 files changed, 7 insertions(+), 7 deletions(-) - -commit 47958dea214fd55725bf04aa13d233870255fb03 -Author: Behdad Esfahbod -Date: Mon May 18 04:17:47 2009 -0400 - - [HB] Minor cleanup - - src/hb-ot-layout-gsubgpos-private.h | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -commit e73a0c2a903112ce9a35b95e14e10ab8ea2dc337 -Author: Behdad Esfahbod -Date: Mon May 18 04:15:25 2009 -0400 - - [HB] Correctly skip glyphs when applying (Chain)Context lookups - - src/hb-ot-layout-gsubgpos-private.h | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -commit 7cff75babd64cd49dd2b3faaa15193d12c098f42 -Author: Behdad Esfahbod -Date: Mon May 18 04:09:05 2009 -0400 - - [HB] Fix context_length checking - - src/hb-ot-layout-gsubgpos-private.h | 23 +++++++++++++---------- - src/hb-ot-layout-open-private.h | 2 +- - 2 files changed, 14 insertions(+), 11 deletions(-) - -commit d0ba0557007798db2c60ddd0b7a5a0624cd1698d -Author: Behdad Esfahbod -Date: Mon May 18 03:56:39 2009 -0400 - - [HB] ChainContext complete - - IranNastaliq renders perfectly again! - - src/hb-ot-layout-gsubgpos-private.h | 63 - +++++++++++++++++++++++++++---------- - 1 file changed, 46 insertions(+), 17 deletions(-) - -commit e072c24e79f0e7c1e078a87c782ab5dd8f21dcda -Author: Behdad Esfahbod -Date: Mon May 18 03:47:31 2009 -0400 - - [HB] Implement backtrack matching - - src/hb-ot-layout-gsubgpos-private.h | 61 - +++++++++++++++++++++++++++---------- - 1 file changed, 45 insertions(+), 16 deletions(-) - -commit 02e1e5c63fa4f896053fa3c21e495239e1e9caa2 -Author: Behdad Esfahbod -Date: Mon May 18 02:47:57 2009 -0400 - - [HB] One more step to go, for fully working GSUB and ChainContext - - src/hb-ot-layout-gsubgpos-private.h | 107 - ++++++++++++++++++++---------------- - 1 file changed, 61 insertions(+), 46 deletions(-) - -commit f14c2b7acfba75b8a6880f41ceec758f9a56abce -Author: Behdad Esfahbod -Date: Mon May 18 02:36:18 2009 -0400 - - [HB] Further modularize Context matching - - src/hb-ot-layout-gsubgpos-private.h | 92 - +++++++++++++++++++++++++------------ - 1 file changed, 63 insertions(+), 29 deletions(-) - -commit 13ed4405c558e445b052360f1ed8ee27ecf48e6e -Author: Behdad Esfahbod -Date: Mon May 18 02:14:37 2009 -0400 - - [HB] A step closer to working ChainContext - - src/hb-ot-layout-gsubgpos-private.h | 36 - ++++++++++++++++++++++++++---------- - 1 file changed, 26 insertions(+), 10 deletions(-) - -commit e8cbaaf6d538036ff9b880b018db402e0895ed01 -Author: Behdad Esfahbod -Date: Mon May 18 02:03:58 2009 -0400 - - [HB] Add HeadlessArrayTo<> - - src/hb-ot-layout-gsub-private.h | 10 ++++------ - src/hb-ot-layout-gsubgpos-private.h | 5 ++--- - src/hb-ot-layout-open-private.h | 19 +++++++++++++++++++ - 3 files changed, 25 insertions(+), 9 deletions(-) - -commit dcb6b60254951a2831c03f3196962d229f7e556c -Author: Behdad Esfahbod -Date: Mon May 18 01:49:57 2009 -0400 - - [HB] More template goodness - - src/hb-ot-layout-gsubgpos-private.h | 37 - +++++++++++++++---------------------- - 1 file changed, 15 insertions(+), 22 deletions(-) - -commit aa3d7adca5c821c91a2a1b5380fd6b3d19656ab1 -Author: Behdad Esfahbod -Date: Sun May 17 23:17:56 2009 -0400 - - [HB] More churning towards ChainContext lookups - - src/hb-ot-layout-common-private.h | 6 +- - src/hb-ot-layout-gsub-private.h | 15 +++- - src/hb-ot-layout-gsubgpos-private.h | 174 - ++++++++++++++++++++++-------------- - 3 files changed, 125 insertions(+), 70 deletions(-) - -commit 48f16ed96ac7041b511d9e0864623d2aa09c6da3 -Author: Behdad Esfahbod -Date: Sun May 17 22:11:30 2009 -0400 - - [HB] Towards sharing Context and ChainContext code - - src/hb-ot-layout-gsubgpos-private.h | 220 - ++++++++++++++++-------------------- - 1 file changed, 99 insertions(+), 121 deletions(-) - -commit 6cf2a52593cb4b23e3efe5e16228e3172bdcdd05 -Author: Behdad Esfahbod -Date: Sun May 17 21:11:49 2009 -0400 - - [HB] Add check to avoid infinite recursion - - src/hb-ot-layout-gsub-private.h | 12 ++++++++---- - 1 file changed, 8 insertions(+), 4 deletions(-) - -commit 887c4b44165eeb8ac7fb09bc4474d11720b94a9e -Author: Behdad Esfahbod -Date: Sun May 17 21:06:08 2009 -0400 - - [HB] Cosmetic - - src/hb-ot-layout-gsub-private.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit ca5290f4994e1b2db4dac03f7a22b7071441ba06 -Author: Behdad Esfahbod -Date: Sun May 17 20:48:27 2009 -0400 - - [HB] Start ChainContext and ReverseChainSingleSubst lookups - - src/hb-ot-layout-gsub-private.h | 269 - ++++++++---------------------------- - src/hb-ot-layout-gsubgpos-private.h | 214 +++++++++++++++++++++++++++- - 2 files changed, 268 insertions(+), 215 deletions(-) - -commit 433f4aea741e39df079126769441b79ab64fd236 -Author: Behdad Esfahbod -Date: Sun May 17 20:30:05 2009 -0400 - - [HB] Remove stale TODO - - src/hb-ot-layout-private.h | 2 -- - 1 file changed, 2 deletions(-) - -commit 6f20f72e9c58ba23db2e31afa5d331acfea3d77e -Author: Behdad Esfahbod -Date: Sun May 17 20:28:01 2009 -0400 - - [HB] Split Layout-common tables into new files - - src/hb-ot-layout-common-private.h | 429 - ++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout-gdef-private.h | 3 +- - src/hb-ot-layout-gsub-private.h | 1 + - src/hb-ot-layout-gsubgpos-private.h | 2 + - src/hb-ot-layout-open-private.h | 408 - ---------------------------------- - 5 files changed, 434 insertions(+), 409 deletions(-) - -commit f45107fe0904414f1266648a6c42849c494fe611 -Author: Behdad Esfahbod -Date: Sun May 17 20:13:02 2009 -0400 - - [HB] More shuffling - - src/hb-ot-layout-gsub-private.h | 71 - +++++++++++++++++++++---------------- - src/hb-ot-layout-gsubgpos-private.h | 30 ++++++++++++++++ - src/hb-ot-layout-open-private.h | 41 --------------------- - 3 files changed, 71 insertions(+), 71 deletions(-) - -commit f8dc67b3c24dfc805da756a73cb217b36e16b4b8 -Author: Behdad Esfahbod -Date: Sun May 17 19:47:54 2009 -0400 - - [HB] Cleanup format unions - - src/hb-ot-layout-gdef-private.h | 18 ++++---- - src/hb-ot-layout-gsub-private.h | 87 - +++++++++++++++++++------------------ - src/hb-ot-layout-gsubgpos-private.h | 16 +++---- - src/hb-ot-layout-open-private.h | 41 +++++++---------- - 4 files changed, 77 insertions(+), 85 deletions(-) - -commit da1097bc3b1995776c205707fd2b17603b804646 -Author: Behdad Esfahbod -Date: Sun May 17 19:31:18 2009 -0400 - - [HB] Use four bytes for Null Tag, not 5 - - src/hb-ot-layout-open-private.h | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 19fc24f268b985d30971307ac2055622d11cb21f -Author: Behdad Esfahbod -Date: Sun May 17 09:45:32 2009 -0400 - - [HB] Couple size checks - - src/hb-ot-layout-gsub-private.h | 7 +++++-- - src/hb-ot-layout-gsubgpos-private.h | 4 ++-- - src/hb-ot-layout-open-private.h | 4 ++-- - 3 files changed, 9 insertions(+), 6 deletions(-) - -commit ecf17e849db19599bbb816d0018380ebf979576b -Author: Behdad Esfahbod -Date: Sun May 17 09:34:41 2009 -0400 - - [HB] Propagate property of first glyph - - This slightly grows code size. - - src/hb-ot-layout-gsub-private.h | 100 - +++++++++++++++++++----------------- - src/hb-ot-layout-gsubgpos-private.h | 7 +-- - 2 files changed, 56 insertions(+), 51 deletions(-) - -commit eca8e33710cfce51454e64d974ff0c28b0eefa14 -Author: Behdad Esfahbod -Date: Sun May 17 09:07:27 2009 -0400 - - [GSUB] Further optimize the main switch - - src/hb-ot-layout-gsub-private.h | 31 +++++++++++++++++-------------- - 1 file changed, 17 insertions(+), 14 deletions(-) - -commit 13068232e7054748ae5ba0d961ee5a95b959e92e -Author: Behdad Esfahbod -Date: Sun May 17 08:59:01 2009 -0400 - - [HB] Unify first glyph property checking - - src/hb-ot-layout-gsub-private.h | 81 - ++++++++++++++++--------------------- - src/hb-ot-layout-gsubgpos-private.h | 12 ------ - 2 files changed, 35 insertions(+), 58 deletions(-) - -commit 66bf7ce4e3135535c110a917178b84c4a2b1d11f -Author: Behdad Esfahbod -Date: Sun May 17 08:28:42 2009 -0400 - - [HB] Move Context matching logic out of GSUB - - src/hb-ot-layout-gdef-private.h | 2 - - src/hb-ot-layout-gsub-private.h | 331 - +--------------------------------- - src/hb-ot-layout-gsubgpos-private.h | 347 - ++++++++++++++++++++++++++++++++++++ - 3 files changed, 352 insertions(+), 328 deletions(-) - -commit a1625528cd5ed94bc8f18903da3300e823ee5b54 -Author: Behdad Esfahbod -Date: Sun May 17 07:52:11 2009 -0400 - - [GSUB] Unify ContextSubst matching - - src/hb-ot-layout-gsub-private.h | 378 - ++++++++++++++++------------------------ - 1 file changed, 154 insertions(+), 224 deletions(-) - -commit c36238bea40e9e2b589028eb6de0710455b31585 -Author: Behdad Esfahbod -Date: Sun May 17 07:39:34 2009 -0400 - - [HB] Renames - - src/hb-ot-layout-gsub-private.h | 122 - ++++++++++++++++++++-------------------- - 1 file changed, 61 insertions(+), 61 deletions(-) - -commit 15c3e75b39797a153b6bc0598f87b27c4a487228 -Author: Behdad Esfahbod -Date: Sun May 17 06:03:42 2009 -0400 - - [HB] Simplify buffer - - src/harfbuzz-buffer-private.h | 14 ++++++-------- - src/harfbuzz-buffer.c | 35 ++++++++++++++++------------------- - src/harfbuzz-gsub.c | 6 +++--- - src/hb-ot-layout-gsub-private.h | 12 ++++++------ - 4 files changed, 31 insertions(+), 36 deletions(-) - -commit 36f78446cef8a7cbae000d5e742c9d13e1cc7f83 -Author: Behdad Esfahbod -Date: Sun May 17 05:52:32 2009 -0400 - - [HB] Add TODO item - - src/TODO | 1 + - src/harfbuzz-buffer.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -commit ee58aaebd296ea8237516754fd4e825d524b11b7 -Author: Behdad Esfahbod -Date: Sun May 17 05:14:33 2009 -0400 - - [HB] Update copyright years - - src/hb-ot-layout-gdef-private.h | 2 +- - src/hb-ot-layout-open-private.h | 2 +- - src/hb-ot-layout.cc | 2 +- - src/main.cc | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -commit f4c9514935cf97a58dcb3b1962ac3f3b5ba61264 -Author: Behdad Esfahbod -Date: Sun May 17 04:59:56 2009 -0400 - - [HB] Simplify more arrays - - src/hb-ot-layout-open-private.h | 241 - ++++++++++++++++------------------------ - src/hb-ot-layout.cc | 8 +- - 2 files changed, 100 insertions(+), 149 deletions(-) - -commit c9a7cbe9cb52264af9954e5ce9ac7a45d7e310cd -Author: Behdad Esfahbod -Date: Sun May 17 01:22:51 2009 -0400 - - [HB] Use ArrayOf<> in GSUB - - src/hb-ot-layout-gdef-private.h | 3 +- - src/hb-ot-layout-gsub-private.h | 157 - +++++++++++++--------------------------- - src/hb-ot-layout-open-private.h | 5 -- - 3 files changed, 53 insertions(+), 112 deletions(-) - -commit 5f810363acc3ad3cba631a68620e3d37e54c95c4 -Author: Behdad Esfahbod -Date: Sun May 17 00:54:25 2009 -0400 - - [HB] Add ArrayOf<> - - src/hb-ot-layout-gdef-private.h | 62 ++++++++------------------------- - src/hb-ot-layout-open-private.h | 77 - ++++++++++++++++++++++++++++++----------- - 2 files changed, 71 insertions(+), 68 deletions(-) - -commit 238c855fcd4f0ef97a94a8662d2a2f2bb5c21ecb -Author: Behdad Esfahbod -Date: Sun May 17 00:22:37 2009 -0400 - - [HB] Use OffsetTo<> for Coverage - - src/hb-ot-layout-gdef-private.h | 1 + - src/hb-ot-layout-gsub-private.h | 55 - ++++++++++++++++------------------------- - src/hb-ot-layout-open-private.h | 10 +------- - 3 files changed, 23 insertions(+), 43 deletions(-) - -commit 3d54bd1293069fc3d3bdeeea8ad45036f3ee65f3 -Author: Behdad Esfahbod -Date: Sun May 17 00:15:51 2009 -0400 - - [HB] Use OffsetTo<> in more places - - src/hb-ot-layout-gdef-private.h | 12 +++++------- - src/hb-ot-layout-open-private.h | 4 ++++ - 2 files changed, 9 insertions(+), 7 deletions(-) - -commit 9e4d9d7b2721859172bc9c59c1aea27b01eb9c07 -Author: Behdad Esfahbod -Date: Sun May 17 00:09:20 2009 -0400 - - [HB] Add OffsetTo template. - - src/hb-ot-layout-gdef-private.h | 26 ++++++++++++++------------ - src/hb-ot-layout-gsub-private.h | 6 +++--- - src/hb-ot-layout-open-private.h | 27 ++++++++++++++++++--------- - 3 files changed, 35 insertions(+), 24 deletions(-) - -commit e07f89295b9b38d233dfd4acec1f6b4a3416f267 -Author: Behdad Esfahbod -Date: Sat May 16 23:20:48 2009 -0400 - - [HB] Automate int-type size assertion - - src/hb-ot-layout-open-private.h | 13 +++---------- - 1 file changed, 3 insertions(+), 10 deletions(-) - -commit 8b8358033184198ff638ee1379093717596e162d -Author: Behdad Esfahbod -Date: Sat May 16 22:48:14 2009 -0400 - - [HB] Use templates for Null objects - - Also use a common pool for all nul-content ones. - - src/hb-ot-layout-gdef-private.h | 12 ++-- - src/hb-ot-layout-gsub-private.h | 28 ++++---- - src/hb-ot-layout-open-private.h | 142 - +++++++++++++++++++++++----------------- - src/hb-ot-layout.cc | 8 +-- - 4 files changed, 105 insertions(+), 85 deletions(-) - -commit 6e13d4140158aff736647fc53d8c0ae3a02c2afc -Author: Behdad Esfahbod -Date: Sat May 16 20:15:16 2009 -0400 - - [HB] Remove obsolete comment - - src/hb-ot-layout-gdef-private.h | 1 - - 1 file changed, 1 deletion(-) - -commit 9f721cf380954d67415dbfd0404a983cdd75b7df -Author: Behdad Esfahbod -Date: Sat May 16 19:59:15 2009 -0400 - - [GSUB] Start ChainContextSubst - - src/hb-ot-layout-gsub-private.h | 50 - ++++++++++++++++++++++++++++++++--------- - 1 file changed, 39 insertions(+), 11 deletions(-) - -commit 7fca9e5245d2d283e8b5354eb1ddf553a7ffc033 -Author: Behdad Esfahbod -Date: Sat May 16 19:44:24 2009 -0400 - - [GSUB] Implement ContextSubstFormat3 - - src/hb-ot-layout-gsub-private.h | 62 - ++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 61 insertions(+), 1 deletion(-) - -commit 1ff926a5681b5d4bfce65351062cda9dc1ffeba2 -Author: Behdad Esfahbod -Date: Fri May 15 20:25:37 2009 -0400 - - [GSUB] Implement ContextSubstFormat2 - - src/hb-ot-layout-gsub-private.h | 105 - +++++++++++++++++++++++++++++++++++++--- - 1 file changed, 97 insertions(+), 8 deletions(-) - -commit fc36d9453ed7edb0a570abc44d7caa87aafb0fcf -Author: Behdad Esfahbod -Date: Fri May 15 20:11:10 2009 -0400 - - [GSUB] Add GSUB::substitute_lookup() - - src/hb-ot-layout-gsub-private.h | 7 +++++++ - src/hb-ot-layout.cc | 5 +---- - 2 files changed, 8 insertions(+), 4 deletions(-) - -commit c43562b2a7587fa3f9ef4c1c4338e4eda77368b5 -Author: Behdad Esfahbod -Date: Fri May 15 18:54:53 2009 -0400 - - [GSUB] Finish ContextSubstFormat1 - - src/hb-ot-layout-gsub-private.h | 77 - ++++++++++++++++++++++++++++++++--------- - src/hb-ot-layout-private.h | 14 ++++++++ - src/hb-ot-layout.cc | 13 ------- - 3 files changed, 74 insertions(+), 30 deletions(-) - -commit 5ee21896224e3a9835a9695037a94ccf1c35a217 -Author: Behdad Esfahbod -Date: Fri May 15 13:28:56 2009 -0400 - - [HB] Fix typo - - src/hb-ot-layout-open-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6b59c9b445b6d2454008c83a2c7d6a995ea5995e -Author: Behdad Esfahbod -Date: Fri May 15 01:00:36 2009 -0400 - - [HB] Add TODO item - - src/TODO | 1 + - 1 file changed, 1 insertion(+) - -commit c5419b6cf28822e07f1ef9b0394825e9cb01a445 -Author: Behdad Esfahbod -Date: Fri May 8 21:17:56 2009 -0400 - - [HB] Remove DEFINE_NON_INSTANTIABLE - - src/hb-ot-layout-gdef-private.h | 2 -- - src/hb-ot-layout-gsub-private.h | 3 --- - src/hb-ot-layout-open-private.h | 18 +----------------- - 3 files changed, 1 insertion(+), 22 deletions(-) - -commit 0dff25f0368c5f14ebb0a4af35f3bb6658740d57 -Author: Behdad Esfahbod -Date: Fri May 8 21:12:18 2009 -0400 - - [HB] Remove get_size() - - src/hb-ot-layout-gdef-private.h | 9 ------ - src/hb-ot-layout-gsub-private.h | 63 - ----------------------------------------- - src/hb-ot-layout-open-private.h | 42 ++------------------------- - 3 files changed, 3 insertions(+), 111 deletions(-) - -commit 25c6c9a3f6c062ec639d9202a8b9844be64d6fc0 -Author: Behdad Esfahbod -Date: Fri May 8 19:09:17 2009 -0400 - - [GSUB] ContextSubst format 1 - - src/hb-ot-layout-gsub-private.h | 52 - +++++++++++++++++++++++++++++++++++------ - 1 file changed, 45 insertions(+), 7 deletions(-) - -commit f70229510303109bd0f71423cdf13aa200066d17 -Author: Behdad Esfahbod -Date: Fri May 8 18:45:53 2009 -0400 - - [GSUB] Shuffle - - src/hb-ot-layout-gsub-private.h | 170 - ++++++++++++++++++++-------------------- - 1 file changed, 86 insertions(+), 84 deletions(-) - -commit a83e08f8728439ef75e3dfab2191ac913d8f907b -Author: Behdad Esfahbod -Date: Thu May 7 12:53:02 2009 -0400 - - [HarfBuzz] Start a TODO file - - src/TODO | 1 + - 1 file changed, 1 insertion(+) - -commit eed05b04ebc2cbb3fa699c99200db12a0081cefb -Author: Behdad Esfahbod -Date: Wed May 6 00:25:59 2009 -0400 - - [GSUB] minor - - src/hb-ot-layout-open-private.h | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit cdb317bc4e188421cad997b448abb19223d39e96 -Author: Behdad Esfahbod -Date: Wed May 6 00:12:29 2009 -0400 - - [GSUB] Towards Context subtitutes - - src/hb-ot-layout-gsub-private.h | 137 - +++++++++++++++++++++++++++++++--------- - 1 file changed, 108 insertions(+), 29 deletions(-) - -commit c9c6a78aec2b16ac06dfca8cbfaf28a77a10bae2 -Author: Behdad Esfahbod -Date: Tue May 5 16:22:02 2009 -0400 - - [GSUB] Minor refactoring - - src/hb-ot-layout-gsub-private.h | 42 - ++++++++++++++++++++++------------------- - 1 file changed, 23 insertions(+), 19 deletions(-) - -commit bb3899a579b00134b24df8891b69bf1621a8190f -Author: Behdad Esfahbod -Date: Tue May 5 13:25:13 2009 -0400 - - [GSUB] Implement ligature substitutions - - src/Makefile.am | 2 + - src/hb-ot-layout-gsub-private.h | 113 - ++++++++++++++++++++++++++++++++-------- - 2 files changed, 93 insertions(+), 22 deletions(-) - -commit 38b011a293181856463dd08d43e2106e5bf1d56e -Author: Behdad Esfahbod -Date: Mon May 4 20:21:57 2009 -0400 - - [GSUB] Hook new GSUB up in Pango - - src/hb-ot-layout-gsub-private.h | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -commit a84e71ad11a72feff47ead16772a8c4bcf4f69d5 -Author: Behdad Esfahbod -Date: Thu Apr 16 16:53:40 2009 -0400 - - [GSUB] Start Ligature subtable support - - src/hb-ot-layout-gsub-private.h | 132 - +++++++++++++++++++++++++++++----------- - src/hb-ot-layout.h | 2 +- - 2 files changed, 96 insertions(+), 38 deletions(-) - -commit 52886ca56b24a8335614b1df16a33dd4e2d7ae56 -Author: Behdad Esfahbod -Date: Thu Apr 16 14:19:42 2009 -0400 - - [GSUB] Implement Alternate subtables - - src/hb-ot-layout-gsub-private.h | 104 - ++++++++++++++++++++++++++++++++++++---- - src/hb-ot-layout-open-private.h | 2 +- - 2 files changed, 97 insertions(+), 9 deletions(-) - -commit 4f27ce7e0213ac5ba356f0fd2ec0a175ffd002e6 -Author: Behdad Esfahbod -Date: Thu Apr 16 13:40:13 2009 -0400 - - [GSUB] Implement Extension subtables - - src/hb-ot-layout-gsub-private.h | 169 - +++++++++++++++++++++++++--------------- - 1 file changed, 108 insertions(+), 61 deletions(-) - -commit 83e61ff4702121d3418fe82a8fe7ef6bb63bb5d2 -Author: Behdad Esfahbod -Date: Thu Apr 16 12:30:51 2009 -0400 - - [GSUB] Fix reverse lookup loop like we did in the old code before - - src/hb-ot-layout-gsub-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5a0b791184cf6ef39eae0570e14aca21abc32845 -Author: Behdad Esfahbod -Date: Thu Apr 16 04:45:30 2009 -0400 - - [harfbuzz/GSUB] towards a partially working GSUB - - src/harfbuzz-buffer.c | 2 +- - src/harfbuzz-impl.h | 2 +- - src/harfbuzz.c | 1 - - src/hb-ot-layout-gdef-private.h | 4 +- - src/hb-ot-layout-gsub-private.h | 383 - +++++++++++++++++++++++++++++----------- - src/hb-ot-layout-open-private.h | 31 +++- - src/hb-ot-layout-private.h | 6 +- - src/hb-ot-layout.cc | 94 +++++++--- - src/hb-ot-layout.h | 2 - - 9 files changed, 381 insertions(+), 144 deletions(-) - -commit 30bd763fa2fa4aceee51433ec9fc8dc28480b5d7 -Author: Behdad Esfahbod -Date: Wed Apr 15 22:56:15 2009 -0400 - - Implement the first substitute() - - src/harfbuzz-buffer-private.h | 8 ++-- - src/harfbuzz-buffer.c | 4 +- - src/harfbuzz-buffer.h | 2 +- - src/harfbuzz-gdef-private.h | 4 +- - src/harfbuzz-gdef.c | 6 +-- - src/harfbuzz-gdef.h | 2 +- - src/harfbuzz-gpos.c | 8 ++-- - src/harfbuzz-gpos.h | 2 +- - src/harfbuzz-gsub.h | 2 +- - src/hb-ot-layout-gsub-private.h | 88 - +++++++++++++++++++++++++++++++++++++---- - src/hb-ot-layout-open-private.h | 2 +- - src/hb-ot-layout-private.h | 23 ++++++----- - src/hb-ot-layout.cc | 54 +++++++++++++++++-------- - src/hb-ot-layout.h | 2 +- - 14 files changed, 151 insertions(+), 56 deletions(-) - -commit ce48f03946bef895912019046bdbe62bb1301d0b -Merge: 0e13beeb 2d15e72c -Author: Behdad Esfahbod -Date: Mon Nov 2 14:35:51 2009 -0500 - - Merge harfbuzz-ng - -commit 0e13beeb93077750183a8242780158b88df81e26 -Author: Behdad Esfahbod -Date: Fri Apr 17 17:03:39 2009 -0400 - - Use git.mk - - src/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit 2d15e72c75931398db5e027e660f1320bb979117 -Author: Behdad Esfahbod -Date: Wed Apr 15 19:50:16 2009 -0400 - - Give it a start at GSUB - - src/hb-common.h | 5 +- - src/hb-ot-layout-gdef-private.h | 24 ++++---- - src/hb-ot-layout-gsub-private.h | 120 - +++++++++++++++++++++++++++++++++++++++- - src/hb-ot-layout-open-private.h | 51 ++++++++++------- - src/hb-ot-layout-private.h | 2 +- - src/hb-ot-layout.cc | 63 +++++++++++++++++++-- - src/hb-ot-layout.h | 29 +++++++++- - src/main.cc | 4 +- - 8 files changed, 253 insertions(+), 45 deletions(-) - -commit 9d870f2a558f4e463e3ff953312202a8d144158b -Author: Behdad Esfahbod -Date: Thu Apr 9 13:30:26 2009 -0400 - - Bug 577952 – Error loading {GDEF,GSUB,GPOS} table 0x6EAD - - Detect TrueType Collections by checking the font data header instead - of checking for "face->num_faces >1". - - src/harfbuzz-stream.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit d49caf1f77743550d83fc7feced1293ba34a4e99 -Author: Behdad Esfahbod -Date: Mon Mar 2 15:16:11 2009 +0330 - - [opentype] Protect against illegal access for arrays of length zero - - src/harfbuzz-gpos.c | 22 ++++++++++++++++++---- - src/harfbuzz-gsub.c | 6 ++++++ - 2 files changed, 24 insertions(+), 4 deletions(-) - -commit 66871797af194f9d2161faf8bfbc9684f09e207e -Author: Behdad Esfahbod -Date: Mon Mar 2 14:20:20 2009 +0330 - - [opentype] Use size_t instead of uint for malloc wrappers - - src/harfbuzz-impl.c | 4 ++-- - src/harfbuzz-impl.h | 6 ++++-- - 2 files changed, 6 insertions(+), 4 deletions(-) - -commit 3664e59c52ed56486a3e38126c0c3abb78f42233 -Author: Behdad Esfahbod -Date: Mon Mar 2 11:09:29 2009 +0330 - - Fix Bug 572529 – Poor -I ordering can break build - - src/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit aca4d11388eedd532a73bd34747abb65c0ea9291 -Author: Behdad Esfahbod -Date: Mon Feb 2 00:13:07 2009 +0000 - - Allocate all array rows in a single ALLOC call. Saves over 100 - alloc calls - - 2009-01-31 Behdad Esfahbod - - * pango/opentype/harfbuzz-gpos.c (Load_Mark2Array), - (Free_Mark2Array): - Allocate all array rows in a single ALLOC call. Saves over - 100 - alloc calls when loading DejaVu Sans, - - src/harfbuzz-gpos.c | 59 - +++++++++++++++-------------------------------------- - 1 file changed, 17 insertions(+), 42 deletions(-) - -commit c561d69c721105b78bb06d1e3c5f21ca314d924a -Author: Behdad Esfahbod -Date: Thu Jan 29 09:20:08 2009 +0000 - - Remove ClassDef->Defined field. This is the comment accompanying it: - - 2009-01-29 Behdad Esfahbod - - * pango/opentype/harfbuzz-open.h: - * pango/opentype/harfbuzz-gdef.c (Make_ClassRange), - (HB_GDEF_Build_ClassDefinition): - * pango/opentype/harfbuzz-gpos.c (Load_PosClassRule), - (Load_ChainPosClassRule): - * pango/opentype/harfbuzz-gsub.c (Load_SubClassRule), - (Load_ChainSubClassRule): - * pango/opentype/harfbuzz-open.c (Load_ClassDef1), - (Load_ClassDef2), (_HB_OPEN_Load_ClassDefinition), - (_HB_OPEN_Load_EmptyClassDefinition), - (_HB_OPEN_Free_ClassDefinition): - Remove ClassDef->Defined field. This is the comment - accompanying it: - - The `Defined' field is not defined in the OpenType - specification - but apparently needed for processing fonts like trado.ttf: - This - font refers to a class which contains not a single element. - We - map such classes to class 0. - - The comment is correct that trado.ttf (MS Traditional - Arabic) uses - such classes. However, in my testing I couldn't identify any - problems with the font if the special handling is removed. - I also - processed as many fonts as I could get my hand on and - trado.ttf was - the only not-totally-broken font hitting the special-case - code. - DejaVu fonts hit it too, but I'm sure they do not require the - special-handling code. Most probably, that code introduces - bugs - in them. - - The special-casing was consuming lots of memory. - EIGHT MEGABYTES - for loading DejaVu Sans! While this could be complete - fixed, I - decided to remove the special-handling code altogether. - I don't - think it will make any real difference, and if it does, - we'll fix - fonts. Such hacks will not be in harfbuzz-ng anyway. - - Bug originally reported by nsf. - - src/harfbuzz-gdef.c | 8 -------- - src/harfbuzz-gpos.c | 32 -------------------------------- - src/harfbuzz-gsub.c | 31 ------------------------------- - src/harfbuzz-open.c | 30 +++--------------------------- - src/harfbuzz-open.h | 8 -------- - 5 files changed, 3 insertions(+), 106 deletions(-) - -commit 9372edd6f020c92609853609dcb504c72551c9c3 -Author: Behdad Esfahbod -Date: Thu Jan 29 09:19:56 2009 +0000 - - Use calloc(), instead of malloc()ing and memset()ing. - - 2009-01-29 Behdad Esfahbod - - * pango/opentype/harfbuzz-impl.c (_hb_alloc): Use calloc(), - instead of malloc()ing and memset()ing. - - src/harfbuzz-impl.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -commit 94c21d26ba878b3168a21f2e76f02bc52e8fe6fd -Author: Behdad Esfahbod -Date: Thu Jan 29 09:19:43 2009 +0000 - - Remove old cruft. - - 2009-01-29 Behdad Esfahbod - - * pango/opentype/harfbuzz-dump-main.c (main): Remove old - cruft. - - src/harfbuzz-dump-main.c | 144 - +---------------------------------------------- - 1 file changed, 1 insertion(+), 143 deletions(-) - -commit 0a47c4f78e8a9e81cd305f24ec92ea61ead7dd8d -Author: Behdad Esfahbod -Date: Thu Jan 29 09:19:20 2009 +0000 - - Allocate all array rows in a single ALLOC call. Saves over 2000 alloc - - 2009-01-29 Behdad Esfahbod - - * pango/opentype/harfbuzz-gpos.c (Load_BaseArray), - (Free_BaseArray): - Allocate all array rows in a single ALLOC call. Saves over - 2000 - alloc calls when loading DejaVu Sans! - - src/harfbuzz-gpos.c | 57 - ++++++++++++++++------------------------------------- - 1 file changed, 17 insertions(+), 40 deletions(-) - -commit 549be924bccd187f53791dfa27647981ac909545 -Author: Behdad Esfahbod -Date: Fri Dec 26 02:31:47 2008 +0000 - - Bug 469049 – Fix all compiler warnings - - 2008-12-25 Behdad Esfahbod - - Bug 469049 – Fix all compiler warnings - - * pango-view/viewer-pangocairo.c (render_callback): - * pango/fonts.c (append_field), - (pango_font_description_to_string): - * pango/opentype/harfbuzz-dump.c: - * pango/pango-bidi-type.c - (pango_log2vis_get_embedding_levels): - * pango/pango-coverage.c (pango_coverage_set): - * pango/pango-markup.c (span_parse_func): - * pango/pango-renderer.c - (pango_renderer_default_draw_error_underline): - * pango/pango-utils.c (pango_scan_string): - * pango/pangocairo-render.c - (pango_cairo_renderer_draw_trapezoid), - (draw_error_underline), (pango_cairo_renderer_class_init): - Fix all the remaining warnings. - - src/harfbuzz-dump.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 719f9eaa755396ff377da10c5eeced01d3456b1b -Author: Behdad Esfahbod -Date: Fri Dec 26 02:31:35 2008 +0000 - - Fix more warnings. - - 2008-12-25 Behdad Esfahbod - - * pango/modules.c (pango_module_load), (script_info_free): - * pango/opentype/harfbuzz-gpos.c (HB_Load_GPOS_Table): - * pango/pango-bidi-type.c: - * pango/pango-coverage.c (pango_coverage_ref), - (pango_coverage_unref): - * pango/pango-engine.c (pango_engine_shape_real_covers), - (fallback_engine_shape), (fallback_engine_covers): - * pango/pango-fontmap.c (pango_font_map_init): - * pango/pango-ot-ruleset.c (pango_ot_ruleset_finalize), - (pango_ot_ruleset_new): - * pango/pangofc-decoder.c (pango_fc_decoder_init), - (pango_fc_decoder_class_init): - * pango/pangofc-font.c (pango_fc_font_find_shaper), - (pango_fc_font_get_coverage): - * pango/pangofc-fontmap.c (pango_fc_font_map_list_families), - (pango_fc_make_pattern), (pango_fc_font_map_get_patterns), - (get_first_font), (_pango_fc_font_map_get_coverage), - (cleanup_font), (pango_fc_font_description_from_pattern), - (pango_fc_face_list_sizes), (pango_fc_family_list_faces): - * pango/pangoft2-fontmap.c - (pango_ft2_font_map_get_resolution): - * pango/pangoft2-render.c (pango_ft2_renderer_init), - (pango_ft2_renderer_draw_trapezoid): - * pango/pangoft2.c (pango_ft2_font_get_face), - (pango_ft2_font_real_unlock_face), - (pango_ft2_free_glyph_info_callback): - Fix more warnings. - - src/harfbuzz-gpos.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 21f7d507f4b50e2743ab47954270f4c72d5a722a -Author: Behdad Esfahbod -Date: Wed Oct 15 03:45:29 2008 +0000 - - Bug 528272 – "Error loading GPOS table 5503" when using katakana - - 2008-10-14 Behdad Esfahbod - - Bug 528272 – "Error loading GPOS table 5503" when using - katakana - characters - - * pango/opentype/harfbuzz-gpos.c (Load_Mark2Array): Skip - parsing - null anchor tables. - - src/harfbuzz-gpos.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit a26c6ae70502b4d60c52a0648662b1619c688b9a -Author: Behdad Esfahbod -Date: Mon Sep 29 22:28:47 2008 +0000 - - Fix left-to-right positioning. Reported by Peter Hunter. - - 2008-09-29 Behdad Esfahbod - - * pango/opentype/harfbuzz-gpos.c (Position_CursiveChain): - Fix left-to-right positioning. Reported by Peter Hunter. - - src/harfbuzz-gpos.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b6c06c56a33f1e1ec15e3b525ecafe8fadc679db -Author: Behdad Esfahbod -Date: Sun Jun 29 18:30:14 2008 +0000 - - Bug 540592 – Crash in HB_GSUB_Apply_String with Linux-Libertine font - - 2008-06-29 Behdad Esfahbod - - Bug 540592 – Crash in HB_GSUB_Apply_String with - Linux-Libertine font - - * pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): - Fix reverse - loops for type 8 lookups. - - src/harfbuzz-gsub.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit c44733596c6648e209c12349e18e35424edf3d59 -Author: Behdad Esfahbod -Date: Mon Feb 18 21:14:23 2008 -0500 - - [hb-ot-layout] Add proper namespace to accessors - - src/hb-ot-layout.cc | 165 - ++++++++++++++++++++++++++++++++++++++-------------- - src/hb-ot-layout.h | 115 +++++++++++++++++++++++------------- - 2 files changed, 198 insertions(+), 82 deletions(-) - -commit 57225672098ebdafb0c06ae091a1b55635daca29 -Author: Behdad Esfahbod -Date: Mon Feb 18 20:58:39 2008 -0500 - - Fix typo, add TODOs - - src/hb-ot-layout-open-private.h | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 4a26ea408c87f0bb59deca9ff44008d138471aa3 -Author: Behdad Esfahbod -Date: Mon Jan 28 07:40:10 2008 -0500 - - Finish script, language, and feature public API - - src/hb-ot-layout-open-private.h | 22 ++++++--- - src/hb-ot-layout.cc | 107 - +++++++++++++++++++++++++++++++--------- - src/hb-ot-layout.h | 34 ++++++++++++- - 3 files changed, 132 insertions(+), 31 deletions(-) - -commit 706ab25a4cb043d46e6088aa0a7184ee200276c9 -Author: Behdad Esfahbod -Date: Mon Jan 28 05:58:50 2008 -0500 - - Add script and language public getter API - - src/hb-ot-layout-open-private.h | 40 ++++++++----- - src/hb-ot-layout.cc | 127 - +++++++++++++++++++++++++++++++++++++++- - src/hb-ot-layout.h | 56 ++++++++++++++++++ - src/main.cc | 2 +- - 4 files changed, 207 insertions(+), 18 deletions(-) - -commit 40a81314fa3eb7c701aea47b43f81bfad985f717 -Author: Behdad Esfahbod -Date: Mon Jan 28 02:30:48 2008 -0500 - - Make main.cc compile again, which means finished getter API - - src/hb-ot-layout-open-private.h | 117 - +++++++++++++++++++++++++++++----------- - src/main.cc | 99 +++++++++++++++++++++++----------- - 2 files changed, 155 insertions(+), 61 deletions(-) - -commit e50c3978d37b2c0d6ddd4ced6a6196f6857cd596 -Author: Behdad Esfahbod -Date: Mon Jan 28 00:16:49 2008 -0500 - - Rename HB_OT_Layout to hb_ot_layout_t - - src/hb-ot-layout-private.h | 8 ++++---- - src/hb-ot-layout.cc | 34 +++++++++++++++++----------------- - src/hb-ot-layout.h | 33 +++++++++++++++------------------ - 3 files changed, 36 insertions(+), 39 deletions(-) - -commit dfa811965133bc4d1696fa5a0166e17ed4142c98 -Author: Behdad Esfahbod -Date: Mon Jan 28 00:12:21 2008 -0500 - - Rename hb_ot_layout_create() to hb_ot_layout_create_for_data() - - src/hb-ot-layout.cc | 4 ++-- - src/hb-ot-layout.h | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 54e5aac5e2947d4e2864c6f2987e4d275da73100 -Author: Behdad Esfahbod -Date: Sun Jan 27 21:19:51 2008 -0500 - - GDEF completely working now - - src/hb-ot-layout-open-private.h | 11 ++++++++--- - src/hb-ot-layout-private.h | 16 +++++++++------- - src/hb-ot-layout.cc | 19 +++++++++---------- - src/hb-private.h | 7 +++++++ - src/main.cc | 12 ++++++------ - 5 files changed, 39 insertions(+), 26 deletions(-) - -commit 6f425b11799aa20dab553085f05744191b7318e2 -Author: Behdad Esfahbod -Date: Thu Jan 24 19:38:56 2008 -0500 - - [GDEF] Finish internal API - - src/hb-ot-layout-private.h | 15 +++++++- - src/hb-ot-layout.cc | 95 - ++++++++++++++++++++++------------------------ - src/hb-ot-layout.h | 16 ++++---- - 3 files changed, 66 insertions(+), 60 deletions(-) - -commit 590d55cbb9e21ef74dfd88eee51fd0a763958cd2 -Author: Behdad Esfahbod -Date: Thu Jan 24 19:13:50 2008 -0500 - - [GDEF] Finish public API - - src/hb-common.h | 11 ++++ - src/hb-ot-layout-gdef-private.h | 28 +++++---- - src/hb-ot-layout-open-private.h | 25 ++++---- - src/hb-ot-layout-private.h | 23 ++------ - src/hb-ot-layout.cc | 123 - +++++++++++++++++++++++++++++++++++++--- - src/hb-ot-layout.h | 29 ++++++---- - 6 files changed, 176 insertions(+), 63 deletions(-) - -commit aff831ed6787abe8e24a977e34d97ff2e0b7dc21 -Author: Behdad Esfahbod -Date: Thu Jan 24 06:03:45 2008 -0500 - - Implement glyph properties - - src/hb-ot-layout-gdef-private.h | 10 ++++- - src/hb-ot-layout-private.h | 16 +++++++- - src/hb-ot-layout.cc | 84 - +++++++++++++++++++++++++++++++++++++---- - src/hb-ot-layout.h | 25 ++++++++---- - 4 files changed, 117 insertions(+), 18 deletions(-) - -commit ead428d7a0bf4dc84340a99f3959e5cc58123e99 -Author: Behdad Esfahbod -Date: Thu Jan 24 03:54:09 2008 -0500 - - More public api - - src/hb-ot-layout-open-private.h | 32 +++++++++++++++++++------------- - src/hb-ot-layout-private.h | 9 ++++++--- - src/hb-ot-layout.cc | 21 ++++++++++++++------- - src/hb-ot-layout.h | 2 -- - 4 files changed, 39 insertions(+), 25 deletions(-) - -commit fd92a3dde32fd10df30c9eeb97641bc3c15b1e9b -Author: Behdad Esfahbod -Date: Thu Jan 24 03:11:09 2008 -0500 - - Starting public interface - - src/{Makefile => Makefile.ng} | 0 - src/hb-ot-layout-gdef-private.h | 17 ++++---- - src/hb-ot-layout-gsub-private.h | 3 +- - src/hb-ot-layout-open-private.h | 92 - +++++++++++++++++++++++++++++------------ - src/hb-ot-layout-private.h | 51 +++++++++++++++++++++++ - src/hb-ot-layout.cc | 67 ++++++++++++++++++++++++++++++ - src/hb-ot-layout.h | 35 ++++++++++++++-- - src/main.cc | 1 + - 8 files changed, 225 insertions(+), 41 deletions(-) - -commit 7d6b95b000ec6cd8ca93113b2d81a049ad2f9bbe -Author: Behdad Esfahbod -Date: Thu Jan 24 04:42:24 2008 +0000 - - Remove unused macro - - src/harfbuzz-impl.h | 2 -- - 1 file changed, 2 deletions(-) - -commit 7586089c6fa8185cad8387869d3703c637e5cbb1 -Author: Behdad Esfahbod -Date: Wed Jan 23 18:02:28 2008 -0500 - - Minor - - src/hb-ot-layout-gdef-private.h | 37 +++++++++++++++++++++++++------ - src/hb-ot-layout-gsub-private.h | 13 +++++++++++ - src/hb-ot-layout-open-private.h | 49 - ++++++++++++++++++++++++++++++++++------- - src/hb-private.h | 2 ++ - 4 files changed, 86 insertions(+), 15 deletions(-) - -commit aefaafe5bc4fc6d37a412c135b1079c287be7045 -Author: Behdad Esfahbod -Date: Wed Jan 23 17:25:29 2008 -0500 - - Minor renaming - - src/hb-ot-layout-gdef-private.h | 10 +++++----- - src/hb-ot-layout-open-private.h | 16 +++++++--------- - src/main.cc | 4 ++-- - 3 files changed, 14 insertions(+), 16 deletions(-) - -commit a16ecbf0564a6e2576da22c12827f3c0719da549 -Author: Behdad Esfahbod -Date: Wed Jan 23 17:01:55 2008 -0500 - - Initial gsub stub - - src/hb-ot-layout-gdef-private.h | 4 + - src/hb-ot-layout-gsub-private.h | 453 - ++++++++++++++++++++++++++++++++++++++++ - src/hb-ot-layout-open-private.h | 3 + - src/main.cc | 1 + - 4 files changed, 461 insertions(+) - -commit 64aef3a54999496fd1de4f5aa5b019e4c03b3836 -Author: Behdad Esfahbod -Date: Wed Jan 23 16:14:38 2008 -0500 - - Add copyright notices. - - src/hb-common.h | 26 ++++++++++++++++++++++++++ - src/hb-ot-layout-gdef-private.h | 26 ++++++++++++++++++++++++++ - src/hb-ot-layout-open-private.h | 26 ++++++++++++++++++++++++++ - src/hb-ot-layout.h | 26 ++++++++++++++++++++++++++ - src/hb-private.h | 26 ++++++++++++++++++++++++++ - src/main.cc | 26 ++++++++++++++++++++++++++ - 6 files changed, 156 insertions(+) - -commit 12360f7c159826ae72271b34486dee59d96aa8ca -Author: Behdad Esfahbod -Date: Wed Jan 23 15:50:38 2008 -0500 - - Minor cleanup, add LIKELY and UNLIKELY annotations - - src/hb-ot-layout-gdef-private.h | 63 - +++++++++++++++++++++++------------------ - src/hb-ot-layout-open-private.h | 36 ++++++++--------------- - src/hb-private.h | 15 ++++++++++ - 3 files changed, 63 insertions(+), 51 deletions(-) - -commit 8dd1c8b8d6797d899d0f5b0a8015886bf6520ca2 -Author: Behdad Esfahbod -Date: Wed Jan 23 05:00:30 2008 -0500 - - Clean up file names, add namespace - - src/harfbuzz-common.h | 14 - -------------- - src/harfbuzz-gdef.h | 11 - ----------- - src/hb-common.h | 14 - ++++++++++++++ - ...harfbuzz-gdef-private.h => hb-ot-layout-gdef-private.h} | 8 ++++---- - ...harfbuzz-open-private.h => hb-ot-layout-open-private.h} | 10 - +++++----- - src/{harfbuzz-open.h => hb-ot-layout.h} | 12 - ++++++------ - src/{harfbuzz-private.h => hb-private.h} | 6 +++--- - src/main.cc | 4 ++-- - 8 files changed, 34 insertions(+), 45 deletions(-) - -commit 1f437e6f47fb6c15761021bd2078f31778f2179c -Author: Behdad Esfahbod -Date: Wed Jan 23 04:36:40 2008 -0500 - - Make all code NULL-free and assert-free - - src/harfbuzz-gdef-private.h | 125 ++++++++++--------- - src/harfbuzz-open-private.h | 285 - +++++++++++++++++++++++--------------------- - src/main.cc | 8 +- - 3 files changed, 214 insertions(+), 204 deletions(-) - -commit 600e5eb80f553ea8eb862e6784133574c74ca513 -Author: Behdad Esfahbod -Date: Wed Jan 23 02:01:37 2008 -0500 - - Define get_for_data() factories - - src/harfbuzz-gdef-private.h | 3 +++ - src/harfbuzz-open-private.h | 42 - +++++++++++++++++++++++++++++------------- - src/main.cc | 10 ++++------ - 3 files changed, 36 insertions(+), 19 deletions(-) - -commit b9d7688fb3d45894901484b74095c4f11cab6196 -Author: Behdad Esfahbod -Date: Wed Jan 23 01:38:10 2008 -0500 - - Finish and test GDEF - - src/harfbuzz-gdef-private.h | 72 - ++++++++++++++++++++++++++++++++------------- - src/harfbuzz-open-private.h | 23 ++++++++------- - src/harfbuzz-open.h | 4 +++ - src/main.cc | 10 +++++++ - 4 files changed, 77 insertions(+), 32 deletions(-) - -commit 303fe62824d4e99df554b6bfaacba05d068522fb -Author: Behdad Esfahbod -Date: Wed Jan 23 00:20:48 2008 -0500 - - Misc cleanup - - src/Makefile | 10 ++++- - src/harfbuzz-gdef-private.h | 65 +++++++++++++++++++++------- - src/harfbuzz-open-private.h | 102 - ++++++++++++++++++++++++++++++++++++++++---- - src/harfbuzz-private.h | 6 +++ - src/main.cc | 12 +++--- - 5 files changed, 163 insertions(+), 32 deletions(-) - -commit 17843245fde4cc8cddc7da8ef30357d3d8778187 -Author: Behdad Esfahbod -Date: Wed Jan 16 20:39:29 2008 +0000 - - Remove COPYING.GPL and COPYING.FTL that are no longer there. - - 2008-01-16 Behdad Esfahbod - - * pango/opentype/Makefile.am: Remove COPYING.GPL and - COPYING.FTL that - are no longer there. - - src/Makefile.am | 2 -- - 1 file changed, 2 deletions(-) - -commit a2a9a023f6472ba262f89e5327318996b8258d25 -Author: Behdad Esfahbod -Date: Tue Jan 15 22:46:32 2008 +0000 - - HarfBuzz was relicensed to a more generous and simpler - license. Adapt. See - - 2008-01-15 Behdad Esfahbod - - * pango/opentype/*: - HarfBuzz was relicensed to a more generous and simpler - license. - Adapt. See pango/opentype/COPYING for the new license - which is - LGPL-compatible. - - src/COPYING | 39 +++-- - src/COPYING.FTL | 174 --------------------- - src/COPYING.GPL | 340 - ------------------------------------------ - src/harfbuzz-buffer-private.h | 32 ++-- - src/harfbuzz-buffer.c | 27 +++- - src/harfbuzz-buffer.h | 32 ++-- - src/harfbuzz-dump-main.c | 34 +++-- - src/harfbuzz-dump.c | 34 +++-- - src/harfbuzz-dump.h | 35 +++-- - src/harfbuzz-gdef-private.h | 29 +++- - src/harfbuzz-gdef.c | 29 +++- - src/harfbuzz-gdef.h | 29 +++- - src/harfbuzz-global.h | 29 +++- - src/harfbuzz-gpos-private.h | 29 +++- - src/harfbuzz-gpos.c | 31 +++- - src/harfbuzz-gpos.h | 29 +++- - src/harfbuzz-gsub-private.h | 29 +++- - src/harfbuzz-gsub.c | 31 +++- - src/harfbuzz-gsub.h | 29 +++- - src/harfbuzz-impl.c | 31 +++- - src/harfbuzz-impl.h | 29 +++- - src/harfbuzz-open-private.h | 29 +++- - src/harfbuzz-open.c | 29 +++- - src/harfbuzz-open.h | 29 +++- - src/harfbuzz-stream-private.h | 29 +++- - src/harfbuzz-stream.c | 31 +++- - src/harfbuzz.c | 28 +++- - src/harfbuzz.h | 29 +++- - 28 files changed, 564 insertions(+), 741 deletions(-) - -commit 4ccedd22eaa6e47bd8bbf255627a8b55fbb44736 -Author: Behdad Esfahbod -Date: Wed Dec 5 03:41:29 2007 +0000 - - Bug 501575 – Compile errors Patch from Jens Granseuer - - 2007-12-04 Behdad Esfahbod - - Bug 501575 – Compile errors - Patch from Jens Granseuer - - * pango/opentype/harfbuzz-stream.c (_hb_font_goto_table): - * pango/pango-utils.c (handle_alias_line): - Fix C99ism. - - src/harfbuzz-stream.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit cd55cfa2b0a1fe35d5a4ad1c8feaa399d7fb7ab3 -Author: Behdad Esfahbod -Date: Fri Nov 30 04:31:29 2007 +0000 - - Undo accidental change. - - src/harfbuzz-impl.c | 2 -- - 1 file changed, 2 deletions(-) - -commit 3f05da638c8d7b13e7f860aeda1a6321e5ebd92e -Author: Behdad Esfahbod -Date: Fri Nov 30 04:29:58 2007 +0000 - - Bug 485536 – underline_position can be zero - - 2007-11-29 Behdad Esfahbod - - Bug 485536 – underline_position can be zero - - * pango/pango-utils.c (pango_cairo_quantize_line_geometry): - Document that returned position may be zero. - - * pango/pangocairo-win32font.c - (pango_cairo_win32_font_create_metrics_for_context): - * pango/pangofc-font.c (get_face_metrics): - Handle case of underline_position==0 after rounding. - - src/harfbuzz-impl.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit e58278fedb67cbaac4bf4d6dfc33209cb22eec08 -Author: Behdad Esfahbod -Date: Sat Nov 24 01:40:13 2007 +0000 - - Remove unused macro. - - 2007-11-23 Behdad Esfahbod - - * pango/opentype/harfbuzz-impl.c: Remove unused macro. - - src/harfbuzz-impl.c | 18 ------------------ - 1 file changed, 18 deletions(-) - -commit 3b047380aec4ccc707c4579327d54172c19820fd -Author: Behdad Esfahbod -Date: Sun Nov 18 22:34:08 2007 +0000 - - Minor - - src/harfbuzz-dump-main.c | 4 +-- - src/harfbuzz-stream.c | 89 - ++++++++++++++++++++++++------------------------ - 2 files changed, 46 insertions(+), 47 deletions(-) - -commit 10d6a25a26bdbab4ece4edf0e34ffd3d22410ebe -Author: Behdad Esfahbod -Date: Wed Nov 7 10:04:11 2007 +0000 - - Remove dead code. - - src/harfbuzz-gdef.c | 88 - ----------------------------------------------------- - src/harfbuzz-gpos.h | 4 +-- - 2 files changed, 1 insertion(+), 91 deletions(-) - -commit 47d2c33e3d099fae79e199367de5011bc5c12273 -Author: Behdad Esfahbod -Date: Wed Nov 7 09:59:18 2007 +0000 - - And some more. - - 2007-11-07 Behdad Esfahbod - - * pango/opentype/*: And some more. - - src/harfbuzz-buffer.h | 8 ++--- - src/harfbuzz-dump-main.c | 22 ++++++------ - src/harfbuzz-gdef.c | 14 ++++---- - src/harfbuzz-gdef.h | 4 +-- - src/harfbuzz-global.h | 21 +++++------ - src/harfbuzz-gpos.c | 82 - +++++++++++++++++++++---------------------- - src/harfbuzz-gpos.h | 12 +++---- - src/harfbuzz-gsub.c | 4 +-- - src/harfbuzz-gsub.h | 4 +-- - src/harfbuzz-stream-private.h | 4 +-- - src/harfbuzz-stream.c | 16 ++++----- - 11 files changed, 95 insertions(+), 96 deletions(-) - -commit 78ef65ba08967fe1b5f97bcb27074bd635f4b898 -Author: Behdad Esfahbod -Date: Wed Nov 7 08:06:01 2007 +0000 - - Some more cleanup and merging. - - 2007-11-07 Behdad Esfahbod - - * pango/opentype/*: Some more cleanup and merging. - - src/Makefile.am | 6 +- - src/harfbuzz-buffer-private.h | 33 ++++++ - src/harfbuzz-buffer.c | 4 +- - src/harfbuzz-dump-main.c | 3 +- - src/harfbuzz-gdef-private.h | 9 +- - src/harfbuzz-gdef.c | 39 +++++++ - src/harfbuzz-global.h | 2 + - src/harfbuzz-gpos-private.h | 1 + - src/harfbuzz-gpos.c | 32 +----- - src/harfbuzz-gsub-private.h | 1 + - src/harfbuzz-gsub.c | 33 +----- - src/harfbuzz-impl.c | 216 - ++------------------------------------ - src/harfbuzz-impl.h | 100 +----------------- - src/harfbuzz-open-private.h | 4 +- - src/harfbuzz-stream-private.h | 70 +++++++++++++ - src/harfbuzz-stream.c | 234 - ++++++++++++++++++++++++++++++++++++++++++ - src/harfbuzz.c | 1 + - src/harfbuzz.h | 3 +- - 18 files changed, 419 insertions(+), 372 deletions(-) - -commit 5c9bd379950d914982bdb91d0f82b8036908db37 -Author: Behdad Esfahbod -Date: Mon Oct 29 23:51:48 2007 +0000 - - Fix typo. - - src/Makefile.am | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit ef1f481752fa6e478f649e826c96927c98f21981 -Author: Behdad Esfahbod -Date: Thu Oct 25 23:37:11 2007 +0000 - - Even more cleanup and more type renames. - - 2007-10-25 Behdad Esfahbod - - * pango/opentype/*: Even more cleanup and more type renames. - - src/harfbuzz-buffer.h | 3 +-- - src/harfbuzz-global.h | 6 ++++++ - src/harfbuzz-impl.c | 16 ++++++++-------- - src/harfbuzz-impl.h | 22 +++++++++++----------- - src/harfbuzz-open.h | 3 --- - 5 files changed, 26 insertions(+), 24 deletions(-) - -commit 282c60a0eea0db784b0a094958bec35b5f3dc399 -Author: Behdad Esfahbod -Date: Thu Oct 25 23:22:17 2007 +0000 - - More cleanup, remove redundant error types. - - 2007-10-25 Behdad Esfahbod - - * pango/opentype/*: More cleanup, remove redundant error - types. - - src/harfbuzz-dump-main.c | 4 +- - src/harfbuzz-dump.c | 14 +++--- - src/harfbuzz-gdef.c | 25 +++++----- - src/harfbuzz-gdef.h | 3 -- - src/harfbuzz-global.h | 31 ++++++------ - src/harfbuzz-gpos.c | 124 - +++++++++++++++++++++++------------------------ - src/harfbuzz-gpos.h | 3 -- - src/harfbuzz-gsub.c | 86 ++++++++++++++++---------------- - src/harfbuzz-gsub.h | 3 -- - src/harfbuzz-impl.c | 18 +++---- - src/harfbuzz-impl.h | 2 + - src/harfbuzz-open.c | 24 ++++----- - src/harfbuzz-open.h | 6 +-- - 13 files changed, 170 insertions(+), 173 deletions(-) - -commit 4280ec4df45ae86c10c3cd24ddb9c05e47223d39 -Author: Behdad Esfahbod -Date: Thu Oct 25 00:23:46 2007 +0000 - - Rename ftglue.c to harfbuzz-impl.c and more type renames and - moving code - - 2007-10-24 Behdad Esfahbod - - * pango/opentype/*: Rename ftglue.c to harfbuzz-impl.c - and more - type renames and moving code around. - - src/Makefile.am | 3 +- - src/ftglue.h | 151 - -------------------------------------- - src/harfbuzz-dump-main.c | 48 ++---------- - src/harfbuzz-dump.c | 30 ++++---- - src/harfbuzz-gdef.c | 18 ++--- - src/harfbuzz-global.h | 18 +++++ - src/harfbuzz-gpos-private.h | 2 +- - src/harfbuzz-gpos.c | 90 +++++++++++------------ - src/harfbuzz-gsub-private.h | 2 +- - src/harfbuzz-gsub.c | 64 ++++++++-------- - src/{ftglue.c => harfbuzz-impl.c} | 64 ++++++++-------- - src/harfbuzz-impl.h | 114 ++++++++++++++++++++++++++-- - src/harfbuzz-open-private.h | 14 ++-- - src/harfbuzz-open.c | 32 ++++---- - src/harfbuzz-open.h | 16 ---- - src/harfbuzz.c | 4 +- - 16 files changed, 289 insertions(+), 381 deletions(-) - -commit 5716ae278a82d318ddbfeba01d0785d4efbe1454 -Author: Behdad Esfahbod -Date: Wed Oct 24 22:44:47 2007 +0000 - - New header file harfbuzz-global.h. Rename FT_* int types to HB_* - types. - - 2007-10-24 Behdad Esfahbod - - * pango/opentype/*: New header file harfbuzz-global.h. Rename - FT_* int types to HB_* types. - - src/Makefile.am | 1 + - src/ftglue.c | 30 +-- - src/ftglue.h | 26 +- - src/harfbuzz-buffer-private.h | 26 +- - src/harfbuzz-buffer.c | 40 ++-- - src/harfbuzz-buffer.h | 42 ++-- - src/harfbuzz-dump-main.c | 24 +- - src/harfbuzz-dump.c | 14 +- - src/harfbuzz-dump.h | 4 +- - src/harfbuzz-gdef-private.h | 30 +-- - src/harfbuzz-gdef.c | 104 ++++---- - src/harfbuzz-gdef.h | 32 +-- - src/harfbuzz-global.h | 34 +++ - src/harfbuzz-gpos-private.h | 182 +++++++------- - src/harfbuzz-gpos.c | 540 - +++++++++++++++++++++--------------------- - src/harfbuzz-gpos.h | 52 ++-- - src/harfbuzz-gsub-private.h | 142 +++++------ - src/harfbuzz-gsub.c | 432 ++++++++++++++++----------------- - src/harfbuzz-gsub.h | 50 ++-- - src/harfbuzz-impl.h | 6 +- - src/harfbuzz-open-private.h | 26 +- - src/harfbuzz-open.c | 146 ++++++------ - src/harfbuzz-open.h | 88 +++---- - src/harfbuzz.h | 1 + - 24 files changed, 1056 insertions(+), 1016 deletions(-) - -commit 2130d852c76cccb94350a4aea222359640ffa8a4 -Author: Behdad Esfahbod -Date: Wed Oct 24 21:35:03 2007 +0000 - - Add commented-out dummy struct for Extension lookups. - - 2007-10-24 Behdad Esfahbod - - * pango/opentype/harfbuzz-gpos-private.h: - * pango/opentype/harfbuzz-gsub-private.h: - Add commented-out dummy struct for Extension lookups. - - src/harfbuzz-gpos-private.h | 13 +++++++++++++ - src/harfbuzz-gsub-private.h | 13 +++++++++++++ - 2 files changed, 26 insertions(+) - -commit 13b2b963848ada169c2fe3d3669fbc1c337f7fe7 -Author: Behdad Esfahbod -Date: Sun Oct 21 18:17:02 2007 +0000 - - Bug 488840 – harfbuzz: protect against ligid overflow - - 2007-10-21 Behdad Esfahbod - - Bug 488840 – harfbuzz: protect against ligid overflow - - * pango/opentype/harfbuzz-buffer.c - (_hb_buffer_allocate_ligid): - Never return zero, even in case of overflow. - - * pango/opentype/harfbuzz-impl.h: Define dummy HB_LIKELY() and - HB_UNLIKELY(), to be filled later. - - src/harfbuzz-buffer.c | 6 +++++- - src/harfbuzz-impl.h | 3 +++ - 2 files changed, 8 insertions(+), 1 deletion(-) - -commit 6b347138b597c41af24453f630336ba2fc033dc5 -Author: Behdad Esfahbod -Date: Thu Oct 11 08:30:50 2007 +0000 - - Mark internal symbols as HB_INTERNAL and define that to static in - - 2007-10-11 Behdad Esfahbod - - * pango/opentype/*: Mark internal symbols as HB_INTERNAL and - define that to static in harfbuzz.c. - - * pango/opentype/harfbuzz-buffer-internal.h: New file. - - src/Makefile.am | 1 + - src/ftglue.c | 18 +++---- - src/ftglue.h | 20 ++++---- - src/harfbuzz-buffer-private.h | 60 +++++++++++++++++++++++ - src/harfbuzz-buffer.c | 108 - +++++++++++++++++++++------------------- - src/harfbuzz-buffer.h | 38 +-------------- - src/harfbuzz-gdef-private.h | 17 ++++--- - src/harfbuzz-gdef.c | 20 ++++---- - src/harfbuzz-gpos-private.h | 13 +++-- - src/harfbuzz-gpos.c | 16 +++--- - src/harfbuzz-gsub-private.h | 14 +++--- - src/harfbuzz-gsub.c | 20 ++++---- - src/harfbuzz-impl.h | 12 +++-- - src/harfbuzz-open-private.h | 81 +++++++++++++++++------------- - src/harfbuzz-open.c | 111 - ++++++++++++++++++++++++------------------ - src/harfbuzz.c | 1 + - 16 files changed, 315 insertions(+), 235 deletions(-) - -commit 7cdfb61deefd8f43edb5eb79d45d38dbbbef9051 -Author: Behdad Esfahbod -Date: Thu Oct 11 07:46:33 2007 +0000 - - Remove FTGLUE_API/APIDEF cruft. - - 2007-10-11 Behdad Esfahbod - - * pango/opentype/ftglue.[ch]: Remove FTGLUE_API/APIDEF cruft. - - src/ftglue.c | 16 ++++++++-------- - src/ftglue.h | 24 ++++++++---------------- - 2 files changed, 16 insertions(+), 24 deletions(-) - -commit 61ddbafaaad31ccacde54cad7e60a84abffc0a9f -Author: Behdad Esfahbod -Date: Thu Oct 11 07:45:26 2007 +0000 - - Build harfbuzz.c instead of individual source files, to let - compiler go - - 2007-10-11 Behdad Esfahbod - - * pango/opentype/Makefile.am: Build harfbuzz.c instead - of individual - source files, to let compiler go wild with optimizations! - - src/Makefile.am | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit a219b3d003d6727c79dc51282d21e9ac48c44458 -Author: Behdad Esfahbod -Date: Thu Oct 11 07:34:08 2007 +0000 - - Same here. - - 2007-10-11 Behdad Esfahbod - - * pango/opentype/harfbuzz.c: Same here. - - src/harfbuzz.c | 1 - - 1 file changed, 1 deletion(-) - -commit 6567e16e3b14c08659342bbcc9f2735e71f9114e -Author: Behdad Esfahbod -Date: Thu Oct 11 07:33:19 2007 +0000 - - Don't include harfbuzz-dump.[ch] in libharfbuzz.a. Those are just - used by - - 2007-10-11 Behdad Esfahbod - - * pango/opentype/Makefile.am: Don't include harfbuzz-dump.[ch] - in - libharfbuzz.a. Those are just used by the harfbuzz-dump tool. - - src/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0b032549ba7581c879a0fc4e794b0e9a4723ae85 -Author: Behdad Esfahbod -Date: Thu Oct 11 07:24:47 2007 +0000 - - Some more cleanup. - - 2007-10-11 Behdad Esfahbod - - * pango/opentype/harfbuzz-buffer.c: Some more cleanup. - - src/harfbuzz-buffer.c | 11 ++--------- - 1 file changed, 2 insertions(+), 9 deletions(-) - -commit 7a26864308bd1ca8d5f47d798411cac7239b7d38 -Author: Behdad Esfahbod -Date: Thu Oct 11 07:21:31 2007 +0000 - - Move some code around. - - 2007-10-11 Behdad Esfahbod - - * pango/opentype/harfbuzz-buffer.c: Move some code around. - - src/harfbuzz-buffer.c | 91 - +++++++++++++++++++++++++++------------------------ - 1 file changed, 48 insertions(+), 43 deletions(-) - -commit 7a5405c8261573a0f29d28fb533e800d698f6129 -Author: Behdad Esfahbod -Date: Thu Oct 11 07:15:16 2007 +0000 - - Minor. - - src/harfbuzz-buffer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 986f4fd96892ebda550793941bb1daed862c4a34 -Author: Behdad Esfahbod -Date: Thu Oct 11 07:12:49 2007 +0000 - - Rename buffer->inplace to buffer->separate_out with the inverted - meaning, - - 2007-10-11 Behdad Esfahbod - - * pango/opentype/harfbuzz-buffer.[ch]: Rename buffer->inplace - to - buffer->separate_out with the inverted meaning, such that - buffer - is initialization is memset(0). - - src/harfbuzz-buffer.c | 34 +++++++++++++++++----------------- - src/harfbuzz-buffer.h | 2 +- - 2 files changed, 18 insertions(+), 18 deletions(-) - -commit 06003908ccf2473366816935dd1b144cde587be9 -Author: Behdad Esfahbod -Date: Thu Oct 11 07:05:09 2007 +0000 - - Allocate buffer->positions lazily. - - 2007-10-11 Behdad Esfahbod - - * pango/opentype/*: Allocate buffer->positions lazily. - - src/harfbuzz-buffer.c | 25 +++++++++++++++++++++++-- - src/harfbuzz-buffer.h | 3 +++ - src/harfbuzz-gpos.c | 13 ++++++++----- - src/harfbuzz-gsub.c | 5 +++-- - 4 files changed, 37 insertions(+), 9 deletions(-) - -commit fc3d6f575826704a0ae9ee9018323f6a3c422f4b -Author: Behdad Esfahbod -Date: Thu Oct 11 06:52:07 2007 +0000 - - Bug 485621 – Get rid of freetype memory allocator in harfbuzz - - 2007-10-11 Behdad Esfahbod - - Bug 485621 – Get rid of freetype memory allocator in - harfbuzz - - * pango/opentype/*: Remove all occurences of FT_Memory. Use - malloc/realloc/free directly. - - * pango/pango-ot*: Update to above. - - src/ftglue.c | 52 ++--- - src/ftglue.h | 28 ++- - src/harfbuzz-buffer.c | 16 +- - src/harfbuzz-buffer.h | 4 +- - src/harfbuzz-gdef.c | 106 ++++------ - src/harfbuzz-gdef.h | 6 +- - src/harfbuzz-gpos-private.h | 1 - - src/harfbuzz-gpos.c | 462 - ++++++++++++++++++-------------------------- - src/harfbuzz-gpos.h | 2 - - src/harfbuzz-gsub-private.h | 1 - - src/harfbuzz-gsub.c | 312 +++++++++++------------------- - src/harfbuzz-gsub.h | 2 - - src/harfbuzz-open-private.h | 25 ++- - src/harfbuzz-open.c | 127 ++++++------ - 14 files changed, 441 insertions(+), 703 deletions(-) - -commit a8abb8b994c3cd89808e8f7128a0c04b23eb3ede -Author: Behdad Esfahbod -Date: Thu Oct 11 00:07:58 2007 +0000 - - Bug 485559 – Boston Summit HarfBuzz optimizations - - 2007-10-10 Behdad Esfahbod - - Bug 485559 – Boston Summit HarfBuzz optimizations - - * pango/opentype/*: HarfBuzz hacking to: - - - Rename last remaining FT_Err stuff to HB_Err. - - - Fix a couple invalid table paths to be permissive so - fonts work better. Particularly GDEF table for Nafees - Nastaliq is loaded and works great now. - - - Optimize harfbuzz buffer to not copy/swap for simple - one-to-one and "copy" GSUB operations. - - * pango/pango-ot*: Update to FT_Err to HB_Err renaming. - - src/ftglue.c | 51 ++- - src/ftglue.h | 21 +- - src/harfbuzz-buffer.c | 190 +++++++-- - src/harfbuzz-buffer.h | 26 +- - src/harfbuzz-dump-main.c | 14 +- - src/harfbuzz-dump.c | 15 +- - src/harfbuzz-gdef-private.h | 4 +- - src/harfbuzz-gdef.c | 149 +++---- - src/harfbuzz-gdef.h | 10 +- - src/harfbuzz-gpos-private.h | 2 +- - src/harfbuzz-gpos.c | 810 ++++++++++++++++++-------------------- - src/harfbuzz-gpos.h | 30 +- - src/harfbuzz-gsub-private.h | 2 +- - src/harfbuzz-gsub.c | 919 - +++++++++++++++++++------------------------- - src/harfbuzz-gsub.h | 24 +- - src/harfbuzz-impl.h | 22 +- - src/harfbuzz-open-private.h | 20 +- - src/harfbuzz-open.c | 238 ++++++------ - src/harfbuzz-open.h | 13 +- - 19 files changed, 1253 insertions(+), 1307 deletions(-) - -commit dd810b76bc554278d3a226cf89901d16992cf56d -Author: Behdad Esfahbod -Date: Wed Aug 29 08:46:50 2007 +0000 - - Bug 302952 – The placement of a diacritic marks for an arabic - ligature - - 2007-08-29 Behdad Esfahbod - - Bug 302952 – The placement of a diacritic marks for an - arabic ligature - is not correct - - * pango/opentype/harfbuzz-buffer.c (hb_buffer_allocate_ligid): - Don't - use zero as allocated ligature id. Zero means no ligature id. - - src/harfbuzz-buffer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e90d19919434b90d79e67aaf199bddd991f8e5d8 -Author: Behdad Esfahbod -Date: Tue Aug 21 08:03:26 2007 +0000 - - Bug 463430 – Gets stuck while "formatting message" - - 2007-08-21 Behdad Esfahbod - - Bug 463430 – Gets stuck while "formatting message" - - * pango/opentype/harfbuzz-gpos.c (Lookup_PairPos1), - (Lookup_PairPos2), (Lookup_PairPos), (Do_ContextPos): - * pango/opentype/harfbuzz-gsub.c (Do_ContextSubst): - Change type of intermediate index variable from FT_UShort to - FT_ULong as it was overlowing with more than 65536 glyphs. - - src/harfbuzz-gpos.c | 15 ++++++++++----- - src/harfbuzz-gsub.c | 2 +- - 2 files changed, 11 insertions(+), 6 deletions(-) - -commit 13b86ee398905f96f57df001309312f6dfdfea9a -Author: Behdad Esfahbod -Date: Tue Aug 21 01:38:07 2007 +0000 - - Don't ignore error return value of - hb_buffer_copy_output_glyph(). Patch - - 2007-08-20 Behdad Esfahbod - - * pango/opentype/harfbuzz-gsub.c (GSUB_Do_String_Lookup): - Don't - ignore error return value of hb_buffer_copy_output_glyph(). - Patch - sent to harfbuzz-list. - - src/harfbuzz-gsub.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4c2556cb4c38a56c3a5087deb54aa6262ab3aff9 -Author: Behdad Esfahbod -Date: Fri Jul 6 11:29:21 2007 -0400 - - [gdef] Initial implementation - - src/harfbuzz-gdef-private.h | 144 - +++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 142 insertions(+), 2 deletions(-) - -commit 5b2e947fd2b7c5ea49b2bef1e0190d99a525058c -Author: Behdad Esfahbod -Date: Fri Jul 6 02:03:26 2007 -0400 - - [open] small fixes, including not using unions for main structs - - src/harfbuzz-open-private.h | 54 - ++++++++++++++++++++++++--------------------- - 1 file changed, 29 insertions(+), 25 deletions(-) - -commit 151df44346990728b5dd249db5740a9543ae33b9 -Author: Behdad Esfahbod -Date: Thu Jul 5 17:22:07 2007 -0400 - - Improve stupid Makefile - - src/Makefile | 2 ++ - 1 file changed, 2 insertions(+) - -commit 6c49bebc70a0118a803a5bc979f4436a82b48240 -Author: Behdad Esfahbod -Date: Tue May 1 02:32:12 2007 +0000 - - Link freetype to harfbuzz-dump, for those systems that don't track - - 2007-04-30 Behdad Esfahbod - - * pango/opentype/Makefile.am: Link freetype to harfbuzz-dump, - for - those systems that don't track dependencies automatically. - - src/Makefile.am | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 7341a116916c8470f1211f0cb3c65b189b42ec9e -Author: Behdad Esfahbod -Date: Tue Apr 3 22:45:29 2007 +0000 - - Copy fixes from harfbuzz stable branch. Includes a leak fix, a kerning - - 2007-04-03 Behdad Esfahbod - - * pango/opentype/harfbuzz-gdef.c (_HB_GDEF_Check_Property): - * pango/opentype/harfbuzz-gpos.c (HB_Done_GPOS_Table), - (Lookup_PairPos): - * pango/opentype/harfbuzz-open.c (Get_Class1): - Copy fixes from harfbuzz stable branch. Includes a leak fix, - a kerning fix, and an array out-of-bound access fix. - - src/harfbuzz-gdef.c | 2 ++ - src/harfbuzz-gpos.c | 8 ++++++++ - src/harfbuzz-open.c | 2 +- - 3 files changed, 11 insertions(+), 1 deletion(-) - -commit 999a6f05758c10a902354457ecbf6c943bfed514 -Author: Hans Breuer -Date: Sat Jan 13 21:31:41 2007 +0000 - - updated - - 2007-01-13 Hans Breuer - - * pango/makefile.msc pango/opentype/makefile.msc : updated - - src/makefile.msc | 16 ++++++---------- - 1 file changed, 6 insertions(+), 10 deletions(-) - -commit 3c038d40da4bfe5037cc4e9de22bad08fa408465 -Author: Behdad Esfahbod -Date: Tue Jan 9 03:32:12 2007 +0000 - - Remove .cvsignore files (moved to svn:ignore prop) - - src/.cvsignore | 7 ------- - 1 file changed, 7 deletions(-) - -commit 5b3f7702a64fe0513d08a67bdb72704e46fd7cd4 -Author: Behdad Esfahbod -Date: Thu Dec 28 06:42:37 2006 -0500 - - Add stub GDEF files - - src/harfbuzz-gdef-private.h | 8 ++++++++ - src/harfbuzz-gdef.h | 11 +++++++++++ - src/harfbuzz-open-private.h | 3 +-- - src/harfbuzz-private.h | 6 ++++++ - src/main.cc | 1 + - 5 files changed, 27 insertions(+), 2 deletions(-) - -commit b3395a7aa36ff1ba5a17f494fbf359ec317a7e69 -Author: Behdad Esfahbod -Date: Thu Dec 28 06:31:18 2006 -0500 - - Don't shift down the mark attachment type - - src/harfbuzz-open-private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 193b66d52ae2cb5ced7969e15b7f56dc1978ca8a -Author: Behdad Esfahbod -Date: Thu Dec 28 06:12:18 2006 -0500 - - Remove stale comment - - src/harfbuzz-open-private.h | 10 ---------- - 1 file changed, 10 deletions(-) - -commit 12c4568c680ea2b9b98a16a8b7402ca185c90ef6 -Author: Behdad Esfahbod -Date: Thu Dec 28 06:10:59 2006 -0500 - - Break and rename, in the layout of old HarfBuzz codebase - - src/.gitignore | 1 + - src/Makefile | 2 +- - src/harfbuzz-common.h | 14 +++ - src/{harfbuzz-ng.cc => harfbuzz-open-private.h} | 117 - ++---------------------- - src/harfbuzz-open.h | 13 +++ - src/main.cc | 98 - ++++++++++++++++++++ - 6 files changed, 133 insertions(+), 112 deletions(-) - -commit 3158d84b0dfe5032e7c56c03f2da97b8ab549d94 -Author: Behdad Esfahbod -Date: Wed Dec 27 20:08:07 2006 -0500 - - Oops. s/OpenTypeFontFaceFile/OpenTypeFontFile/g - - src/harfbuzz-ng.cc | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -commit bf0f9dd61375c5afce8e6b1664d0df5f6c8b2494 -Author: Behdad Esfahbod -Date: Wed Dec 27 20:06:42 2006 -0500 - - Use union for ClassDef - - src/harfbuzz-ng.cc | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit c46196d09c4ea879bf45182e8a0d649d4c750c39 -Author: Behdad Esfahbod -Date: Wed Dec 27 20:05:16 2006 -0500 - - Use union for Coverage - - src/harfbuzz-ng.cc | 21 +++++++++++---------- - 1 file changed, 11 insertions(+), 10 deletions(-) - -commit 86f450243dbaa82f187cf2d36364e9a59c0e64c7 -Author: Behdad Esfahbod -Date: Wed Dec 27 19:59:07 2006 -0500 - - Add GPOS stub - - src/harfbuzz-ng.cc | 3 +++ - 1 file changed, 3 insertions(+) - -commit 133466177e104ddcd2501a88735670540252167c -Author: Behdad Esfahbod -Date: Wed Dec 27 19:58:32 2006 -0500 - - s/OpenTypeFont/OpenTypeFontFace/g - - src/harfbuzz-ng.cc | 44 +++++++++++++++++++++++--------------------- - 1 file changed, 23 insertions(+), 21 deletions(-) - -commit 71d62baab0429cdf56ba4019fd2a205f08188503 -Author: Behdad Esfahbod -Date: Wed Dec 27 01:29:24 2006 -0500 - - GSUBGPOSHeader - - src/harfbuzz-ng.cc | 103 - ++++++++++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 98 insertions(+), 5 deletions(-) - -commit eebabd8b2ec5296deba6b09d7755933da0a7d9dc -Author: Behdad Esfahbod -Date: Wed Dec 27 00:21:31 2006 -0500 - - Finished OpenType Common Table Formats - - src/harfbuzz-ng.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2b7374519766825971f9f4ff5b1cb49b74cfcaf8 -Author: Behdad Esfahbod -Date: Tue Dec 26 20:55:37 2006 -0500 - - Device tables. - - src/harfbuzz-ng.cc | 49 +++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 45 insertions(+), 4 deletions(-) - -commit eb32e374f4d6de8d428d36144f6eef93514820d2 -Author: Behdad Esfahbod -Date: Tue Dec 26 20:00:33 2006 -0500 - - ClassDef - - src/harfbuzz-ng.cc | 121 - ++++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 97 insertions(+), 24 deletions(-) - -commit 53502c6723dbf9cd3b6ba91b733678b3c7871715 -Author: Behdad Esfahbod -Date: Tue Dec 26 19:29:08 2006 -0500 - - Rename CoverageFormat to Coverage - - src/harfbuzz-ng.cc | 18 +++++++++++++----- - 1 file changed, 13 insertions(+), 5 deletions(-) - -commit 0d6db2abcbe98456569ccf7934ba0a8b37c7f6f3 -Author: Behdad Esfahbod -Date: Tue Dec 26 18:53:55 2006 -0500 - - Define more structs using DEFINE_INT_TYPE. - - src/harfbuzz-ng.cc | 39 +++++++++++++++++++-------------------- - 1 file changed, 19 insertions(+), 20 deletions(-) - -commit 915931b74a30e8652fac5fec153d499485513f63 -Author: Behdad Esfahbod -Date: Tue Dec 26 15:30:14 2006 -0500 - - s/DEFINE_NOT_INSTANTIABLE/DEFINE_NON_INSTANTIABLE/ - - src/harfbuzz-ng.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 0c0d55330ef4090f3e4864538e83a4344caaf3ba -Author: Behdad Esfahbod -Date: Tue Dec 26 15:29:38 2006 -0500 - - Coverage. - - src/harfbuzz-ng.cc | 91 - +++++++++++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 79 insertions(+), 12 deletions(-) - -commit 882e52f59196535495af8ca8069df32308ad52cf -Author: Behdad Esfahbod -Date: Mon Dec 25 10:28:31 2006 -0500 - - Rename to harfbuzz-ng.cc - - src/Makefile | 2 +- - src/{hb-types-private.cc => harfbuzz-ng.cc} | 0 - 2 files changed, 1 insertion(+), 1 deletion(-) - -commit f8ba99f6f322800a915428ffc3b5eaf1be2e6c21 -Author: Behdad Esfahbod -Date: Mon Dec 25 09:58:02 2006 -0500 - - LookupFlags - - src/hb-types-private.cc | 52 - ++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 47 insertions(+), 5 deletions(-) - -commit 25ad92c8a68bf72464601a644ed57b9213126a78 -Author: Behdad Esfahbod -Date: Mon Dec 25 09:35:06 2006 -0500 - - Implement Feature - - src/hb-types-private.cc | 46 - ++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 42 insertions(+), 4 deletions(-) - -commit befc022affd2386b3f46cd7d11e4262f6c8bce9f -Author: Behdad Esfahbod -Date: Mon Dec 25 09:14:52 2006 -0500 - - LangSys - - src/hb-types-private.cc | 51 - ++++++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 44 insertions(+), 7 deletions(-) - -commit c81efca149b08832d5d96a944fb5f303f3d0ca42 -Author: Behdad Esfahbod -Date: Mon Dec 25 06:22:08 2006 -0500 - - Use CamelCaseTags. - - src/hb-types-private.cc | 29 ++++++++++++++--------------- - 1 file changed, 14 insertions(+), 15 deletions(-) - -commit 808dbe283c1ad66091f2cb67380888b7cf265c01 -Author: Behdad Esfahbod -Date: Mon Dec 25 06:18:52 2006 -0500 - - Make types not instantiable - - src/hb-types-private.cc | 104 - ++++++++++++++++++++++++++---------------------- - 1 file changed, 57 insertions(+), 47 deletions(-) - -commit b739c05ca4b7acfa45bd4b0812ecbb3747f726f0 -Author: Behdad Esfahbod -Date: Mon Dec 25 05:39:20 2006 -0500 - - Add OpenTypeFontFile. - - src/Makefile | 2 +- - src/hb-types-private.cc | 113 - +++++++++++++++++++++++++++++++++++++++++++++--- - 2 files changed, 107 insertions(+), 8 deletions(-) - -commit 8596944b7421f982960e825019fc0263442520cb -Author: Behdad Esfahbod -Date: Sat Dec 23 17:49:25 2006 -0500 - - Add Makefile - - src/Makefile | 3 +++ - 1 file changed, 3 insertions(+) - -commit b6e62bc5db76ae342177b2b646c37f45eccad975 -Author: Behdad Esfahbod -Date: Fri Dec 22 02:21:55 2006 -0500 - - After DEFINE_SCRIPT_ARRAY - - src/hb-types-private.cc | 215 - +++++++++++++++++++++++++++++++----------------- - 1 file changed, 140 insertions(+), 75 deletions(-) - -commit 01e4fcb032be601f272e62228881e2aabfb9d925 -Author: Behdad Esfahbod -Date: Thu Dec 21 22:31:31 2006 -0500 - - Remove the annoying HB_ prefix. - - src/hb-types-private.cc | 107 - +++++++++++++++++++++++------------------------- - 1 file changed, 52 insertions(+), 55 deletions(-) - -commit 6b4ce01da121e12e1c78ad7eaedf469f35f3568d -Author: Behdad Esfahbod -Date: Thu Dec 21 22:31:10 2006 -0500 - - Second version. Complete redesign, based on C++ classes to ensure - endian - correctness. - - src/hb-types-private.cc | 300 - +++++++++++++++++++++++++++++++++--------------- - 1 file changed, 205 insertions(+), 95 deletions(-) - -commit f78e70c301311ffcfb007c7fc4125d71cbcff1e2 -Author: Behdad Esfahbod -Date: Thu Dec 21 22:30:38 2006 -0500 - - First version. - - src/hb-types-private.cc | 116 - ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 116 insertions(+) - -commit f726b20e56e8b1106dfde0bf8d575c73e83957c4 -Author: Behdad Esfahbod -Date: Tue Jul 25 01:02:27 2006 +0000 - - Bug 347073 – Allow empty GPOS table - - 2006-07-24 Behdad Esfahbod - - Bug 347073 – Allow empty GPOS table - - * pango/opentype/harfbuzz-open.c (_HB_OPEN_Load_ScriptList): - Don't - err on empty GPOS/GSUB tables. - - src/harfbuzz-open.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 52481a5c55d466f41654dcdc67245d0ca8cefbcf -Author: Behdad Esfahbod -Date: Thu Jun 22 18:09:04 2006 +0000 - - Bug 345600 – cvs build error in pango/opentype/Makefile - - 2006-06-22 Behdad Esfahbod - - Bug 345600 – cvs build error in pango/opentype/Makefile - - * pango/opentype/Makefile.am: Rename variable SOURCES to - MAINSOURCES. - Some automake versions seem to use it or something. - - src/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit ffb2d5c1e7af33644d0a4058befa4b8358c9a7bf -Author: Behdad Esfahbod -Date: Wed May 31 07:42:55 2006 +0000 - - Bug 341138 – Using TTC font, Gtk2 programs begin to eating big - memory - - 2006-05-31 Behdad Esfahbod - - Bug 341138 – Using TTC font, Gtk2 programs begin to eating - big memory - and have many cpu usage. - Patch from Yong Li. - - * pango/opentype/ftglue.c (_hb_ftglue_face_goto_table): - TrueType table - offsets are absolute, not relative. - - src/ftglue.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit f8f7bd2451eeafb57f5c80c7b4e88a1e50b97c4f -Author: Behdad Esfahbod -Date: Wed May 31 07:23:02 2006 +0000 - - Bug 336153 – Mark to mark positioning (Lookup Type 6) isn't - correct when - - 2006-05-31 Behdad Esfahbod - - Bug 336153 – Mark to mark positioning (Lookup Type 6) - isn't correct - when using MarkAttchmentType - Patch from Tin Myo Htet. - - * pango/opentype/harfbuzz-gpos.c (Lookup_MarkMarkPos): - Ignore marks - of non-matchin attachment type. - - src/harfbuzz-gpos.c | 37 ++++++++++++++++++++++--------------- - 1 file changed, 22 insertions(+), 15 deletions(-) - -commit d2a613187c1257371d62153b55c89336965e0754 -Author: Behdad Esfahbod -Date: Wed Apr 12 18:47:50 2006 +0000 - - Fix loop variables. (coverity found bug.) - - 2006-04-12 Behdad Esfahbod - - * pango/opentype/harfbuzz-gpos.c: Fix loop - variables. (coverity - found bug.) - - src/harfbuzz-gpos.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 14022e826f63c48b689f9037645c9a3a3302d9b6 -Author: Behdad Esfahbod -Date: Tue Apr 11 08:31:44 2006 +0000 - - Bug 337924 – cleanups for issues reported by various compilers Patch - - 2006-04-11 Behdad Esfahbod - - Bug 337924 – cleanups for issues reported by various - compilers - Patch from Kjartan Maraas. - - * examples/viewer-x.c (update): - * modules/arabic/arabic-fc.c (fallback_shape), - (arabic_engine_shape): - * modules/basic/basic-fc.c (fallback_shape), - (basic_engine_shape): - * modules/basic/basic-x.c: - * modules/hangul/hangul-fc.c: - * modules/hebrew/hebrew-fc.c (hebrew_engine_shape): - * modules/indic/indic-fc.c: - * modules/khmer/khmer-fc.c: - * modules/syriac/syriac-fc.c: - * modules/thai/thai-fc.c: - * modules/tibetan/tibetan-fc.c: - * pango/break.c: - * pango/modules.c: - * pango/opentype/ftglue.c (_hb_ftglue_face_goto_table): - * pango/pango-attributes.c (pango_attr_list_filter): - * pango/pango-engine.c: - * pango/pango-fontset.c: - * pango/pango-layout.c (pango_layout_set_text), - (pango_layout_xy_to_index), (pango_layout_get_cursor_pos): - * pango/pango-markup.c (text_handler): - * pango/pango-utils.c (read_alias_file): - * pango/pangocairo-fcfont.c (G_DEFINE_TYPE_WITH_CODE): - * pango/pangocairo-fcfontmap.c (G_DEFINE_TYPE_WITH_CODE): - * pango/pangocairo-font.c - (_pango_cairo_font_get_hex_box_info): - * pango/pangox-fontmap.c (pango_x_make_matching_xlfd): - * tests/dump-boundaries.c (fail): - Remove unused variables. Remove excess semicolon after - DEFINE_TYPE - macros. - - src/ftglue.c | 2 -- - 1 file changed, 2 deletions(-) - -commit 59aafd07806a2f0d4f399eff13aec74557f60522 -Author: Behdad Esfahbod -Date: Mon Apr 10 10:33:17 2006 +0000 - - Fix minor bugs reported by the Coverity scan report. - - 2006-04-10 Behdad Esfahbod - - Fix minor bugs reported by the Coverity scan report. - - * pango/opentype/harfbuzz-gdef.c - (HB_GDEF_Build_ClassDefinition): - * pango/opentype/harfbuzz-gpos.c (HB_GPOS_Query_Scripts), - (HB_GPOS_Query_Languages), (HB_GPOS_Query_Features): Do - not access - structs before we check them for nullity. - - * pango/pango-layout.c (pango_layout_index_to_line), - (pango_layout_index_to_line_and_extents), - (pango_layout_index_to_pos): Check for invalid iterators - outside the - loop, so we don't crash. - - * pango/pango-layout.c (pango_layout_line_x_to_index): Set - char_trailing instead of trailing in one of too many paths. - Should - have been a typo. - - * pango/pangox.c (get_font_metrics_from_subfonts): Check - for nullity - somewhere. - - src/harfbuzz-gdef.c | 3 ++- - src/harfbuzz-gpos.c | 9 ++++++--- - 2 files changed, 8 insertions(+), 4 deletions(-) - -commit b31d6def96ff99e89ba42e09661992498bda460d -Author: Behdad Esfahbod -Date: Thu Apr 6 18:23:49 2006 +0000 - - Update from HarfBuzz. Lars Knoll fixed all the warnings. - - 2006-04-06 Behdad Esfahbod - - * pango/opentype: Update from HarfBuzz. Lars Knoll fixed - all the - warnings. - - src/harfbuzz-dump.c | 94 ++++++++++++++++++++++++++++--------------- - src/harfbuzz-gpos.c | 80 ++++++++++++++++++++++-------------- - src/harfbuzz-gsub.c | 114 - +++++++++++++++++++++++++++++----------------------- - src/harfbuzz-impl.h | 4 ++ - 4 files changed, 179 insertions(+), 113 deletions(-) - -commit ca57250bc9d9f92c88a2ea516e251b9cbfdebda0 -Author: Behdad Esfahbod -Date: Mon Apr 3 20:13:17 2006 +0000 - - Make sure TTAG_GDEF and frineds are defined, needed for FreeType - <= 2.1.7 - - 2006-04-03 Behdad Esfahbod - - * pango/opentype/harfbuzz-impl.h: Make sure TTAG_GDEF and - frineds are - defined, needed for FreeType <= 2.1.7 (pointed by Tim Janik). - - src/harfbuzz-gdef.c | 3 --- - src/harfbuzz-gpos.c | 3 --- - src/harfbuzz-gsub.c | 3 --- - src/harfbuzz-impl.h | 11 +++++++++++ - 4 files changed, 11 insertions(+), 9 deletions(-) - -commit f618288e00914b6606ec977d506c18e4abdd3ce4 -Author: Behdad Esfahbod -Date: Fri Mar 31 13:19:29 2006 +0000 - - . - - src/.cvsignore | 2 -- - 1 file changed, 2 deletions(-) - -commit 5f1f943b9e6d753722ceadba7eb7ce1f14526ea5 -Author: Behdad Esfahbod -Date: Fri Mar 31 13:18:23 2006 +0000 - - . - - src/.cvsignore | 1 + - 1 file changed, 1 insertion(+) - -commit bce3e0b0d4ee521767d80c5c21704337bf5ac716 -Author: Behdad Esfahbod -Date: Fri Mar 31 12:45:40 2006 +0000 - - Define NULL. - - src/harfbuzz-impl.h | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 9f8da38cd108590514b71756b752d98952a9221f -Author: Behdad Esfahbod -Date: Fri Mar 31 12:28:09 2006 +0000 - - Convert pango/opentype to the new project called HarfBuzz. - - 2006-03-31 Behdad Esfahbod - - Convert pango/opentype to the new project called HarfBuzz. - - * pango/opentype/*: Restructured. - - * pango/pango-ot-*: Updated to use HarfBuzz symbol names. - - src/COPYING | 15 + - src/{FTL.TXT => COPYING.FTL} | 0 - src/COPYING.GPL | 340 ++ - src/FT-license.txt | 28 - - src/Makefile.am | 89 +- - src/README | 44 +- - src/ftglue.c | 88 +- - src/ftglue.h | 68 +- - src/ftxgdef.c | 1225 ------- - src/ftxgdef.h | 224 -- - src/ftxgpos.c | 6199 - ------------------------------- - src/ftxgpos.h | 838 ----- - src/ftxgsub.c | 4533 ----------------------- - src/ftxgsub.h | 594 --- - src/ftxopen.c | 1552 -------- - src/ftxopen.h | 317 -- - src/ftxopenf.h | 166 - - src/harfbuzz-buffer.c | 227 ++ - src/harfbuzz-buffer.h | 106 + - src/{ottest.c => harfbuzz-dump-main.c} | 84 +- - src/{disasm.c => harfbuzz-dump.c} | 186 +- - src/{disasm.h => harfbuzz-dump.h} | 18 +- - src/harfbuzz-gdef-private.h | 101 + - src/harfbuzz-gdef.c | 1228 +++++++ - src/harfbuzz-gdef.h | 127 + - src/harfbuzz-gpos-private.h | 683 ++++ - src/harfbuzz-gpos.c | 6269 - ++++++++++++++++++++++++++++++++ - src/harfbuzz-gpos.h | 168 + - src/harfbuzz-gsub-private.h | 448 +++ - src/harfbuzz-gsub.c | 4581 +++++++++++++++++++++++ - src/harfbuzz-gsub.h | 132 + - src/harfbuzz-impl.h | 64 + - src/harfbuzz-open-private.h | 81 + - src/harfbuzz-open.c | 1426 ++++++++ - src/harfbuzz-open.h | 285 ++ - src/harfbuzz.c | 19 + - src/harfbuzz.h | 23 + - src/otlbuffer.c | 238 -- - src/otlbuffer.h | 103 - - 39 files changed, 16582 insertions(+), 16335 deletions(-) - -commit dd2a8d4d490df1d310e7553ba6c7c8de661f28a1 -Author: Behdad Esfahbod -Date: Sat Mar 25 23:52:30 2006 +0000 - - Don't err on Table_Missing. - - 2006-03-25 Behdad Esfahbod - - * pango/opentype/ottest.c: Don't err on Table_Missing. - - src/ottest.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 434833b1b7b01d85a143f9ad4b04e7044dd72567 -Author: Behdad Esfahbod -Date: Mon Mar 13 05:06:05 2006 +0000 - - === Released 1.12.0 === - - 2006-03-13 Behdad Esfahbod - - * === Released 1.12.0 === - - * configure.in: Version 1.12.0 - - * NEWS, README: Updated. - - src/README | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 8228828e1e4c8dd6f9435fb718ad4394bba95655 -Author: Behdad Esfahbod -Date: Mon Jan 30 22:37:48 2006 +0000 - - Handle GSUB Lookup type 8, and ReverseChainContextualSubst table. (bug - - 2006-01-30 Behdad Esfahbod - - * pango/opentype/ftxgsub.c: Handle GSUB Lookup type 8, - and ReverseChainContextualSubst table. (bug #149696, - patch from Aamir Wali) - - src/ftxgsub.c | 545 - ++++++++++++++++++++++++++++++++++++++++++++++----------- - src/ftxgsub.h | 47 +++-- - src/ftxopen.c | 7 + - src/ftxopenf.h | 5 +- - 4 files changed, 487 insertions(+), 117 deletions(-) - -commit e040f681963d51eaadcd53a456100fde1a7addb6 -Author: Behdad Esfahbod -Date: Sat Jan 28 20:29:18 2006 +0000 - - Removed. - - 2006-01-28 Behdad Esfahbod - - * pango/opentype/pango-ot-*: Removed. - - * pango/pango-ot-*: Added. - - * pango/Makefile.am, pango/opentype/Makefile.am: Adjusted. - - src/Makefile.am | 30 +-- - src/pango-ot-buffer.c | 339 ------------------------ - src/pango-ot-info.c | 681 - ------------------------------------------------- - src/pango-ot-private.h | 105 -------- - src/pango-ot-ruleset.c | 225 ---------------- - 5 files changed, 13 insertions(+), 1367 deletions(-) - -commit f45689bc655eb723f11a2eb65a41303221b80397 -Author: Behdad Esfahbod -Date: Wed Jan 25 19:33:58 2006 +0000 - - If major.minor of required and available glib versions are the - same, add - - 2006-01-25 Behdad Esfahbod - - * configure.in: If major.minor of required and available - glib versions - are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug - #328617) - - * */Makefile.am: Remove hardcoded -DG_DISABLE_DEPRECATED. - - src/Makefile.am | 1 - - 1 file changed, 1 deletion(-) - -commit 6cc6c9a57c674787f278ea5b60705384fd72b4ad -Author: Behdad Esfahbod -Date: Sat Jan 14 07:00:13 2006 +0000 - - Make sure #include is the first include in the file. (bug - - 2006-01-14 Behdad Esfahbod - - * */*.c, */*/*.c: Make sure #include is the - first include - in the file. (bug #158870, based on patch by Luis Menina) - - src/disasm.c | 2 ++ - src/ftglue.c | 1 + - src/ftxgdef.c | 1 + - src/ftxgpos.c | 2 ++ - src/ftxgsub.c | 2 ++ - src/ftxopen.c | 2 ++ - src/otlbuffer.c | 3 +++ - src/ottest.c | 1 + - src/pango-ot-buffer.c | 2 ++ - src/pango-ot-info.c | 2 ++ - src/pango-ot-ruleset.c | 2 ++ - 11 files changed, 20 insertions(+) - -commit ca07fcf6ef61c09825e67ca7e2574a90e4f5a9a0 -Author: Behdad Esfahbod -Date: Thu Jan 5 16:14:49 2006 +0000 - - pango/Makefile.am, pango/fonts.c, pango/glyphstring.c, - - 2006-01-05 Behdad Esfahbod - - * pango/Makefile.am, - * pango/fonts.c, - * pango/glyphstring.c, - * pango/pango-attributes.c, - * pango/pango-color.c, - * pango/pango-impl-utils.h, - * pango/pango-item.c, - * pango/pango-layout.c, - * pango/pango-tabs.c, - * pango/pango-utils.c, - * pango/pango-utils.h, - * pango/pangoatsui-fontmap.c, - * pango/pangocairo-font.c, - * pango/pangocairo-fontmap.c, - * pango/pangofc-fontmap.c, - * pango/pangowin32-fontmap.c, - * pango/pangox-fontmap.c, - * pango/pangox.c, - * pango/opentype/pango-ot-info.c, - * pango/opentype/pango-ot-ruleset.c: Intern strings to avoid - unnecessary strdups in the type system. (bug #325832, - Matthias Clasen) - - src/pango-ot-info.c | 3 ++- - src/pango-ot-ruleset.c | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -commit 71524f1bc891bb4450507f769e5cc8f6f6cffa0c -Author: Behdad Esfahbod -Date: Tue Dec 27 09:55:48 2005 +0000 - - Use g_slice for PangoOTBuffer allocation. (bug #325026, Matthias - Clasen) - - 2005-12-27 Behdad Esfahbod - - * pango/opentype/pango-ot-buffer.c: Use g_slice for - PangoOTBuffer - allocation. (bug #325026, Matthias Clasen) - - src/pango-ot-buffer.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b5baa43d3a972ebd3ef82ede14b54c185b723a71 -Author: Behdad Esfahbod -Date: Fri Nov 25 09:22:02 2005 +0000 - - Tiny doc improvement. - - src/pango-ot-info.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6f64314f7a031a5a5d6b7663c08b70c452961c89 -Author: Behdad Esfahbod -Date: Wed Nov 23 19:48:10 2005 +0000 - - Fix typo in docs. - - 2005-11-23 Behdad Esfahbod - - * pango/opentyp/pango-ot-buffer.c: Fix typo in docs. - - src/pango-ot-buffer.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit f2bcf72296b57c8cd7d5a08228c3aef6c8f97d2d -Author: Behdad Esfahbod -Date: Wed Nov 23 17:54:55 2005 +0000 - - Added "Since:" tags to all interfaces added after Pango 1.0. (#319116, - - 2005-11-23 Behdad Esfahbod - - * pango/fonts.c pango/pango-attributes.c pango/pango-context.c - pango/pango-glyph-item.c pango/pango-layout.c - pango/pango-script.c pango/pango-utils.c pango/pangofc-font.c - pango/pangoft2-fontmap.c pango/opentype/pango-ot-buffer.c - pango/opentype/pango-ot-ruleset.c: Added "Since:" tags to all - interfaces added after Pango 1.0. (#319116, Brian Cameron) - - src/pango-ot-buffer.c | 49 - +++++++++++++++++++++++++++++++++++++++++++++++++ - src/pango-ot-ruleset.c | 14 ++++++++++++++ - 2 files changed, 63 insertions(+) - -commit 682db81c23d2116072d8550657c914afb7c26d2b -Author: Behdad Esfahbod -Date: Wed Nov 23 15:19:48 2005 +0000 - - Protect against possible division by zeros (#316468, Steve Grubb) - - 2005-11-23 Behdad Esfahbod - - Protect against possible division by zeros (#316468, - Steve Grubb) - - * pango/pango-context.c (update_metrics_from_items), - pango/pango-fontset.c (pango_fontset_real_get_metrics): - If count is - zero, do not alter approximate_{char,digit}_width. - - * pango/opentype/disasm.c: Err on invalid DeltaFormat. - - src/disasm.c | 28 ++++++++++++++++++---------- - 1 file changed, 18 insertions(+), 10 deletions(-) - -commit e6e15352d154e1350340f8045759e5f7b0d86dc7 -Author: Behdad Esfahbod -Date: Wed Nov 23 11:53:03 2005 +0000 - - Reworked basic shaper with OpenType support. (#101079, based on - patch from - - 2005-11-23 Behdad Esfahbod - - * modules/basic/basic-fc.c: Reworked basic shaper with - OpenType - support. (#101079, based on patch from Denis Jacquerye and - Noah Levitt) - - * modules/basic/basic-fc.c (basic_scripts): Added Unicode - 4.1 addition - script PANGO_SCRIPT_GLAGOLITIC that is a "simple" script. - - * modules/arabic/arabic-fc.c, modules/syriac/syriac-fc.c: - Replace - g_utf8_to_ucs4_fast() with g_utf8_strlen()! - - * pango/opentype/pango-ot-ruleset.c - (pango_ot_ruleset_add_feature): - Remove reference in docs to pango_ot_ruleset_shape() that was - removed long ago. - - src/pango-ot-ruleset.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 612b6cf60928b356f4bbb59bc9d64886574322c3 -Author: Behdad Esfahbod -Date: Thu Nov 17 06:28:11 2005 +0000 - - Part of #101079: - - 2005-11-17 Behdad Esfahbod - - Part of #101079: - - * pango/opentype/ftxopen.c (Load_Lookup): In extension - subtables, - offset is relative to the extension subtable, not the original - table. (Greg Aumann) - - * pango/opentype/ftxgpos.c (Load_BaseArray): When reading - BaseAnchor, - skip offsets that are zero. Works around bug in Doulos - SIL Regular. - - src/ftxgpos.c | 6 ++++++ - src/ftxopen.c | 6 ++++-- - 2 files changed, 10 insertions(+), 2 deletions(-) - -commit 1b2c314b804da97b1d5e7adab64bdd4177702579 -Author: Behdad Esfahbod -Date: Wed Nov 9 23:30:00 2005 +0000 - - Remove debug line that got in accidentally. - - 2005-11-09 Behdad Esfahbod - - * pango/opentype/ftxgpos.c, pango/opentype/ftxopen.c: - Remove debug - line that got in accidentally. - - src/ftxgpos.c | 1 - - src/ftxopen.c | 1 - - 2 files changed, 2 deletions(-) - -commit 9717127a5be037e26afe52332a8b07f13474557a -Author: Behdad Esfahbod -Date: Fri Nov 4 23:55:38 2005 +0000 - - Turn various gcc warnings off. Adding const, adding static, fully - - 2005-11-04 Behdad Esfahbod - - * configure.in, examples/argcontext.c examples/cairoview.c, - examples/renderdemo.c, examples/renderdemo.h - examples/xftview.c, - modules/basic/basic-x.c, modules/hangul/hangul-fc.c, - modules/hebrew/hebrew-shaper.c, - modules/hebrew/hebrew-shaper.h, - modules/indic/indic-fc.c, modules/indic/mprefixups.c, - modules/syriac/syriac-fc.c, pango/break.c pango/fonts.c, - pango/modules.c, pango/pango-coverage.c pango/pango-engine.c, - pango/pango-engine.h, pango/pango-fontmap.c, - pango/pango-fontset.c, pango/pango-impl-utils.h, - pango/pango-layout.c, pango/pango-layout.h, - pango/pango-renderer.c, pango/pango-script.c, - pango/pango-utils.c, pango/pangocairo-fc.h, - pango/pangocairo-font.c, pango/pangocairo-fontmap.c, - pango/pangocairo-private.h, pango/pangofc-decoder.c, - pango/pangofc-font.c, pango/pangofc-fontmap.c - pango/pangoft2.c, - pango/pangox-fontcache.c, pango/pangox-fontmap.c - pango/pangox.c, - pango/pangoxft-font.c, pango/querymodules.c, - pango/opentype/ftglue.c, pango/opentype/ftxgpos.c, - pango/opentype/ftxopen.c, pango/opentype/pango-ot-buffer.c, - pango/opentype/pango-ot-info.c, - pango/opentype/pango-ot-ruleset.c, tests/dump-boundaries.c, - tests/testboundaries.c, tests/testcolor.c tests/testiter.c, - tests/testscript.c: Turn various gcc warnings off. Adding - const, - adding static, fully initializing structs, match signedness in - comparisons. (#317804) - - * tests/testscript.c, tools/gen-script-for-lang.c: - (scripts_for_file): Pass error->message instead of error - to fail(), - which was wrong. - (compare_lang): Fix typo comparing a and a instead of a and b. - - src/ftglue.c | 2 +- - src/ftxgpos.c | 4 ++++ - src/ftxopen.c | 1 + - src/pango-ot-buffer.c | 4 ++-- - src/pango-ot-info.c | 5 +++-- - src/pango-ot-ruleset.c | 5 +++-- - 6 files changed, 14 insertions(+), 7 deletions(-) - -commit c0505f3bb28feeba95b201e6464fb2fdac90194a -Author: Behdad Esfahbod -Date: Thu Nov 3 20:13:40 2005 +0000 - - Patches from #170414. Reviewed by Matthias Clasen. - - 2005-11-03 Behdad Esfahbod - - Patches from #170414. Reviewed by Matthias Clasen. - - * pango/opentype/ftxgpos.c, pango/opentype/ftxgsub.c: Use - call table - to dispatch different lookup types. - - * pango/opentype/pango-ot-buffer.c, - pango/opentype/pango-ot-ruleset.c: - Small cleanup. - - src/ftxgpos.c | 143 - ++++++++++++++++++++++++------------------------- - src/ftxgsub.c | 115 +++++++++++++++++++++------------------ - src/pango-ot-buffer.c | 3 +- - src/pango-ot-ruleset.c | 75 +++++++++----------------- - 4 files changed, 159 insertions(+), 177 deletions(-) - -commit c6b22b9119ef54ea8d0d2f08b74fdeb024289d73 -Author: Behdad Esfahbod -Date: Mon Aug 29 10:06:40 2005 +0000 - - Generate valid XML output. Dump LookupFlag too. - - 2005-08-29 Behdad Esfahbod - - * pango/opentype/ottest.c, pango/opentype/disasm.c: - Generate valid - XML output. Dump LookupFlag too. - - src/disasm.c | 58 - ++++++++++++++++++++++++++++++---------------------------- - src/ottest.c | 23 ++++++++++++++--------- - 2 files changed, 44 insertions(+), 37 deletions(-) - -commit 1e3747ca5d1a6f607f8e56fb94e3daaf6ad623cb -Author: Behdad Esfahbod -Date: Mon Aug 15 04:16:04 2005 +0000 - - Replace perror with perror_. Remove FT_BEGIN_STMNT and FT_END_STMNT. - - 2005-08-15 Behdad Esfahbod - - * pango/opentype/ftglue.h: Replace perror with perror_. - Remove FT_BEGIN_STMNT and FT_END_STMNT. (#313477) - - src/ftglue.h | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 3c60250875fa9d04ca96dea35eba23fc70690ff5 -Author: Owen Taylor -Date: Tue Jul 26 18:33:27 2005 +0000 - - Skip lookups with lookup index out of range. (Patch from Behdad - Esfahbod, - - 2005-07-26 Owen Taylor - - * pango/opentype/ftxgsub.c, pango/opentype/ftxgpos.c: - Skip lookups - with lookup index out of range. (Patch from Behdad Esfahbod, - #171170) - - src/ftxgpos.c | 30 ++++++++++++++++++++++++------ - src/ftxgsub.c | 30 ++++++++++++++++++++++++------ - 2 files changed, 48 insertions(+), 12 deletions(-) - -commit 91a3fa2e4bcdde8ae022d1264c783f133cd7e00d -Author: Owen Taylor -Date: Fri Jul 22 18:03:58 2005 +0000 - - Remove an unecessary set of block2. - - 2005-07-22 Owen Taylor - - * pango/opentype/ftglue.c (ftglue_realloc): Remove - an unecessary set of block2. - - src/ftglue.c | 1 - - 1 file changed, 1 deletion(-) - -commit ff7034787d79dcd1bec58a4e02602039313da00e -Author: Owen Taylor -Date: Fri Jul 22 17:56:37 2005 +0000 - - Patch from David Turner. Review and testing by Behdad Esfahbod - - 2005-07-22 Owen Taylor - - Patch from David Turner. Review and testing by Behdad Esfahbod - - * pango/opentype/ftglue.[ch] Makefile.am: Glue layer that - provides - implementation of the internal functions that the opentype - code - expects in terms of publically exported FreeType API. - - * pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c - pango/opentype/ftxgsub.c pango/opentype/ftxopen.c - pango/opentype/otlbuffer.c pango/opentype/pango-ot-info.c - pango/opentype/pango-ot-ruleset.c: Remove includes of - internal headers. Small changes to work with ftglue.[ch] - - * pango/opentype/fterrcompat.h: Remove: no longer needed. - - * pango/opentype/ftxgpos.c: Use FT_IS_SFNT(face) rather - than poking at FT_MODULE_CLASS (face->driver)->module_name. - - * pango/opentype/ftxopen.c (Free_FeatureList): Free - fl->ApplyOrder. (Found by Behdad) - - src/Makefile.am | 3 +- - src/fterrcompat.h | 95 -------------- - src/ftglue.c | 350 - +++++++++++++++++++++++++++++++++++++++++++++++++ - src/ftglue.h | 156 ++++++++++++++++++++++ - src/ftxgdef.c | 9 +- - src/ftxgpos.c | 9 +- - src/ftxgsub.c | 10 +- - src/ftxopen.c | 8 +- - src/otlbuffer.c | 4 +- - src/pango-ot-info.c | 6 +- - src/pango-ot-ruleset.c | 2 - - 11 files changed, 520 insertions(+), 132 deletions(-) - -commit 43dbec6f3a345ba0e4a43766610ed59622bbe4a0 -Author: Owen Taylor -Date: Thu Jul 21 18:15:45 2005 +0000 - - Fix up places where there is missing or incomplete Copyright and - License - - 2005-07-21 Owen Taylor - - Fix up places where there is missing or incomplete - Copyright and License information (Reported by William N. Ray) - - * pango/opentype/fterrcompat.h: Mark as FreeType/GPL licensed. - - * pango/opentype/FT-license.txt: Make this the dual-licensing - description that covers the FreeType code (FreeType's - LICENSE.TXT) rather than the FTL. - - * pango/opentype/FTL.TXT: Move the FTL (referenced from - FT-license.txt) to here. - - * modules/basic/basic-common.h modules/hebrew/hebrew-shaper.h - modules/thai/thai-charprop.c modules/thai/thai-shaper.h - tools/gen-script-for-lang.c tests/testcolor.c: - Add LGPL header and copyright information. - - * modules/indic/indic-ot.[ch] - modules/indic/indic-ot-class-tables.c - modules/thai/thai-ot.[ch]: Add LGPL header. - - * modules/thai/thai-shaper.c modules/thai/thai-charprop.h: - Minor fixes to copyright information. - - * modules/arabic/arabic-ot.c: Add Freetype license - boilerplate. - - src/FT-license.txt | 179 - +++++++---------------------------------------------- - src/FTL.TXT | 174 - +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/fterrcompat.h | 10 ++- - 3 files changed, 204 insertions(+), 159 deletions(-) - -commit c55850d36d208c7aae8f6ed5c9e1e7927b988d6c -Author: Owen Taylor -Date: Tue Jun 14 19:54:19 2005 +0000 - - Chain up from finalize. (#307547, Paolo Borelli) - - 2005-06-14 Owen Taylor - - * pango/opentype/pango-ot-info.c (pango_ot_info_finalize) - pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_finalize): - Chain up from finalize. (#307547, Paolo Borelli) - - * pango/opentype/pango-ot-info.c (pango_ot_info_finalizer): - make accidentally public function static. - - src/pango-ot-info.c | 4 +++- - src/pango-ot-ruleset.c | 2 ++ - 2 files changed, 5 insertions(+), 1 deletion(-) - -commit 44ff46a364fb7981804eb45329c4999b415711f9 -Author: Tor Lillqvist -Date: Tue Apr 12 01:27:21 2005 +0000 - - Rename LDADDS to libpango_ot_la_LIBADD to actually make libpango-ot.la - - 2005-04-12 Tor Lillqvist - - * pango/opentype/Makefile.am: Rename LDADDS to - libpango_ot_la_LIBADD to actually make libpango-ot.la - link with - it. - - * pango/pangowin32.def: Rename get_scale_factor to - get_metrics_factor here, too. (#300222, Ivan Wong) - - src/Makefile.am | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 0c349a032e5a52a9d0dcc8204f761b7cb28bfa6b -Author: Owen Taylor -Date: Thu Mar 3 19:38:02 2005 +0000 - - For all binary searches, handle the case where the number of items - is 0. - - 2005-03-03 Owen Taylor - - * pango/opentype/ftxopen.c (Coverage_Index1, Coverage_Index2, - Get_Class2): For all binary searches, handle the case where - the number of items is 0. (#162977, Nick Lamb) - - * pango/opentype/ftxgdef.c (TT_GDEF_Build_ClassDefinition): - Handle the case where glyph_count == 0 properly. Fix a problem - with cleanups on memory allocation failure. - (Get_New_Count, Add_Glyph_Property): Avoid reading off the - end of the ClassRangeRecord array. - - src/ftxgdef.c | 60 - +++++++++++++++++++++++++++++++++++------------------------ - src/ftxopen.c | 15 +++++++++++++++ - 2 files changed, 51 insertions(+), 24 deletions(-) - -commit 03838daaa9d485bffcb7bc46453a9a4c32a1f32f -Author: Owen Taylor -Date: Mon Nov 22 23:37:19 2004 +0000 - - Set G_LOG_DOMAIN. - - Mon Nov 22 18:30:14 2004 Owen Taylor - - * pango/opentype/Makefile.am pango/Makefile.am - modules/*/Makefile.am: Set G_LOG_DOMAIN. - - src/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 346d3b3cac253d2db41205151c185bf2fd9dda16 -Author: Owen Taylor -Date: Wed Sep 22 18:14:55 2004 +0000 - - Cleanups from 'sparse', #149922, Kjartan Maraas - - Wed Sep 22 14:07:47 2004 Owen Taylor - - Cleanups from 'sparse', #149922, Kjartan Maraas - - * pango/pango-utils.c (read_config): () => (void) in - definition. - - * pango/pangofc-fontmap.c (pango_fc_font_map_list_families): - Initialize *n_families, not n_families. - - * pango/pangofc-fontmap.c pango/pangoft2.c opentype/ftxgdef.c - opentype/ftxgpos.c opentype/ftxgsub.c: : Fix various 0/NULL - confusion. - - src/ftxgdef.c | 2 +- - src/ftxgpos.c | 6 +++--- - src/ftxgsub.c | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - -commit 8b654dfb5ad6137ee9c5a48f5abe04bf7d28d8cd -Author: Owen Taylor -Date: Tue Sep 14 13:45:41 2004 +0000 - - === Released 1.6.0 === - - Mon Sep 13 17:38:58 2004 Owen Taylor - - * === Released 1.6.0 === - - * configure.in: Update versions for 1.6.0 - - * NEWS: Update. - - * README: Minor tweak. - - * pango/fonts.c pango/pango-context.c pango/pango-types.h - pango/pango-utils.c pango/pangoft2.c pango/pango-layout.c - pango/opentype/pango-ot-buffer.c: Add a bunch of missing - Since: 1.6. - - src/pango-ot-buffer.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit d41089a5b691967fdd622f47c8397a80af104396 -Author: Owen Taylor -Date: Fri Jul 30 21:23:04 2004 +0000 - - Finish extending properties flags from FT_UShort => - FT_UInt. (OTLBuffer - - Fri Jul 30 17:17:05 2004 Owen Taylor - - * pango/opentype/ftxgpos.[ch] pango/opentype/ftxgsub.[ch] - pango/opentype/ftxopen.[ch]: Finish extending properties - flags from FT_UShort => FT_UInt. (OTLBuffer was already - using an FT_UInt) - - src/ftxgpos.c | 8 ++++---- - src/ftxgpos.h | 2 +- - src/ftxgsub.c | 8 ++++---- - src/ftxgsub.h | 2 +- - src/ftxopen.c | 2 +- - src/ftxopen.h | 2 +- - 6 files changed, 12 insertions(+), 12 deletions(-) - -commit f42d5eca291dcdfb27d7fbf88391d6d381b8e9c4 -Author: Owen Taylor -Date: Tue Jul 27 17:20:01 2004 +0000 - - Save the order in which features were added and use that when applying - - Tue Jul 27 12:38:05 2004 Owen Taylor - - * pango/opentype/ftxopen.[ch] pango/opentype/ftxgsub.c - pango/opentype/ftxpos.c: Save the order in which - features were added and use that when applying features. - (Patch from Soheil Hassas Yeganeh, #122330) - - src/ftxgpos.c | 41 ++++++++++++++++++++++++----------------- - src/ftxgsub.c | 34 +++++++++++++++++++++------------- - src/ftxopen.c | 14 +++++++++++--- - src/ftxopen.h | 2 ++ - 4 files changed, 58 insertions(+), 33 deletions(-) - -commit ae2daa972d74c5ecfe1d2f0057ce12682ad30b00 -Author: Behdad Esfahbod -Date: Tue Jul 27 13:12:19 2004 +0000 - - Remove the unused parameter from the IN_CURITEM() and IN_CURGLYPH - macros. - - - * pango/opentype/ftxgpos.c: Remove the unused parameter - from the IN_CURITEM() and IN_CURGLYPH macros. - - src/ftxgpos.c | 68 - +++++++++++++++++++++++++++++------------------------------ - src/ftxgsub.c | 2 +- - 2 files changed, 35 insertions(+), 35 deletions(-) - -commit 7d5435ea8cb345c79029b8a12d1bddbed28b1997 -Author: Behdad Esfahbod -Date: Tue Jul 27 10:43:58 2004 +0000 - - Fix bug to copy glyph from in_string, not out_string. - - - * pango/opentype/otlbuffer.c (otl_buffer_copy_output_glyph): - Fix bug to copy glyph from in_string, not out_string. - - src/otlbuffer.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2ea2a55bdf7ef1caebcd0c5922b0f542ed8bb5bf -Author: Owen Taylor -Date: Mon Jul 26 23:14:53 2004 +0000 - - Fix allocation and indexing in NewGlyphClasses array. (#130661, - Masatake - - Mon Jul 26 19:11:46 2004 Owen Taylor - - * pango/opentype/ftxgdef.c: Fix allocation and indexing - in NewGlyphClasses array. (#130661, Masatake YAMATO) - - src/ftxgdef.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit 5d42695e5ed89f73fbc665792ebec82c29ae04ae -Author: Owen Taylor -Date: Mon Jul 26 19:25:45 2004 +0000 - - Remove the unused parameter from the IN_CURITEM() and IN_CURGLYPH - macros. - - Mon Jul 26 15:24:11 2004 Owen Taylor - - * pango/opentype/ftxgsub.c (ADD_Glyph): Remove the - unused parameter from the IN_CURITEM() and IN_CURGLYPH - macros. - - src/ftxgsub.c | 56 - ++++++++++++++++++++++++++++---------------------------- - 1 file changed, 28 insertions(+), 28 deletions(-) - -commit a00c4ea5626526980139b122977e367b8434d24a -Author: Owen Taylor -Date: Mon Jul 26 19:23:06 2004 +0000 - - Add missing macro to make the last change actually compile. - - Mon Jul 26 15:21:23 2004 Owen Taylor - - * pango/opentype/ftxgsub.c: Add missing macro to make the - last change actually compile. - - src/ftxgsub.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit ed3e1f278d3ebfd224f0b57388502d4bb9fb1441 -Author: Owen Taylor -Date: Mon Jul 26 19:20:27 2004 +0000 - - Match backtrack context against the output glyphs not the input glyphs - - Mon Jul 26 15:16:07 2004 Owen Taylor - - * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst[123]): - Match backtrack context against the output glyphs not - the input glyphs (#145174, Aamir Wali) - - src/ftxgsub.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -commit 78282cda004a88b2aadb2786dd3897884e22ed0b -Author: Owen Taylor -Date: Mon Jul 26 18:59:02 2004 +0000 - - Make Check_Property() take a OTL_GlyphItem, add a gproperties field to - - Mon Jul 26 14:49:22 2004 Owen Taylor - - * ftxgdef.[ch] otlbuffer.[ch]: Make Check_Property() take a - OTL_GlyphItem, add a gproperties field to OTLGlyphItem, - and use that to cache the properties for a glyph. - - * ftxgsub.c ftxgdef.c: Adapt to Check_Property() changes. - - * otlbuffer.[ch] ftxgsub.c: Add otl_buffer_copy_output_glyph() - to use when we are copying an unmodified glyph from input - to output that preserves the cached properties. - - src/ftxgdef.c | 16 ++++++++++------ - src/ftxgpos.c | 52 +++++++++++++++++++++++++++------------------------- - src/ftxgsub.c | 54 - ++++++++++++++++++++++++++++-------------------------- - src/ftxopenf.h | 2 +- - src/otlbuffer.c | 21 +++++++++++++++++++-- - src/otlbuffer.h | 6 ++++++ - 6 files changed, 91 insertions(+), 60 deletions(-) - -commit 81b62af42313fb60db523374cd8c6901829f5c4e -Author: Owen Taylor -Date: Mon Jul 19 21:13:23 2004 +0000 - - Add support for ChainContextSubstFormat3. - - Mon Jul 19 17:09:11 2004 Owen Taylor - - * pango/opentype/disasm.c: Add support for - ChainContextSubstFormat3. - - src/disasm.c | 16 +++++++++++++++- - 1 file changed, 15 insertions(+), 1 deletion(-) - -commit d4f773ef92fdbaa7e61e6577db5e9b2846a100a4 -Author: Owen Taylor -Date: Mon Jul 19 20:37:22 2004 +0000 - - Fix pervasive buffer overruns when skipping glyphs when matching - contexts. - - Mon Jul 19 16:29:45 2004 Owen Taylor - - * pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c: - Fix pervasive buffer overruns when skipping glyphs - when matching contexts. (#118592, Kailash C. Chowksey) - - src/ftxgpos.c | 259 ++++++++++++++++++---------------------- - src/ftxgsub.c | 376 - ++++++++++++++++++++++++++-------------------------------- - 2 files changed, 284 insertions(+), 351 deletions(-) - -commit 99848cfafee8e598ef533f254cdb99fbae4c9364 -Author: Owen Taylor -Date: Wed Jun 23 20:33:35 2004 +0000 - - #143693, Sayamindu Dasgupta - - Wed Jun 23 16:13:53 2004 Owen Taylor - - #143693, Sayamindu Dasgupta - - * pango/opentype/pango-ot-buffer.c - (pango_ot_buffer_set_zero_width_marks) - pango/opentype/pango-ot-private.h: - Allow setting for whether marks should be given zero width, - defaulting to FALSE. - - * modules/arabic/arabic-fc.c (arabic_engine_shape): Turn - on zero-width-marks setting. - - src/pango-ot-buffer.c | 22 +++++++++++++++++++++- - src/pango-ot-private.h | 5 +++-- - 2 files changed, 24 insertions(+), 3 deletions(-) - -commit 68d4cedb8726fa239f56d62060d8fee7e09cb8be -Author: Owen Taylor -Date: Mon Jun 21 18:04:02 2004 +0000 - - Use the gcc-3.3 strict-aliasing compatible macros from fterrcompat.h - - Mon Jun 21 13:55:17 2004 Owen Taylor - - * pango/opentype/otlbuffer.c: Use the gcc-3.3 - strict-aliasing compatible macros from fterrcompat.h - (#140495, reported by Stanislav Brabec) - - src/otlbuffer.c | 22 ++++++++++++++-------- - 1 file changed, 14 insertions(+), 8 deletions(-) - -commit b327765176dff81047f942ac56a1d206344e6039 -Author: Theppitak Karoonboonyanan -Date: Fri May 28 16:41:36 2004 +0000 - - Negate y offset according to different conventions between - - * pango/opentype/pango-ot-buffer.c (apply_gpos_ltr): Negate - y offset - according to different conventions between PangoGlyphString - and OTL - (#142544) - - src/pango-ot-buffer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 068763b547d791e28b892bcaee810f3d60a83018 -Author: Owen Taylor -Date: Thu May 27 21:55:50 2004 +0000 - - Revert error return changes from last commit. - - Thu May 27 17:54:24 2004 Owen Taylor - - * pango/opentype/otlbuffer.c: Revert error return changes - from last commit. - - src/otlbuffer.c | 16 ++++++---------- - 1 file changed, 6 insertions(+), 10 deletions(-) - -commit ef07481025c5bbb9769b9f908d9dc78f44161bbb -Author: Owen Taylor -Date: Thu May 27 21:03:42 2004 +0000 - - Free buffer->positions, clean up error returns that were returning - - Thu May 27 16:57:30 2004 Owen Taylor - - * pango/opentype/otlbuffer.c: Free buffer->positions, - clean up error returns that were returning uninitialized - values. (#139239, Behdad Esfahbod) - - src/otlbuffer.c | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - -commit de568e7e6200c7a49bae1f78ac63858b8df01173 -Author: Owen Taylor -Date: Tue Mar 16 19:23:43 2004 +0000 - - === Released 1.4.0 === - - Tue Mar 16 11:24:46 2004 Owen Taylor - - * === Released 1.4.0 === - - * configure.in: Version 1.4.0, interface ago 0. Require - glib-2.4.0. - - * NEWS: Updates. - - * README: Some updates; include details about the FreeType - license of the OpenType code. - - src/FT-license.txt | 77 - +++++++++++++++++++++++++++++------------------------- - 1 file changed, 42 insertions(+), 35 deletions(-) - -commit 8b3554b3afe7c125b1a53171b01ac87de9c486fe -Author: Hans Breuer -Date: Wed Mar 3 22:35:19 2004 +0000 - - if PANGO_MODULE_PREFIX is defined include the basic backend shaper - (should - - 2004-03-03 Hans Breuer - - * pango/module-defs-win32.c.win32 : if PANGO_MODULE_PREFIX is - defined include the basic backend shaper (should have been - commited at 2003-12-12, too) - - * pango/makefile.msc : generate correct type for PangoFontMask - (bug #135892, John Ehresman) - * pango/opentype/makefile.msc : updated - - * pango/pango.def pango/pangoft2.def : more updatd externals - - src/makefile.msc | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit a7e096c5de3ec5319bf9333c9ace0732d97c52c3 -Author: Owen Taylor -Date: Sun Feb 29 15:44:50 2004 +0000 - - Rework opentype interfaces and other changes to make GPOS work - for Arabic. - - Sun Feb 29 09:25:13 2004 Owen Taylor - - Rework opentype interfaces and other changes to make GPOS - work for Arabic. (Most of #117282, #121060) - - * pango/opentype/otlbuffer.[ch]: OTL_Buffer that - acts as a replacement for the separate GSUB and - GPOS string structures and hides many of the internal - details. - - * pango/opentype/ftxgsub.[ch] pango/opentype/ftxgpos.[ch]: - Adapt to OTL_Buffer. - - * pango/opentype/ftxgpos.c: Redo handling of cursive - chains so that it actually works. - - * pango/pango-ot.h pango/opentype/pango-ot-buffer.c: - Pango wrapper around OTL_Buffer. - - * pango/pango-ot.h pango/pango-ot-ruleset.c - pango/pango-ot-buffer.c: - Split pango_ot_ruleset_shape() into - pango_ot_ruleset_substitute(), - pango_ot_ruleset_position(), make them act on - PangoOTBuffer, add a separate pango_ot_buffer_output() - which does the default positioning and writes to a - PangoGlyphString. - - * modules/arabic/arabic-fc.c modules/indic/indic-fc.c - modules/indic/mprefixups.[ch]: Adapt to new OpenType - interfaces; add GPOS features for Arabic. - - * pango/opentype/pango-ot-info.c: Don't derive class - information - from Unicode properties for Arabic presentation forms, - let the shaping process derive the properties. - - src/Makefile.am | 3 + - src/ftxgdef.c | 4 +- - src/ftxgpos.c | 573 ++++++++++++++++----------------------- - src/ftxgpos.h | 23 +- - src/ftxgsub.c | 719 - +++++++++++-------------------------------------- - src/ftxgsub.h | 40 +-- - src/ftxopen.h | 1 + - src/otlbuffer.c | 213 +++++++++++++++ - src/otlbuffer.h | 97 +++++++ - src/ottest.c | 2 + - src/pango-ot-buffer.c | 265 ++++++++++++++++++ - src/pango-ot-info.c | 27 +- - src/pango-ot-private.h | 8 + - src/pango-ot-ruleset.c | 148 +++------- - 14 files changed, 1039 insertions(+), 1084 deletions(-) - -commit d670ddf99192dd4999775a9215a818ae63fa3416 -Author: Owen Taylor -Date: Sat Feb 21 14:53:12 2004 +0000 - - Sign convention for y offsets is opposite between PangoGlyphString - and FT - - Sat Feb 21 09:49:23 2004 Owen Taylor - - * pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_shape): - Sign convention for y offsets is opposite between - PangoGlyphString and FT code. (#132591) - - src/pango-ot-ruleset.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b9b3c131c2b57c12a77124a52512fb19a1255f8e -Author: Owen Taylor -Date: Fri Feb 13 16:11:40 2004 +0000 - - Memory leak fixes from Masatake YAMATO, #130652 - - Fri Feb 13 10:54:18 2004 Owen Taylor - - Memory leak fixes from Masatake YAMATO, #130652 - - * pango/opentype/ftxgdef.c (TT_Done_GDEF_Table): - Free the gdef table as well as the contained data. - - * pango/opentype/ftxgdef.c (TT_GDEF_Build_ClassDefinition): - Set gcd->loaded, so that the contents get freed later. - - src/ftxgdef.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 926b8f322989298e43c8bac85f23e3525470a669 -Author: Owen Taylor -Date: Mon Jan 26 19:23:35 2004 +0000 - - Suport CFF fonts as well. (#131202, Manjunath Sripadarao) - - Mon Jan 26 14:20:34 2004 Owen Taylor - - * pango/opentype/pango-ot-info.c (is_truetype): Suport - CFF fonts as well. (#131202, Manjunath Sripadarao) - - src/pango-ot-info.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 945e479a3a35769e5e7c792fdcf306892523a5f9 -Author: Hans Breuer -Date: Sat Dec 13 14:31:50 2003 +0000 - - moved pango_fc_* to the latter where they live on *nix too. - - 2003-12-13 Hans Breuer - - * pango/pango.def pangoft2.def : moved pango_fc_* - to the latter where they live on *nix too. - - * pango/makefile.msc : make it build again (including - the Ft2 backend) - - * pango/module-defs-fc.c.win32 : if PANGO_MODULE_PREFIX - is defined - include the basic backend shaper - - * pango/pangowin32.c (pango_win32_render_layout) : - initialize iter before first usage to avoid immediate crashing - - * pango/opentype/makefile.msc - pango/modules/makefile.msc : finally build with mscv, too. - [completely untested cause I'm not able to type, write or read - any of these languages] - - * modules/modules.def : follow module function - renaming/changes - - * modules/basic/basic-win32.c : register the right engine, - i.e. - make it compile - - src/makefile.msc | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -commit ba0ccd5cfcb514cdc45373158343138b7b190f9d -Author: Owen Taylor -Date: Sat Nov 1 15:02:17 2003 +0000 - - Switch over to recommended Freetype system of include ft2build.h then - - Sat Nov 1 09:32:15 2003 Owen Taylor - - * pango/pango-ot.h pango/pangofc-font.h - modules/indic/indic-ot.h - pango/pangoft2.c pango/opentype/pango-ot-info.c - pango/opentype/pango-ot-ruleset.c pango/opentype/ottest.c - pango/opentype/ftxopen.[ch] pango/opentype/ftxgdef.c - pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c: - Switch over to recommended Freetype system of - include ft2build.h then #include FT_FREETYPE_H. - Fixes ftmodule.h problem with current Freetype CVS. - (#125548) - - src/ftxgdef.c | 14 +++++++------- - src/ftxgpos.c | 17 ++++++++--------- - src/ftxgsub.c | 13 ++++++------- - src/ftxopen.c | 10 +++++----- - src/ftxopen.h | 3 ++- - src/ottest.c | 1 - - src/pango-ot-info.c | 4 ++-- - src/pango-ot-private.h | 2 -- - src/pango-ot-ruleset.c | 4 ++-- - 9 files changed, 32 insertions(+), 36 deletions(-) - -commit 558171a7a3666999c679719ad0bfbdf7c6a52289 -Author: Owen Taylor -Date: Mon Sep 15 22:04:55 2003 +0000 - - Fix gcc-3.3 versions of macros to have the right return value. - - Mon Sep 15 17:16:59 2003 Owen Taylor - - * pango/opentype/fterrcompat.h: Fix gcc-3.3 versions of - macros to have the right return value. - - src/fterrcompat.h | 44 ++++++++++++++++++++++++++------------------ - 1 file changed, 26 insertions(+), 18 deletions(-) - -commit c99259bf7e08ccdc4130d4983e8d186021ea8e1a -Author: Owen Taylor -Date: Mon Aug 25 14:30:12 2003 +0000 - - pango/opentype/ftxgsub.c (Lookup_ChainContextSubst3) Fix problems - where - - Mon Aug 25 10:17:21 2003 Owen Taylor - - * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst3) - * pango/opentype/ftxgpos.c (Lookup_ChainContextPos3): - Fix problems where the coverage wasn't being checked - for the first input glyph. (#118639, Kailash C. Chowksey) - - src/ftxgpos.c | 7 +++---- - src/ftxgsub.c | 7 +++---- - 2 files changed, 6 insertions(+), 8 deletions(-) - -commit bcf81bcc80c6235dfbc7eeaa34ed21ea329c7a3d -Author: Owen Taylor -Date: Fri Aug 22 22:52:08 2003 +0000 - - Add some macro definitions for gcc-3.3 that suppress the bogus - - Fri Aug 22 18:09:52 2003 Owen Taylor - - * pango/opentype/fterrcompat.h: Add some macro definitions - for gcc-3.3 that suppress the bogus strict-aliasing - warnings. - - * pango/pango-utils.c (read_config_file): Use - g_hash_table_new_full() to simplify code and fix - gcc-3.3 warnings. - - * pango/pangox-fontmap.c (pango_x_real_get_coverage_win) - * pango/querymodules.c (query_module): Suppress gcc-3.3 - warnings. - - * pango/modules.c (pango_find_map): Fix warning from - missing declaration of pango_module_get_type(). - - * pango/pango-context.c/pango-engine.c: Fix name confusion - for pango_get_fallback_shaper(). - - src/fterrcompat.h | 36 ++++++++++++++++++++++++++++++++++-- - 1 file changed, 34 insertions(+), 2 deletions(-) - -commit 46d379596d7292a3b2e51f35fc8044b366d413a3 -Author: Owen Taylor -Date: Tue Jul 29 14:21:54 2003 +0000 - - Rewrite handling of IGNORE_SPECIAL_MARKS to be properly "ignore - marks of - - Tue Jul 29 09:58:13 2003 Owen Taylor - - * pango/opentype/ftxgdef.c (Check_Property): Rewrite - handling of IGNORE_SPECIAL_MARKS to be properly - "ignore marks of attachment type different than - specified. (#118456, Kailash C. Chowksey) - - src/ftxgdef.c | 37 ++++++++++++++++++++++++++++--------- - 1 file changed, 28 insertions(+), 9 deletions(-) - -commit 8247acad79c1a4154e9337aed453eb3e4d23063d -Author: Owen Taylor -Date: Mon Jul 28 22:28:37 2003 +0000 - - Revert back out the FreeType patch preventing ligatures of - not-originally - - Sat Jul 26 09:41:22 2003 Owen Taylor - - * pango/opentype/ftxgsub.c (Lookup_LigatureSubst): - Revert back out the FreeType patch preventing - ligatures of not-originally adjacent glyphs; - it doesn't work for all scripts. (#118472, - Kailash C. Chowksey) - - src/ftxgsub.c | 31 +++---------------------------- - 1 file changed, 3 insertions(+), 28 deletions(-) - -commit 825e6d7e86cac310161648601b09291fa05d5ba5 -Author: Owen Taylor -Date: Sun Jul 27 02:40:31 2003 +0000 - - Check for lookahead glyphs in the right place. (Patch from #116860) - - Sat Jul 26 22:30:59 2003 Owen Taylor - - * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst{1,2,3}): - Check for lookahead glyphs in the right place. (Patch - from #116860) - - * pango/opentype/ftxgpos.c (Lookup_ChainContextPos{1,2,3}): - Same fix here. - - src/ftxgpos.c | 6 +++--- - src/ftxgsub.c | 6 +++--- - 2 files changed, 6 insertions(+), 6 deletions(-) - -commit 03a0fe09c711b81c7eb4065fd4700b8cfd2c977a -Author: Owen Taylor -Date: Sun Jul 27 02:19:52 2003 +0000 - - Fix return value to only contain TTO_Err_Not_Covered if *no* lookups - - Sat Jul 26 22:12:46 2003 Owen Taylor - - * pango/opentype/ftxgsub.c (Do_String_Lookup, - TT_GSUB_Apply_String): Fix return value to only - contain TTO_Err_Not_Covered if *no* lookups - matched. Fix memory leaks on error in Apply_String(). - - src/ftxgsub.c | 120 - ++++++++++++++++++++++++++++++++++++---------------------- - 1 file changed, 75 insertions(+), 45 deletions(-) - -commit e10ea2afd9a5868d4ec1ff3a2b99bcd64ce45816 -Author: Owen Taylor -Date: Sun Jul 27 01:10:15 2003 +0000 - - Fix confusion between boolean and FT_Error return. (GSUB equivalent - of fix - - Sat Jul 26 21:06:26 2003 Owen Taylor - - * pango/opentype/ftxgsub.c (Load_EmptyOrClassDefinition): - Fix confusion between boolean and FT_Error return. - (GSUB equivalent of fix for #108358) - - src/ftxgsub.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit a7305ab2624cbc08160dc11587ba3dc4e17781c2 -Author: Owen Taylor -Date: Sat Jul 26 15:02:13 2003 +0000 - - Move allocation afer initial checks, fixing memory leak. - - Sat Jul 26 10:52:20 2003 Owen Taylor - - * pango/opentype/ftxgpos.c (Lookup_ContextPos2): - * pango/opentype/ftxgsub.c (Lookup_ContextSubst2): Move - allocation afer initial checks, fixing memory leak. - - * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst2): - Fix some more error return memory leaks that weren't - fixed in the Qt changes. - - src/ftxgpos.c | 8 ++++---- - src/ftxgsub.c | 12 ++++++------ - 2 files changed, 10 insertions(+), 10 deletions(-) - -commit f40b7c15e0bc4b71e706602c4e062f72d8f0fcdd -Author: Owen Taylor -Date: Sat Jul 26 14:50:23 2003 +0000 - - Fix various memory leaks from error returns that should have been - jumps to - - Sat Jul 26 10:43:20 2003 Owen Taylor - - * pango/opentype/ftxgsub.c pango/opentype/ftxgpos.c: - Fix various memory leaks from error returns that should - have been jumps to cleanup blocks. (From Qt, Lars Knoll) - - src/ftxgpos.c | 8 ++++---- - src/ftxgsub.c | 4 ++-- - 2 files changed, 6 insertions(+), 6 deletions(-) - -commit 256d21970733483833b9cf31d5e0fa7ae853e944 -Author: Owen Taylor -Date: Sat Jul 26 14:35:29 2003 +0000 - - Fix additional places where TTO_Err_Not_Covered wasn't considered a - - Sat Jul 26 10:30:24 2003 Owen Taylor - - * pango/opentype/ftxgpos.c: Fix additional places where - TTO_Err_Not_Covered wasn't considered a successful return - from Get_Class. (From Qt, Lars Knoll) - - src/ftxgpos.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 374960681e2e36d0e4032623d8cb92a7910baf71 -Author: Owen Taylor -Date: Sat Jul 26 13:50:23 2003 +0000 - - If applying a ligature lookup makes adjacent two glyphs that were not - - Sat Jul 26 09:41:22 2003 Owen Taylor - - * pango/opentype/ftxgsub.c (Lookup_LigatureSubst): - If applying a ligature lookup makes adjacent two glyphs - that were not originally adjacent, avoid making - subsequent ligatures between those glyphs. - (From FreeType, Werner Lemberg, 2001-08-22, 2001-08-23) - - src/ftxgsub.c | 31 ++++++++++++++++++++++++++++--- - 1 file changed, 28 insertions(+), 3 deletions(-) - -commit b682482df77608d67eca8a050db5b36f44953c13 -Author: Owen Taylor -Date: Sat Jul 26 13:20:52 2003 +0000 - - Fix some FreeType1 variable declarations that snuck in from the last - - Sat Jul 26 09:16:57 2003 Owen Taylor - - * pango/opentype/ftxgpos.c pango/opentype/ftxopen.c: - Fix some FreeType1 variable declarations that snuck - in from the last commits (Christophe Fergeau, - 118363) - - src/ftxgpos.c | 6 +++--- - src/ftxopen.c | 2 +- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 06c12109de061c357f46dcec82c4bee7160afede -Author: Owen Taylor -Date: Sat Jul 26 03:45:44 2003 +0000 - - OpenType-1.4 update: backtrack information is stored with the - item closest - - Fri Jul 25 23:38:07 2003 Owen Taylor - - * pango/opentype/ftxgpos.c pango/opentype/ftxgsub.c: - OpenType-1.4 update: backtrack information is stored with the - item closest to the input first (From FreeType, - Werner Lemberg, 2002-09-26) - - src/ftxgpos.c | 26 ++++++++++++++++++-------- - src/ftxgsub.c | 24 +++++++++++++++++------- - 2 files changed, 35 insertions(+), 15 deletions(-) - -commit 15a69e4a12739e7392f2a38d6f7bfdd96c0dc3ba -Author: Owen Taylor -Date: Sat Jul 26 03:14:23 2003 +0000 - - Update of GPOS and GSUB support to OpenType 1.3 (From FreeType, Werner - - Fri Jul 25 23:07:06 2003 Owen Taylor - - Update of GPOS and GSUB support to OpenType 1.3 - (From FreeType, Werner Lemberg, 2001-08-08) - - * pango/opentype/ftxopen.h: Add RIGHT_TO_LEFT LookupFlag - - * pango/opentype/ftxgpos.c (GPOS_Instance): Add 'first' - member to mark the beginning of a chain of cursive - connections. - - * pango/opentype/ftxgpos.c (Do_String_Lookup): If the - RIGHT_TO_FLAG flag is set, shift cursive chain up so - last glyph is on the baseline. - - src/ftxgpos.c | 25 ++++++++++++++++++++++++- - src/ftxopen.h | 8 ++++++-- - 2 files changed, 30 insertions(+), 3 deletions(-) - -commit 6f74f18b77402f3adf5bfbae26e8f44de6543b4e -Author: Owen Taylor -Date: Sat Jul 26 03:03:40 2003 +0000 - - Add GPOS_LOOKUP_EXTENSION, GSUB_LOOKUP_EXTENSION, which allow lookup - - Fri Jul 25 22:59:13 2003 Owen Taylor - - * pango/opentype/ftx{gpos,gsub}.h pango/opentype/ftxgdef.c: - Add GPOS_LOOKUP_EXTENSION, GSUB_LOOKUP_EXTENSION, which - allow lookup information to be stored at 32-bit offets - via a double indirection. (From FreeType, Werner Lemberg, - 2001-08-08) - - src/ftxgpos.h | 17 +++++++++-------- - src/ftxgsub.h | 1 + - src/ftxopen.c | 19 +++++++++++++++++++ - 3 files changed, 29 insertions(+), 8 deletions(-) - -commit 375781c4546b5cfc453b99551ddf715bb162ffb9 -Author: Owen Taylor -Date: Sat Jul 26 02:44:19 2003 +0000 - - Fix a couple of places where TTO_Err_Not_Covered wasn't considered a - - Fri Jul 25 22:25:48 2003 Owen Taylor - - * pango/opentype/ftxgsub.c (Lookup_ContextSubst2, - Lookup_ChainContextSubst2): Fix a couple of - places where TTO_Err_Not_Covered wasn't considered - a successful return from Get_Class -- it means - use class index 0. (From FreeType, Werner Lemberg, - 2001-08-06) - - src/ftxgsub.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 378e1889cd294cb77313ba7fdab3e52959bf2c40 -Author: Owen Taylor -Date: Sat Jul 26 02:10:42 2003 +0000 - - Improvements to OpenType-dumping code, based on changes in Qt by Lars - - Fri Jul 25 20:12:00 2003 Owen Taylor - - Improvements to OpenType-dumping code, based on - changes in Qt by Lars Knoll. - - * pango/opentype/ottest.c: Tweak the debugging output, - suppress some warnings. - - * pango/opentype/disasm.c: Add support for - GSUB Context/Chain GPOS MarkBase lookups, improve - output in various ways. - - src/disasm.c | 242 - +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- - src/ottest.c | 12 +-- - 2 files changed, 241 insertions(+), 13 deletions(-) - -commit 07bad0e77c42b5f2535e3b018bf9074d2f4ecc7c -Author: Owen Taylor -Date: Thu Jul 24 21:05:29 2003 +0000 - - Fix uses of g_assert() around statements with side effects. (#115498, - - Thu Jul 24 17:04:21 2003 Owen Taylor - - * pango/opentype/pango-ot-ruleset.c (pango_ot_ruleset_shape): - Fix uses of g_assert() around statements with side effects. - (#115498, patch from David Cuthbert) - - src/pango-ot-ruleset.c | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -commit f91deef2c9473da5c3cb5e120f2d4fbf0d638166 -Author: Owen Taylor -Date: Wed Apr 16 21:48:29 2003 +0000 - - More careful handling of face->charmap; if is NULL, try to set - a unicode - - Wed Apr 16 03:46:42 2003 Owen Taylor - - * pango/opentype/pango-ot-info.c (synthesize_class_def): - More careful handling of face->charmap; if is NULL, - try to set a unicode charmap, if that doesn't succeed, - return. (Hopefully fixes #106550) - - src/pango-ot-info.c | 26 ++++++++++++++++++++++++-- - 1 file changed, 24 insertions(+), 2 deletions(-) - -commit 587b3940f3ce71e8e1c9950086923d4eb78d62db -Author: Owen Taylor -Date: Wed Apr 16 03:58:17 2003 +0000 - - When loading in Load_Chain{Sub,Pos}ClassRule, the limit we have only - - Tue Apr 15 11:49:39 2003 Owen Taylor - - * pango/opentype/ftxg{sub/pos}.c: When loading - in Load_Chain{Sub,Pos}ClassRule, the limit we - have only applies to the input ClassDef table. - Fixes problem with Arial Unicode. Much help from - Noah Levitt in tracing this down. - - src/ftxgpos.c | 7 ++++--- - src/ftxgsub.c | 7 ++++--- - 2 files changed, 8 insertions(+), 6 deletions(-) - -commit 0d7567f8eaa1f8d0ec9cb89218ce3a1475d258ac -Author: Owen Taylor -Date: Tue Apr 15 23:01:19 2003 +0000 - - Fix mispelled constant from last commit. - - Tue Apr 15 06:57:02 2003 Owen Taylor - - * pango/opentype/ftxgpos.c: Fix mispelled constant - from last commit. - - src/ftxgpos.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 73cd600798a9a7225b2ac8241ea371d48cf7baf3 -Author: Owen Taylor -Date: Tue Apr 15 22:15:41 2003 +0000 - - Fix confusion between boolean and FT_Error return. (#108358, - Noah Levitt) - - Tue Apr 15 06:03:39 2003 Owen Taylor - - * pango/opentype/ftxgpos.c: Fix confusion between - boolean and FT_Error return. (#108358, Noah Levitt) - - * pango/opentype/ftxopen.c (Get_Class1): index is - allowed to be NULL. (#108358, Noah Levitt) - - src/ftxgpos.c | 5 +++-- - src/ftxopen.c | 3 ++- - 2 files changed, 5 insertions(+), 3 deletions(-) - -commit 462bd0be608c3d14e5b4c01099b02b3948a52369 -Author: Owen Taylor -Date: Tue Apr 15 21:05:53 2003 +0000 - - Fix infinite loop in the case where the charmap contains a character > - - Tue Apr 15 05:00:39 2003 Owen Taylor - - * pango/opentype/pango-ot-info.c (synthesize_class_def): - Fix infinite loop in the case where the charmap contains - a character > 65535. (#106550, Morten Welinder.) - - src/pango-ot-info.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit 312e1c1cf9f2c1e2137b9aaa5181a541447923cb -Author: James Henstridge -Date: Tue Mar 11 12:31:16 2003 +0000 - - make similar changes to the ones on glib head (call gtk-docize, etc). - - 2003-03-11 James Henstridge - - * autogen.sh: make similar changes to the ones on glib head (call - gtk-docize, etc). - - * configure.in: move some calculations into M4 macros, rather than - calculating them when configure runs. - Use AC_HELP_STRING where appropriate. - Replace gtk-doc checks with a call to GTK_DOC_CHECK. - Replace AC_OUTPUT_COMMANDS() call with a number of calls to - AC_CONFIG_COMMANDS (once per created file). - Get rid of the "chmod +x pango-config" bit, because there is no - pango-config anymore. - - * Makefile.am: get rid of custom distcheck rule, and set - DISTCHECK_CONFIGURE_FLAGS, which is equivalent. - Use += to select which .pc files to install. - - * pango/Makefile.am: Add rules to rebuild module-defs* files, and - remove them on clean. - Reorder so that rules related to each individual library are next - to each other. - Use BUILT_SOURCES for built sources. - - * pango/opentype/Makefile.am: don't use STRIP_BEGIN/STRIP_END. - - * modules/*/Makefile.am: simplify module makefiles through use of - +=, and regularise them a bit (fixed a few bugs in the process). - - * docs/Makefile.am: remove common rules, and instead include - gtk-doc.make. - - * examples/Makefile.am: add pango.modules to CLEANFILES. - - * tests/Makefile.am: remove temporary files on clean. - - src/Makefile.am | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -commit 1aad15fd0c007c9075f2f7f4c4cacf576d726eea -Author: Owen Taylor -Date: Mon Feb 17 22:04:29 2003 +0000 - - Add an --enable-debug configure argument defaulting to 'yes' - for unstable - - Mon Feb 17 13:06:39 2003 Owen Taylor - - * configure.in **/Makefile.am: Add an --enable-debug - configure argument defaulting to 'yes' for unstable - releases and 'minimum' for stable releases. - For minimum, -DG_DISABLE_CAST_CHECKS. - - * pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c - pango/pangoxft-fontmap.c: Add caching of fontsets - (#104495, initial patch and review by Soeren Sandmann) - - * pango/pangofc-fontmap.cI pango/pangoft2-fontmap.c - pango/pangoxft-fontmap.c pango/pangoft2-private.h - pango/pangoxft-private.h: Remove cache of recently freed - fonts; not necessary now that we cache fontsets. - - * pango/pangofc-fontmap.cI (pango_fc_pattern_set_free): - Rename from pango_fc_font_set_free to reflect - what it actually does. - - * pango/pangofc-fontmap.cI pango/pangoft-fontmap.c - pango/pangoxft-fontmap.c: Combine clear-the-cache - functions; we didn't need separate clear-the-font-cache - and clear-the-pattern-cache functions. - - src/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 5febce1ffc956ea44526d50be7cf14c69c66cb34 -Author: Owen Taylor -Date: Wed Feb 12 22:12:55 2003 +0000 - - Up the FreeType version requirement to 2.0.9. (2.2.1 had a compilation - - Wed Feb 12 16:59:23 2003 Owen Taylor - - * configure.in pango/opentype/fterrcompat.h README: - Up the FreeType version requirement to 2.0.9. - (2.2.1 had a compilation failure with older versions, - this catches it more cleanly, and removes some unneeded - checks. #105302, problem reported by Will Partain.) - - src/fterrcompat.h | 4 ---- - 1 file changed, 4 deletions(-) - -commit 54e85cc0cf3700d2c4af5396d79bd0e40df8f0da -Author: Owen Taylor -Date: Sat Jan 11 00:16:26 2003 +0000 - - Export TT_New_GDEF_Table to create an empty GDEF table. - - Fri Jan 10 18:56:36 2003 Owen Taylor - - * pango/opentype/ftxgdef.c: Export TT_New_GDEF_Table - to create an empty GDEF table. - - * pango/opentype/pango-ot-info.c: If the font doesn't - have a class definition table, synthesize one using - the charmap and the unicode properties of characters - in the charmap. (Needed to make things work with various - old Arabic fonts, such as the KACST fonts) - - src/ftxgdef.c | 46 +++++++++++++++------- - src/ftxgdef.h | 4 ++ - src/pango-ot-info.c | 108 - ++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 144 insertions(+), 14 deletions(-) - -commit db6bb4b034d4d8d546fc9bdc4ad28b16bb7f1bb7 -Author: Matthias Clasen -Date: Thu Nov 28 23:53:18 2002 +0000 - - Add docs. - - * docs/tmpl/xft-fonts.sgml: - * docs/tmpl/freetype-fonts.sgml: Add docs. - - * pango/pangoxft-fontmap.c (pango_xft_substitute_changed): - * pango/pangoft2-fontmap.c - (pango_ft2_font_map_set_default_substitute): - Fix doc typos. - - src/pango-ot-info.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 226d9b67db852eb29ad37ec8121b79f3ea6f0b73 -Author: Sebastian Wilhelmi -Date: Tue Nov 26 13:37:10 2002 +0000 - - Do not add GLIB_CFLAGS to CFLAGS. - - - 2002-11-26 Sebastian Wilhelmi - - * configure.in: Do not add GLIB_CFLAGS to CFLAGS. - - * docs/Makefile.am, examples/Makefile.am, - modules/arabic/Makefile.am, modules/basic/Makefile.am, - modules/hangul/Makefile.am, modules/hebrew/Makefile.am, - modules/indic/Makefile.am, modules/tamil/Makefile.am, - modules/thai/Makefile.am, pango/Makefile.am, - pango/mini-fribidi/Makefile.am, pango/opentype/Makefile.am: - Instead add $(GLIB_CFLAGS) directly to INCLUDES (GTKDOC_CFLAGS - for - docs/Makefile.am). Also some cosmetic line wrapping and - reindentation. - - src/Makefile.am | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 80634a30b9abdf575320bc6fdacdba4e1ea3903d -Author: Manish Singh -Date: Mon Oct 14 22:50:48 2002 +0000 - - Get rid of unnecessary casts for g_object_{ref,unref} - - Mon Oct 14 15:39:41 2002 Manish Singh - - * pango/pango-context.c pango/pango-layout.c pango/pangoft2.c - pango/pangowin32-fontmap.c pango/pangowin32.c - pango/pangox-fontmap.c - pango/pangox.c pango/pangoxft-font.c pango/pangoxft-fontmap.c - pango/testfonts.c pango/opentype/pango-ot-ruleset.c: - Get rid of unnecessary casts for g_object_{ref,unref} - - src/pango-ot-ruleset.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 741993e0b15b4df86d76fa8df5055bd764c42c71 -Author: Owen Taylor -Date: Sun Sep 29 19:06:58 2002 +0000 - - ligatures can be also used in MarkBasePos lookups. (2001-03-17 Werner - - Sun Sep 29 14:55:36 2002 Owen Taylor - - * pango/opentype/ftxgpos.c: ligatures can be also used in - MarkBasePos lookups. (2001-03-17 Werner Lemberg) - - src/ftxgpos.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -commit a35dc445e86ab433fe9f3937c95f2c1f18f58110 -Author: Owen Taylor -Date: Sun Sep 29 19:05:01 2002 +0000 - - Start of merges from freetype1 of OpenType fixes. - - Sun Sep 29 14:51:25 2002 Owen Taylor - - Start of merges from freetype1 of OpenType fixes. - - (2001-03-17 Werner Lemberg) - - * pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c - pango/opentype/ftxg\sub.c: - More fixes for special marks. - - src/ftxgdef.c | 13 ++++++++----- - src/ftxgpos.c | 6 +++--- - src/ftxgsub.c | 4 ++-- - 3 files changed, 13 insertions(+), 10 deletions(-) - -commit 5c53f14f371b349da65dfa3a848b17ab89ce3ba8 -Author: Tor Lillqvist -Date: Mon Sep 23 21:45:31 2002 +0000 - - Remove. Not used. (A static library is built here. Exported entries - are in - - 2002-09-24 Tor Lillqvist - - * pango/opentype/pango-ot.def: Remove. Not used. (A static - library - is built here. Exported entries are in ../pangoft2.def.) - - * pango/opentype/Makefile.am (EXTRA_DIST): Remove from - here, too. - - src/Makefile.am | 3 +-- - src/pango-ot.def | 50 -------------------------------------------------- - 2 files changed, 1 insertion(+), 52 deletions(-) - -commit 35e4593ccd9ea5ed78f1e6f32f04b3a13cee0145 -Author: Tor Lillqvist -Date: Mon Sep 23 21:19:30 2002 +0000 - - pango/makefile.mingw.in pango/mini-fribidi/makefile.mingw Remove. Not - - 2002-09-23 Tor Lillqvist - - * pango/makefile.mingw.in - * pango/mini-fribidi/makefile.mingw - * pango/opentype/makefile.mingw.in: Remove. Not maintained. - - * pango/Makefile.am (EXTRA_DIST) - * pango/mini-fribidi/Makefile.am (EXTRA_DIST) - * pango/opentype/Makefile.am (EXTRA_DIST): Remove - makefile.mingw(.in) from here, too. - - * configure.in (AC_OUTPUT): Don't try to output above removed - files. - - src/Makefile.am | 3 +-- - src/makefile.mingw.in | 43 ------------------------------------------- - 2 files changed, 1 insertion(+), 45 deletions(-) - -commit fb279cb0bf676bb1d225e6a296282523d839074d -Author: Eric Mader -Date: Mon Sep 9 18:11:55 2002 +0000 - - Correctly handle back, new_advance. - - src/pango-ot-ruleset.c | 25 ++++++++++++++++--------- - 1 file changed, 16 insertions(+), 9 deletions(-) - -commit c880e814a50100577811a8a51bc06b4275c55a7e -Author: Eric Mader -Date: Fri Sep 6 22:45:23 2002 +0000 - - Don't fail when reading an empty script. - - src/ftxopen.c | 36 +++++++++++++++++++++++++----------- - src/ftxopen.h | 1 + - 2 files changed, 26 insertions(+), 11 deletions(-) - -commit 441e7d0292bf1a06396daac80fcbad23976a824d -Author: Owen Taylor -Date: Wed Aug 7 17:01:52 2002 +0000 - - Offset to MarkAttachClassDef is offset to table, not offset to - offset to - - Wed Aug 7 12:32:39 2002 Owen Taylor - - * pango/opentype/ftxgsub.c (TT_Load_GSUB_Table): - Offset to MarkAttachClassDef is offset to table, - not offset to offset to table. - - * pango/opentype/ftxopen.c (Get_Device): Handle - NULL device tables which we represent with - d->DeltaValue == NULL. - - src/ftxgsub.c | 13 ------------- - src/ftxopen.c | 2 +- - 2 files changed, 1 insertion(+), 14 deletions(-) - -commit 48a16fa8090b67b046b2bb686ff4f6f038a2b8e8 -Author: Owen Taylor -Date: Tue Jun 4 00:20:51 2002 +0000 - - on Jun 3 18:56:09 2002 Owen Taylor - - Xft2 and fontconfig conversion, based largely on a patch - from Keith Packard. - - * configure.in acconfig.h: Add checks for fontconfig, switch - Xft checks to switch for Xft2 using pkg-config. - - * pangoxft.pc.in pangoxft.pc.in - modules/{arabic,basic,hebrew,indic,tamil}/Makefile.am - pango/Makefile.am: Reflect new Xft/fontconfig dependencies. - - * pango/pangoxft-private.h pango/pangoxft-fontmap.c - modules/arabic/arabic-xft.c modules/indic/indic-xft.c: - Switch over to using Xft2 and fontconfig. - - * pango/pangoft2.c pango/pangoft2-fontmap.c - pango/pangoft2-private.h - pango/pango/Makefile.am: Remove usage of mini-xft in - favor of fontconfig. - - * pango/pango-ot.h pango/opentype/pango-ot-info.c - pango/pangoxft.h - modules/arabic/arabic-{xft,ft2}.c modules/indic/indic-xft.c: - Attach OpenType information directly to the FT_Face - structure using FT_Generic. - - * modules/tamil/Makefile.am modules/tamil/tamil-xft.c - configure.in: Remove this module, no longer needed. - - * pango/pangoxft-font.c (pango_xft_real_render): Coalesce - calls to Xft rendering functions. - - src/pango-ot-info.c | 29 +++++++++++++++++++++++------ - 1 file changed, 23 insertions(+), 6 deletions(-) - -commit 9df9af0b3615dc6a52d784233a3410a9080d9369 -Author: Owen Taylor -Date: Fri May 10 18:44:47 2002 +0000 - - Fix acess outside of a loaded frame and some memory leaks on failure. - - Fri May 10 14:41:27 2002 Owen Taylor - - * pango/opentype/ftxgdef.c (TT_Load_GDEF_Table): Fix acess - outside of a loaded frame and some memory leaks - on failure. - - src/ftxgdef.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -commit a63dbbbeeb91ebf4ded2fc788f5810a3bd1e14fe -Author: Eric Mader -Date: Tue May 7 20:39:14 2002 +0000 - - Add modules modules/indic/indic-xft.c, indic-ot.c, indic-ot.h, - - Mon May 06 15:07:39 2002 Eric Mader - * Add modules modules/indic/indic-xft.c, indic-ot.c, - indic-ot.h, indic-ot-class-tables.c - - * pango/opentype/ftxgdef.c: Compute full offset for mark - attachment class table - - * pango/opentype/ftxgpos.c: Only return TTO_Err_Not_Covered - if nothing matches - - * pango/opentype/pango-ot-ruleset.c: enable GPOS processing - - src/ftxgdef.c | 10 ++++++++-- - src/ftxgpos.c | 33 ++++++++++++++------------------- - src/pango-ot-ruleset.c | 35 ++++++++++++++++++++++++++++++++++- - 3 files changed, 56 insertions(+), 22 deletions(-) - -commit cf00f8217c9dfcf50febbb06fad245d489a0abe6 -Author: Owen Taylor -Date: Tue Apr 23 20:20:29 2002 +0000 - - Add compatibility defines for changes in FreeType 2.1.0. - - Tue Apr 23 16:15:07 2002 Owen Taylor - - * pango/opentype/fterrcompat.h: Add compatibility - defines for changes in FreeType 2.1.0. - - src/fterrcompat.h | 39 +++++++++++++++++++++++++++++++++++++-- - 1 file changed, 37 insertions(+), 2 deletions(-) - -commit 6b1b04e3736fdca774052ac3cfbe9f027548c29d -Author: Owen Taylor -Date: Fri Mar 15 06:46:05 2002 +0000 - - In Load_ChainContextSubst2, handle the case where an empty class - - Fri Mar 15 01:35:56 2002 Owen Taylor - - * pango/opentype/ftxgsub.c pango/opentype/ftxopen.c - pango/opentype/ftxopenf.h: In Load_ChainContextSubst2, - handle the case where an empty class definition - is represented by an offset of 0. - - * pango/opentype/ftxgpos.c: Same for Load_ChainContextPos2. - - * pango/opentype/{ftxopen.c,ftxgpos.c,ftxgsub.c,ftgdef.c}: - Fix pervasive bug where on cleanups on failure of loading - an array element, all array elements were freed, not - just the ones that had been succesfully loaded. - - src/ftxgdef.c | 24 +++--- - src/ftxgpos.c | 259 - ++++++++++++++++++++++++++++++++++++--------------------- - src/ftxgsub.c | 159 ++++++++++++++++++++--------------- - src/ftxopen.c | 53 ++++++++---- - src/ftxopenf.h | 2 + - 5 files changed, 306 insertions(+), 191 deletions(-) - -commit 6050933f336f43453e35246525cfec362bd23acb -Author: Owen Taylor -Date: Fri Mar 15 04:22:14 2002 +0000 - - Uncomment GPOS parts. - - Thu Mar 14 23:05:18 2002 Owen Taylor - - * pango/opentype/ftxopen.c: Uncomment GPOS parts. - - * pango/opentype/disasm.c: Start adding some GPOS - dumping. - - src/disasm.c | 146 - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/ftxopen.c | 20 ++++---- - 2 files changed, 154 insertions(+), 12 deletions(-) - -commit 973bd60a2526666f68138255b8536d1eaee3c2c2 -Author: Sebastian Wilhelmi -Date: Thu Dec 13 17:44:46 2001 +0000 - - Resuming aborted commit - - - Resuming aborted commit - - src/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 6926ca94255e5d52d99d0d64d126165fc725432d -Author: Matthias Clasen -Date: Tue Oct 30 22:09:20 2001 +0000 - - Remove declarations of unimplemented functions - - * docs/pango-sections.txt, pango/pango-ot.h: Remove - declarations - of unimplemented functions pango_ot_ruleset_set_glyph_loader - and - pango_ot_ruleset_set_alternate_func and the related typedefs - PangoOTGlyphLoader and PangoOTAlternateFunc. - - * pango/opentype/pango-ot-info.c, - pango/opentype/pango-ot-ruleset.c: Documentation updates. - - src/pango-ot-info.c | 76 - ++++++++++++++++++++++++++++++++++++++++++++++++++ - src/pango-ot-ruleset.c | 27 ++++++++++++++++++ - 2 files changed, 103 insertions(+) - -commit 87a475c09f6b9b391bca37de47a303a62a397b83 -Author: Havoc Pennington -Date: Wed Sep 19 21:20:36 2001 +0000 - - header to abstract the difference between FreeType 2.0.3 and 2.0.4 - error - - 2001-09-19 Havoc Pennington - - * pango/opentype/fterrcompat.h: header to abstract the - difference - between FreeType 2.0.3 and 2.0.4 error codes, based on the - configure check. - - * configure.in: check for the tterrors.h header in FreeType - 2.0.3, - and define HAVE_FREETYPE_2_0_3 if we have it - - src/Makefile.am | 1 + - src/fterrcompat.h | 16 ++++++++++++++++ - src/ftxgdef.c | 3 ++- - src/ftxgpos.c | 3 ++- - src/ftxgsub.c | 3 ++- - src/ftxopen.c | 3 ++- - src/pango-ot-info.c | 2 +- - 7 files changed, 26 insertions(+), 5 deletions(-) - -commit 9c37226efe2489b4cf9618ec98f581c998aaf9e4 -Author: Owen Taylor -Date: Tue Sep 18 20:05:20 2001 +0000 - - Up to 0.19. - - Tue Sep 18 15:47:08 2001 Owen Taylor - - * configure.in (PANGO_MINOR_VERSION): Up to 0.19. - - * pango/pango-font.h pango/pango-fontmap.[ch] pango/fonts.c - pango/pangoxft-fontmap.c pango/pangoft-fontmap.c - pango/pango-context.[ch] - pango/pangox-fontmap.c: Add new PangoFontFace and - PangoFontFamily - object types, and change the font listing API to list - faces and - families, instead of face names and font descriptions. - - * pango/pango-font.h pango/fonts.c: Make PangoFontDescription - an opaque heap-allocated structure, add accessors and - convenience functions. - - * pango/pango-font.h pango/pango-private.h: Make - PangoFontMetrics - heap allocated, protect the structure definition with - #ifdef PANGO_ENABLE_BACKEND, and add getters for the fields. - - * pango/pango-attributes.[ch] ( pango_attr_iterator_get_font): - instead of providing a base font description and one to fill - in, provide a single font description to modify based on - the attributes. - - * pango/pango-attributes.[ch]: Fix PangoAttrFontDesc to have - a PangoFontDescription by reference, not by value. - - * pango/pango-utils.[ch]: make pango_parse_style() and friends - take pointers to individual enumerations instead of to a - PangoFontDescription structure. - - * pango/*.c: Fix for the PangoFontDescription and - PangoFontMetrics - changes. - - * pango/pango-{break,engine,indic,ot,xft}.h pango/Makefile.am - pango/opentype/Makefile.am: Protect portions with - PANGO_ENABLE_ENGINE to shrink the public API. - - * modules/*/Makefile.am: -DPANGO_ENABLE_ENGINE. - - * pango/{pangox.h,pangox-private.h} modules/basic/basic-x.c: - Move - pango_x_font_get_unknown_glyph() into public header since - it is - used from modules. - - * pango/pango-{context,font,fontmap,modules.utils}.h - pango/Makefile.am: - Protect portions with PANGO_ENABLE_BACKEND to shrink the - public API. - - * pango/*.h: Use G_BEGIN/END_DECLS - - * examples/viewer-qt.[cc,h]: Fix for changes to font - listing API, - PangoFontDescription. - - * pango/pango-indic.h modules/indic/*: Since we install this - header fix it up to Pango conventions, namespece - ZERO_WIDTH_JOINER, ZERO_WIDTH_NON_JOINER. - - * docs/pango-sections.txt: Updated. - - src/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 7dd0838863f65a8ff2e27d12679c9a289a76aec1 -Author: Darin Adler -Date: Thu Jul 12 16:34:40 2001 +0000 - - Remove stray semicolon. - - * modules/arabic/arabic-x.c: (arabic_engine_shape): Remove - stray - semicolon. - - * modules/arabic/arconv.h: - * modules/arabic/arconv.c: (shape), (doublelig), - (arabic_reshape): - Use long* instead of int* for parameter to match what's - passed in. - - * modules/indic/bengali-x.c: Add missing include. - (pango_indic_make_ligs): Use local variable that was added - but not - ever used. - (pango_indic_engine_shape): Remove unused locals. - - * modules/indic/devanagari-x.c: Add missing - include. - (pango_indic_engine_shape): Remove unused local. - - * modules/indic/gujarati-x.c: Add missing include. - (pango_indic_engine_shape): Remove unused local - - * modules/tamil/tamil-x.c: (tamil_engine_shape): Initialize a - variable to quiet the compiler's unused warning. - - * pango/.cvsignore: Ignore more generated files. - - * pango/opentype/ftxgpos.c: (Get_Anchor): Add code to set - up the - ap variable. The old code would just use the uninitialized - value. - - * pango/opentype/ftxopen.c: (Load_Coverage): Remove unused - local. - - * pango/opentype/pango-ot-ruleset.c: (pango_ot_ruleset_shape): - Remove unused local. - - * pango/pango-attributes.c: (pango_attr_list_get_type), - (pango_color_get_type): Add needed function type casts (just - warnings under gcc, but could be errors in other compilers). - - * pango/pangoxft-font.c: (pango_xft_font_get_metrics), - (pango_xft_font_get_coverage), (pango_xft_get_shaper_map), - (pango_xft_font_find_shaper): Switch from lang char* to - PangoLanguage*. The code was still compiling, but would - not have - worked. - - src/ftxgpos.c | 2 ++ - src/ftxopen.c | 1 - - src/pango-ot-ruleset.c | 1 - - 3 files changed, 2 insertions(+), 2 deletions(-) - -commit 68f8a64307441bd3b3d45971ac4dc93f63dedfe8 -Author: Owen Taylor -Date: Fri May 18 16:04:40 2001 +0000 - - Use ISO C99 varargs when available. - - Fri May 18 11:30:57 2001 Owen Taylor - - * pango/opentype/disasm.c: Use ISO C99 varargs when - available. - - Thu May 17 11:16:23 2001 Owen Taylor - - * pango/mapping.c: Fixup docs, remove some FIXMEs that are - no longer applicable. - - * pango/pango-layout.c: Move by graphemes, not characters. - - * pango/pango-layout.c (pango_layout_line_x_to_index): - Position at the closest grapheme boundary, not at character - boundaries. - - * pango/pango-layout.c (pango_layout_line_index_to_x): - Return positions of grapheme boundaries, not character - boundaries. - - src/Makefile.am | 2 ++ - src/disasm.c | 5 +++++ - 2 files changed, 7 insertions(+) - -commit 89eb36ebc6591025c063cb98f0e1b3badde73e9e -Author: Owen Taylor -Date: Tue Apr 24 15:47:22 2001 +0000 - - Remove excess call to DONE_Stream left over from conversion from FT1. - - Tue Apr 24 11:45:55 2001 Owen Taylor - - * pango/opentype/ftxgdef.c (TT_Load_GDEF_Table): Remove - excess call to DONE_Stream left over from conversion - from FT1. (reported by Michael Jansson) - - src/ftxgdef.c | 1 - - 1 file changed, 1 deletion(-) - -commit c61a730aaebec751831f8423894de5f4b539d0ec -Author: Owen Taylor -Date: Tue Apr 3 19:07:36 2001 +0000 - - Release 0.14 - - Tue Apr 3 15:05:19 2001 Owen Taylor - - * Release 0.14 - - * NEWS: updated. - - * pango/pango/opentype/Makefile.am: make dist fixes. - - * configure.in (PANGO_MINOR_VERSION): Up to 0.14 - - src/Makefile.am | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -commit 405b878923ed219617c6f643a9aec06175223d16 -Author: Tor Lillqvist -Date: Thu Dec 21 19:55:23 2000 +0000 - - Only a script engine here. - - 2000-12-21 Tor Lillqvist - - * modules/basic/basic-win32.c (script_engine_load): Only - a script - engine here. - - * pango/makefile.mingw.in: Add the built - pango-enum-types.[ch]. - - * pango/pango.def - * pango/pangoft2.def: Update. - - * pango/opentype/pango-ot.def - * pango/opentype/makefile.mingw.in: New files. - - * pango/opentype/Makefile.am (EXTRA_DIST): Add them. - - * configure.in (included_modules): Generate - pango/opentype/makefile.mingw. - - src/Makefile.am | 4 +++- - src/makefile.mingw.in | 43 +++++++++++++++++++++++++++++++++++++++++++ - src/pango-ot.def | 50 - ++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 96 insertions(+), 1 deletion(-) - -commit 80a15829135065e16ce5b129c715d10d14b829ba -Author: Owen Taylor -Date: Wed Dec 20 04:41:36 2000 +0000 - - Since Xft may only be available statically without shlib deps, - check for - - Tue Dec 19 22:47:16 2000 Owen Taylor - - * configure.in pango-config.in pangoxft.pc.in - modules/basic/Makefile.am: Since Xft may only be available - statically without shlib deps, check for FreeType libs - explicitly - and include them when linking, otherwise things won't - work. Also, - define FREETYPE_CFLAGS from freetype-config --cflags. - - * modules/basic/basic-xft.c pango/pangoxft-font{,map}.c: Fool - Xft into not converting glyph indices by loading the - face unencoded then calling FT_Set_Charmap ourselves. - - * pango/Makefile.am pango/pango-ot.h pango/opentype/* - :Add start - of opentype handling - most of the actually meat of the - code here - is the OpenType layout code from FreeType 1 ported to - freetype2 - and adapted slighlty for our purposes. Also, includes a - incomplete OpenType-table-dumping code useful for figuring - out what is going on. - - * pango/pangoxft.h pango/pangoxft-font.h: Add calls for - getting FT_Face and PangoOTInfo from PangoXftFont. - - * modules/arabic/{Makefile.am,arabic-ot.[ch],arabic-xft.c}: - Initial support for rendering Arabic with OpenType fonts. - - src/.cvsignore | 8 + - src/FT-license.txt | 158 ++ - src/Makefile.am | 39 + - src/README | 36 + - src/disasm.c | 317 +++ - src/disasm.h | 26 + - src/ftxgdef.c | 1155 +++++++++ - src/ftxgdef.h | 220 ++ - src/ftxgpos.c | 6222 - ++++++++++++++++++++++++++++++++++++++++++++++++ - src/ftxgpos.h | 858 +++++++ - src/ftxgsub.c | 4531 +++++++++++++++++++++++++++++++++++ - src/ftxgsub.h | 612 +++++ - src/ftxopen.c | 1467 ++++++++++++ - src/ftxopen.h | 308 +++ - src/ftxopenf.h | 161 ++ - src/ottest.c | 265 +++ - src/pango-ot-info.c | 438 ++++ - src/pango-ot-private.h | 98 + - src/pango-ot-ruleset.c | 232 ++ - 19 files changed, 17151 insertions(+) diff --git a/harfbuzz-1.9.0/Makefile.am b/harfbuzz-1.9.0/Makefile.am deleted file mode 100644 index eb46ceaa0..000000000 --- a/harfbuzz-1.9.0/Makefile.am +++ /dev/null @@ -1,86 +0,0 @@ -# Process this file with automake to produce Makefile.in - -NULL = - -ACLOCAL_AMFLAGS = -I m4 - -SUBDIRS = src util test docs - -EXTRA_DIST = \ - autogen.sh \ - harfbuzz.doap \ - README.python.md \ - README.wine.md \ - BUILD.md \ - RELEASING.md \ - CMakeLists.txt \ - replace-enum-strings.cmake \ - $(NULL) - -MAINTAINERCLEANFILES = \ - $(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \ - $(GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL) \ - $(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN) \ - $(srcdir)/INSTALL \ - $(srcdir)/ChangeLog \ - $(srcdir)/gtk-doc.make \ - $(srcdir)/m4/gtk-doc.m4 \ - $(NULL) - - -# -# ChangeLog generation -# -CHANGELOG_RANGE = -ChangeLog: $(srcdir)/ChangeLog -$(srcdir)/ChangeLog: - $(AM_V_GEN) if test -d "$(top_srcdir)/.git"; then \ - (GIT_DIR=$(top_srcdir)/.git \ - $(GIT) log $(CHANGELOG_RANGE) --stat) | fmt --split-only > $@.tmp \ - && mv -f $@.tmp "$(srcdir)/ChangeLog" \ - || ($(RM) $@.tmp; \ - echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \ - (test -f $@ || echo git-log is required to generate this file >> "$(srcdir)/$@")); \ - else \ - test -f $@ || \ - (echo A git checkout and git-log is required to generate ChangeLog >&2 && \ - echo A git checkout and git-log is required to generate this file >> "$(srcdir)/$@"); \ - fi -.PHONY: ChangeLog $(srcdir)/ChangeLog - - -# -# Release engineering -# - -DISTCHECK_CONFIGURE_FLAGS = \ - --enable-gtk-doc \ - --disable-doc-cross-references \ - --with-gobject \ - --enable-introspection \ - $(NULL) - -# TODO: Copy infrastructure from cairo - -# TAR_OPTIONS is not set as env var for 'make dist'. How to fix that? -TAR_OPTIONS = --owner=0 --group=0 - -dist-hook: dist-clear-sticky-bits -# Clean up any sticky bits we may inherit from parent dir -dist-clear-sticky-bits: - chmod -R a-s $(distdir) - - -tar_file = $(PACKAGE_TARNAME)-$(VERSION).tar.bz2 -sha256_file = $(tar_file).sha256 -gpg_file = $(sha256_file).asc -$(sha256_file): $(tar_file) - sha256sum $^ > $@ -$(gpg_file): $(sha256_file) - @echo "Please enter your GPG password to sign the checksum." - gpg --armor --sign $^ - -release-files: $(tar_file) $(sha256_file) $(gpg_file) - - --include $(top_srcdir)/git.mk diff --git a/harfbuzz-1.9.0/Makefile.in b/harfbuzz-1.9.0/Makefile.in deleted file mode 100644 index 6faf2279f..000000000 --- a/harfbuzz-1.9.0/Makefile.in +++ /dev/null @@ -1,971 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# Process this file with automake to produce Makefile.in -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_link_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config.h.in -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \ - COPYING ChangeLog INSTALL NEWS README THANKS TODO ar-lib \ - compile config.guess config.sub depcomp install-sh ltmain.sh \ - missing -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -GZIP_ENV = --best -DIST_ARCHIVES = $(distdir).tar.bz2 -DIST_TARGETS = dist-bzip2 -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CAIRO_CFLAGS = @CAIRO_CFLAGS@ -CAIRO_FT_CFLAGS = @CAIRO_FT_CFLAGS@ -CAIRO_FT_LIBS = @CAIRO_FT_LIBS@ -CAIRO_LIBS = @CAIRO_LIBS@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CORETEXT_CFLAGS = @CORETEXT_CFLAGS@ -CORETEXT_LIBS = @CORETEXT_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIRECTWRITE_CXXFLAGS = @DIRECTWRITE_CXXFLAGS@ -DIRECTWRITE_LIBS = @DIRECTWRITE_LIBS@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ -FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_DEPS = @FREETYPE_DEPS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GIT = @GIT@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_DEPS = @GLIB_DEPS@ -GLIB_LIBS = @GLIB_LIBS@ -GLIB_MKENUMS = @GLIB_MKENUMS@ -GOBJECT_CFLAGS = @GOBJECT_CFLAGS@ -GOBJECT_LIBS = @GOBJECT_LIBS@ -GRAPHITE2_CFLAGS = @GRAPHITE2_CFLAGS@ -GRAPHITE2_DEPS = @GRAPHITE2_DEPS@ -GRAPHITE2_LIBS = @GRAPHITE2_LIBS@ -GREP = @GREP@ -GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@ -GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ -GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ -HB_LIBTOOL_VERSION_INFO = @HB_LIBTOOL_VERSION_INFO@ -HB_VERSION = @HB_VERSION@ -HB_VERSION_MAJOR = @HB_VERSION_MAJOR@ -HB_VERSION_MICRO = @HB_VERSION_MICRO@ -HB_VERSION_MINOR = @HB_VERSION_MINOR@ -HTML_DIR = @HTML_DIR@ -ICU_CFLAGS = @ICU_CFLAGS@ -ICU_CONFIG = @ICU_CONFIG@ -ICU_LIBS = @ICU_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ -INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ -INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ -INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ -INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ -INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ -INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ -INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RAGEL = @RAGEL@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -UNISCRIBE_CFLAGS = @UNISCRIBE_CFLAGS@ -UNISCRIBE_LIBS = @UNISCRIBE_LIBS@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -have_gobject = @have_gobject@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -NULL = -ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = src util test docs -EXTRA_DIST = \ - autogen.sh \ - harfbuzz.doap \ - README.python.md \ - README.wine.md \ - BUILD.md \ - RELEASING.md \ - CMakeLists.txt \ - replace-enum-strings.cmake \ - $(NULL) - -MAINTAINERCLEANFILES = \ - $(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \ - $(GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL) \ - $(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN) \ - $(srcdir)/INSTALL \ - $(srcdir)/ChangeLog \ - $(srcdir)/gtk-doc.make \ - $(srcdir)/m4/gtk-doc.m4 \ - $(NULL) - - -# -# ChangeLog generation -# -CHANGELOG_RANGE = - -# -# Release engineering -# -DISTCHECK_CONFIGURE_FLAGS = \ - --enable-gtk-doc \ - --disable-doc-cross-references \ - --with-gobject \ - --enable-introspection \ - $(NULL) - - -# TODO: Copy infrastructure from cairo - -# TAR_OPTIONS is not set as env var for 'make dist'. How to fix that? -TAR_OPTIONS = --owner=0 --group=0 -tar_file = $(PACKAGE_TARNAME)-$(VERSION).tar.bz2 -sha256_file = $(tar_file).sha256 -gpg_file = $(sha256_file).asc -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnits'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnits \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnits Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(DISTFILES) - @case `sed 15q $(srcdir)/NEWS` in \ - *"$(VERSION)"*) : ;; \ - *) \ - echo "NEWS not updated; not releasing" 1>&2; \ - exit 1;; \ - esac - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz - $(am__post_remove_distdir) -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile config.h -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr \ - distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) all install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool cscope cscopelist-am ctags ctags-am dist \ - dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \ - dist-tarZ dist-xz dist-zip distcheck distclean \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - -ChangeLog: $(srcdir)/ChangeLog -$(srcdir)/ChangeLog: - $(AM_V_GEN) if test -d "$(top_srcdir)/.git"; then \ - (GIT_DIR=$(top_srcdir)/.git \ - $(GIT) log $(CHANGELOG_RANGE) --stat) | fmt --split-only > $@.tmp \ - && mv -f $@.tmp "$(srcdir)/ChangeLog" \ - || ($(RM) $@.tmp; \ - echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \ - (test -f $@ || echo git-log is required to generate this file >> "$(srcdir)/$@")); \ - else \ - test -f $@ || \ - (echo A git checkout and git-log is required to generate ChangeLog >&2 && \ - echo A git checkout and git-log is required to generate this file >> "$(srcdir)/$@"); \ - fi -.PHONY: ChangeLog $(srcdir)/ChangeLog - -dist-hook: dist-clear-sticky-bits -# Clean up any sticky bits we may inherit from parent dir -dist-clear-sticky-bits: - chmod -R a-s $(distdir) -$(sha256_file): $(tar_file) - sha256sum $^ > $@ -$(gpg_file): $(sha256_file) - @echo "Please enter your GPG password to sign the checksum." - gpg --armor --sign $^ - -release-files: $(tar_file) $(sha256_file) $(gpg_file) - --include $(top_srcdir)/git.mk - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/harfbuzz-1.9.0/README b/harfbuzz-1.9.0/README deleted file mode 100644 index 55775c8bf..000000000 --- a/harfbuzz-1.9.0/README +++ /dev/null @@ -1,17 +0,0 @@ -[![Build Status](https://travis-ci.org/harfbuzz/harfbuzz.svg)](https://travis-ci.org/harfbuzz/harfbuzz) -[![Build status](https://ci.appveyor.com/api/projects/status/0t0flrxpstj9lb9w?svg=true)](https://ci.appveyor.com/project/harfbuzz/harfbuzz) -[![CircleCI](https://circleci.com/gh/harfbuzz/harfbuzz.svg?style=svg)](https://circleci.com/gh/harfbuzz/harfbuzz) -[![Coverity](https://img.shields.io/coverity/scan/5450.svg)](https://scan.coverity.com/projects/behdad-harfbuzz) -[![Codacy Badge](https://api.codacy.com/project/badge/Grade/f17f1708783c447488bc8dd317150eaa)](https://app.codacy.com/app/behdad/harfbuzz) -[![Coverage Status](https://img.shields.io/coveralls/harfbuzz/harfbuzz.svg)](https://coveralls.io/r/harfbuzz/harfbuzz) -[ABI Tracker](http://abi-laboratory.pro/tracker/timeline/harfbuzz/) - -This is HarfBuzz, a text shaping library. - -For bug reports, mailing list, and other information please visit: - - http://harfbuzz.org/ - -For license information, see the file COPYING. - -Documentation: https://harfbuzz.github.io diff --git a/harfbuzz-1.9.0/README.python.md b/harfbuzz-1.9.0/README.python.md deleted file mode 100644 index 4c0ba9b27..000000000 --- a/harfbuzz-1.9.0/README.python.md +++ /dev/null @@ -1,36 +0,0 @@ -To enable HarfBuzz bindings for Python among other languages, make sure -you have latest version of gobject-introspection available. On Ubuntu, -you can install that this way: - -```bash -sudo apt-get install libgirepository1.0-dev -``` - -And then run autogen.sh (if building from git), and then: - -```bash -./configure --with-gobject --enable-introspection -``` - -Make sure that gobject-introspection is enabled then in the final report. - -Compile and install. - -Make sure you have the installation lib dir in LD_LIBRARY_PATH, as needed -for the linker to find the library. - -Then make sure you also have GI_TYPELIB_PATH pointing to the resulting -$prefix/lib/girepository-* directory. - -Make sure you have pygobject installed. Then check that the following -import works in your Python interpretter: - -```python -from gi.repository import HarfBuzz -``` - -If it does, you are ready to call HarfBuzz from Python! Congratulations. -See src/sample.py. - -The Python API will change. Let us know on the mailing list if you are -using it, and send lots of feedback. diff --git a/harfbuzz-1.9.0/README.wine.md b/harfbuzz-1.9.0/README.wine.md deleted file mode 100644 index 851d2bf3d..000000000 --- a/harfbuzz-1.9.0/README.wine.md +++ /dev/null @@ -1,40 +0,0 @@ -For the development of HarfBuzz, the Microsoft shaping technology, Uniscribe, -as a widely used and tested shaper is used as more-or-less OpenType reference -implemenetation and that specially is important where OpenType specification -is or wasn't that clear. For having access to Uniscribe on Linux/macOS these -steps are recommended: - -1. Install Wine from your favorite package manager. - -2. And `mingw-w64` compiler. - With `brew` on macOS, you can have it like `brew install mingw-w64` - -3. Download and put [this](https://drive.google.com/open?id=0B3_fQkxDZZXXbWltRGd5bjVrUDQ) - on your `~/.local/i686-w64-mingw32`. - -4. Replace all the instances of `/home/behdad/.local/i586-mingw32msvc` - and `/home/behdad/.local/i686-w64-mingw32` with `<$HOME>/.local/i686-w64-mingw32` - on that folder. (`<$HOME>` replace it with `/home/XXX` or `/Users/XXX` on macOS) - - Probably you shouldn't replace the ones are inside binaries. - -5. `NOCONFIGURE=1 ./autogen.sh && mkdir winbuild && cd winbuild` - -6. `../mingw32.sh --with-uniscribe && cd ..` - -7. `make -Cwinbuild` - -Now you can use hb-shape using `wine winbuild/util/hb-shape.exe` but if you like to -to use the original Uniscribe, - -8. Bring a 32bit version of `usp10.dll` for youself from `C:\Windows\SysWOW64\usp10.dll` of your - Windows installation (asuming you have a 64-bit installation, otherwise `C:\Windows\System32\usp10.dll`) - that it is not a DirectWrite proxy ([for more info](https://en.wikipedia.org/wiki/Uniscribe)). - Rule of thumb, your `usp10.dll` should have a size more than 500kb, otherwise - it is designed to work with DirectWrite which Wine can't work with its original one. - - Put the dll on the folder you are going to run the next command, - -9. `WINEDLLOVERRIDES="usp10=n" wine winbuild/util/hb-shape.exe fontname.ttf -u 0061,0062,0063 --shaper=uniscribe` - -(`0061,0062,0063` means `abc`, use test/shaping/hb-unicode-decode to generate ones you need) diff --git a/harfbuzz-1.9.0/RELEASING.md b/harfbuzz-1.9.0/RELEASING.md deleted file mode 100644 index d431871c0..000000000 --- a/harfbuzz-1.9.0/RELEASING.md +++ /dev/null @@ -1,109 +0,0 @@ -HarfBuzz release walk-through checklist: - -1. Open gitk and review changes since last release. - - * `git diff $(git describe | sed 's/-.*//').. src/*.h` prints all public API - changes. - - Document them in NEWS. All API and API semantic changes should be clearly - marked as API additions, API changes, or API deletions. Document - deprecations. Ensure all new API / deprecations are in listed correctly in - docs/harfbuzz-sections.txt - - If there's a backward-incompatible API change (including deletions for API - used anywhere), that's a release blocker. Do NOT release. - -2. Based on severity of changes, decide whether it's a minor or micro release - number bump, - -3. Search for REPLACEME on the repository and replace it with the chosen version - for the release. - -4. Make sure you have correct date and new version at the top of NEWS file, - -5. Bump version in configure.ac line 3, - -6. Do "make distcheck", if it passes, you get a tarball. - Otherwise, fix things and commit them separately before making release, - Note: Check src/hb-version.h and make sure the new version number is - there. Sometimes, it does not get updated. If that's the case, - "touch configure.ac" and rebuild. TODO: debug. - -7. "make release-files". Enter your GPG password. This creates a sha256 hash - and signs it. - -8. Now that you have release files, commit NEWS, configure.ac, and src/hb-version.h, - as well as any REPLACEME changes you made. The commit message is simply the - release number. Eg. "1.4.7" - -9. Tag the release and sign it: Eg. "git tag -s 1.4.7 -m 1.4.7". Enter your - GPG password again. - -10. Build win32 bundle. - - a. Put contents of [this](https://drive.google.com/open?id=0B3_fQkxDZZXXbWltRGd5bjVrUDQ) on your `~/.local/i686-w64-mingw32`, - - b. Run `../mingw32.sh --with-uniscribe` script to configure harfbuzz with mingw - in a subdirector (eg. winbuild/), - - c. make - - d. Back in the parent directory, run `./UPDATE.sh`(available below) to build win32 - bundle. - -11. Copy all artefacts to users.freedesktop.org and move them into - `/srv/www.freedesktop.org/www/software/harfbuzz/release` There should be four - files. Eg.: - ``` --rw-r--r-- 1 behdad eng 1592693 Jul 18 11:25 harfbuzz-1.4.7.tar.bz2 --rw-r--r-- 1 behdad eng 89 Jul 18 11:34 harfbuzz-1.4.7.tar.bz2.sha256 --rw-r--r-- 1 behdad eng 339 Jul 18 11:34 harfbuzz-1.4.7.tar.bz2.sha256.asc --rw-r--r-- 1 behdad eng 2895619 Jul 18 11:34 harfbuzz-1.4.7-win32.zip -``` - -12. While doing that, quickly double-check the size of the .tar.bz2 and .zip - files against their previous releases to make sure nothing bad happened. - They should be in the ballpark, perhaps slightly larger. Sometimes they - do shrink, that's not by itself a stopper. - -13. Push the commit and tag out: "git push --follow-tags". Make sure it's - pushed both to freedesktop repo and github. - -14. Go to GitHub release page [here](https://github.com/harfbuzz/harfbuzz/releases), - edit the tag, upload artefacts and NEWS entry and save. - - -## UPDATE.sh -```bash -#!/bin/bash - -v=$1 - -if test "x$v" = x; then - echo "usage: UPDATE.sh micro-version" - exit 1 -fi - -dir_prefix=harfbuzz-1.4. -dir_suffix=-win32 -dir=$dir_prefix$v$dir_suffix -dir_old=$dir_prefix$((v-1))$dir_suffix -if test -d "$dir"; then - echo "New dir $dir exists; not overwriting" - exit 1 -fi -if ! test -d "$dir_old"; then - echo "Old dir $dir_old does NOT exist; aborting" - exit 1 -fi -set -ex -cp -a "$dir_old" "$dir.tmp" -rm -f "$dir.tmp"/GDX32.dll -rm -f "$dir.tmp"/usp10.dll -cp ../winbuild/src/.libs/libharfbuzz-0.dll{,.def} $dir.tmp/ -cp ../winbuild/util/.libs/hb-{shape,view}.exe $dir.tmp/ -i686-w64-mingw32-strip $dir.tmp/{hb-shape.exe,hb-view.exe,libharfbuzz-0.dll} -mv $dir.tmp $dir -zip -r $dir.zip $dir -echo Bundle $dir.zip ready -``` diff --git a/harfbuzz-1.9.0/THANKS b/harfbuzz-1.9.0/THANKS deleted file mode 100644 index 940cfde5c..000000000 --- a/harfbuzz-1.9.0/THANKS +++ /dev/null @@ -1,7 +0,0 @@ -Bradley Grainger -Khaled Hosny -Kenichi Ishibashi -Ryan Lortie -Jeff Muizelaar -suzuki toshiya -Philip Withnall diff --git a/harfbuzz-1.9.0/TODO b/harfbuzz-1.9.0/TODO deleted file mode 100644 index 6dac0be52..000000000 --- a/harfbuzz-1.9.0/TODO +++ /dev/null @@ -1,38 +0,0 @@ -General fixes: -============= - -- Implement 'rand' feature. - - -API issues: -=========== - -- API to accept a list of languages? - -- Remove hb_ot_shape_glyphs_closure()? - - -API additions -============= - -- Language to/from script. - -- Add hb-cairo glue - -- Add sanitize API (and a cached version, that saves result on blob user-data) - -- BCP 47 language handling / API (language_matches?) - -- Add hb_font_create_unscaled()? - -- Add query / enumeration API for aalt-like features? - -- Add segmentation API - -- Add hb-fribidi glue? - - -hb-view / hb-shape enhancements: -=============================== - -- Add --width, --height, --auto-size, --ink-box, --align, etc? diff --git a/harfbuzz-1.9.0/config.guess b/harfbuzz-1.9.0/config.guess deleted file mode 100644 index 2e9ad7fe8..000000000 --- a/harfbuzz-1.9.0/config.guess +++ /dev/null @@ -1,1462 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2016 Free Software Foundation, Inc. - -timestamp='2016-10-02' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess -# -# Please send patches to . - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2016 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case "${UNAME_SYSTEM}" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval $set_cc_for_build - cat <<-EOF > $dummy.c - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ - echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown - ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently (or will in the future) and ABI. - case "${UNAME_MACHINE_ARCH}" in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE=alpha ;; - "EV4.5 (21064)") - UNAME_MACHINE=alpha ;; - "LCA4 (21066/21068)") - UNAME_MACHINE=alpha ;; - "EV5 (21164)") - UNAME_MACHINE=alphaev5 ;; - "EV5.6 (21164A)") - UNAME_MACHINE=alphaev56 ;; - "EV5.6 (21164PC)") - UNAME_MACHINE=alphapca56 ;; - "EV5.7 (21164PC)") - UNAME_MACHINE=alphapca57 ;; - "EV6 (21264)") - UNAME_MACHINE=alphaev6 ;; - "EV6.7 (21264A)") - UNAME_MACHINE=alphaev67 ;; - "EV6.8CB (21264C)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8AL (21264B)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8CX (21264D)") - UNAME_MACHINE=alphaev68 ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE=alphaev69 ;; - "EV7 (21364)") - UNAME_MACHINE=alphaev7 ;; - "EV7.9 (21364A)") - UNAME_MACHINE=alphaev79 ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 - 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH=hppa2.0n ;; - 64) HP_ARCH=hppa2.0w ;; - '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = hppa2.0w ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH=hppa2.0w - else - HP_ARCH=hppa64 - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi - else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - k1om:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - mips64el:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; - x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configure will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = x86; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = 386; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx - exit ;; - amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; -esac - -cat >&2 </dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/harfbuzz-1.9.0/config.h.in b/harfbuzz-1.9.0/config.h.in deleted file mode 100644 index c2d5c3ad4..000000000 --- a/harfbuzz-1.9.0/config.h.in +++ /dev/null @@ -1,229 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* The normal alignment of `struct{char;}', in bytes. */ -#undef ALIGNOF_STRUCT_CHAR__ - -/* Define to 1 if you have the `atexit' function. */ -#undef HAVE_ATEXIT - -/* Have cairo graphics library */ -#undef HAVE_CAIRO - -/* Have cairo-ft support in cairo graphics library */ -#undef HAVE_CAIRO_FT - -/* Have Core Text backend */ -#undef HAVE_CORETEXT - -/* Define to 1 if you have the declaration of `round', and to 0 if you don't. - */ -#undef HAVE_DECL_ROUND - -/* Have DirectWrite library */ -#undef HAVE_DIRECTWRITE - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_DWRITE_H - -/* Have simple TrueType Layout backend */ -#undef HAVE_FALLBACK - -/* Have fontconfig library */ -#undef HAVE_FONTCONFIG - -/* Have FreeType 2 library */ -#undef HAVE_FREETYPE - -/* Define to 1 if you have the `FT_Done_MM_Var' function. */ -#undef HAVE_FT_DONE_MM_VAR - -/* Define to 1 if you have the `FT_Get_Var_Blend_Coordinates' function. */ -#undef HAVE_FT_GET_VAR_BLEND_COORDINATES - -/* Define to 1 if you have the `FT_Set_Var_Blend_Coordinates' function. */ -#undef HAVE_FT_SET_VAR_BLEND_COORDINATES - -/* Define to 1 if you have the `getpagesize' function. */ -#undef HAVE_GETPAGESIZE - -/* Have glib2 library */ -#undef HAVE_GLIB - -/* Have gobject2 library */ -#undef HAVE_GOBJECT - -/* Have Graphite2 library */ -#undef HAVE_GRAPHITE2 - -/* Have ICU library */ -#undef HAVE_ICU - -/* Use hb-icu Unicode callbacks */ -#undef HAVE_ICU_BUILTIN - -/* Have Intel __sync_* atomic primitives */ -#undef HAVE_INTEL_ATOMIC_PRIMITIVES - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the `isatty' function. */ -#undef HAVE_ISATTY - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `mmap' function. */ -#undef HAVE_MMAP - -/* Define to 1 if you have the `mprotect' function. */ -#undef HAVE_MPROTECT - -/* Define to 1 if you have the `newlocale' function. */ -#undef HAVE_NEWLOCALE - -/* Have native OpenType Layout backend */ -#undef HAVE_OT - -/* Define to 1 if you have the `posix_memalign' function. */ -#undef HAVE_POSIX_MEMALIGN - -/* Have POSIX threads */ -#undef HAVE_PTHREAD - -/* Have PTHREAD_PRIO_INHERIT. */ -#undef HAVE_PTHREAD_PRIO_INHERIT - -/* Define to 1 if you have the `round' function. */ -#undef HAVE_ROUND - -/* Define to 1 if you have the header file. */ -#undef HAVE_SCHED_H - -/* Have sched_yield */ -#undef HAVE_SCHED_YIELD - -/* Have Solaris __machine_*_barrier and atomic_* operations */ -#undef HAVE_SOLARIS_ATOMIC_OPS - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDBOOL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strtod_l' function. */ -#undef HAVE_STRTOD_L - -/* Define to 1 if you have the `sysconf' function. */ -#undef HAVE_SYSCONF - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_MMAN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Have UCDN Unicode functions */ -#undef HAVE_UCDN - -/* Have Uniscribe library */ -#undef HAVE_UNISCRIBE - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_USP10_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_WINDOWS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_XLOCALE_H - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#undef LT_OBJDIR - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to necessary symbol if this constant uses a non-standard name on - your system. */ -#undef PTHREAD_CREATE_JOINABLE - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE diff --git a/harfbuzz-1.9.0/config.sub b/harfbuzz-1.9.0/config.sub deleted file mode 100644 index dd2ca93c6..000000000 --- a/harfbuzz-1.9.0/config.sub +++ /dev/null @@ -1,1825 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2016 Free Software Foundation, Inc. - -timestamp='2016-11-04' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2016 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | cloudabi*-eabi* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pru \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pru-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - os=$os"spe" - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix* | -fuchsia*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -ios) - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/harfbuzz-1.9.0/docs/HarfBuzz.png b/harfbuzz-1.9.0/docs/HarfBuzz.png deleted file mode 100644 index 771d955d0..000000000 Binary files a/harfbuzz-1.9.0/docs/HarfBuzz.png and /dev/null differ diff --git a/harfbuzz-1.9.0/docs/HarfBuzz.svg b/harfbuzz-1.9.0/docs/HarfBuzz.svg deleted file mode 100644 index 4e2df2541..000000000 --- a/harfbuzz-1.9.0/docs/HarfBuzz.svg +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/harfbuzz-1.9.0/docs/Makefile.am b/harfbuzz-1.9.0/docs/Makefile.am deleted file mode 100644 index a9935385b..000000000 --- a/harfbuzz-1.9.0/docs/Makefile.am +++ /dev/null @@ -1,123 +0,0 @@ -# Process this file with automake to produce Makefile.in - -# We require automake 1.6 at least. -AUTOMAKE_OPTIONS = 1.6 - -# This is a blank Makefile.am for using gtk-doc. -# Copy this to your project's API docs directory and modify the variables to -# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples -# of using the various options. - -# The name of the module, e.g. 'glib'. -DOC_MODULE=harfbuzz - -# Uncomment for versioned docs and specify the version of the module, e.g. '2'. -#DOC_MODULE_VERSION=$(HB_VERSION_MAJOR) - -# The top-level SGML file. You can change this if you want to. -DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml - -# Directories containing the source code. -# gtk-doc will search all .c and .h files beneath these paths -# for inline comments documenting functions and macros. -# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk -DOC_SOURCE_DIR=$(top_srcdir)/src $(top_builddir)/src - -# Extra options to pass to gtkdoc-scangobj. Not normally needed. -SCANGOBJ_OPTIONS= - -# Extra options to supply to gtkdoc-scan. -# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" -SCAN_OPTIONS=--rebuild-types --deprecated-guards="HB_DISABLE_DEPRECATED" \ - --ignore-decorators="HB_EXTERN" - -# Header files or dirs to ignore when scanning. Use base file/dir names -# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code -IGNORE_HFILES=`cd $(top_srcdir)/src; find . -path './hb-*/*.h' | sed 's@^.*/@@'` -if HAVE_GOBJECT -else -IGNORE_HFILES+=hb-gobject.h hb-gobject-enums.h hb-gobject-structs.h -endif - -# Extra options to supply to gtkdoc-mkdb. -# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml -MKDB_OPTIONS=--source-suffixes=h,cc --xml-mode --output-format=xml --ignore-files="$(IGNORE_HFILES)" - -# Extra options to supply to gtkdoc-mktmpl -# e.g. MKTMPL_OPTIONS=--only-section-tmpl -MKTMPL_OPTIONS= - -# Extra options to supply to gtkdoc-mkhtml -MKHTML_OPTIONS= - -# Extra options to supply to gtkdoc-fixref. Not normally needed. -# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html -FIXXREF_OPTIONS= - -# Used for dependencies. The docs will be rebuilt if any of these change. -# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h -# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c -HFILE_GLOB=$(top_srcdir)/src/hb.h $(top_srcdir)/src/hb-*.h -CFILE_GLOB=$(top_srcdir)/src/hb-*.cc - -# Extra header to include when scanning, which are not under DOC_SOURCE_DIR -# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h -EXTRA_HFILES=$(top_builddir)/src/hb-version.h - -# Images to copy into HTML directory. -# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png -HTML_IMAGES= \ - HarfBuzz.png \ - HarfBuzz.svg - -# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). -# e.g. content_files=running.sgml building.sgml changes-2.0.sgml -content_files= \ - usermanual-buffers-language-script-and-direction.xml \ - usermanual-clusters.xml \ - usermanual-fonts-and-faces.xml \ - usermanual-glyph-information.xml \ - usermanual-hello-harfbuzz.xml \ - usermanual-install-harfbuzz.xml \ - usermanual-opentype-features.xml \ - usermanual-what-is-harfbuzz.xml \ - version.xml - -# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded -# These files must be listed here *and* in content_files -# e.g. expand_content_files=running.sgml -expand_content_files= - -# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. -# Only needed if you are using gtkdoc-scangobj to dynamically query widget -# signals and properties. -# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) -# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) -GTKDOC_CFLAGS= -GTKDOC_LIBS=$(top_builddir)/src/libharfbuzz.la -if HAVE_GOBJECT -GTKDOC_LIBS+=$(top_builddir)/src/libharfbuzz-gobject.la -endif - -# This includes the standard gtk-doc make rules, copied by gtkdocize. -include $(top_srcdir)/gtk-doc.make - -# Other files to distribute -# e.g. EXTRA_DIST += version.xml.in -EXTRA_DIST += version.xml.in - -# Files not to distribute -# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types -# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt -#DISTCLEANFILES += - -# Comment this out if you don't want 'make check' to test you doc status -# and run some sanity checks -if ENABLE_GTK_DOC -TESTS_ENVIRONMENT = cd $(srcdir) && \ - DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \ - SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir) -#TESTS = $(GTKDOC_CHECK) -endif - --include $(top_srcdir)/git.mk diff --git a/harfbuzz-1.9.0/docs/Makefile.in b/harfbuzz-1.9.0/docs/Makefile.in deleted file mode 100644 index 0107fd1a9..000000000 --- a/harfbuzz-1.9.0/docs/Makefile.in +++ /dev/null @@ -1,916 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# Process this file with automake to produce Makefile.in - -# -*- mode: makefile -*- - -#################################### -# Everything below here is generic # -#################################### -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@HAVE_GOBJECT_FALSE@am__append_1 = hb-gobject.h hb-gobject-enums.h hb-gobject-structs.h -@HAVE_GOBJECT_TRUE@am__append_2 = $(top_builddir)/src/libharfbuzz-gobject.la -subdir = docs -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_link_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = version.xml -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/version.xml.in \ - $(top_srcdir)/gtk-doc.make -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CAIRO_CFLAGS = @CAIRO_CFLAGS@ -CAIRO_FT_CFLAGS = @CAIRO_FT_CFLAGS@ -CAIRO_FT_LIBS = @CAIRO_FT_LIBS@ -CAIRO_LIBS = @CAIRO_LIBS@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CORETEXT_CFLAGS = @CORETEXT_CFLAGS@ -CORETEXT_LIBS = @CORETEXT_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIRECTWRITE_CXXFLAGS = @DIRECTWRITE_CXXFLAGS@ -DIRECTWRITE_LIBS = @DIRECTWRITE_LIBS@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ -FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_DEPS = @FREETYPE_DEPS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GIT = @GIT@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_DEPS = @GLIB_DEPS@ -GLIB_LIBS = @GLIB_LIBS@ -GLIB_MKENUMS = @GLIB_MKENUMS@ -GOBJECT_CFLAGS = @GOBJECT_CFLAGS@ -GOBJECT_LIBS = @GOBJECT_LIBS@ -GRAPHITE2_CFLAGS = @GRAPHITE2_CFLAGS@ -GRAPHITE2_DEPS = @GRAPHITE2_DEPS@ -GRAPHITE2_LIBS = @GRAPHITE2_LIBS@ -GREP = @GREP@ -GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@ -GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ -GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ -HB_LIBTOOL_VERSION_INFO = @HB_LIBTOOL_VERSION_INFO@ -HB_VERSION = @HB_VERSION@ -HB_VERSION_MAJOR = @HB_VERSION_MAJOR@ -HB_VERSION_MICRO = @HB_VERSION_MICRO@ -HB_VERSION_MINOR = @HB_VERSION_MINOR@ -HTML_DIR = @HTML_DIR@ -ICU_CFLAGS = @ICU_CFLAGS@ -ICU_CONFIG = @ICU_CONFIG@ -ICU_LIBS = @ICU_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ -INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ -INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ -INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ -INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ -INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ -INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ -INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RAGEL = @RAGEL@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -UNISCRIBE_CFLAGS = @UNISCRIBE_CFLAGS@ -UNISCRIBE_LIBS = @UNISCRIBE_LIBS@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -have_gobject = @have_gobject@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ - -# We require automake 1.6 at least. -AUTOMAKE_OPTIONS = 1.6 - -# This is a blank Makefile.am for using gtk-doc. -# Copy this to your project's API docs directory and modify the variables to -# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples -# of using the various options. - -# The name of the module, e.g. 'glib'. -DOC_MODULE = harfbuzz - -# Uncomment for versioned docs and specify the version of the module, e.g. '2'. -#DOC_MODULE_VERSION=$(HB_VERSION_MAJOR) - -# The top-level SGML file. You can change this if you want to. -DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml - -# Directories containing the source code. -# gtk-doc will search all .c and .h files beneath these paths -# for inline comments documenting functions and macros. -# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk -DOC_SOURCE_DIR = $(top_srcdir)/src $(top_builddir)/src - -# Extra options to pass to gtkdoc-scangobj. Not normally needed. -SCANGOBJ_OPTIONS = - -# Extra options to supply to gtkdoc-scan. -# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" -SCAN_OPTIONS = --rebuild-types --deprecated-guards="HB_DISABLE_DEPRECATED" \ - --ignore-decorators="HB_EXTERN" - - -# Header files or dirs to ignore when scanning. Use base file/dir names -# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code -IGNORE_HFILES = `cd $(top_srcdir)/src; find . -path './hb-*/*.h' | sed \ - 's@^.*/@@'` $(am__append_1) - -# Extra options to supply to gtkdoc-mkdb. -# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml -MKDB_OPTIONS = --source-suffixes=h,cc --xml-mode --output-format=xml --ignore-files="$(IGNORE_HFILES)" - -# Extra options to supply to gtkdoc-mktmpl -# e.g. MKTMPL_OPTIONS=--only-section-tmpl -MKTMPL_OPTIONS = - -# Extra options to supply to gtkdoc-mkhtml -MKHTML_OPTIONS = - -# Extra options to supply to gtkdoc-fixref. Not normally needed. -# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html -FIXXREF_OPTIONS = - -# Used for dependencies. The docs will be rebuilt if any of these change. -# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h -# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c -HFILE_GLOB = $(top_srcdir)/src/hb.h $(top_srcdir)/src/hb-*.h -CFILE_GLOB = $(top_srcdir)/src/hb-*.cc - -# Extra header to include when scanning, which are not under DOC_SOURCE_DIR -# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h -EXTRA_HFILES = $(top_builddir)/src/hb-version.h - -# Images to copy into HTML directory. -# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png -HTML_IMAGES = \ - HarfBuzz.png \ - HarfBuzz.svg - - -# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). -# e.g. content_files=running.sgml building.sgml changes-2.0.sgml -content_files = \ - usermanual-buffers-language-script-and-direction.xml \ - usermanual-clusters.xml \ - usermanual-fonts-and-faces.xml \ - usermanual-glyph-information.xml \ - usermanual-hello-harfbuzz.xml \ - usermanual-install-harfbuzz.xml \ - usermanual-opentype-features.xml \ - usermanual-what-is-harfbuzz.xml \ - version.xml - - -# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded -# These files must be listed here *and* in content_files -# e.g. expand_content_files=running.sgml -expand_content_files = - -# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. -# Only needed if you are using gtkdoc-scangobj to dynamically query widget -# signals and properties. -# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) -# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) -GTKDOC_CFLAGS = -GTKDOC_LIBS = $(top_builddir)/src/libharfbuzz.la $(am__append_2) -@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN = -@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute - -# We set GPATH here; this gives us semantics for GNU make -# which are more like other make's VPATH, when it comes to -# whether a source that is a target of one rule is then -# searched for in VPATH/GPATH. -# -GPATH = $(srcdir) -TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE) -SETUP_FILES = \ - $(content_files) \ - $(expand_content_files) \ - $(DOC_MAIN_SGML_FILE) \ - $(DOC_MODULE)-sections.txt \ - $(DOC_MODULE)-overrides.txt - - -# This includes the standard gtk-doc make rules, copied by gtkdocize. - -# Other files to distribute -# e.g. EXTRA_DIST += version.xml.in -EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES) version.xml.in -DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \ - html-build.stamp pdf-build.stamp \ - sgml.stamp html.stamp pdf.stamp - -SCANOBJ_FILES = \ - $(DOC_MODULE).args \ - $(DOC_MODULE).hierarchy \ - $(DOC_MODULE).interfaces \ - $(DOC_MODULE).prerequisites \ - $(DOC_MODULE).signals - -REPORT_FILES = \ - $(DOC_MODULE)-undocumented.txt \ - $(DOC_MODULE)-undeclared.txt \ - $(DOC_MODULE)-unused.txt - -CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test -@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP = -@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp -@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP = -@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp - -#### setup #### -GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_$(V)) -GTK_DOC_V_SETUP_ = $(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_SETUP_0 = @echo " DOC Preparing build"; - -#### scan #### -GTK_DOC_V_SCAN = $(GTK_DOC_V_SCAN_$(V)) -GTK_DOC_V_SCAN_ = $(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_SCAN_0 = @echo " DOC Scanning header files"; -GTK_DOC_V_INTROSPECT = $(GTK_DOC_V_INTROSPECT_$(V)) -GTK_DOC_V_INTROSPECT_ = $(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_INTROSPECT_0 = @echo " DOC Introspecting gobjects"; - -#### xml #### -GTK_DOC_V_XML = $(GTK_DOC_V_XML_$(V)) -GTK_DOC_V_XML_ = $(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_XML_0 = @echo " DOC Building XML"; - -#### html #### -GTK_DOC_V_HTML = $(GTK_DOC_V_HTML_$(V)) -GTK_DOC_V_HTML_ = $(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_HTML_0 = @echo " DOC Building HTML"; -GTK_DOC_V_XREF = $(GTK_DOC_V_XREF_$(V)) -GTK_DOC_V_XREF_ = $(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_XREF_0 = @echo " DOC Fixing cross-references"; - -#### pdf #### -GTK_DOC_V_PDF = $(GTK_DOC_V_PDF_$(V)) -GTK_DOC_V_PDF_ = $(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY)) -GTK_DOC_V_PDF_0 = @echo " DOC Building PDF"; - -# Files not to distribute -# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types -# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt -#DISTCLEANFILES += - -# Comment this out if you don't want 'make check' to test you doc status -# and run some sanity checks -@ENABLE_GTK_DOC_TRUE@TESTS_ENVIRONMENT = cd $(srcdir) && \ -@ENABLE_GTK_DOC_TRUE@ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \ -@ENABLE_GTK_DOC_TRUE@ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir) - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits docs/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnits docs/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(top_srcdir)/gtk-doc.make $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook -check-am: all-am -check: check-am -@ENABLE_GTK_DOC_FALSE@all-local: -all-am: Makefile all-local -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-local - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-data-local - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic \ - maintainer-clean-local - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-local - -.MAKE: install-am install-strip - -.PHONY: all all-am all-local check check-am clean clean-generic \ - clean-libtool clean-local cscopelist-am ctags-am dist-hook \ - distclean distclean-generic distclean-libtool distclean-local \ - distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-data-local \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - maintainer-clean-local mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-local - -.PRECIOUS: Makefile - - -gtkdoc-check.test: Makefile - $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \ - echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \ - chmod +x $@ - -all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) -.PHONY: all-gtk-doc - -@ENABLE_GTK_DOC_TRUE@all-local: all-gtk-doc - -docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) - -$(REPORT_FILES): sgml-build.stamp - -setup-build.stamp: - -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ - files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \ - if test "x$$files" != "x" ; then \ - for file in $$files ; do \ - destdir=`dirname $(abs_builddir)/$$file`; \ - test -d "$$destdir" || mkdir -p "$$destdir"; \ - test -f $(abs_srcdir)/$$file && \ - cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \ - done; \ - fi; \ - fi - $(AM_V_at)touch setup-build.stamp - -scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB) - $(GTK_DOC_V_SCAN)_source_dir='' ; \ - for i in $(DOC_SOURCE_DIR) ; do \ - _source_dir="$${_source_dir} --source-dir=$$i" ; \ - done ; \ - gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) - $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \ - scanobj_options=""; \ - gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \ - if test "$$?" = "0"; then \ - if test "x$(V)" = "x1"; then \ - scanobj_options="--verbose"; \ - fi; \ - fi; \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \ - gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \ - else \ - for i in $(SCANOBJ_FILES) ; do \ - test -f $$i || touch $$i ; \ - done \ - fi - $(AM_V_at)touch scan-build.stamp - -$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp - @true - -sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent - $(GTK_DOC_V_XML)_source_dir='' ; \ - for i in $(DOC_SOURCE_DIR) ; do \ - _source_dir="$${_source_dir} --source-dir=$$i" ; \ - done ; \ - gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) - $(AM_V_at)touch sgml-build.stamp - -sgml.stamp: sgml-build.stamp - @true - -xml/gtkdocentities.ent: Makefile - $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \ - echo ""; \ - echo ""; \ - echo ""; \ - echo ""; \ - echo ""; \ - echo ""; \ - echo ""; \ - ) > $@ - -html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files) - $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \ - mkhtml_options=""; \ - gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \ - if test "$$?" = "0"; then \ - if test "x$(V)" = "x1"; then \ - mkhtml_options="$$mkhtml_options --verbose"; \ - fi; \ - fi; \ - gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \ - if test "$$?" = "0"; then \ - mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \ - fi; \ - cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) - -@test "x$(HTML_IMAGES)" = "x" || \ - for file in $(HTML_IMAGES) ; do \ - if test -f $(abs_srcdir)/$$file ; then \ - cp $(abs_srcdir)/$$file $(abs_builddir)/html; \ - fi; \ - if test -f $(abs_builddir)/$$file ; then \ - cp $(abs_builddir)/$$file $(abs_builddir)/html; \ - fi; \ - done; - $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - $(AM_V_at)touch html-build.stamp - -pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files) - $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \ - mkpdf_options=""; \ - gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \ - if test "$$?" = "0"; then \ - if test "x$(V)" = "x1"; then \ - mkpdf_options="$$mkpdf_options --verbose"; \ - fi; \ - fi; \ - if test "x$(HTML_IMAGES)" != "x"; then \ - for img in $(HTML_IMAGES); do \ - part=`dirname $$img`; \ - echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \ - if test $$? != 0; then \ - mkpdf_options="$$mkpdf_options --imgdir=$$part"; \ - fi; \ - done; \ - fi; \ - gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) - $(AM_V_at)touch pdf-build.stamp - -############## - -clean-local: - @rm -f *~ *.bak - @rm -rf .libs - @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \ - rm -f $(DOC_MODULE).types; \ - fi - @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \ - rm -f $(DOC_MODULE)-sections.txt; \ - fi - -distclean-local: - @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \ - $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt - @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ - rm -f $(SETUP_FILES) $(DOC_MODULE).types; \ - fi - -maintainer-clean-local: - @rm -rf xml html - -install-data-local: - @installfiles=`echo $(builddir)/html/*`; \ - if test "$$installfiles" = '$(builddir)/html/*'; \ - then echo 1>&2 'Nothing to install' ; \ - else \ - if test -n "$(DOC_MODULE_VERSION)"; then \ - installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ - else \ - installdir="$(DESTDIR)$(TARGET_DIR)"; \ - fi; \ - $(mkinstalldirs) $${installdir} ; \ - for i in $$installfiles; do \ - echo ' $(INSTALL_DATA) '$$i ; \ - $(INSTALL_DATA) $$i $${installdir}; \ - done; \ - if test -n "$(DOC_MODULE_VERSION)"; then \ - mv -f $${installdir}/$(DOC_MODULE).devhelp2 \ - $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \ - fi; \ - $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \ - fi - -uninstall-local: - @if test -n "$(DOC_MODULE_VERSION)"; then \ - installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ - else \ - installdir="$(DESTDIR)$(TARGET_DIR)"; \ - fi; \ - rm -rf $${installdir} - -# -# Require gtk-doc when making dist -# -@HAVE_GTK_DOC_TRUE@dist-check-gtkdoc: docs -@HAVE_GTK_DOC_FALSE@dist-check-gtkdoc: -@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc is needed to run 'make dist'. ***" -@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc was not found when 'configure' ran. ***" -@HAVE_GTK_DOC_FALSE@ @echo "*** please install gtk-doc and rerun 'configure'. ***" -@HAVE_GTK_DOC_FALSE@ @false - -dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local - @mkdir $(distdir)/html - @cp ./html/* $(distdir)/html - @-cp ./$(DOC_MODULE).pdf $(distdir)/ - @-cp ./$(DOC_MODULE).types $(distdir)/ - @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/ - @cd $(distdir) && rm -f $(DISTCLEANFILES) - @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html - -.PHONY : dist-hook-local docs -#TESTS = $(GTKDOC_CHECK) - --include $(top_srcdir)/git.mk - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/harfbuzz-1.9.0/docs/harfbuzz-docs.xml b/harfbuzz-1.9.0/docs/harfbuzz-docs.xml deleted file mode 100644 index 9452a92af..000000000 --- a/harfbuzz-1.9.0/docs/harfbuzz-docs.xml +++ /dev/null @@ -1,210 +0,0 @@ - - - -]> - - - HarfBuzz Manual - - HarfBuzz - - - HarfBuzz is an OpenType - text shaping engine. - - - The current HarfBuzz codebase, formerly known as harfbuzz-ng, is - versioned 1.x.x and is stable and under active maintenance. This is - what is used in latest versions of Firefox, GNOME, ChromeOS, Chrome, - LibreOffice, XeTeX, Android, and KDE, among other places. The canonical - source tree is available - here. - Also available on - github. - See for release tarballs. - - - The old HarfBuzz codebase, these days known as harfbuzz-old, was - derived from FreeType, - Pango, and - Qt and is available - here. - It is not actively developed or maintained, and is extremely buggy. All - users are encouraged to switch over to the new HarfBuzz as soon as - possible. There are no release tarballs of old HarfBuzz whatsoever. - - - - - - User's manual - - - - - - - - - - - - - - This document is for HarfBuzz &version;. - - - - Reference manual - - HarfBuzz API - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Object Hierarchy - - - - API Index - - - - Index of new symbols in 0.9.2 - - - - Index of new symbols in 0.9.5 - - - - Index of new symbols in 0.9.7 - - - - Index of new symbols in 0.9.8 - - - - Index of new symbols in 0.9.10 - - - - Index of new symbols in 0.9.11 - - - - Index of new symbols in 0.9.20 - - - - Index of new symbols in 0.9.22 - - - - Index of new symbols in 0.9.28 - - - - Index of new symbols in 0.9.30 - - - - Index of new symbols in 0.9.31 - - - - Index of new symbols in 0.9.38 - - - - Index of new symbols in 0.9.39 - - - - Index of new symbols in 0.9.41 - - - - Index of new symbols in 0.9.42 - - - - Index of new symbols in 1.0.5 - - - - Index of new symbols in 1.1.2 - - - - Index of new symbols in 1.1.3 - - - - Index of new symbols in 1.2.3 - - - - Index of new symbols in 1.3.3 - - - - Index of new symbols in 1.4.2 - - - - Index of new symbols in 1.4.3 - - - - Index of new symbols in 1.5.0 - - - - Index of new symbols in 1.6.0 - - - - Index of deprecated API - - - - - - diff --git a/harfbuzz-1.9.0/docs/harfbuzz.types b/harfbuzz-1.9.0/docs/harfbuzz.types deleted file mode 100644 index f629f6a17..000000000 --- a/harfbuzz-1.9.0/docs/harfbuzz.types +++ /dev/null @@ -1,32 +0,0 @@ -hb_gobject_blob_get_type -hb_gobject_buffer_cluster_level_get_type -hb_gobject_buffer_content_type_get_type -hb_gobject_buffer_diff_flags_get_type -hb_gobject_buffer_flags_get_type -hb_gobject_buffer_get_type -hb_gobject_buffer_serialize_flags_get_type -hb_gobject_buffer_serialize_format_get_type -hb_gobject_direction_get_type -hb_gobject_face_get_type -hb_gobject_feature_get_type -hb_gobject_font_funcs_get_type -hb_gobject_font_get_type -hb_gobject_glyph_flags_get_type -hb_gobject_glyph_info_get_type -hb_gobject_glyph_position_get_type -hb_gobject_map_get_type -hb_gobject_memory_mode_get_type -hb_gobject_ot_layout_glyph_class_get_type -hb_gobject_ot_math_constant_get_type -hb_gobject_ot_math_glyph_part_flags_get_type -hb_gobject_ot_math_glyph_part_get_type -hb_gobject_ot_math_glyph_variant_get_type -hb_gobject_ot_math_kern_get_type -hb_gobject_script_get_type -hb_gobject_segment_properties_get_type -hb_gobject_set_get_type -hb_gobject_shape_plan_get_type -hb_gobject_unicode_combining_class_get_type -hb_gobject_unicode_funcs_get_type -hb_gobject_unicode_general_category_get_type -hb_gobject_user_data_key_get_type diff --git a/harfbuzz-1.9.0/docs/html/HarfBuzz.png b/harfbuzz-1.9.0/docs/html/HarfBuzz.png deleted file mode 100644 index 771d955d0..000000000 Binary files a/harfbuzz-1.9.0/docs/html/HarfBuzz.png and /dev/null differ diff --git a/harfbuzz-1.9.0/docs/html/HarfBuzz.svg b/harfbuzz-1.9.0/docs/html/HarfBuzz.svg deleted file mode 100644 index 4e2df2541..000000000 --- a/harfbuzz-1.9.0/docs/html/HarfBuzz.svg +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/harfbuzz-1.9.0/docs/html/a-clustering-example-for-levels-0-and-1.html b/harfbuzz-1.9.0/docs/html/a-clustering-example-for-levels-0-and-1.html deleted file mode 100644 index 2d953d31d..000000000 --- a/harfbuzz-1.9.0/docs/html/a-clustering-example-for-levels-0-and-1.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - -A clustering example for levels 0 and 1: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-A clustering example for levels 0 and 1

-

- Let's say we start with the following character sequence and cluster - values: -

-
-   A,B,C,D,E
-   0,1,2,3,4
-
-

- We then map the characters to glyphs. For simplicity, let's assume - that each character maps to the corresponding, identical-looking - glyph: -

-
-   A,B,C,D,E
-   0,1,2,3,4
-
-

- Now if, for example, B and C - ligate, then the clusters to which they belong "merge". - This merged cluster takes for its cluster number the minimum of all - the cluster numbers of the clusters that went in. In this case, we - get: -

-
-   A,BC,D,E
-   0,1 ,3,4
-
-

- Now let's assume that the BC glyph decomposes - into three components, and D also decomposes into - two. The components each inherit the cluster value of their parent: -

-
-   A,BC0,BC1,BC2,D0,D1,E
-   0,1  ,1  ,1  ,3 ,3 ,4
-
-

- Now if BC2 and D0 ligate, then - their clusters (numbers 1 and 3) merge into - min(1,3) = 1: -

-
-   A,BC0,BC1,BC2D0,D1,E
-   0,1  ,1  ,1    ,1 ,4
-
-

- At this point, cluster 1 means: the character sequence - BCD is represented by glyphs - BC0,BC1,BC2D0,D1 and cannot be broken down any - further. -

-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/adding-text-to-the-buffer.html b/harfbuzz-1.9.0/docs/html/adding-text-to-the-buffer.html deleted file mode 100644 index dac5fa1b9..000000000 --- a/harfbuzz-1.9.0/docs/html/adding-text-to-the-buffer.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - -Adding text to the buffer: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Adding text to the buffer

-

- Now we have a brand new HarfBuzz buffer. Let's start filling it - with text! From HarfBuzz's perspective, a buffer is just a stream - of Unicode codepoints, but your input string is probably in one of - the standard Unicode character encodings (UTF-8, UTF-16, UTF-32) -

-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-10.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-10.html deleted file mode 100644 index 8e20a6e93..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-10.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - -Index of new symbols in 0.9.10: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.10

-

O

-
-hb_ot_layout_get_size_params, function in hb-ot-layout -
-
-

S

-
-hb_set_invert, function in hb-deprecated -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-11.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-11.html deleted file mode 100644 index 93491db55..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-11.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - -Index of new symbols in 0.9.11: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.11

-

B

-
-hb_buffer_clear_contents, function in Buffers -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-2.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-2.html deleted file mode 100644 index b6c781d9f..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-2.html +++ /dev/null @@ -1,777 +0,0 @@ - - - - -Index of new symbols in 0.9.2: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.2

-

B

-
-hb_blob_create, function in hb-blob -
-
-
-hb_blob_create_sub_blob, function in hb-blob -
-
-
-hb_blob_destroy, function in hb-blob -
-
-
-hb_blob_get_data, function in hb-blob -
-
-
-hb_blob_get_data_writable, function in hb-blob -
-
-
-hb_blob_get_empty, function in hb-blob -
-
-
-hb_blob_get_length, function in hb-blob -
-
-
-hb_blob_get_user_data, function in hb-blob -
-
-
-hb_blob_is_immutable, function in hb-blob -
-
-
-hb_blob_make_immutable, function in hb-blob -
-
-
-hb_blob_reference, function in hb-blob -
-
-
-hb_blob_set_user_data, function in hb-blob -
-
-
-hb_buffer_add_utf16, function in Buffers -
-
-
-hb_buffer_add_utf32, function in Buffers -
-
-
-hb_buffer_add_utf8, function in Buffers -
-
-
-hb_buffer_allocation_successful, function in Buffers -
-
-
-hb_buffer_create, function in Buffers -
-
-
-hb_buffer_destroy, function in Buffers -
-
-
-hb_buffer_get_direction, function in Buffers -
-
-
-hb_buffer_get_empty, function in Buffers -
-
-
-hb_buffer_get_glyph_infos, function in Buffers -
-
-
-hb_buffer_get_glyph_positions, function in Buffers -
-
-
-hb_buffer_get_language, function in Buffers -
-
-
-hb_buffer_get_length, function in Buffers -
-
-
-hb_buffer_get_script, function in Buffers -
-
-
-hb_buffer_get_unicode_funcs, function in Buffers -
-
-
-hb_buffer_get_user_data, function in Buffers -
-
-
-hb_buffer_normalize_glyphs, function in Buffers -
-
-
-hb_buffer_pre_allocate, function in Buffers -
-
-
-hb_buffer_reference, function in Buffers -
-
-
-hb_buffer_reset, function in Buffers -
-
-
-hb_buffer_reverse, function in Buffers -
-
-
-hb_buffer_reverse_clusters, function in Buffers -
-
-
-hb_buffer_serialize_format_t, enum in Buffers -
-
-
-hb_buffer_set_direction, function in Buffers -
-
-
-hb_buffer_set_language, function in Buffers -
-
-
-hb_buffer_set_length, function in Buffers -
-
-
-hb_buffer_set_script, function in Buffers -
-
-
-hb_buffer_set_unicode_funcs, function in Buffers -
-
-
-hb_buffer_set_user_data, function in Buffers -
-
-

D

-
-hb_direction_from_string, function in hb-common -
-
-
-hb_direction_to_string, function in hb-common -
-
-

F

-
-hb_face_create, function in hb-face -
-
-
-hb_face_create_for_tables, function in hb-face -
-
-
-hb_face_destroy, function in hb-face -
-
-
-hb_face_get_empty, function in hb-face -
-
-
-hb_face_get_index, function in hb-face -
-
-
-hb_face_get_upem, function in hb-face -
-
-
-hb_face_get_user_data, function in hb-face -
-
-
-hb_face_is_immutable, function in hb-face -
-
-
-hb_face_make_immutable, function in hb-face -
-
-
-hb_face_reference, function in hb-face -
-
-
-hb_face_reference_blob, function in hb-face -
-
-
-hb_face_reference_table, function in hb-face -
-
-
-hb_face_set_index, function in hb-face -
-
-
-hb_face_set_upem, function in hb-face -
-
-
-hb_face_set_user_data, function in hb-face -
-
-
-hb_font_add_glyph_origin_for_direction, function in hb-font -
-
-
-hb_font_create, function in hb-font -
-
-
-hb_font_create_sub_font, function in hb-font -
-
-
-hb_font_destroy, function in hb-font -
-
-
-hb_font_funcs_create, function in hb-font -
-
-
-hb_font_funcs_destroy, function in hb-font -
-
-
-hb_font_funcs_get_empty, function in hb-font -
-
-
-hb_font_funcs_get_user_data, function in hb-font -
-
-
-hb_font_funcs_is_immutable, function in hb-font -
-
-
-hb_font_funcs_make_immutable, function in hb-font -
-
-
-hb_font_funcs_reference, function in hb-font -
-
-
-hb_font_funcs_set_glyph_contour_point_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_extents_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_from_name_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_func, function in hb-deprecated -
-
-
-hb_font_funcs_set_glyph_h_advance_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_h_kerning_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_h_origin_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_name_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_v_advance_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_v_kerning_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_v_origin_func, function in hb-font -
-
-
-hb_font_funcs_set_user_data, function in hb-font -
-
-
-hb_font_get_empty, function in hb-font -
-
-
-hb_font_get_face, function in hb-font -
-
-
-hb_font_get_glyph, function in hb-font -
-
-
-hb_font_get_glyph_advance_for_direction, function in hb-font -
-
-
-hb_font_get_glyph_contour_point, function in hb-font -
-
-
-hb_font_get_glyph_contour_point_for_origin, function in hb-font -
-
-
-hb_font_get_glyph_extents, function in hb-font -
-
-
-hb_font_get_glyph_extents_for_origin, function in hb-font -
-
-
-hb_font_get_glyph_from_name, function in hb-font -
-
-
-hb_font_get_glyph_h_advance, function in hb-font -
-
-
-hb_font_get_glyph_h_kerning, function in hb-font -
-
-
-hb_font_get_glyph_h_origin, function in hb-font -
-
-
-hb_font_get_glyph_kerning_for_direction, function in hb-font -
-
-
-hb_font_get_glyph_name, function in hb-font -
-
-
-hb_font_get_glyph_origin_for_direction, function in hb-font -
-
-
-hb_font_get_glyph_v_advance, function in hb-font -
-
-
-hb_font_get_glyph_v_kerning, function in hb-font -
-
-
-hb_font_get_glyph_v_origin, function in hb-font -
-
-
-hb_font_get_parent, function in hb-font -
-
-
-hb_font_get_ppem, function in hb-font -
-
-
-hb_font_get_ptem, function in hb-font -
-
-
-hb_font_get_scale, function in hb-font -
-
-
-hb_font_get_user_data, function in hb-font -
-
-
-hb_font_glyph_from_string, function in hb-font -
-
-
-hb_font_glyph_to_string, function in hb-font -
-
-
-hb_font_is_immutable, function in hb-font -
-
-
-hb_font_make_immutable, function in hb-font -
-
-
-hb_font_reference, function in hb-font -
-
-
-hb_font_set_funcs, function in hb-font -
-
-
-hb_font_set_funcs_data, function in hb-font -
-
-
-hb_font_set_ppem, function in hb-font -
-
-
-hb_font_set_scale, function in hb-font -
-
-
-hb_font_set_user_data, function in hb-font -
-
-
-hb_font_subtract_glyph_origin_for_direction, function in hb-font -
-
-
-hb_ft_face_create, function in hb-ft -
-
-
-hb_ft_face_create_cached, function in hb-ft -
-
-
-hb_ft_font_create, function in hb-ft -
-
-

G

-
-hb_gobject_blob_get_type, function in hb-gobject -
-
-
-hb_gobject_buffer_get_type, function in hb-gobject -
-
-
-hb_gobject_face_get_type, function in hb-gobject -
-
-
-hb_gobject_font_funcs_get_type, function in hb-gobject -
-
-
-hb_gobject_font_get_type, function in hb-gobject -
-
-
-hb_gobject_unicode_funcs_get_type, function in hb-gobject -
-
-

L

-
-hb_language_from_string, function in hb-common -
-
-
-hb_language_get_default, function in hb-common -
-
-
-hb_language_to_string, function in hb-common -
-
-

O

-
-hb_ot_shape_glyphs_closure, function in hb-ot-shape -
-
-
-hb_ot_tag_to_language, function in hb-ot-tag -
-
-

S

-
-hb_script_from_iso15924_tag, function in hb-common -
-
-
-hb_script_from_string, function in hb-common -
-
-
-hb_script_get_horizontal_direction, function in hb-common -
-
-
-hb_script_to_iso15924_tag, function in hb-common -
-
-
-hb_set_add, function in hb-set -
-
-
-hb_set_allocation_successful, function in hb-set -
-
-
-hb_set_clear, function in hb-set -
-
-
-hb_set_create, function in hb-set -
-
-
-hb_set_del, function in hb-set -
-
-
-hb_set_destroy, function in hb-set -
-
-
-hb_set_get_empty, function in hb-set -
-
-
-hb_set_get_user_data, function in hb-set -
-
-
-hb_set_has, function in hb-set -
-
-
-hb_set_intersect, function in hb-set -
-
-
-hb_set_next, function in hb-set -
-
-
-hb_set_reference, function in hb-set -
-
-
-hb_set_set, function in hb-set -
-
-
-hb_set_set_user_data, function in hb-set -
-
-
-hb_set_subtract, function in hb-set -
-
-
-hb_set_symmetric_difference, function in hb-set -
-
-
-hb_set_union, function in hb-set -
-
-
-hb_shape, function in Shaping -
-
-
-hb_shape_full, function in Shaping -
-
-
-hb_shape_list_shapers, function in Shaping -
-
-

T

-
-hb_tag_from_string, function in hb-common -
-
-

U

-
-hb_unicode_combining_class, function in hb-unicode -
-
-
-hb_unicode_compose, function in hb-unicode -
-
-
-hb_unicode_decompose, function in hb-unicode -
-
-
-hb_unicode_decompose_compatibility, function in hb-unicode -
-
-
-hb_unicode_eastasian_width, function in hb-unicode -
-
-
-hb_unicode_funcs_create, function in hb-unicode -
-
-
-hb_unicode_funcs_destroy, function in hb-unicode -
-
-
-hb_unicode_funcs_get_empty, function in hb-unicode -
-
-
-hb_unicode_funcs_get_parent, function in hb-unicode -
-
-
-hb_unicode_funcs_get_user_data, function in hb-unicode -
-
-
-hb_unicode_funcs_is_immutable, function in hb-unicode -
-
-
-hb_unicode_funcs_make_immutable, function in hb-unicode -
-
-
-hb_unicode_funcs_reference, function in hb-unicode -
-
-
-hb_unicode_funcs_set_combining_class_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_compose_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_decompose_compatibility_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_decompose_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_eastasian_width_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_general_category_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_mirroring_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_script_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_user_data, function in hb-unicode -
-
-
-hb_unicode_general_category, function in hb-unicode -
-
-
-hb_unicode_mirroring, function in hb-unicode -
-
-
-hb_unicode_script, function in hb-unicode -
-
-

V

-
-hb_version, function in hb-version -
-
-
-hb_version_string, function in hb-version -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-20.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-20.html deleted file mode 100644 index 5e237d727..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-20.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - -Index of new symbols in 0.9.20: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.20

-

B

-
-hb_buffer_flags_t, enum in Buffers -
-
-
-hb_buffer_serialize_flags_t, enum in Buffers -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-22.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-22.html deleted file mode 100644 index 68ce10b1a..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-22.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - -Index of new symbols in 0.9.22: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.22

-

O

-
-hb_ot_layout_table_get_lookup_count, function in hb-ot-layout -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-28.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-28.html deleted file mode 100644 index bff84067e..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-28.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - -Index of new symbols in 0.9.28: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.28

-

O

-
-hb_ot_font_set_funcs, function in hb-ot-font -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-30.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-30.html deleted file mode 100644 index 96983c983..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-30.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - -Index of new symbols in 0.9.30: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.30

-

O

-
-hb_ot_layout_language_get_required_feature, function in hb-ot-layout -
-
-

V

-
-hb_version_atleast, function in hb-version -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-31.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-31.html deleted file mode 100644 index b169c5a39..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-31.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - -Index of new symbols in 0.9.31: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.31

-

B

-
-hb_buffer_add_codepoints, function in Buffers -
-
-
-hb_buffer_get_replacement_codepoint, function in Buffers -
-
-
-HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT, macro in Buffers -
-
-
-hb_buffer_set_replacement_codepoint, function in Buffers -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-38.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-38.html deleted file mode 100644 index d992efcb9..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-38.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - -Index of new symbols in 0.9.38: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.38

-

F

-
-hb_ft_face_create_referenced, function in hb-ft -
-
-
-hb_ft_font_create_referenced, function in hb-ft -
-
-

G

-
-hb_glib_blob_create, function in hb-glib -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-39.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-39.html deleted file mode 100644 index af1730075..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-39.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - -Index of new symbols in 0.9.39: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.39

-

B

-
-hb_buffer_add_latin1, function in Buffers -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-41.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-41.html deleted file mode 100644 index 92a80e034..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-41.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - -Index of new symbols in 0.9.41: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.41

-

B

-
-hb_buffer_reverse_range, function in Buffers -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-42.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-42.html deleted file mode 100644 index fe8cd8c50..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-42.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - -Index of new symbols in 0.9.42: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.42

-

B

-
-hb_buffer_get_cluster_level, function in Buffers -
-
-
-hb_buffer_set_cluster_level, function in Buffers -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-5.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-5.html deleted file mode 100644 index f1801c5ee..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-5.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - -Index of new symbols in 0.9.5: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.5

-

B

-
-hb_buffer_get_content_type, function in Buffers -
-
-
-hb_buffer_set_content_type, function in Buffers -
-
-

F

-
-hb_feature_from_string, function in Shaping -
-
-
-hb_feature_to_string, function in Shaping -
-
-

T

-
-hb_tag_to_string, function in hb-common -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-7.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-7.html deleted file mode 100644 index e6b8ee26d..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-7.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - -Index of new symbols in 0.9.7: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.7

-

B

-
-hb_buffer_add, function in Buffers -
-
-
-hb_buffer_deserialize_glyphs, function in Buffers -
-
-
-hb_buffer_get_flags, function in Buffers -
-
-
-hb_buffer_get_segment_properties, function in Buffers -
-
-
-hb_buffer_guess_segment_properties, function in Buffers -
-
-
-hb_buffer_serialize_format_from_string, function in Buffers -
-
-
-hb_buffer_serialize_format_to_string, function in Buffers -
-
-
-hb_buffer_serialize_glyphs, function in Buffers -
-
-
-hb_buffer_serialize_list_formats, function in Buffers -
-
-
-hb_buffer_set_flags, function in Buffers -
-
-
-hb_buffer_set_segment_properties, function in Buffers -
-
-

F

-
-hb_face_get_glyph_count, function in hb-face -
-
-
-hb_face_set_glyph_count, function in hb-face -
-
-

O

-
-hb_ot_layout_feature_get_lookups, function in hb-ot-layout -
-
-
-hb_ot_layout_get_glyphs_in_class, function in hb-ot-layout -
-
-
-hb_ot_layout_get_glyph_class, function in hb-ot-layout -
-
-
-hb_ot_layout_lookup_collect_glyphs, function in hb-ot-layout -
-
-
-hb_ot_layout_lookup_substitute_closure, function in hb-ot-layout -
-
-
-hb_ot_layout_lookup_would_substitute, function in hb-ot-layout -
-
-
-hb_ot_shape_plan_collect_lookups, function in hb-ot-layout -
-
-

S

-
-hb_segment_properties_equal, function in Buffers -
-
-
-hb_segment_properties_hash, function in Buffers -
-
-
-hb_set_add_range, function in hb-set -
-
-
-hb_set_del_range, function in hb-set -
-
-
-hb_set_get_max, function in hb-set -
-
-
-hb_set_get_min, function in hb-set -
-
-
-hb_set_get_population, function in hb-set -
-
-
-hb_set_is_empty, function in hb-set -
-
-
-hb_set_is_equal, function in hb-set -
-
-
-hb_set_next_range, function in hb-set -
-
-
-hb_shape_plan_create, function in hb-shape-plan -
-
-
-hb_shape_plan_create_cached, function in hb-shape-plan -
-
-
-hb_shape_plan_destroy, function in hb-shape-plan -
-
-
-hb_shape_plan_execute, function in hb-shape-plan -
-
-
-hb_shape_plan_get_empty, function in hb-shape-plan -
-
-
-hb_shape_plan_get_shaper, function in hb-shape-plan -
-
-
-hb_shape_plan_get_user_data, function in hb-shape-plan -
-
-
-hb_shape_plan_reference, function in hb-shape-plan -
-
-
-hb_shape_plan_set_user_data, function in hb-shape-plan -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-0-9-8.html b/harfbuzz-1.9.0/docs/html/api-index-0-9-8.html deleted file mode 100644 index bf22b1811..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-0-9-8.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - -Index of new symbols in 0.9.8: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 0.9.8

-

O

-
-hb_ot_layout_collect_lookups, function in hb-ot-layout -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-1-0-5.html b/harfbuzz-1.9.0/docs/html/api-index-1-0-5.html deleted file mode 100644 index 805ef956d..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-1-0-5.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - -Index of new symbols in 1.0.5: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 1.0.5

-

F

-
-hb_font_set_parent, function in hb-font -
-
-
-hb_ft_font_get_load_flags, function in hb-ft -
-
-
-hb_ft_font_set_load_flags, function in hb-ft -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-1-1-2.html b/harfbuzz-1.9.0/docs/html/api-index-1-1-2.html deleted file mode 100644 index 0b5738925..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-1-1-2.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - -Index of new symbols in 1.1.2: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 1.1.2

-

F

-
-hb_font_funcs_set_font_h_extents_func, function in hb-font -
-
-
-hb_font_funcs_set_font_v_extents_func, function in hb-font -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-1-1-3.html b/harfbuzz-1.9.0/docs/html/api-index-1-1-3.html deleted file mode 100644 index 6ac75205c..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-1-1-3.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -Index of new symbols in 1.1.3: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 1.1.3

-

B

-
-hb_buffer_set_message_func, function in Buffers -
-
-

F

-
-hb_font_get_extents_for_direction, function in hb-font -
-
-
-hb_font_get_h_extents, function in hb-font -
-
-
-hb_font_get_v_extents, function in hb-font -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-1-2-3.html b/harfbuzz-1.9.0/docs/html/api-index-1-2-3.html deleted file mode 100644 index 0da0a7bc7..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-1-2-3.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - -Index of new symbols in 1.2.3: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 1.2.3

-

F

-
-hb_font_funcs_set_nominal_glyph_func, function in hb-font -
-
-
-hb_font_funcs_set_variation_glyph_func, function in hb-font -
-
-
-hb_font_get_nominal_glyph, function in hb-font -
-
-
-hb_font_get_variation_glyph, function in hb-font -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-1-3-3.html b/harfbuzz-1.9.0/docs/html/api-index-1-3-3.html deleted file mode 100644 index c10e20867..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-1-3-3.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - -Index of new symbols in 1.3.3: HarfBuzz Manual - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-1-4-2.html b/harfbuzz-1.9.0/docs/html/api-index-1-4-2.html deleted file mode 100644 index facfc1e0a..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-1-4-2.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - -Index of new symbols in 1.4.2: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 1.4.2

-

F

-
-hb_font_get_var_coords_normalized, function in hb-font -
-
-
-hb_font_set_variations, function in hb-font -
-
-
-hb_font_set_var_coords_design, function in hb-font -
-
-
-hb_font_set_var_coords_normalized, function in hb-font -
-
-

O

-
-hb_ot_var_axis_t, struct in hb-ot-var -
-
-
-hb_ot_var_find_axis, function in hb-ot-var -
-
-
-hb_ot_var_get_axes, function in hb-ot-var -
-
-
-hb_ot_var_get_axis_count, function in hb-ot-var -
-
-
-hb_ot_var_has_data, function in hb-ot-var -
-
-
-hb_ot_var_normalize_coords, function in hb-ot-var -
-
-
-hb_ot_var_normalize_variations, function in hb-ot-var -
-
-
-HB_OT_VAR_NO_AXIS_INDEX, macro in hb-ot-var -
-
-

V

-
-hb_variation_from_string, function in hb-font -
-
-
-hb_variation_t, struct in hb-font -
-
-
-hb_variation_to_string, function in hb-font -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-1-4-3.html b/harfbuzz-1.9.0/docs/html/api-index-1-4-3.html deleted file mode 100644 index 0cf5823a1..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-1-4-3.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - -Index of new symbols in 1.4.3: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 1.4.3

-

F

-
-hb_font_set_face, function in hb-font -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-1-5-0.html b/harfbuzz-1.9.0/docs/html/api-index-1-5-0.html deleted file mode 100644 index 5fb094368..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-1-5-0.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - -Index of new symbols in 1.5.0: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 1.5.0

-

B

-
-hb_buffer_append, function in Buffers -
-
-
-hb_buffer_diff, function in Buffers -
-
-

G

-
-hb_glyph_info_get_glyph_flags, function in Buffers -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-1-6-0.html b/harfbuzz-1.9.0/docs/html/api-index-1-6-0.html deleted file mode 100644 index 585a60a91..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-1-6-0.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - -Index of new symbols in 1.6.0: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of new symbols in 1.6.0

-

F

-
-hb_face_get_table_tags, function in hb-face -
-
-
-hb_font_set_ptem, function in hb-font -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/api-index-full.html b/harfbuzz-1.9.0/docs/html/api-index-full.html deleted file mode 100644 index 998fae396..000000000 --- a/harfbuzz-1.9.0/docs/html/api-index-full.html +++ /dev/null @@ -1,2184 +0,0 @@ - - - - -API Index: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-API Index

-

B

-
-hb_blob_copy_writable_or_fail, function in hb-blob -
-
-
-hb_blob_create, function in hb-blob -
-
-
-hb_blob_create_from_file, function in hb-blob -
-
-
-hb_blob_create_sub_blob, function in hb-blob -
-
-
-hb_blob_destroy, function in hb-blob -
-
-
-hb_blob_get_data, function in hb-blob -
-
-
-hb_blob_get_data_writable, function in hb-blob -
-
-
-hb_blob_get_empty, function in hb-blob -
-
-
-hb_blob_get_length, function in hb-blob -
-
-
-hb_blob_get_user_data, function in hb-blob -
-
-
-hb_blob_is_immutable, function in hb-blob -
-
-
-hb_blob_make_immutable, function in hb-blob -
-
-
-hb_blob_reference, function in hb-blob -
-
-
-hb_blob_set_user_data, function in hb-blob -
-
-
-hb_blob_t, typedef in hb-blob -
-
-
-hb_bool_t, typedef in hb-common -
-
-
-hb_buffer_add, function in Buffers -
-
-
-hb_buffer_add_codepoints, function in Buffers -
-
-
-hb_buffer_add_latin1, function in Buffers -
-
-
-hb_buffer_add_utf16, function in Buffers -
-
-
-hb_buffer_add_utf32, function in Buffers -
-
-
-hb_buffer_add_utf8, function in Buffers -
-
-
-hb_buffer_allocation_successful, function in Buffers -
-
-
-hb_buffer_append, function in Buffers -
-
-
-hb_buffer_clear_contents, function in Buffers -
-
-
-hb_buffer_cluster_level_t, enum in Buffers -
-
-
-hb_buffer_content_type_t, enum in Buffers -
-
-
-hb_buffer_create, function in Buffers -
-
-
-hb_buffer_deserialize_glyphs, function in Buffers -
-
-
-hb_buffer_destroy, function in Buffers -
-
-
-hb_buffer_diff, function in Buffers -
-
-
-hb_buffer_diff_flags_t, enum in Buffers -
-
-
-HB_BUFFER_FLAGS_DEFAULT, macro in hb-deprecated -
-
-
-hb_buffer_flags_t, enum in Buffers -
-
-
-hb_buffer_get_cluster_level, function in Buffers -
-
-
-hb_buffer_get_content_type, function in Buffers -
-
-
-hb_buffer_get_direction, function in Buffers -
-
-
-hb_buffer_get_empty, function in Buffers -
-
-
-hb_buffer_get_flags, function in Buffers -
-
-
-hb_buffer_get_glyph_infos, function in Buffers -
-
-
-hb_buffer_get_glyph_positions, function in Buffers -
-
-
-hb_buffer_get_language, function in Buffers -
-
-
-hb_buffer_get_length, function in Buffers -
-
-
-hb_buffer_get_replacement_codepoint, function in Buffers -
-
-
-hb_buffer_get_script, function in Buffers -
-
-
-hb_buffer_get_segment_properties, function in Buffers -
-
-
-hb_buffer_get_unicode_funcs, function in Buffers -
-
-
-hb_buffer_get_user_data, function in Buffers -
-
-
-hb_buffer_guess_segment_properties, function in Buffers -
-
-
-hb_buffer_message_func_t, user_function in Buffers -
-
-
-hb_buffer_normalize_glyphs, function in Buffers -
-
-
-hb_buffer_pre_allocate, function in Buffers -
-
-
-hb_buffer_reference, function in Buffers -
-
-
-HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT, macro in Buffers -
-
-
-hb_buffer_reset, function in Buffers -
-
-
-hb_buffer_reverse, function in Buffers -
-
-
-hb_buffer_reverse_clusters, function in Buffers -
-
-
-hb_buffer_reverse_range, function in Buffers -
-
-
-HB_BUFFER_SERIALIZE_FLAGS_DEFAULT, macro in hb-deprecated -
-
-
-hb_buffer_serialize_flags_t, enum in Buffers -
-
-
-hb_buffer_serialize_format_from_string, function in Buffers -
-
-
-hb_buffer_serialize_format_t, enum in Buffers -
-
-
-hb_buffer_serialize_format_to_string, function in Buffers -
-
-
-hb_buffer_serialize_glyphs, function in Buffers -
-
-
-hb_buffer_serialize_list_formats, function in Buffers -
-
-
-hb_buffer_set_cluster_level, function in Buffers -
-
-
-hb_buffer_set_content_type, function in Buffers -
-
-
-hb_buffer_set_direction, function in Buffers -
-
-
-hb_buffer_set_flags, function in Buffers -
-
-
-hb_buffer_set_language, function in Buffers -
-
-
-hb_buffer_set_length, function in Buffers -
-
-
-hb_buffer_set_message_func, function in Buffers -
-
-
-hb_buffer_set_replacement_codepoint, function in Buffers -
-
-
-hb_buffer_set_script, function in Buffers -
-
-
-hb_buffer_set_segment_properties, function in Buffers -
-
-
-hb_buffer_set_unicode_funcs, function in Buffers -
-
-
-hb_buffer_set_user_data, function in Buffers -
-
-
-hb_buffer_t, typedef in Buffers -
-
-

C

-
-hb_codepoint_t, typedef in hb-common -
-
-
-hb_coretext_face_create, function in hb-coretext -
-
-
-hb_coretext_face_get_cg_font, function in hb-coretext -
-
-
-hb_coretext_font_create, function in hb-coretext -
-
-
-hb_coretext_font_get_ct_font, function in hb-coretext -
-
-
-HB_CORETEXT_TAG_KERX, macro in hb-coretext -
-
-
-HB_CORETEXT_TAG_MORT, macro in hb-coretext -
-
-
-HB_CORETEXT_TAG_MORX, macro in hb-coretext -
-
-

D

-
-hb_destroy_func_t, user_function in hb-common -
-
-
-hb_direction_from_string, function in hb-common -
-
-
-HB_DIRECTION_IS_BACKWARD, macro in hb-common -
-
-
-HB_DIRECTION_IS_FORWARD, macro in hb-common -
-
-
-HB_DIRECTION_IS_HORIZONTAL, macro in hb-common -
-
-
-HB_DIRECTION_IS_VALID, macro in hb-common -
-
-
-HB_DIRECTION_IS_VERTICAL, macro in hb-common -
-
-
-HB_DIRECTION_REVERSE, macro in hb-common -
-
-
-hb_direction_t, enum in hb-common -
-
-
-hb_direction_to_string, function in hb-common -
-
-

F

-
-hb_face_builder_add_table, function in hb-face -
-
-
-hb_face_builder_create, function in hb-face -
-
-
-hb_face_count, function in hb-face -
-
-
-hb_face_create, function in hb-face -
-
-
-hb_face_create_for_tables, function in hb-face -
-
-
-hb_face_destroy, function in hb-face -
-
-
-hb_face_get_empty, function in hb-face -
-
-
-hb_face_get_glyph_count, function in hb-face -
-
-
-hb_face_get_index, function in hb-face -
-
-
-hb_face_get_table_tags, function in hb-face -
-
-
-hb_face_get_upem, function in hb-face -
-
-
-hb_face_get_user_data, function in hb-face -
-
-
-hb_face_is_immutable, function in hb-face -
-
-
-hb_face_make_immutable, function in hb-face -
-
-
-hb_face_reference, function in hb-face -
-
-
-hb_face_reference_blob, function in hb-face -
-
-
-hb_face_reference_table, function in hb-face -
-
-
-hb_face_set_glyph_count, function in hb-face -
-
-
-hb_face_set_index, function in hb-face -
-
-
-hb_face_set_upem, function in hb-face -
-
-
-hb_face_set_user_data, function in hb-face -
-
-
-hb_face_t, typedef in hb-face -
-
-
-hb_feature_from_string, function in Shaping -
-
-
-hb_feature_t, struct in Shaping -
-
-
-hb_feature_to_string, function in Shaping -
-
-
-hb_font_add_glyph_origin_for_direction, function in hb-font -
-
-
-hb_font_create, function in hb-font -
-
-
-hb_font_create_sub_font, function in hb-font -
-
-
-hb_font_destroy, function in hb-font -
-
-
-hb_font_funcs_create, function in hb-font -
-
-
-hb_font_funcs_destroy, function in hb-font -
-
-
-hb_font_funcs_get_empty, function in hb-font -
-
-
-hb_font_funcs_get_user_data, function in hb-font -
-
-
-hb_font_funcs_is_immutable, function in hb-font -
-
-
-hb_font_funcs_make_immutable, function in hb-font -
-
-
-hb_font_funcs_reference, function in hb-font -
-
-
-hb_font_funcs_set_font_h_extents_func, function in hb-font -
-
-
-hb_font_funcs_set_font_v_extents_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_contour_point_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_extents_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_from_name_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_func, function in hb-deprecated -
-
-
-hb_font_funcs_set_glyph_h_advances_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_h_advance_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_h_kerning_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_h_origin_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_name_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_v_advances_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_v_advance_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_v_kerning_func, function in hb-font -
-
-
-hb_font_funcs_set_glyph_v_origin_func, function in hb-font -
-
-
-hb_font_funcs_set_nominal_glyph_func, function in hb-font -
-
-
-hb_font_funcs_set_user_data, function in hb-font -
-
-
-hb_font_funcs_set_variation_glyph_func, function in hb-font -
-
-
-hb_font_funcs_t, typedef in hb-font -
-
-
-hb_font_get_empty, function in hb-font -
-
-
-hb_font_get_extents_for_direction, function in hb-font -
-
-
-hb_font_get_face, function in hb-font -
-
-
-hb_font_get_font_extents_func_t, user_function in hb-font -
-
-
-hb_font_get_font_h_extents_func_t, typedef in hb-font -
-
-
-hb_font_get_font_v_extents_func_t, typedef in hb-font -
-
-
-hb_font_get_glyph, function in hb-font -
-
-
-hb_font_get_glyph_advances_for_direction, function in hb-font -
-
-
-hb_font_get_glyph_advances_func_t, user_function in hb-font -
-
-
-hb_font_get_glyph_advance_for_direction, function in hb-font -
-
-
-hb_font_get_glyph_advance_func_t, user_function in hb-font -
-
-
-hb_font_get_glyph_contour_point, function in hb-font -
-
-
-hb_font_get_glyph_contour_point_for_origin, function in hb-font -
-
-
-hb_font_get_glyph_contour_point_func_t, user_function in hb-font -
-
-
-hb_font_get_glyph_extents, function in hb-font -
-
-
-hb_font_get_glyph_extents_for_origin, function in hb-font -
-
-
-hb_font_get_glyph_extents_func_t, user_function in hb-font -
-
-
-hb_font_get_glyph_from_name, function in hb-font -
-
-
-hb_font_get_glyph_from_name_func_t, user_function in hb-font -
-
-
-hb_font_get_glyph_func_t, user_function in hb-deprecated -
-
-
-hb_font_get_glyph_h_advance, function in hb-font -
-
-
-hb_font_get_glyph_h_advances, function in hb-font -
-
-
-hb_font_get_glyph_h_advances_func_t, typedef in hb-font -
-
-
-hb_font_get_glyph_h_advance_func_t, typedef in hb-font -
-
-
-hb_font_get_glyph_h_kerning, function in hb-font -
-
-
-hb_font_get_glyph_h_kerning_func_t, typedef in hb-font -
-
-
-hb_font_get_glyph_h_origin, function in hb-font -
-
-
-hb_font_get_glyph_h_origin_func_t, typedef in hb-font -
-
-
-hb_font_get_glyph_kerning_for_direction, function in hb-font -
-
-
-hb_font_get_glyph_kerning_func_t, user_function in hb-font -
-
-
-hb_font_get_glyph_name, function in hb-font -
-
-
-hb_font_get_glyph_name_func_t, user_function in hb-font -
-
-
-hb_font_get_glyph_origin_for_direction, function in hb-font -
-
-
-hb_font_get_glyph_origin_func_t, user_function in hb-font -
-
-
-hb_font_get_glyph_v_advance, function in hb-font -
-
-
-hb_font_get_glyph_v_advances, function in hb-font -
-
-
-hb_font_get_glyph_v_advances_func_t, typedef in hb-font -
-
-
-hb_font_get_glyph_v_advance_func_t, typedef in hb-font -
-
-
-hb_font_get_glyph_v_kerning, function in hb-font -
-
-
-hb_font_get_glyph_v_kerning_func_t, typedef in hb-font -
-
-
-hb_font_get_glyph_v_origin, function in hb-font -
-
-
-hb_font_get_glyph_v_origin_func_t, typedef in hb-font -
-
-
-hb_font_get_h_extents, function in hb-font -
-
-
-hb_font_get_nominal_glyph, function in hb-font -
-
-
-hb_font_get_nominal_glyph_func_t, user_function in hb-font -
-
-
-hb_font_get_parent, function in hb-font -
-
-
-hb_font_get_ppem, function in hb-font -
-
-
-hb_font_get_ptem, function in hb-font -
-
-
-hb_font_get_scale, function in hb-font -
-
-
-hb_font_get_user_data, function in hb-font -
-
-
-hb_font_get_variation_glyph, function in hb-font -
-
-
-hb_font_get_variation_glyph_func_t, user_function in hb-font -
-
-
-hb_font_get_var_coords_normalized, function in hb-font -
-
-
-hb_font_get_v_extents, function in hb-font -
-
-
-hb_font_glyph_from_string, function in hb-font -
-
-
-hb_font_glyph_to_string, function in hb-font -
-
-
-hb_font_is_immutable, function in hb-font -
-
-
-hb_font_make_immutable, function in hb-font -
-
-
-hb_font_reference, function in hb-font -
-
-
-hb_font_set_face, function in hb-font -
-
-
-hb_font_set_funcs, function in hb-font -
-
-
-hb_font_set_funcs_data, function in hb-font -
-
-
-hb_font_set_parent, function in hb-font -
-
-
-hb_font_set_ppem, function in hb-font -
-
-
-hb_font_set_ptem, function in hb-font -
-
-
-hb_font_set_scale, function in hb-font -
-
-
-hb_font_set_user_data, function in hb-font -
-
-
-hb_font_set_variations, function in hb-font -
-
-
-hb_font_set_var_coords_design, function in hb-font -
-
-
-hb_font_set_var_coords_normalized, function in hb-font -
-
-
-hb_font_subtract_glyph_origin_for_direction, function in hb-font -
-
-
-hb_font_t, typedef in hb-font -
-
-
-hb_ft_face_create, function in hb-ft -
-
-
-hb_ft_face_create_cached, function in hb-ft -
-
-
-hb_ft_face_create_referenced, function in hb-ft -
-
-
-hb_ft_font_changed, function in hb-ft -
-
-
-hb_ft_font_create, function in hb-ft -
-
-
-hb_ft_font_create_referenced, function in hb-ft -
-
-
-hb_ft_font_get_face, function in hb-ft -
-
-
-hb_ft_font_get_load_flags, function in hb-ft -
-
-
-hb_ft_font_set_funcs, function in hb-ft -
-
-
-hb_ft_font_set_load_flags, function in hb-ft -
-
-

G

-
-hb_glib_blob_create, function in hb-glib -
-
-
-hb_glib_get_unicode_funcs, function in hb-glib -
-
-
-hb_glib_script_from_script, function in hb-glib -
-
-
-hb_glib_script_to_script, function in hb-glib -
-
-
-hb_glyph_flags_t, enum in Buffers -
-
-
-hb_glyph_info_get_glyph_flags, function in Buffers -
-
-
-hb_glyph_info_t, struct in Buffers -
-
-
-hb_glyph_position_t, struct in Buffers -
-
-
-hb_gobject_blob_get_type, function in hb-gobject -
-
-
-hb_gobject_buffer_cluster_level_get_type, function in hb-gobject -
-
-
-hb_gobject_buffer_content_type_get_type, function in hb-gobject -
-
-
-hb_gobject_buffer_diff_flags_get_type, function in hb-gobject -
-
-
-hb_gobject_buffer_flags_get_type, function in hb-gobject -
-
-
-hb_gobject_buffer_get_type, function in hb-gobject -
-
-
-hb_gobject_buffer_serialize_flags_get_type, function in hb-gobject -
-
-
-hb_gobject_buffer_serialize_format_get_type, function in hb-gobject -
-
-
-hb_gobject_direction_get_type, function in hb-gobject -
-
-
-hb_gobject_face_get_type, function in hb-gobject -
-
-
-hb_gobject_feature_get_type, function in hb-gobject -
-
-
-hb_gobject_font_funcs_get_type, function in hb-gobject -
-
-
-hb_gobject_font_get_type, function in hb-gobject -
-
-
-hb_gobject_glyph_flags_get_type, function in hb-gobject -
-
-
-hb_gobject_glyph_info_get_type, function in hb-gobject -
-
-
-hb_gobject_glyph_position_get_type, function in hb-gobject -
-
-
-hb_gobject_map_get_type, function in hb-gobject -
-
-
-hb_gobject_memory_mode_get_type, function in hb-gobject -
-
-
-hb_gobject_ot_layout_glyph_class_get_type, function in hb-gobject -
-
-
-hb_gobject_ot_math_constant_get_type, function in hb-gobject -
-
-
-hb_gobject_ot_math_glyph_part_flags_get_type, function in hb-gobject -
-
-
-hb_gobject_ot_math_glyph_part_get_type, function in hb-gobject -
-
-
-hb_gobject_ot_math_glyph_variant_get_type, function in hb-gobject -
-
-
-hb_gobject_ot_math_kern_get_type, function in hb-gobject -
-
-
-hb_gobject_script_get_type, function in hb-gobject -
-
-
-hb_gobject_segment_properties_get_type, function in hb-gobject -
-
-
-hb_gobject_set_get_type, function in hb-gobject -
-
-
-hb_gobject_shape_plan_get_type, function in hb-gobject -
-
-
-HB_GOBJECT_TYPE_BLOB, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_BUFFER, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_BUFFER_FLAGS, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_DIRECTION, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_FACE, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_FEATURE, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_FONT, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_FONT_FUNCS, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_GLYPH_FLAGS, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_GLYPH_INFO, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_GLYPH_POSITION, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_MAP, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_MEMORY_MODE, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_OT_MATH_CONSTANT, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_OT_MATH_KERN, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_SCRIPT, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_SEGMENT_PROPERTIES, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_SET, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_SHAPE_PLAN, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_UNICODE_FUNCS, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY, macro in hb-gobject -
-
-
-HB_GOBJECT_TYPE_USER_DATA_KEY, macro in hb-gobject -
-
-
-hb_gobject_unicode_combining_class_get_type, function in hb-gobject -
-
-
-hb_gobject_unicode_funcs_get_type, function in hb-gobject -
-
-
-hb_gobject_unicode_general_category_get_type, function in hb-gobject -
-
-
-hb_gobject_user_data_key_get_type, function in hb-gobject -
-
-
-hb_graphite2_face_get_gr_face, function in hb-graphite2 -
-
-
-hb_graphite2_font_get_gr_font, function in hb-graphite2 -
-
-
-HB_GRAPHITE2_TAG_SILF, macro in hb-graphite2 -
-
-

I

-
-hb_icu_get_unicode_funcs, function in hb-icu -
-
-
-hb_icu_script_from_script, function in hb-icu -
-
-
-hb_icu_script_to_script, function in hb-icu -
-
-

L

-
-hb_language_from_string, function in hb-common -
-
-
-hb_language_get_default, function in hb-common -
-
-
-HB_LANGUAGE_INVALID, macro in hb-common -
-
-
-hb_language_t, typedef in hb-common -
-
-
-hb_language_to_string, function in hb-common -
-
-

M

-
-hb_map_allocation_successful, function in hb-map -
-
-
-hb_map_clear, function in hb-map -
-
-
-hb_map_create, function in hb-map -
-
-
-hb_map_del, function in hb-map -
-
-
-hb_map_destroy, function in hb-map -
-
-
-hb_map_get, function in hb-map -
-
-
-hb_map_get_empty, function in hb-map -
-
-
-hb_map_get_population, function in hb-map -
-
-
-hb_map_get_user_data, function in hb-map -
-
-
-hb_map_has, function in hb-map -
-
-
-hb_map_is_empty, function in hb-map -
-
-
-hb_map_reference, function in hb-map -
-
-
-hb_map_set, function in hb-map -
-
-
-hb_map_set_user_data, function in hb-map -
-
-
-hb_map_t, typedef in hb-map -
-
-
-HB_MAP_VALUE_INVALID, macro in hb-map -
-
-
-hb_mask_t, typedef in hb-common -
-
-
-hb_memory_mode_t, enum in hb-blob -
-
-

O

-
-hb_ot_font_set_funcs, function in hb-ot-font -
-
-
-hb_ot_layout_collect_features, function in hb-ot-layout -
-
-
-hb_ot_layout_collect_lookups, function in hb-ot-layout -
-
-
-HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX, macro in hb-ot-layout -
-
-
-hb_ot_layout_feature_get_lookups, function in hb-ot-layout -
-
-
-hb_ot_layout_feature_with_variations_get_lookups, function in hb-ot-layout -
-
-
-hb_ot_layout_get_attach_points, function in hb-ot-layout -
-
-
-hb_ot_layout_get_glyphs_in_class, function in hb-ot-layout -
-
-
-hb_ot_layout_get_glyph_class, function in hb-ot-layout -
-
-
-hb_ot_layout_get_ligature_carets, function in hb-ot-layout -
-
-
-hb_ot_layout_get_size_params, function in hb-ot-layout -
-
-
-hb_ot_layout_glyph_class_t, enum in hb-ot-layout -
-
-
-hb_ot_layout_glyph_sequence_func_t, user_function in hb-ot-layout -
-
-
-hb_ot_layout_has_glyph_classes, function in hb-ot-layout -
-
-
-hb_ot_layout_has_positioning, function in hb-ot-layout -
-
-
-hb_ot_layout_has_substitution, function in hb-ot-layout -
-
-
-hb_ot_layout_language_find_feature, function in hb-ot-layout -
-
-
-hb_ot_layout_language_get_feature_indexes, function in hb-ot-layout -
-
-
-hb_ot_layout_language_get_feature_tags, function in hb-ot-layout -
-
-
-hb_ot_layout_language_get_required_feature, function in hb-ot-layout -
-
-
-hb_ot_layout_language_get_required_feature_index, function in hb-ot-layout -
-
-
-hb_ot_layout_lookups_substitute_closure, function in hb-ot-layout -
-
-
-hb_ot_layout_lookup_collect_glyphs, function in hb-ot-layout -
-
-
-hb_ot_layout_lookup_substitute_closure, function in hb-ot-layout -
-
-
-hb_ot_layout_lookup_would_substitute, function in hb-ot-layout -
-
-
-HB_OT_LAYOUT_NO_FEATURE_INDEX, macro in hb-ot-layout -
-
-
-HB_OT_LAYOUT_NO_SCRIPT_INDEX, macro in hb-ot-layout -
-
-
-HB_OT_LAYOUT_NO_VARIATIONS_INDEX, macro in hb-ot-layout -
-
-
-hb_ot_layout_script_find_language, function in hb-ot-layout -
-
-
-hb_ot_layout_script_get_language_tags, function in hb-ot-layout -
-
-
-hb_ot_layout_table_choose_script, function in hb-ot-layout -
-
-
-hb_ot_layout_table_find_feature_variations, function in hb-ot-layout -
-
-
-hb_ot_layout_table_find_script, function in hb-ot-layout -
-
-
-hb_ot_layout_table_get_feature_tags, function in hb-ot-layout -
-
-
-hb_ot_layout_table_get_lookup_count, function in hb-ot-layout -
-
-
-hb_ot_layout_table_get_script_tags, function in hb-ot-layout -
-
-
-hb_ot_math_constant_t, enum in hb-ot-math -
-
-
-hb_ot_math_get_constant, function in hb-ot-math -
-
-
-hb_ot_math_get_glyph_assembly, function in hb-ot-math -
-
-
-hb_ot_math_get_glyph_italics_correction, function in hb-ot-math -
-
-
-hb_ot_math_get_glyph_kerning, function in hb-ot-math -
-
-
-hb_ot_math_get_glyph_top_accent_attachment, function in hb-ot-math -
-
-
-hb_ot_math_get_glyph_variants, function in hb-ot-math -
-
-
-hb_ot_math_get_min_connector_overlap, function in hb-ot-math -
-
-
-hb_ot_math_glyph_part_flags_t, enum in hb-ot-math -
-
-
-hb_ot_math_glyph_part_t, struct in hb-ot-math -
-
-
-hb_ot_math_glyph_variant_t, struct in hb-ot-math -
-
-
-hb_ot_math_has_data, function in hb-ot-math -
-
-
-hb_ot_math_is_glyph_extended_shape, function in hb-ot-math -
-
-
-hb_ot_math_kern_t, enum in hb-ot-math -
-
-
-HB_OT_MATH_SCRIPT, macro in hb-ot-math -
-
-
-hb_ot_shape_glyphs_closure, function in hb-ot-shape -
-
-
-hb_ot_shape_plan_collect_lookups, function in hb-ot-layout -
-
-
-hb_ot_tags_from_script, function in hb-ot-tag -
-
-
-HB_OT_TAG_DEFAULT_LANGUAGE, macro in hb-ot-tag -
-
-
-HB_OT_TAG_DEFAULT_SCRIPT, macro in hb-ot-tag -
-
-
-hb_ot_tag_from_language, function in hb-ot-tag -
-
-
-HB_OT_TAG_GDEF, macro in hb-ot-layout -
-
-
-HB_OT_TAG_GPOS, macro in hb-ot-layout -
-
-
-HB_OT_TAG_GSUB, macro in hb-ot-layout -
-
-
-HB_OT_TAG_JSTF, macro in hb-ot-layout -
-
-
-HB_OT_TAG_MATH, macro in hb-ot-math -
-
-
-hb_ot_tag_to_language, function in hb-ot-tag -
-
-
-hb_ot_tag_to_script, function in hb-ot-tag -
-
-
-HB_OT_TAG_VAR_AXIS_ITALIC, macro in hb-ot-var -
-
-
-HB_OT_TAG_VAR_AXIS_OPTICAL_SIZE, macro in hb-ot-var -
-
-
-HB_OT_TAG_VAR_AXIS_SLANT, macro in hb-ot-var -
-
-
-HB_OT_TAG_VAR_AXIS_WEIGHT, macro in hb-ot-var -
-
-
-HB_OT_TAG_VAR_AXIS_WIDTH, macro in hb-ot-var -
-
-
-hb_ot_var_axis_t, struct in hb-ot-var -
-
-
-hb_ot_var_find_axis, function in hb-ot-var -
-
-
-hb_ot_var_get_axes, function in hb-ot-var -
-
-
-hb_ot_var_get_axis_count, function in hb-ot-var -
-
-
-hb_ot_var_has_data, function in hb-ot-var -
-
-
-hb_ot_var_normalize_coords, function in hb-ot-var -
-
-
-hb_ot_var_normalize_variations, function in hb-ot-var -
-
-
-HB_OT_VAR_NO_AXIS_INDEX, macro in hb-ot-var -
-
-

P

-
-hb_position_t, typedef in hb-common -
-
-

R

-
-hb_reference_table_func_t, user_function in hb-font -
-
-

S

-
-HB_SCRIPT_CANADIAN_ABORIGINAL, macro in hb-deprecated -
-
-
-hb_script_from_iso15924_tag, function in hb-common -
-
-
-hb_script_from_string, function in hb-common -
-
-
-hb_script_get_horizontal_direction, function in hb-common -
-
-
-hb_script_t, enum in hb-common -
-
-
-hb_script_to_iso15924_tag, function in hb-common -
-
-
-HB_SEGMENT_PROPERTIES_DEFAULT, macro in Buffers -
-
-
-hb_segment_properties_equal, function in Buffers -
-
-
-hb_segment_properties_hash, function in Buffers -
-
-
-hb_segment_properties_t, struct in Buffers -
-
-
-hb_set_add, function in hb-set -
-
-
-hb_set_add_range, function in hb-set -
-
-
-hb_set_allocation_successful, function in hb-set -
-
-
-hb_set_clear, function in hb-set -
-
-
-hb_set_create, function in hb-set -
-
-
-hb_set_del, function in hb-set -
-
-
-hb_set_del_range, function in hb-set -
-
-
-hb_set_destroy, function in hb-set -
-
-
-hb_set_get_empty, function in hb-set -
-
-
-hb_set_get_max, function in hb-set -
-
-
-hb_set_get_min, function in hb-set -
-
-
-hb_set_get_population, function in hb-set -
-
-
-hb_set_get_user_data, function in hb-set -
-
-
-hb_set_has, function in hb-set -
-
-
-hb_set_intersect, function in hb-set -
-
-
-hb_set_invert, function in hb-deprecated -
-
-
-hb_set_is_empty, function in hb-set -
-
-
-hb_set_is_equal, function in hb-set -
-
-
-hb_set_is_subset, function in hb-set -
-
-
-hb_set_next, function in hb-set -
-
-
-hb_set_next_range, function in hb-set -
-
-
-hb_set_previous, function in hb-set -
-
-
-hb_set_previous_range, function in hb-set -
-
-
-hb_set_reference, function in hb-set -
-
-
-hb_set_set, function in hb-set -
-
-
-hb_set_set_user_data, function in hb-set -
-
-
-hb_set_subtract, function in hb-set -
-
-
-hb_set_symmetric_difference, function in hb-set -
-
-
-hb_set_t, typedef in hb-set -
-
-
-hb_set_union, function in hb-set -
-
-
-HB_SET_VALUE_INVALID, macro in hb-set -
-
-
-hb_shape, function in Shaping -
-
-
-hb_shape_full, function in Shaping -
-
-
-hb_shape_list_shapers, function in Shaping -
-
-
-hb_shape_plan_create, function in hb-shape-plan -
-
-
-hb_shape_plan_create2, function in hb-shape-plan -
-
-
-hb_shape_plan_create_cached, function in hb-shape-plan -
-
-
-hb_shape_plan_create_cached2, function in hb-shape-plan -
-
-
-hb_shape_plan_destroy, function in hb-shape-plan -
-
-
-hb_shape_plan_execute, function in hb-shape-plan -
-
-
-hb_shape_plan_get_empty, function in hb-shape-plan -
-
-
-hb_shape_plan_get_shaper, function in hb-shape-plan -
-
-
-hb_shape_plan_get_user_data, function in hb-shape-plan -
-
-
-hb_shape_plan_reference, function in hb-shape-plan -
-
-
-hb_shape_plan_set_user_data, function in hb-shape-plan -
-
-
-hb_shape_plan_t, typedef in hb-shape-plan -
-
-

T

-
-HB_TAG, macro in hb-common -
-
-
-hb_tag_from_string, function in hb-common -
-
-
-HB_TAG_MAX, macro in hb-common -
-
-
-HB_TAG_MAX_SIGNED, macro in hb-common -
-
-
-HB_TAG_NONE, macro in hb-common -
-
-
-hb_tag_t, typedef in hb-common -
-
-
-hb_tag_to_string, function in hb-common -
-
-

U

-
-hb_unicode_combining_class, function in hb-unicode -
-
-
-hb_unicode_combining_class_func_t, user_function in hb-unicode -
-
-
-hb_unicode_combining_class_t, enum in hb-unicode -
-
-
-hb_unicode_compose, function in hb-unicode -
-
-
-hb_unicode_compose_func_t, user_function in hb-unicode -
-
-
-hb_unicode_decompose, function in hb-unicode -
-
-
-hb_unicode_decompose_compatibility, function in hb-unicode -
-
-
-hb_unicode_decompose_func_t, user_function in hb-unicode -
-
-
-hb_unicode_eastasian_width, function in hb-unicode -
-
-
-hb_unicode_funcs_create, function in hb-unicode -
-
-
-hb_unicode_funcs_destroy, function in hb-unicode -
-
-
-hb_unicode_funcs_get_default, function in hb-unicode -
-
-
-hb_unicode_funcs_get_empty, function in hb-unicode -
-
-
-hb_unicode_funcs_get_parent, function in hb-unicode -
-
-
-hb_unicode_funcs_get_user_data, function in hb-unicode -
-
-
-hb_unicode_funcs_is_immutable, function in hb-unicode -
-
-
-hb_unicode_funcs_make_immutable, function in hb-unicode -
-
-
-hb_unicode_funcs_reference, function in hb-unicode -
-
-
-hb_unicode_funcs_set_combining_class_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_compose_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_decompose_compatibility_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_decompose_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_eastasian_width_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_general_category_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_mirroring_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_script_func, function in hb-unicode -
-
-
-hb_unicode_funcs_set_user_data, function in hb-unicode -
-
-
-hb_unicode_funcs_t, typedef in hb-unicode -
-
-
-hb_unicode_general_category, function in hb-unicode -
-
-
-hb_unicode_general_category_func_t, user_function in hb-unicode -
-
-
-hb_unicode_general_category_t, enum in hb-unicode -
-
-
-HB_UNICODE_MAX_DECOMPOSITION_LEN, macro in hb-unicode -
-
-
-hb_unicode_mirroring, function in hb-unicode -
-
-
-hb_unicode_mirroring_func_t, user_function in hb-unicode -
-
-
-hb_unicode_script, function in hb-unicode -
-
-
-hb_unicode_script_func_t, user_function in hb-unicode -
-
-
-hb_uniscribe_font_get_hfont, function in hb-uniscribe -
-
-
-hb_uniscribe_font_get_logfontw, function in hb-uniscribe -
-
-
-HB_UNTAG, macro in hb-common -
-
-
-hb_user_data_key_t, struct in hb-common -
-
-

V

-
-hb_variation_from_string, function in hb-font -
-
-
-hb_variation_t, struct in hb-font -
-
-
-hb_variation_to_string, function in hb-font -
-
-
-hb_var_int_t, union in hb-common -
-
-
-hb_version, function in hb-version -
-
-
-HB_VERSION_ATLEAST, macro in hb-version -
-
-
-hb_version_atleast, function in hb-version -
-
-
-HB_VERSION_MAJOR, macro in hb-version -
-
-
-HB_VERSION_MICRO, macro in hb-version -
-
-
-HB_VERSION_MINOR, macro in hb-version -
-
-
-HB_VERSION_STRING, macro in hb-version -
-
-
-hb_version_string, function in hb-version -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/buffers-language-script-and-direction.html b/harfbuzz-1.9.0/docs/html/buffers-language-script-and-direction.html deleted file mode 100644 index c5309a60b..000000000 --- a/harfbuzz-1.9.0/docs/html/buffers-language-script-and-direction.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - -Buffers, language, script and direction: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Buffers, language, script and direction

- -

- The input to HarfBuzz is a series of Unicode characters, stored in a - buffer. In this chapter, we'll look at how to set up a buffer with - the text that we want and then customize the properties of the - buffer. -

-
-

-Creating and destroying buffers

-

- As we saw in our initial example, a buffer is created and - initialized with hb_buffer_create(). This - produces a new, empty buffer object, instantiated with some - default values and ready to accept your Unicode strings. -

-

- HarfBuzz manages the memory of objects that it creates (such as - buffers), so you don't have to. When you have finished working on - a buffer, you can call hb_buffer_destroy(): -

-
-  hb_buffer_t *buffer = hb_buffer_create();
-  ...
-  hb_buffer_destroy(buffer);
-
-

- This will destroy the object and free its associated memory - - unless some other part of the program holds a reference to this - buffer. If you acquire a HarfBuzz buffer from another subsystem - and want to ensure that it is not garbage collected by someone - else destroying it, you should increase its reference count: -

-
-void somefunc(hb_buffer_t *buffer) {
-  buffer = hb_buffer_reference(buffer);
-  ...
-
-

- And then decrease it once you're done with it: -

-
-  hb_buffer_destroy(buffer);
-}
-
-

- To throw away all the data in your buffer and start from scratch, - call hb_buffer_reset(buffer). If you want to - throw away the string in the buffer but keep the options, you can - instead call hb_buffer_clear_contents(buffer). -

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/building.html b/harfbuzz-1.9.0/docs/html/building.html deleted file mode 100644 index ea051f9e0..000000000 --- a/harfbuzz-1.9.0/docs/html/building.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - -Building: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Building

-

- On Linux, install the development packages for FreeType, Cairo, and GLib. - For example, on Ubuntu / Debian, you would do: -

-
-sudo apt-get install gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev
-      
-

- whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do: -

-
-sudo yum install gcc gcc-c++ freetype-devel glib2-devel cairo-devel
-      
-

- or using MacPorts: -

-
-sudo port install freetype glib2 cairo
-      
-

-

-

- If you are using a tarball, you can now proceed to running - configure and make as with any - other standard package. That should leave you with a shared library in - src/, and a few utility programs including hb-view - and hb-shape under util/. -

-

- If you are bootstrapping from git, you need a few more tools before you - can run autogen.sh for the first time. Namely, - pkg-config and ragel. - Again, on Ubuntu / Debian: -

-
-sudo apt-get install autoconf automake libtool pkg-config ragel gtk-doc-tools
-      
-

- and on Fedora, RHEL, CentOS: -

-
-sudo yum install autoconf automake libtool pkgconfig ragel gtk-doc
-      
-

- or using MacPorts: -

-
-sudo port install autoconf automake libtool pkgconfig ragel gtk-doc
-      
-

-

-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/ch08.html b/harfbuzz-1.9.0/docs/html/ch08.html deleted file mode 100644 index 2de5896ed..000000000 --- a/harfbuzz-1.9.0/docs/html/ch08.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - -HarfBuzz API: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-HarfBuzz API

-
-
-hb -
-
-hb-common -
-
-hb-unicode -
-
-Buffers — Input and output buffers -
-
-hb-blob -
-
-hb-face -
-
-hb-font -
-
-Shaping — Conversion of text strings into positioned glyphs -
-
-hb-version -
-
-hb-deprecated -
-
-hb-set -
-
-hb-ot -
-
-hb-ot-layout -
-
-hb-ot-tag -
-
-hb-ot-font -
-
-hb-ot-shape -
-
-hb-ot-math -
-
-hb-shape-plan -
-
-hb-glib -
-
-hb-icu -
-
-hb-ft -
-
-hb-graphite2 -
-
-hb-uniscribe -
-
-hb-coretext -
-
-hb-gobject -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/clusters.html b/harfbuzz-1.9.0/docs/html/clusters.html deleted file mode 100644 index 2b3078f21..000000000 --- a/harfbuzz-1.9.0/docs/html/clusters.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - -: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
- -
-

-Clusters

-

- In shaping text, a cluster is a sequence of - code points that needs to be treated as a single, indivisible unit. -

-

- When you add text to a HB buffer, each character is associated with - a cluster value. This is an arbitrary number as - far as HB is concerned. -

-

- Most clients will use UTF-8, UTF-16, or UTF-32 indices, but the - actual number does not matter. Moreover, it is not required for the - cluster values to be monotonically increasing, but pretty much all - of HB's tests are performed on monotonically increasing cluster - numbers. Nevertheless, there is no such assumption in the code - itself. With that in mind, let's examine what happens with cluster - values during shaping under each cluster-level. -

-

- HarfBuzz provides three levels of clustering - support. Level 0 is the default behavior and reproduces the behavior - of the old HarfBuzz library. Level 1 tweaks this behavior slightly - to produce better results, so level 1 clustering is recommended for - code that is not required to implement backward compatibility with - the old HarfBuzz. -

-

- Level 2 differs significantly in how it treats cluster values. - Levels 0 and 1 both process ligatures and glyph decomposition by - merging clusters; level 2 does not. -

-

- The conceptual model for what the cluster values mean, in levels 0 - and 1, is this: -

-
    -
  • - the sequence of cluster values will always remain monotone -

  • -
  • - each value represents a single cluster -

  • -
  • - each cluster contains one or more glyphs and one or more - characters -

  • -
-

- Assuming that initial cluster numbers were monotonically increasing - and distinct, then all adjacent glyphs having the same cluster - number belong to the same cluster, and all characters belong to the - cluster that has the highest number not larger than their initial - cluster number. This will become clearer with an example. -

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/customizing-unicode-functions.html b/harfbuzz-1.9.0/docs/html/customizing-unicode-functions.html deleted file mode 100644 index 2167383c5..000000000 --- a/harfbuzz-1.9.0/docs/html/customizing-unicode-functions.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - -Customizing Unicode functions: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Customizing Unicode functions

-

-

-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/deprecated-api-index.html b/harfbuzz-1.9.0/docs/html/deprecated-api-index.html deleted file mode 100644 index fb043a8a2..000000000 --- a/harfbuzz-1.9.0/docs/html/deprecated-api-index.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - -Index of deprecated API: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Index of deprecated API

-

B

-
-HB_BUFFER_FLAGS_DEFAULT, macro in hb-deprecated -
-
-
-HB_BUFFER_SERIALIZE_FLAGS_DEFAULT, macro in hb-deprecated -
-
-

F

-
-hb_font_funcs_set_glyph_func, function in hb-deprecated -
-
-
-hb_font_get_glyph_func_t, user_function in hb-deprecated -
-
-

G

-
-hb_graphite2_font_get_gr_font, function in hb-graphite2 -
-
-

S

-
-HB_SCRIPT_CANADIAN_ABORIGINAL, macro in hb-deprecated -
-
-
-hb_set_invert, function in hb-deprecated -
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/fonts-and-faces.html b/harfbuzz-1.9.0/docs/html/fonts-and-faces.html deleted file mode 100644 index a7abf0e1c..000000000 --- a/harfbuzz-1.9.0/docs/html/fonts-and-faces.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - -Fonts and faces: HarfBuzz Manual - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-Buffers.html b/harfbuzz-1.9.0/docs/html/harfbuzz-Buffers.html deleted file mode 100644 index af4e7a3df..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-Buffers.html +++ /dev/null @@ -1,2974 +0,0 @@ - - - - -Buffers: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

Buffers

-

Buffers — Input and output buffers

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-hb_buffer_t * - -hb_buffer_create () -
-hb_buffer_t * - -hb_buffer_reference () -
-hb_buffer_t * - -hb_buffer_get_empty () -
-void - -hb_buffer_destroy () -
-void - -hb_buffer_reset () -
-void - -hb_buffer_clear_contents () -
-hb_bool_t - -hb_buffer_pre_allocate () -
-hb_bool_t - -hb_buffer_allocation_successful () -
-void - -hb_buffer_add () -
-void - -hb_buffer_add_codepoints () -
-void - -hb_buffer_add_utf32 () -
-void - -hb_buffer_add_utf16 () -
-void - -hb_buffer_add_utf8 () -
-void - -hb_buffer_add_latin1 () -
-void - -hb_buffer_append () -
-void - -hb_buffer_set_content_type () -
-hb_buffer_content_type_t - -hb_buffer_get_content_type () -
-void - -hb_buffer_set_direction () -
-hb_direction_t - -hb_buffer_get_direction () -
-void - -hb_buffer_set_script () -
-hb_script_t - -hb_buffer_get_script () -
-void - -hb_buffer_set_language () -
-hb_language_t - -hb_buffer_get_language () -
-void - -hb_buffer_set_flags () -
-hb_buffer_flags_t - -hb_buffer_get_flags () -
-void - -hb_buffer_set_cluster_level () -
-hb_buffer_cluster_level_t - -hb_buffer_get_cluster_level () -
-hb_bool_t - -hb_buffer_set_length () -
unsigned int - -hb_buffer_get_length () -
-void - -hb_buffer_set_segment_properties () -
-void - -hb_buffer_get_segment_properties () -
-void - -hb_buffer_guess_segment_properties () -
-void - -hb_buffer_set_unicode_funcs () -
-hb_unicode_funcs_t * - -hb_buffer_get_unicode_funcs () -
-hb_bool_t - -hb_buffer_set_user_data () -
-void * - -hb_buffer_get_user_data () -
-hb_glyph_info_t * - -hb_buffer_get_glyph_infos () -
-hb_glyph_position_t * - -hb_buffer_get_glyph_positions () -
-void - -hb_buffer_set_replacement_codepoint () -
-hb_codepoint_t - -hb_buffer_get_replacement_codepoint () -
-void - -hb_buffer_normalize_glyphs () -
-void - -hb_buffer_reverse () -
-void - -hb_buffer_reverse_range () -
-void - -hb_buffer_reverse_clusters () -
unsigned int - -hb_buffer_serialize_glyphs () -
-hb_bool_t - -hb_buffer_deserialize_glyphs () -
-hb_buffer_serialize_format_t - -hb_buffer_serialize_format_from_string () -
const char * - -hb_buffer_serialize_format_to_string () -
const char ** - -hb_buffer_serialize_list_formats () -
-hb_bool_t - -hb_segment_properties_equal () -
unsigned int - -hb_segment_properties_hash () -
-hb_buffer_diff_flags_t - -hb_buffer_diff () -
-void - -hb_buffer_set_message_func () -
-hb_glyph_flags_t - -hb_glyph_info_get_glyph_flags () -
-hb_bool_t - -(*hb_buffer_message_func_t) () -
-
- -
-

Object Hierarchy

-
    GBoxed
-    ├── hb_buffer_t
-    ├── hb_glyph_info_t
-    ├── hb_glyph_position_t
-    ╰── hb_segment_properties_t
-    GEnum
-    ├── hb_buffer_cluster_level_t
-    ├── hb_buffer_content_type_t
-    ╰── hb_buffer_serialize_format_t
-    GFlags
-    ├── hb_buffer_diff_flags_t
-    ├── hb_buffer_flags_t
-    ├── hb_buffer_serialize_flags_t
-    ╰── hb_glyph_flags_t
-
-
-
-

Includes

-
#include <hb.h>
-
-
-
-

Description

-

Buffers serve dual role in HarfBuzz; they hold the input characters that are -passed hb_shape(), and after shaping they hold the output glyphs.

-
-
-

Functions

-
-

hb_buffer_create ()

-
hb_buffer_t *
-hb_buffer_create (void);
-

Creates a new hb_buffer_t with all properties to defaults.

-

[Xconstructor]

-
-

Returns

-

A newly allocated hb_buffer_t with a reference count of 1. The initial -reference count should be released with hb_buffer_destroy() when you are done -using the hb_buffer_t. This function never returns NULL. If memory cannot -be allocated, a special hb_buffer_t object will be returned on which -hb_buffer_allocation_successful() returns false.

-

[transfer full]

-
-

Since: 0.9.2

-
-
-
-

hb_buffer_reference ()

-
hb_buffer_t *
-hb_buffer_reference (hb_buffer_t *buffer);
-

Increases the reference count on buffer - by one. This prevents buffer - from -being destroyed until a matching call to hb_buffer_destroy() is made.

-

[skip]

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-
-

Returns

-

The referenced hb_buffer_t.

-

[transfer full]

-
-

Since: 0.9.2

-
-
-
-

hb_buffer_get_empty ()

-
hb_buffer_t *
-hb_buffer_get_empty (void);
-
-

Returns

-

.

-

[transfer full]

-
-

Since: 0.9.2

-
-
-
-

hb_buffer_destroy ()

-
void
-hb_buffer_destroy (hb_buffer_t *buffer);
-

Deallocate the buffer -. -Decreases the reference count on buffer - by one. If the result is zero, then -buffer - and all associated resources are freed. See hb_buffer_reference().

-

[skip]

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_reset ()

-
void
-hb_buffer_reset (hb_buffer_t *buffer);
-

Resets the buffer to its initial status, as if it was just newly created -with hb_buffer_create().

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_clear_contents ()

-
void
-hb_buffer_clear_contents (hb_buffer_t *buffer);
-

Similar to hb_buffer_reset(), but does not clear the Unicode functions and -the replacement code point.

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.11

-
-
-
-

hb_buffer_pre_allocate ()

-
hb_bool_t
-hb_buffer_pre_allocate (hb_buffer_t *buffer,
-                        unsigned int size);
-

Pre allocates memory for buffer - to fit at least size - number of items.

-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

size

number of items to pre allocate.

 
-
-
-

Returns

-

true if buffer -memory allocation succeeded, false otherwise.

-
-

Since: 0.9.2

-
-
-
-

hb_buffer_allocation_successful ()

-
hb_bool_t
-hb_buffer_allocation_successful (hb_buffer_t *buffer);
-

Check if allocating memory for the buffer succeeded.

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-
-

Returns

-

true if buffer -memory allocation succeeded, false otherwise.

-
-

Since: 0.9.2

-
-
-
-

hb_buffer_add ()

-
void
-hb_buffer_add (hb_buffer_t *buffer,
-               hb_codepoint_t codepoint,
-               unsigned int cluster);
-

Appends a character with the Unicode value of codepoint - to buffer -, and -gives it the initial cluster value of cluster -. Clusters can be any thing -the client wants, they are usually used to refer to the index of the -character in the input text stream and are output in -hb_glyph_info_t.cluster field.

-

This function does not check the validity of codepoint -, it is up to the -caller to ensure it is a valid Unicode code point.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

codepoint

a Unicode code point.

 

cluster

the cluster value of codepoint -.

 
-
-

Since: 0.9.7

-
-
-
-

hb_buffer_add_codepoints ()

-
void
-hb_buffer_add_codepoints (hb_buffer_t *buffer,
-                          const hb_codepoint_t *text,
-                          int text_length,
-                          unsigned int item_offset,
-                          int item_length);
-

Appends characters from text - array to buffer -. The item_offset - is the -position of the first character from text - that will be appended, and -item_length - is the number of character. When shaping part of a larger text -(e.g. a run of text from a paragraph), instead of passing just the substring -corresponding to the run, it is preferable to pass the whole -paragraph and specify the run start and length as item_offset - and -item_length -, respectively, to give HarfBuzz the full context to be able, -for example, to do cross-run Arabic shaping or properly handle combining -marks at stat of run.

-

This function does not check the validity of text -, it is up to the caller -to ensure it contains a valid Unicode code points.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

buffer

a hb_buffer_t to append characters to.

 

text

an array of Unicode code points to append.

[array length=text_length]

text_length

the length of the text -, or -1 if it is NULL terminated.

 

item_offset

the offset of the first code point to add to the buffer -.

 

item_length

the number of code points to add to the buffer -, or -1 for the -end of text -(assuming it is NULL terminated).

 
-
-

Since: 0.9.31

-
-
-
-

hb_buffer_add_utf32 ()

-
void
-hb_buffer_add_utf32 (hb_buffer_t *buffer,
-                     const uint32_t *text,
-                     int text_length,
-                     unsigned int item_offset,
-                     int item_length);
-

See hb_buffer_add_codepoints().

-

Replaces invalid UTF-32 characters with the buffer - replacement code point, -see hb_buffer_set_replacement_codepoint().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

text

an array of UTF-32 characters to append.

[array length=text_length]

text_length

the length of the text -, or -1 if it is NULL terminated.

 

item_offset

the offset of the first character to add to the buffer -.

 

item_length

the number of characters to add to the buffer -, or -1 for the -end of text -(assuming it is NULL terminated).

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_add_utf16 ()

-
void
-hb_buffer_add_utf16 (hb_buffer_t *buffer,
-                     const uint16_t *text,
-                     int text_length,
-                     unsigned int item_offset,
-                     int item_length);
-

See hb_buffer_add_codepoints().

-

Replaces invalid UTF-16 characters with the buffer - replacement code point, -see hb_buffer_set_replacement_codepoint().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

text

an array of UTF-16 characters to append.

[array length=text_length]

text_length

the length of the text -, or -1 if it is NULL terminated.

 

item_offset

the offset of the first character to add to the buffer -.

 

item_length

the number of characters to add to the buffer -, or -1 for the -end of text -(assuming it is NULL terminated).

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_add_utf8 ()

-
void
-hb_buffer_add_utf8 (hb_buffer_t *buffer,
-                    const char *text,
-                    int text_length,
-                    unsigned int item_offset,
-                    int item_length);
-

See hb_buffer_add_codepoints().

-

Replaces invalid UTF-8 characters with the buffer - replacement code point, -see hb_buffer_set_replacement_codepoint().

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

text

an array of UTF-8 -characters to append.

[array length=text_length][element-type uint8_t]

text_length

the length of the text -, or -1 if it is NULL terminated.

 

item_offset

the offset of the first character to add to the buffer -.

 

item_length

the number of characters to add to the buffer -, or -1 for the -end of text -(assuming it is NULL terminated).

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_add_latin1 ()

-
void
-hb_buffer_add_latin1 (hb_buffer_t *buffer,
-                      const uint8_t *text,
-                      int text_length,
-                      unsigned int item_offset,
-                      int item_length);
-

Similar to hb_buffer_add_codepoints(), but allows only access to first 256 -Unicode code points that can fit in 8-bit strings.

-
Has nothing to do with non-Unicode Latin-1 encoding.
-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

text

an array of UTF-8 -characters to append.

[array length=text_length][element-type uint8_t]

text_length

the length of the text -, or -1 if it is NULL terminated.

 

item_offset

the offset of the first character to add to the buffer -.

 

item_length

the number of characters to add to the buffer -, or -1 for the -end of text -(assuming it is NULL terminated).

 
-
-

Since: 0.9.39

-
-
-
-

hb_buffer_append ()

-
void
-hb_buffer_append (hb_buffer_t *buffer,
-                  hb_buffer_t *source,
-                  unsigned int start,
-                  unsigned int end);
-

Append (part of) contents of another buffer to this buffer.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

source

source hb_buffer_t.

 

start

start index into source buffer to copy. Use 0 to copy from start of buffer.

 

end

end index into source buffer to copy. Use (unsigned int) -1 to copy to end of buffer.

 
-
-

Since: 1.5.0

-
-
-
-

hb_buffer_set_content_type ()

-
void
-hb_buffer_set_content_type (hb_buffer_t *buffer,
-                            hb_buffer_content_type_t content_type);
-

Sets the type of buffer - contents, buffers are either empty, contain -characters (before shaping) or glyphs (the result of shaping).

-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

content_type

the type of buffer contents to set

 
-
-

Since: 0.9.5

-
-
-
-

hb_buffer_get_content_type ()

-
hb_buffer_content_type_t
-hb_buffer_get_content_type (hb_buffer_t *buffer);
-

see hb_buffer_set_content_type().

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-
-

Returns

-

The type of buffer -contents.

-
-

Since: 0.9.5

-
-
-
-

hb_buffer_set_direction ()

-
void
-hb_buffer_set_direction (hb_buffer_t *buffer,
-                         hb_direction_t direction);
-

Set the text flow direction of the buffer. No shaping can happen without -setting buffer - direction, and it controls the visual direction for the -output glyphs; for RTL direction the glyphs will be reversed. Many layout -features depend on the proper setting of the direction, for example, -reversing RTL text before shaping, then shaping with LTR direction is not -the same as keeping the text in logical order and shaping with RTL -direction.

-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

direction

the hb_direction_t of the buffer -

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_get_direction ()

-
hb_direction_t
-hb_buffer_get_direction (hb_buffer_t *buffer);
-

See hb_buffer_set_direction()

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-
-

Returns

-

The direction of the buffer -.

-
-

Since: 0.9.2

-
-
-
-

hb_buffer_set_script ()

-
void
-hb_buffer_set_script (hb_buffer_t *buffer,
-                      hb_script_t script);
-

Sets the script of buffer - to script -.

-

Script is crucial for choosing the proper shaping behaviour for scripts that -require it (e.g. Arabic) and the which OpenType features defined in the font -to be applied.

-

You can pass one of the predefined hb_script_t values, or use -hb_script_from_string() or hb_script_from_iso15924_tag() to get the -corresponding script from an ISO 15924 script tag.

-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

script

an hb_script_t to set.

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_get_script ()

-
hb_script_t
-hb_buffer_get_script (hb_buffer_t *buffer);
-

See hb_buffer_set_script().

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-
-

Returns

-

The hb_script_t of the buffer -.

-
-

Since: 0.9.2

-
-
-
-

hb_buffer_set_language ()

-
void
-hb_buffer_set_language (hb_buffer_t *buffer,
-                        hb_language_t language);
-

Sets the language of buffer - to language -.

-

Languages are crucial for selecting which OpenType feature to apply to the -buffer which can result in applying language-specific behaviour. Languages -are orthogonal to the scripts, and though they are related, they are -different concepts and should not be confused with each other.

-

Use hb_language_from_string() to convert from ISO 639 language codes to -hb_language_t.

-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

language

an hb_language_t to set.

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_get_language ()

-
hb_language_t
-hb_buffer_get_language (hb_buffer_t *buffer);
-

See hb_buffer_set_language().

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-
-

Returns

-

The hb_language_t of the buffer. Must not be freed by the caller.

-

[transfer none]

-
-

Since: 0.9.2

-
-
-
-

hb_buffer_set_flags ()

-
void
-hb_buffer_set_flags (hb_buffer_t *buffer,
-                     hb_buffer_flags_t flags);
-

Sets buffer - flags to flags -. See hb_buffer_flags_t.

-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

flags

the buffer flags to set.

 
-
-

Since: 0.9.7

-
-
-
-

hb_buffer_get_flags ()

-
hb_buffer_flags_t
-hb_buffer_get_flags (hb_buffer_t *buffer);
-

See hb_buffer_set_flags().

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-
-

Returns

-

The buffer -flags.

-
-

Since: 0.9.7

-
-
-
-

hb_buffer_set_cluster_level ()

-
void
-hb_buffer_set_cluster_level (hb_buffer_t *buffer,
-                             hb_buffer_cluster_level_t cluster_level);
-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.42

-
-
-
-

hb_buffer_get_cluster_level ()

-
hb_buffer_cluster_level_t
-hb_buffer_get_cluster_level (hb_buffer_t *buffer);
-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.42

-
-
-
-

hb_buffer_set_length ()

-
hb_bool_t
-hb_buffer_set_length (hb_buffer_t *buffer,
-                      unsigned int length);
-

Similar to hb_buffer_pre_allocate(), but clears any new items added at the -end.

-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

length

the new length of buffer -.

 
-
-
-

Returns

-

true if buffer -memory allocation succeeded, false otherwise.

-
-

Since: 0.9.2

-
-
-
-

hb_buffer_get_length ()

-
unsigned int
-hb_buffer_get_length (hb_buffer_t *buffer);
-

Returns the number of items in the buffer.

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-
-

Returns

-

The buffer -length. -The value valid as long as buffer has not been modified.

-
-

Since: 0.9.2

-
-
-
-

hb_buffer_set_segment_properties ()

-
void
-hb_buffer_set_segment_properties (hb_buffer_t *buffer,
-                                  const hb_segment_properties_t *props);
-

Sets the segment properties of the buffer, a shortcut for calling -hb_buffer_set_direction(), hb_buffer_set_script() and -hb_buffer_set_language() individually.

-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

props

an hb_segment_properties_t to use.

 
-
-

Since: 0.9.7

-
-
-
-

hb_buffer_get_segment_properties ()

-
void
-hb_buffer_get_segment_properties (hb_buffer_t *buffer,
-                                  hb_segment_properties_t *props);
-

Sets props - to the hb_segment_properties_t of buffer -.

-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

props

the output hb_segment_properties_t.

[out]
-
-

Since: 0.9.7

-
-
-
-

hb_buffer_guess_segment_properties ()

-
void
-hb_buffer_guess_segment_properties (hb_buffer_t *buffer);
-

Sets unset buffer segment properties based on buffer Unicode -contents. If buffer is not empty, it must have content type -HB_BUFFER_CONTENT_TYPE_UNICODE.

-

If buffer script is not set (ie. is HB_SCRIPT_INVALID), it -will be set to the Unicode script of the first character in -the buffer that has a script other than HB_SCRIPT_COMMON, -HB_SCRIPT_INHERITED, and HB_SCRIPT_UNKNOWN.

-

Next, if buffer direction is not set (ie. is HB_DIRECTION_INVALID), -it will be set to the natural horizontal direction of the -buffer script as returned by hb_script_get_horizontal_direction(). -If hb_script_get_horizontal_direction() returns HB_DIRECTION_INVALID, -then HB_DIRECTION_LTR is used.

-

Finally, if buffer language is not set (ie. is HB_LANGUAGE_INVALID), -it will be set to the process's default language as returned by -hb_language_get_default(). This may change in the future by -taking buffer script into consideration when choosing a language.

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.7

-
-
-
-

hb_buffer_set_unicode_funcs ()

-
void
-hb_buffer_set_unicode_funcs (hb_buffer_t *buffer,
-                             hb_unicode_funcs_t *unicode_funcs);
-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_get_unicode_funcs ()

-
hb_unicode_funcs_t *
-hb_buffer_get_unicode_funcs (hb_buffer_t *buffer);
-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_set_user_data ()

-
hb_bool_t
-hb_buffer_set_user_data (hb_buffer_t *buffer,
-                         hb_user_data_key_t *key,
-                         void *data,
-                         hb_destroy_func_t destroy,
-                         hb_bool_t replace);
-

[skip]

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_get_user_data ()

-
void *
-hb_buffer_get_user_data (hb_buffer_t *buffer,
-                         hb_user_data_key_t *key);
-

[skip]

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_get_glyph_infos ()

-
hb_glyph_info_t *
-hb_buffer_get_glyph_infos (hb_buffer_t *buffer,
-                           unsigned int *length);
-

Returns buffer - glyph information array. Returned pointer -is valid as long as buffer - contents are not modified.

-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

length

output array length.

[out]
-
-
-

Returns

-

The buffer -glyph information array. -The value valid as long as buffer has not been modified.

-

[transfer none][array length=length]

-
-

Since: 0.9.2

-
-
-
-

hb_buffer_get_glyph_positions ()

-
hb_glyph_position_t *
-hb_buffer_get_glyph_positions (hb_buffer_t *buffer,
-                               unsigned int *length);
-

Returns buffer - glyph position array. Returned pointer -is valid as long as buffer - contents are not modified.

-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

length

output length.

[out]
-
-
-

Returns

-

The buffer -glyph position array. -The value valid as long as buffer has not been modified.

-

[transfer none][array length=length]

-
-

Since: 0.9.2

-
-
-
-

hb_buffer_set_replacement_codepoint ()

-
void
-hb_buffer_set_replacement_codepoint (hb_buffer_t *buffer,
-                                     hb_codepoint_t replacement);
-

Sets the hb_codepoint_t that replaces invalid entries for a given encoding -when adding text to buffer -.

-

Default is HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT.

-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

replacement

the replacement hb_codepoint_t

 
-
-

Since: 0.9.31

-
-
-
-

hb_buffer_get_replacement_codepoint ()

-
hb_codepoint_t
-hb_buffer_get_replacement_codepoint (hb_buffer_t *buffer);
-

See hb_buffer_set_replacement_codepoint().

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-
-

Returns

-

The buffer -replacement hb_codepoint_t.

-
-

Since: 0.9.31

-
-
-
-

hb_buffer_normalize_glyphs ()

-
void
-hb_buffer_normalize_glyphs (hb_buffer_t *buffer);
-

Reorders a glyph buffer to have canonical in-cluster glyph order / position. -The resulting clusters should behave identical to pre-reordering clusters.

-
This has nothing to do with Unicode normalization.
-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_reverse ()

-
void
-hb_buffer_reverse (hb_buffer_t *buffer);
-

Reverses buffer contents.

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_reverse_range ()

-
void
-hb_buffer_reverse_range (hb_buffer_t *buffer,
-                         unsigned int start,
-                         unsigned int end);
-

Reverses buffer contents between start to end.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

start

start index.

 

end

end index.

 
-
-

Since: 0.9.41

-
-
-
-

hb_buffer_reverse_clusters ()

-
void
-hb_buffer_reverse_clusters (hb_buffer_t *buffer);
-

Reverses buffer clusters. That is, the buffer contents are -reversed, then each cluster (consecutive items having the -same cluster number) are reversed again.

-
-

Parameters

-
----- - - - - - -

buffer

an hb_buffer_t.

 
-
-

Since: 0.9.2

-
-
-
-

hb_buffer_serialize_glyphs ()

-
unsigned int
-hb_buffer_serialize_glyphs (hb_buffer_t *buffer,
-                            unsigned int start,
-                            unsigned int end,
-                            char *buf,
-                            unsigned int buf_size,
-                            unsigned int *buf_consumed,
-                            hb_font_t *font,
-                            hb_buffer_serialize_format_t format,
-                            hb_buffer_serialize_flags_t flags);
-

Serializes buffer - into a textual representation of its glyph content, -useful for showing the contents of the buffer, for example during debugging. -There are currently two supported serialization formats:

-
-

text

-

A human-readable, plain text format. -The serialized glyphs will look something like:

-

-[uni0651=0@518,0+0|uni0628=0+1897] -

-
-
-
-

json

-

TODO.

-
-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

buffer

an hb_buffer_t buffer.

 

start

the first item in buffer -to serialize.

 

end

the last item in buffer -to serialize.

 

buf

output string to -write serialized buffer into.

[out][array length=buf_size][element-type uint8_t]

buf_size

the size of buf -.

 

buf_consumed

if not NULL, will be set to the number of byes written into buf -.

[out][allow-none]

font

the hb_font_t used to shape this buffer, needed to -read glyph names and extents. If NULL, and empty font will be used.

[allow-none]

format

the hb_buffer_serialize_format_t to use for formatting the output.

 

flags

the hb_buffer_serialize_flags_t that control what glyph properties -to serialize.

 
-
-
-

Returns

-

The number of serialized items.

-
-

Since: 0.9.7

-
-
-
-

hb_buffer_deserialize_glyphs ()

-
hb_bool_t
-hb_buffer_deserialize_glyphs (hb_buffer_t *buffer,
-                              const char *buf,
-                              int buf_len,
-                              const char **end_ptr,
-                              hb_font_t *font,
-                              hb_buffer_serialize_format_t format);
-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

buffer

an hb_buffer_t buffer.

 

buf

.

[array length=buf_len]

end_ptr

.

[out]
-
-

Since: 0.9.7

-
-
-
-

hb_buffer_serialize_format_from_string ()

-
hb_buffer_serialize_format_t
-hb_buffer_serialize_format_from_string
-                               (const char *str,
-                                int len);
-

Parses a string into an hb_buffer_serialize_format_t. Does not check if -str - is a valid buffer serialization format, use -hb_buffer_serialize_list_formats() to get the list of supported formats.

-
-

Parameters

-
----- - - - - - - - - - - - - -

str

a string to parse.

[array length=len][element-type uint8_t]

len

length of str -, or -1 if string is NULL terminated

 
-
-
-

Returns

-

The parsed hb_buffer_serialize_format_t.

-
-

Since: 0.9.7

-
-
-
-

hb_buffer_serialize_format_to_string ()

-
const char *
-hb_buffer_serialize_format_to_string (hb_buffer_serialize_format_t format);
-

Converts format - to the string corresponding it, or NULL if it is not a valid -hb_buffer_serialize_format_t.

-
-

Parameters

-
----- - - - - - -

format

an hb_buffer_serialize_format_t to convert.

 
-
-
-

Returns

-

A NULL terminated string corresponding to format -. Should not be freed.

-

[transfer none]

-
-

Since: 0.9.7

-
-
-
-

hb_buffer_serialize_list_formats ()

-
const char **
-hb_buffer_serialize_list_formats (void);
-

Returns a list of supported buffer serialization formats.

-
-

Returns

-

A string array of buffer serialization formats. Should not be freed.

-

[transfer none]

-
-

Since: 0.9.7

-
-
-
-

hb_segment_properties_equal ()

-
hb_bool_t
-hb_segment_properties_equal (const hb_segment_properties_t *a,
-                             const hb_segment_properties_t *b);
-

Checks the equality of two hb_segment_properties_t's.

-
-

Parameters

-
----- - - - - - - - - - - - - -

a

first hb_segment_properties_t to compare.

 

b

second hb_segment_properties_t to compare.

 
-
-
-

Returns

-

true if all properties of a -equal those of b -, false otherwise.

-
-

Since: 0.9.7

-
-
-
-

hb_segment_properties_hash ()

-
unsigned int
-hb_segment_properties_hash (const hb_segment_properties_t *p);
-

Creates a hash representing p -.

-
-

Parameters

-
----- - - - - - -

p

hb_segment_properties_t to hash.

 
-
-
-

Returns

-

A hash of p -.

-
-

Since: 0.9.7

-
-
-
-

hb_buffer_diff ()

-
hb_buffer_diff_flags_t
-hb_buffer_diff (hb_buffer_t *buffer,
-                hb_buffer_t *reference,
-                hb_codepoint_t dottedcircle_glyph,
-                unsigned int position_fuzz);
-

If dottedcircle_glyph is (hb_codepoint_t) -1 then HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT -and HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT are never returned. This should be used by most -callers if just comparing two buffers is needed.

-

Since: 1.5.0

-
-
-
-

hb_buffer_set_message_func ()

-
void
-hb_buffer_set_message_func (hb_buffer_t *buffer,
-                            hb_buffer_message_func_t func,
-                            void *user_data,
-                            hb_destroy_func_t destroy);
-
-

Parameters

-
----- - - - - - - - - - - - - -

buffer

an hb_buffer_t.

 

func

.

[closure user_data][destroy destroy][scope notified]
-
-

Since: 1.1.3

-
-
-
-

hb_glyph_info_get_glyph_flags ()

-
hb_glyph_flags_t
-hb_glyph_info_get_glyph_flags (const hb_glyph_info_t *info);
-

Returns glyph flags encoded within a hb_glyph_info_t.

-
-

Parameters

-
----- - - - - - -

info

a hb_glyph_info_t.

 
-
-
-

Returns

-

The hb_glyph_flags_t encoded within info -.

-
-

Since: 1.5.0

-
-
-
-

hb_buffer_message_func_t ()

-
hb_bool_t
-(*hb_buffer_message_func_t) (hb_buffer_t *buffer,
-                             hb_font_t *font,
-                             const char *message,
-                             void *user_data);
-
-
-
-

Types and Values

-
-

HB_SEGMENT_PROPERTIES_DEFAULT

-
#define             HB_SEGMENT_PROPERTIES_DEFAULT
-
-
-
-

HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT

-
#define HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT 0xFFFDu
-
-

The default code point for replacing invalid characters in a given encoding. -Set to U+FFFD REPLACEMENT CHARACTER.

-

Since: 0.9.31

-
-
-
-

hb_buffer_t

-
typedef struct hb_buffer_t hb_buffer_t;
-
-

The main structure holding the input text and its properties before shaping, -and output glyphs and their information after shaping.

-
-
-
-

hb_glyph_info_t

-
typedef struct {
-  hb_codepoint_t codepoint;
-  hb_mask_t      mask; /* Holds hb_glyph_flags_t after hb_shape(), plus other things. */
-  uint32_t       cluster;
-} hb_glyph_info_t;
-
-

The hb_glyph_info_t is the structure that holds information about the -glyphs and their relation to input text.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - -

hb_codepoint_t codepoint;

either a Unicode code point (before shaping) or a glyph index -(after shaping).

 

hb_mask_t mask;

  

uint32_t cluster;

the index of the character in the original text that corresponds -to this hb_glyph_info_t, or whatever the client passes to -hb_buffer_add(). More than one hb_glyph_info_t can have the same -cluster -value, if they resulted from the same character (e.g. one -to many glyph substitution), and when more than one character gets -merged in the same glyph (e.g. many to one glyph substitution) the -hb_glyph_info_t will have the smallest cluster value of them. -By default some characters are merged into the same cluster -(e.g. combining marks have the same cluster as their bases) -even if they are separate glyphs, hb_buffer_set_cluster_level() -allow selecting more fine-grained cluster handling.

 
-
-
-
-
-

enum hb_glyph_flags_t

-
-

Members

-
----- - - - - - - - - - - - - -

HB_GLYPH_FLAG_UNSAFE_TO_BREAK

-

Indicates that if input text is broken at the - beginning of the cluster this glyph is part of, - then both sides need to be re-shaped, as the - result might be different. On the flip side, - it means that when this flag is not present, - then it's safe to break the glyph-run at the - beginning of this cluster, and the two sides - represent the exact same result one would get - if breaking input text at the beginning of - this cluster and shaping the two sides - separately. This can be used to optimize - paragraph layout, by avoiding re-shaping - of each line after line-breaking, or limiting - the reshaping to a small piece around the - breaking point only.

-
 

HB_GLYPH_FLAG_DEFINED

  
-
-
-
-
-

hb_glyph_position_t

-
typedef struct {
-  hb_position_t  x_advance;
-  hb_position_t  y_advance;
-  hb_position_t  x_offset;
-  hb_position_t  y_offset;
-} hb_glyph_position_t;
-
-

The hb_glyph_position_t is the structure that holds the positions of the -glyph in both horizontal and vertical directions. All positions in -hb_glyph_position_t are relative to the current point.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - -

hb_position_t x_advance;

how much the line advances after drawing this glyph when setting -text in horizontal direction.

 

hb_position_t y_advance;

how much the line advances after drawing this glyph when setting -text in vertical direction.

 

hb_position_t x_offset;

how much the glyph moves on the X-axis before drawing it, this -should not affect how much the line advances.

 

hb_position_t y_offset;

how much the glyph moves on the Y-axis before drawing it, this -should not affect how much the line advances.

 
-
-
-
-
-

enum hb_buffer_content_type_t

-
-

Members

-
----- - - - - - - - - - - - - - - - - - -

HB_BUFFER_CONTENT_TYPE_INVALID

-

Initial value for new buffer.

-
 

HB_BUFFER_CONTENT_TYPE_UNICODE

-

The buffer contains input characters (before shaping).

-
 

HB_BUFFER_CONTENT_TYPE_GLYPHS

-

The buffer contains output glyphs (after shaping).

-
 
-
-
-
-
-

enum hb_buffer_flags_t

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

HB_BUFFER_FLAG_DEFAULT

-

the default buffer flag.

-
 

HB_BUFFER_FLAG_BOT

-

flag indicating that special handling of the beginning - of text paragraph can be applied to this buffer. Should usually - be set, unless you are passing to the buffer only part - of the text without the full context.

-
 

HB_BUFFER_FLAG_EOT

-

flag indicating that special handling of the end of text - paragraph can be applied to this buffer, similar to - HB_BUFFER_FLAG_BOT -.

-
 

HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES

-

flag indication that character with Default_Ignorable - Unicode property should use the corresponding glyph - from the font, instead of hiding them (done by - replacing them with the space glyph and zeroing the - advance width.) This flag takes precedence over - HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES -.

-
 

HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES

-

flag indication that character with Default_Ignorable - Unicode property should be removed from glyph string - instead of hiding them (done by replacing them with the - space glyph and zeroing the advance width.) - HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES - takes - precedence over this flag. Since: 1.8.0

-
 
-
-

Since: 0.9.20

-
-
-
-

enum hb_buffer_cluster_level_t

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - -

HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES

  

HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS

  

HB_BUFFER_CLUSTER_LEVEL_CHARACTERS

  

HB_BUFFER_CLUSTER_LEVEL_DEFAULT

  
-
-
-
-
-

hb_segment_properties_t

-
typedef struct {
-  hb_direction_t  direction;
-  hb_script_t     script;
-  hb_language_t   language;
-} hb_segment_properties_t;
-
-

The structure that holds various text properties of an hb_buffer_t. Can be -set and retrieved using hb_buffer_set_segment_properties() and -hb_buffer_get_segment_properties(), respectively.

-
-

Members

-
----- - - - - - - - - - - - - - - - - - -

hb_direction_t direction;

the hb_direction_t of the buffer, see hb_buffer_set_direction().

 

hb_script_t script;

the hb_script_t of the buffer, see hb_buffer_set_script().

 

hb_language_t language;

the hb_language_t of the buffer, see hb_buffer_set_language().

 
-
-
-
-
-

enum hb_buffer_serialize_format_t

-

The buffer serialization and de-serialization format used in -hb_buffer_serialize_glyphs() and hb_buffer_deserialize_glyphs().

-
-

Members

-
----- - - - - - - - - - - - - - - - - - -

HB_BUFFER_SERIALIZE_FORMAT_TEXT

-

a human-readable, plain text format.

-
 

HB_BUFFER_SERIALIZE_FORMAT_JSON

-

a machine-readable JSON format.

-
 

HB_BUFFER_SERIALIZE_FORMAT_INVALID

-

invalid format.

-
 
-
-

Since: 0.9.2

-
-
-
-

enum hb_buffer_serialize_flags_t

-

Flags that control what glyph information are serialized in hb_buffer_serialize_glyphs().

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

HB_BUFFER_SERIALIZE_FLAG_DEFAULT

-

serialize glyph names, clusters and positions.

-
 

HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS

-

do not serialize glyph cluster.

-
 

HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS

-

do not serialize glyph position information.

-
 

HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES

-

do no serialize glyph name.

-
 

HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS

-

serialize glyph extents.

-
 

HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS

-

serialize glyph flags. Since: 1.5.0

-
 

HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES

-

do not serialize glyph advances, - glyph offsets will reflect absolute glyph positions. Since: 1.8.0

-
 
-
-

Since: 0.9.20

-
-
-
-

enum hb_buffer_diff_flags_t

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

HB_BUFFER_DIFF_FLAG_EQUAL

  

HB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH

  

HB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH

  

HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT

  

HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT

  

HB_BUFFER_DIFF_FLAG_CODEPOINT_MISMATCH

  

HB_BUFFER_DIFF_FLAG_CLUSTER_MISMATCH

  

HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH

  

HB_BUFFER_DIFF_FLAG_POSITION_MISMATCH

  
-
-
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-Shaping.html b/harfbuzz-1.9.0/docs/html/harfbuzz-Shaping.html deleted file mode 100644 index a50c7618e..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-Shaping.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - -Shaping: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

Shaping

-

Shaping — Conversion of text strings into positioned glyphs

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - -
-hb_bool_t - -hb_feature_from_string () -
-void - -hb_feature_to_string () -
-void - -hb_shape () -
-hb_bool_t - -hb_shape_full () -
const char ** - -hb_shape_list_shapers () -
-
-
-

Types and Values

-
---- - - - - -
 hb_feature_t
-
-
-

Object Hierarchy

-
    GBoxed
-    ╰── hb_feature_t
-
-
-
-

Includes

-
#include <hb.h>
-
-
-
-

Description

-

Shaping is the central operation of HarfBuzz. Shaping operates on buffers, -which are sequences of Unicode characters that use the same font and have -the same text direction, script and language. After shaping the buffer -contains the output glyphs and their positions.

-
-
-

Functions

-
-

hb_feature_from_string ()

-
hb_bool_t
-hb_feature_from_string (const char *str,
-                        int len,
-                        hb_feature_t *feature);
-

Parses a string into a hb_feature_t.

-

TODO: document the syntax here.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

str

a string to parse.

[array length=len][element-type uint8_t]

len

length of str -, or -1 if string is NULL terminated

 

feature

the hb_feature_t to initialize with the parsed values.

[out]
-
-
-

Returns

-

true if str -is successfully parsed, false otherwise.

-
-

Since: 0.9.5

-
-
-
-

hb_feature_to_string ()

-
void
-hb_feature_to_string (hb_feature_t *feature,
-                      char *buf,
-                      unsigned int size);
-

Converts a hb_feature_t into a NULL-terminated string in the format -understood by hb_feature_from_string(). The client in responsible for -allocating big enough size for buf -, 128 bytes is more than enough.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - -

feature

an hb_feature_t to convert

 

buf

output string.

[array length=size][out]

size

the allocated size of buf -

 
-
-

Since: 0.9.5

-
-
-
-

hb_shape ()

-
void
-hb_shape (hb_font_t *font,
-          hb_buffer_t *buffer,
-          const hb_feature_t *features,
-          unsigned int num_features);
-

Shapes buffer - using font - turning its Unicode characters content to -positioned glyphs. If features - is not NULL, it will be used to control the -features applied during shaping.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

font

an hb_font_t to use for shaping

 

buffer

an hb_buffer_t to shape

 

features

an array of user -specified hb_feature_t or NULL.

[array length=num_features][allow-none]

num_features

the length of features -array

 
-
-

Since: 0.9.2

-
-
-
-

hb_shape_full ()

-
hb_bool_t
-hb_shape_full (hb_font_t *font,
-               hb_buffer_t *buffer,
-               const hb_feature_t *features,
-               unsigned int num_features,
-               const char * const *shaper_list);
-

See hb_shape() for details. If shaper_list - is not NULL, the specified -shapers will be used in the given order, otherwise the default shapers list -will be used.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

font

an hb_font_t to use for shaping

 

buffer

an hb_buffer_t to shape

 

features

an array of user -specified hb_feature_t or NULL.

[array length=num_features][allow-none]

num_features

the length of features -array

 

shaper_list

a NULL-terminated -array of shapers to use or NULL.

[array zero-terminated=1][allow-none]
-
-
-

Returns

-

false if all shapers failed, true otherwise

-
-

Since: 0.9.2

-
-
-
-

hb_shape_list_shapers ()

-
const char **
-hb_shape_list_shapers (void);
-

Retrieves the list of shapers supported by HarfBuzz.

-
-

Returns

-

an array of -constant strings.

-

[transfer none][array zero-terminated=1]

-
-

Since: 0.9.2

-
-
-
-

Types and Values

-
-

hb_feature_t

-
typedef struct {
-  hb_tag_t      tag;
-  uint32_t      value;
-  unsigned int  start;
-  unsigned int  end;
-} hb_feature_t;
-
-
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-common.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-common.html deleted file mode 100644 index 7db2c8b11..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-common.html +++ /dev/null @@ -1,766 +0,0 @@ - - - - -hb-common: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-common

-

hb-common

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-hb_tag_t - -hb_tag_from_string () -
-void - -hb_tag_to_string () -
-hb_direction_t - -hb_direction_from_string () -
const char * - -hb_direction_to_string () -
-hb_script_t - -hb_script_from_iso15924_tag () -
-hb_script_t - -hb_script_from_string () -
-hb_tag_t - -hb_script_to_iso15924_tag () -
-hb_direction_t - -hb_script_get_horizontal_direction () -
-hb_language_t - -hb_language_from_string () -
const char * - -hb_language_to_string () -
-hb_language_t - -hb_language_get_default () -
-void - -(*hb_destroy_func_t) () -
#define -HB_TAG() -
#define -HB_UNTAG() -
#define -HB_DIRECTION_REVERSE() -
#define -HB_DIRECTION_IS_BACKWARD() -
#define -HB_DIRECTION_IS_FORWARD() -
#define -HB_DIRECTION_IS_HORIZONTAL() -
#define -HB_DIRECTION_IS_VALID() -
#define -HB_DIRECTION_IS_VERTICAL() -
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
typedefhb_bool_t
typedefhb_codepoint_t
enumhb_direction_t
typedefhb_language_t
typedefhb_mask_t
typedefhb_position_t
typedefhb_tag_t
enumhb_script_t
 hb_user_data_key_t
 hb_var_int_t
#defineHB_TAG_NONE
#defineHB_TAG_MAX
#defineHB_TAG_MAX_SIGNED
#defineHB_LANGUAGE_INVALID
-
-
-

Object Hierarchy

-
    GBoxed
-    ╰── hb_user_data_key_t
-    GEnum
-    ├── hb_direction_t
-    ╰── hb_script_t
-
-
-
-

Description

-
-
-

Functions

-
-

hb_tag_from_string ()

-
hb_tag_t
-hb_tag_from_string (const char *str,
-                    int len);
-
-

Parameters

-
----- - - - - - -

str

.

[array length=len][element-type uint8_t]
-
-

Since: 0.9.2

-
-
-
-

hb_tag_to_string ()

-
void
-hb_tag_to_string (hb_tag_t tag,
-                  char *buf);
-
-

Parameters

-
----- - - - - - -

buf

.

[out caller-allocates][array fixed-size=4][element-type uint8_t]
-
-

Since: 0.9.5

-
-
-
-

hb_direction_from_string ()

-
hb_direction_t
-hb_direction_from_string (const char *str,
-                          int len);
-
-

Parameters

-
----- - - - - - -

str

.

[array length=len][element-type uint8_t]
-
-

Since: 0.9.2

-
-
-
-

hb_direction_to_string ()

-
const char *
-hb_direction_to_string (hb_direction_t direction);
-
-

Returns

-

.

-

[transfer none]

-
-

Since: 0.9.2

-
-
-
-

hb_script_from_iso15924_tag ()

-
hb_script_t
-hb_script_from_iso15924_tag (hb_tag_t tag);
-

Converts an ISO 15924 script tag to a corresponding hb_script_t.

-
-

Parameters

-
----- - - - - - -

tag

an hb_tag_t representing an ISO 15924 tag.

 
-
-
-

Returns

-

An hb_script_t corresponding to the ISO 15924 tag.

-
-

Since: 0.9.2

-
-
-
-

hb_script_from_string ()

-
hb_script_t
-hb_script_from_string (const char *str,
-                       int len);
-

Converts a string str - representing an ISO 15924 script tag to a -corresponding hb_script_t. Shorthand for hb_tag_from_string() then -hb_script_from_iso15924_tag().

-
-

Parameters

-
----- - - - - - - - - - - - - -

str

a string representing an -ISO 15924 tag.

[array length=len][element-type uint8_t]

len

length of the str -, or -1 if it is NULL-terminated.

 
-
-
-

Returns

-

An hb_script_t corresponding to the ISO 15924 tag.

-
-

Since: 0.9.2

-
-
-
-

hb_script_to_iso15924_tag ()

-
hb_tag_t
-hb_script_to_iso15924_tag (hb_script_t script);
-

See hb_script_from_iso15924_tag().

-
-

Parameters

-
----- - - - - - -

script

an hb_script_ to convert.

 
-
-
-

Returns

-

An hb_tag_t representing an ISO 15924 script tag.

-
-

Since: 0.9.2

-
-
-
-

hb_script_get_horizontal_direction ()

-
hb_direction_t
-hb_script_get_horizontal_direction (hb_script_t script);
-

Since: 0.9.2

-
-
-
-

hb_language_from_string ()

-
hb_language_t
-hb_language_from_string (const char *str,
-                         int len);
-

Converts str - representing an ISO 639 language code to the corresponding -hb_language_t.

-
-

Parameters

-
----- - - - - - - - - - - - - -

str

a string representing -ISO 639 language code.

[array length=len][element-type uint8_t]

len

length of the str -, or -1 if it is NULL-terminated.

 
-
-
-

Returns

-

The hb_language_t corresponding to the ISO 639 language code.

-

[transfer none]

-
-

Since: 0.9.2

-
-
-
-

hb_language_to_string ()

-
const char *
-hb_language_to_string (hb_language_t language);
-

See hb_language_from_string().

-
-

Parameters

-
----- - - - - - -

language

an hb_language_t to convert.

 
-
-
-

Returns

-

A NULL-terminated string representing the language -. Must not be freed by -the caller.

-

[transfer none]

-
-

Since: 0.9.2

-
-
-
-

hb_language_get_default ()

-
hb_language_t
-hb_language_get_default (void);
-
-

Returns

-

.

-

[transfer none]

-
-

Since: 0.9.2

-
-
-
-

hb_destroy_func_t ()

-
void
-(*hb_destroy_func_t) (void *user_data);
-
-
-
-

HB_TAG()

-
#define HB_TAG(c1,c2,c3,c4) ((hb_tag_t)((((uint8_t)(c1))<<24)|(((uint8_t)(c2))<<16)|(((uint8_t)(c3))<<8)|((uint8_t)(c4))))
-
-
-
-
-

HB_UNTAG()

-
#define HB_UNTAG(tag)   ((uint8_t)((tag)>>24)), ((uint8_t)((tag)>>16)), ((uint8_t)((tag)>>8)), ((uint8_t)(tag))
-
-
-
-
-

HB_DIRECTION_REVERSE()

-
#define HB_DIRECTION_REVERSE(dir) ((hb_direction_t) (((unsigned int) (dir)) ^ 1))
-
-
-
-
-

HB_DIRECTION_IS_BACKWARD()

-
#define HB_DIRECTION_IS_BACKWARD(dir) ((((unsigned int) (dir)) & ~2U) == 5)
-
-
-
-
-

HB_DIRECTION_IS_FORWARD()

-
#define HB_DIRECTION_IS_FORWARD(dir) ((((unsigned int) (dir)) & ~2U) == 4)
-
-
-
-
-

HB_DIRECTION_IS_HORIZONTAL()

-
#define HB_DIRECTION_IS_HORIZONTAL(dir) ((((unsigned int) (dir)) & ~1U) == 4)
-
-
-
-
-

HB_DIRECTION_IS_VALID()

-
#define HB_DIRECTION_IS_VALID(dir) ((((unsigned int) (dir)) & ~3U) == 4)
-
-
-
-
-

HB_DIRECTION_IS_VERTICAL()

-
#define HB_DIRECTION_IS_VERTICAL(dir) ((((unsigned int) (dir)) & ~1U) == 6)
-
-
-
-
-

Types and Values

-
-

hb_bool_t

-
typedef int hb_bool_t;
-
-
-
-
-

hb_codepoint_t

-
typedef uint32_t hb_codepoint_t;
-
-
-
-
-

enum hb_direction_t

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

HB_DIRECTION_INVALID

-

Initial, unset direction.

-
 

HB_DIRECTION_LTR

-

Text is set horizontally from left to right.

-
 

HB_DIRECTION_RTL

-

Text is set horizontally from right to left.

-
 

HB_DIRECTION_TTB

-

Text is set vertically from top to bottom.

-
 

HB_DIRECTION_BTT

-

Text is set vertically from bottom to top.

-
 
-
-
-
-
-

hb_language_t

-
typedef const struct hb_language_impl_t *hb_language_t;
-
-
-
-
-

hb_mask_t

-
typedef uint32_t hb_mask_t;
-
-
-
-
-

hb_position_t

-
typedef int32_t hb_position_t;
-
-
-
-
-

hb_tag_t

-
typedef uint32_t hb_tag_t;
-
-
-
-
-

enum hb_script_t

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

HB_SCRIPT_BASSA_VAH

  

HB_SCRIPT_ADLAM

  

HB_SCRIPT_MASARAM_GONDI

  

HB_SCRIPT_DOGRA

  

HB_SCRIPT_INVALID

  

_HB_SCRIPT_MAX_VALUE

  

_HB_SCRIPT_MAX_VALUE_SIGNED

  
-
-
-
-
-

hb_user_data_key_t

-
typedef struct {
-} hb_user_data_key_t;
-
-
-
-
-

hb_var_int_t

-
-
-
-

HB_TAG_NONE

-
#define HB_TAG_NONE HB_TAG(0,0,0,0)
-
-
-
-
-

HB_TAG_MAX

-
#define HB_TAG_MAX HB_TAG(0xff,0xff,0xff,0xff)
-
-
-
-
-

HB_TAG_MAX_SIGNED

-
#define HB_TAG_MAX_SIGNED HB_TAG(0x7f,0xff,0xff,0xff)
-
-
-
-
-

HB_LANGUAGE_INVALID

-
#define HB_LANGUAGE_INVALID ((hb_language_t) 0)
-
-
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-coretext.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-coretext.html deleted file mode 100644 index 24a7e112e..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-coretext.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - -hb-coretext: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-coretext

-

hb-coretext

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - -
-hb_face_t * - -hb_coretext_face_create () -
-hb_font_t * - -hb_coretext_font_create () -
-CGFontRef - -hb_coretext_face_get_cg_font () -
-CTFontRef - -hb_coretext_font_get_ct_font () -
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - -
#defineHB_CORETEXT_TAG_KERX
#defineHB_CORETEXT_TAG_MORT
#defineHB_CORETEXT_TAG_MORX
-
-
-

Description

-
-
-

Functions

-
-

hb_coretext_face_create ()

-
hb_face_t *
-hb_coretext_face_create (CGFontRef cg_font);
-
-
-
-

hb_coretext_font_create ()

-
hb_font_t *
-hb_coretext_font_create (CTFontRef ct_font);
-
-
-
-

hb_coretext_face_get_cg_font ()

-
CGFontRef
-hb_coretext_face_get_cg_font (hb_face_t *face);
-
-
-
-

hb_coretext_font_get_ct_font ()

-
CTFontRef
-hb_coretext_font_get_ct_font (hb_font_t *font);
-
-
-
-

Types and Values

-
-

HB_CORETEXT_TAG_KERX

-
#define HB_CORETEXT_TAG_KERX HB_TAG('k','e','r','x')
-
-
-
-
-

HB_CORETEXT_TAG_MORT

-
#define HB_CORETEXT_TAG_MORT HB_TAG('m','o','r','t')
-
-
-
-
-

HB_CORETEXT_TAG_MORX

-
#define HB_CORETEXT_TAG_MORX HB_TAG('m','o','r','x')
-
-
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-deprecated.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-deprecated.html deleted file mode 100644 index 60935e124..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-deprecated.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - -hb-deprecated: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-deprecated

-

hb-deprecated

-
-
-

Functions

-
---- - - - - - - - - - - - - - - -
-void - -hb_font_funcs_set_glyph_func () -
-hb_bool_t - -(*hb_font_get_glyph_func_t) () -
-void - -hb_set_invert () -
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - -
#defineHB_BUFFER_FLAGS_DEFAULT
#defineHB_BUFFER_SERIALIZE_FLAGS_DEFAULT
#defineHB_SCRIPT_CANADIAN_ABORIGINAL
-
-
-

Description

-
-
-

Functions

-
-

hb_font_funcs_set_glyph_func ()

-
void
-hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs,
-                              hb_font_get_glyph_func_t func,
-                              void *user_data,
-                              hb_destroy_func_t destroy);
-

hb_font_funcs_set_glyph_func has been deprecated since version 1.2.3 and should not be used in newly-written code.

-

Deprecated. Use hb_font_funcs_set_nominal_glyph_func() and -hb_font_funcs_set_variation_glyph_func() instead.

-
-

Parameters

-
----- - - - - - - - - - - - - -

ffuncs

font functions.

 

func

.

[closure user_data][destroy destroy][scope notified]
-
-

Since: 0.9.2

-
-
-
-

hb_font_get_glyph_func_t ()

-
hb_bool_t
-(*hb_font_get_glyph_func_t) (hb_font_t *font,
-                             void *font_data,
-                             hb_codepoint_t unicode,
-                             hb_codepoint_t variation_selector,
-                             hb_codepoint_t *glyph,
-                             void *user_data);
-

hb_font_get_glyph_func_t is deprecated and should not be used in newly-written code.

-
-
-
-

hb_set_invert ()

-
void
-hb_set_invert (hb_set_t *set);
-

hb_set_invert has been deprecated since version 1.6.1 and should not be used in newly-written code.

-
-

Parameters

-
----- - - - - - -

set

a set.

 
-
-

Since: 0.9.10

-
-
-
-

Types and Values

-
-

HB_BUFFER_FLAGS_DEFAULT

-
#define HB_BUFFER_FLAGS_DEFAULT			HB_BUFFER_FLAG_DEFAULT
-
-

HB_BUFFER_FLAGS_DEFAULT is deprecated and should not be used in newly-written code.

-
-
-
-

HB_BUFFER_SERIALIZE_FLAGS_DEFAULT

-
#define HB_BUFFER_SERIALIZE_FLAGS_DEFAULT HB_BUFFER_SERIALIZE_FLAG_DEFAULT
-
-

HB_BUFFER_SERIALIZE_FLAGS_DEFAULT is deprecated and should not be used in newly-written code.

-
-
-
-

HB_SCRIPT_CANADIAN_ABORIGINAL

-
#define HB_SCRIPT_CANADIAN_ABORIGINAL		HB_SCRIPT_CANADIAN_SYLLABICS
-
-

HB_SCRIPT_CANADIAN_ABORIGINAL is deprecated and should not be used in newly-written code.

-
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-face.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-face.html deleted file mode 100644 index 3385e39d8..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-face.html +++ /dev/null @@ -1,698 +0,0 @@ - - - - -hb-face: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-face

-

hb-face

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
unsigned int - -hb_face_count () -
-hb_face_t * - -hb_face_create () -
-hb_face_t * - -hb_face_create_for_tables () -
-void - -hb_face_destroy () -
-hb_face_t * - -hb_face_get_empty () -
unsigned int - -hb_face_get_table_tags () -
unsigned int - -hb_face_get_glyph_count () -
unsigned int - -hb_face_get_index () -
unsigned int - -hb_face_get_upem () -
-void * - -hb_face_get_user_data () -
-hb_bool_t - -hb_face_is_immutable () -
-void - -hb_face_make_immutable () -
-hb_face_t * - -hb_face_reference () -
-hb_blob_t * - -hb_face_reference_blob () -
-hb_blob_t * - -hb_face_reference_table () -
-void - -hb_face_set_glyph_count () -
-void - -hb_face_set_index () -
-void - -hb_face_set_upem () -
-hb_bool_t - -hb_face_set_user_data () -
-hb_bool_t - -hb_face_builder_add_table () -
-hb_face_t * - -hb_face_builder_create () -
-
-
-

Types and Values

-
---- - - - - -
typedefhb_face_t
-
-
-

Object Hierarchy

-
    GBoxed
-    ╰── hb_face_t
-
-
-
-

Description

-
-
-

Functions

-
-

hb_face_count ()

-
unsigned int
-hb_face_count (hb_blob_t *blob);
-
-
-
-

hb_face_create ()

-
hb_face_t *
-hb_face_create (hb_blob_t *blob,
-                unsigned int index);
-

[Xconstructor]

-
-

Returns

-

.

-

[transfer full]

-
-

Since: 0.9.2

-
-
-
-

hb_face_create_for_tables ()

-
hb_face_t *
-hb_face_create_for_tables (hb_reference_table_func_t reference_table_func,
-                           void *user_data,
-                           hb_destroy_func_t destroy);
-
-

Parameters

-
----- - - - - - -

reference_table_func

.

[closure user_data][destroy destroy][scope notified]
-
-
-

Returns

-

(transfer full)

-
-

Since: 0.9.2

-
-
-
-

hb_face_destroy ()

-
void
-hb_face_destroy (hb_face_t *face);
-

[skip]

-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-

Since: 0.9.2

-
-
-
-

hb_face_get_empty ()

-
hb_face_t *
-hb_face_get_empty (void);
-
-

Returns

-

(transfer full)

-
-

Since: 0.9.2

-
-
-
-

hb_face_get_table_tags ()

-
unsigned int
-hb_face_get_table_tags (const hb_face_t *face,
-                        unsigned int start_offset,
-                        unsigned int *table_count,
-                        hb_tag_t *table_tags);
-

Retrieves table tags for a face, if possible.

-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-
-

Returns

-

total number of tables, or 0 if not possible to list.

-
-

Since: 1.6.0

-
-
-
-

hb_face_get_glyph_count ()

-
unsigned int
-hb_face_get_glyph_count (const hb_face_t *face);
-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-

Since: 0.9.7

-
-
-
-

hb_face_get_index ()

-
unsigned int
-hb_face_get_index (const hb_face_t *face);
-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-

Since: 0.9.2

-
-
-
-

hb_face_get_upem ()

-
unsigned int
-hb_face_get_upem (const hb_face_t *face);
-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-

Since: 0.9.2

-
-
-
-

hb_face_get_user_data ()

-
void *
-hb_face_get_user_data (const hb_face_t *face,
-                       hb_user_data_key_t *key);
-

[skip]

-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-
-

Returns

-

.

-

[transfer none]

-
-

Since: 0.9.2

-
-
-
-

hb_face_is_immutable ()

-
hb_bool_t
-hb_face_is_immutable (const hb_face_t *face);
-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-

Since: 0.9.2

-
-
-
-

hb_face_make_immutable ()

-
void
-hb_face_make_immutable (hb_face_t *face);
-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-

Since: 0.9.2

-
-
-
-

hb_face_reference ()

-
hb_face_t *
-hb_face_reference (hb_face_t *face);
-

[skip]

-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-

Since: 0.9.2

-
-
-
-

hb_face_reference_blob ()

-
hb_blob_t *
-hb_face_reference_blob (hb_face_t *face);
-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-
-

Returns

-

.

-

[transfer full]

-
-

Since: 0.9.2

-
-
-
-

hb_face_reference_table ()

-
hb_blob_t *
-hb_face_reference_table (const hb_face_t *face,
-                         hb_tag_t tag);
-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-
-

Returns

-

.

-

[transfer full]

-
-

Since: 0.9.2

-
-
-
-

hb_face_set_glyph_count ()

-
void
-hb_face_set_glyph_count (hb_face_t *face,
-                         unsigned int glyph_count);
-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-

Since: 0.9.7

-
-
-
-

hb_face_set_index ()

-
void
-hb_face_set_index (hb_face_t *face,
-                   unsigned int index);
-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-

Since: 0.9.2

-
-
-
-

hb_face_set_upem ()

-
void
-hb_face_set_upem (hb_face_t *face,
-                  unsigned int upem);
-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-

Since: 0.9.2

-
-
-
-

hb_face_set_user_data ()

-
hb_bool_t
-hb_face_set_user_data (hb_face_t *face,
-                       hb_user_data_key_t *key,
-                       void *data,
-                       hb_destroy_func_t destroy,
-                       hb_bool_t replace);
-

[skip]

-
-

Parameters

-
----- - - - - - -

face

a face.

 
-
-

Since: 0.9.2

-
-
-
-

hb_face_builder_add_table ()

-
hb_bool_t
-hb_face_builder_add_table (hb_face_t *face,
-                           hb_tag_t tag,
-                           hb_blob_t *blob);
-

Add table for tag - with data provided by blob - to the face. face - must -be created using hb_face_builder_create().

-

Since: 1.9.0

-
-
-
-

hb_face_builder_create ()

-
hb_face_t *
-hb_face_builder_create (void);
-

Creates a hb_face_t that can be used with hb_face_builder_add_table(). -After tables are added to the face, it can be compiled to a binary -font file by calling hb_face_reference_blob().

-
-

Returns

-

(transfer full) New face.

-
-

Since: 1.9.0

-
-
-
-

Types and Values

-
-

hb_face_t

-
typedef struct hb_face_t hb_face_t;
-
-
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ft.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ft.html deleted file mode 100644 index c2ad492cb..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ft.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - -hb-ft: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-ft

-

hb-ft

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-hb_face_t * - -hb_ft_face_create () -
-hb_face_t * - -hb_ft_face_create_cached () -
-hb_face_t * - -hb_ft_face_create_referenced () -
-hb_font_t * - -hb_ft_font_create () -
-hb_font_t * - -hb_ft_font_create_referenced () -
-void - -hb_ft_font_changed () -
-FT_Face - -hb_ft_font_get_face () -
-void - -hb_ft_font_set_load_flags () -
-int - -hb_ft_font_get_load_flags () -
-void - -hb_ft_font_set_funcs () -
-
-
-

Description

-
-
-

Functions

-
-

hb_ft_face_create ()

-
hb_face_t *
-hb_ft_face_create (FT_Face ft_face,
-                   hb_destroy_func_t destroy);
-
-

Parameters

-
----- - - - - - -

ft_face

.

[destroy destroy][scope notified]
-
-
-

Returns

-

.

-

[transfer full]

-
-

Since: 0.9.2

-
-
-
-

hb_ft_face_create_cached ()

-
hb_face_t *
-hb_ft_face_create_cached (FT_Face ft_face);
-
-

Returns

-

.

-

[transfer full]

-
-

Since: 0.9.2

-
-
-
-

hb_ft_face_create_referenced ()

-
hb_face_t *
-hb_ft_face_create_referenced (FT_Face ft_face);
-
-

Returns

-

.

-

[transfer full]

-
-

Since: 0.9.38

-
-
-
-

hb_ft_font_create ()

-
hb_font_t *
-hb_ft_font_create (FT_Face ft_face,
-                   hb_destroy_func_t destroy);
-
-

Parameters

-
----- - - - - - -

ft_face

.

[destroy destroy][scope notified]
-
-
-

Returns

-

.

-

[transfer full]

-
-

Since: 0.9.2

-
-
-
-

hb_ft_font_create_referenced ()

-
hb_font_t *
-hb_ft_font_create_referenced (FT_Face ft_face);
-
-

Returns

-

.

-

[transfer full]

-
-

Since: 0.9.38

-
-
-
-

hb_ft_font_changed ()

-
void
-hb_ft_font_changed (hb_font_t *font);
-
-
-
-

hb_ft_font_get_face ()

-
FT_Face
-hb_ft_font_get_face (hb_font_t *font);
-
-
-
-

hb_ft_font_set_load_flags ()

-
void
-hb_ft_font_set_load_flags (hb_font_t *font,
-                           int load_flags);
-

Since: 1.0.5

-
-
-
-

hb_ft_font_get_load_flags ()

-
int
-hb_ft_font_get_load_flags (hb_font_t *font);
-

Since: 1.0.5

-
-
-
-

hb_ft_font_set_funcs ()

-
void
-hb_ft_font_set_funcs (hb_font_t *font);
-
-
-
-

Types and Values

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-glib.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-glib.html deleted file mode 100644 index 5db613193..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-glib.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - -hb-glib: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-glib

-

hb-glib

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - -
-hb_unicode_funcs_t * - -hb_glib_get_unicode_funcs () -
-GUnicodeScript - -hb_glib_script_from_script () -
-hb_script_t - -hb_glib_script_to_script () -
-hb_blob_t * - -hb_glib_blob_create () -
-
-
-

Description

-
-
-

Functions

-
-

hb_glib_get_unicode_funcs ()

-
hb_unicode_funcs_t *
-hb_glib_get_unicode_funcs (void);
-
-
-
-

hb_glib_script_from_script ()

-
GUnicodeScript
-hb_glib_script_from_script (hb_script_t script);
-
-
-
-

hb_glib_script_to_script ()

-
hb_script_t
-hb_glib_script_to_script (GUnicodeScript script);
-
-
-
-

hb_glib_blob_create ()

-
hb_blob_t *
-hb_glib_blob_create (GBytes *gbytes);
-

Since: 0.9.38

-
-
-
-

Types and Values

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-gobject.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-gobject.html deleted file mode 100644 index a69fa1245..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-gobject.html +++ /dev/null @@ -1,852 +0,0 @@ - - - - -hb-gobject: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-gobject

-

hb-gobject

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-GType - -hb_gobject_blob_get_type () -
-GType - -hb_gobject_buffer_content_type_get_type () -
-GType - -hb_gobject_buffer_diff_flags_get_type () -
-GType - -hb_gobject_buffer_flags_get_type () -
-GType - -hb_gobject_buffer_get_type () -
-GType - -hb_gobject_buffer_serialize_flags_get_type () -
-GType - -hb_gobject_buffer_serialize_format_get_type () -
-GType - -hb_gobject_direction_get_type () -
-GType - -hb_gobject_face_get_type () -
-GType - -hb_gobject_font_funcs_get_type () -
-GType - -hb_gobject_font_get_type () -
-GType - -hb_gobject_glyph_flags_get_type () -
-GType - -hb_gobject_map_get_type () -
-GType - -hb_gobject_memory_mode_get_type () -
-GType - -hb_gobject_ot_layout_glyph_class_get_type () -
-GType - -hb_gobject_ot_math_constant_get_type () -
-GType - -hb_gobject_ot_math_glyph_part_get_type () -
-GType - -hb_gobject_ot_math_glyph_part_flags_get_type () -
-GType - -hb_gobject_ot_math_glyph_variant_get_type () -
-GType - -hb_gobject_ot_math_kern_get_type () -
-GType - -hb_gobject_script_get_type () -
-GType - -hb_gobject_shape_plan_get_type () -
-GType - -hb_gobject_unicode_combining_class_get_type () -
-GType - -hb_gobject_unicode_funcs_get_type () -
-GType - -hb_gobject_unicode_general_category_get_type () -
-GType - -hb_gobject_buffer_cluster_level_get_type () -
-GType - -hb_gobject_feature_get_type () -
-GType - -hb_gobject_glyph_info_get_type () -
-GType - -hb_gobject_glyph_position_get_type () -
-GType - -hb_gobject_segment_properties_get_type () -
-GType - -hb_gobject_set_get_type () -
-GType - -hb_gobject_user_data_key_get_type () -
-
- -
-

Description

-
-
-

Functions

-
-

hb_gobject_blob_get_type ()

-
GType
-hb_gobject_blob_get_type (void);
-

Since: 0.9.2

-
-
-
-

hb_gobject_buffer_content_type_get_type ()

-
GType
-hb_gobject_buffer_content_type_get_type
-                               (void);
-
-
-
-

hb_gobject_buffer_diff_flags_get_type ()

-
GType
-hb_gobject_buffer_diff_flags_get_type (void);
-
-
-
-

hb_gobject_buffer_flags_get_type ()

-
GType
-hb_gobject_buffer_flags_get_type (void);
-
-
-
-

hb_gobject_buffer_get_type ()

-
GType
-hb_gobject_buffer_get_type (void);
-

Since: 0.9.2

-
-
-
-

hb_gobject_buffer_serialize_flags_get_type ()

-
GType
-hb_gobject_buffer_serialize_flags_get_type
-                               (void);
-
-
-
-

hb_gobject_buffer_serialize_format_get_type ()

-
GType
-hb_gobject_buffer_serialize_format_get_type
-                               (void);
-
-
-
-

hb_gobject_direction_get_type ()

-
GType
-hb_gobject_direction_get_type (void);
-
-
-
-

hb_gobject_face_get_type ()

-
GType
-hb_gobject_face_get_type (void);
-

Since: 0.9.2

-
-
-
-

hb_gobject_font_funcs_get_type ()

-
GType
-hb_gobject_font_funcs_get_type (void);
-

Since: 0.9.2

-
-
-
-

hb_gobject_font_get_type ()

-
GType
-hb_gobject_font_get_type (void);
-

Since: 0.9.2

-
-
-
-

hb_gobject_glyph_flags_get_type ()

-
GType
-hb_gobject_glyph_flags_get_type (void);
-
-
-
-

hb_gobject_map_get_type ()

-
GType
-hb_gobject_map_get_type (void);
-
-
-
-

hb_gobject_memory_mode_get_type ()

-
GType
-hb_gobject_memory_mode_get_type (void);
-
-
-
-

hb_gobject_ot_layout_glyph_class_get_type ()

-
GType
-hb_gobject_ot_layout_glyph_class_get_type
-                               (void);
-
-
-
-

hb_gobject_ot_math_constant_get_type ()

-
GType
-hb_gobject_ot_math_constant_get_type (void);
-
-
-
-

hb_gobject_ot_math_glyph_part_get_type ()

-
GType
-hb_gobject_ot_math_glyph_part_get_type
-                               (void);
-
-
-
-

hb_gobject_ot_math_glyph_part_flags_get_type ()

-
GType
-hb_gobject_ot_math_glyph_part_flags_get_type
-                               (void);
-
-
-
-

hb_gobject_ot_math_glyph_variant_get_type ()

-
GType
-hb_gobject_ot_math_glyph_variant_get_type
-                               (void);
-
-
-
-

hb_gobject_ot_math_kern_get_type ()

-
GType
-hb_gobject_ot_math_kern_get_type (void);
-
-
-
-

hb_gobject_script_get_type ()

-
GType
-hb_gobject_script_get_type (void);
-
-
-
-

hb_gobject_shape_plan_get_type ()

-
GType
-hb_gobject_shape_plan_get_type (void);
-
-
-
-

hb_gobject_unicode_combining_class_get_type ()

-
GType
-hb_gobject_unicode_combining_class_get_type
-                               (void);
-
-
-
-

hb_gobject_unicode_funcs_get_type ()

-
GType
-hb_gobject_unicode_funcs_get_type (void);
-

Since: 0.9.2

-
-
-
-

hb_gobject_unicode_general_category_get_type ()

-
GType
-hb_gobject_unicode_general_category_get_type
-                               (void);
-
-
-
-

hb_gobject_buffer_cluster_level_get_type ()

-
GType
-hb_gobject_buffer_cluster_level_get_type
-                               (void);
-
-
-
-

hb_gobject_feature_get_type ()

-
GType
-hb_gobject_feature_get_type (void);
-
-
-
-

hb_gobject_glyph_info_get_type ()

-
GType
-hb_gobject_glyph_info_get_type (void);
-
-
-
-

hb_gobject_glyph_position_get_type ()

-
GType
-hb_gobject_glyph_position_get_type (void);
-
-
-
-

hb_gobject_segment_properties_get_type ()

-
GType
-hb_gobject_segment_properties_get_type
-                               (void);
-
-
-
-

hb_gobject_set_get_type ()

-
GType
-hb_gobject_set_get_type (void);
-
-
-
-

hb_gobject_user_data_key_get_type ()

-
GType
-hb_gobject_user_data_key_get_type (void);
-
-
-
-

Types and Values

-
-

HB_GOBJECT_TYPE_BLOB

-
#define HB_GOBJECT_TYPE_BLOB (hb_gobject_blob_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_BUFFER

-
#define HB_GOBJECT_TYPE_BUFFER (hb_gobject_buffer_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE

-
#define HB_GOBJECT_TYPE_BUFFER_CONTENT_TYPE (hb_gobject_buffer_content_type_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS

-
#define HB_GOBJECT_TYPE_BUFFER_DIFF_FLAGS (hb_gobject_buffer_diff_flags_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_BUFFER_FLAGS

-
#define HB_GOBJECT_TYPE_BUFFER_FLAGS (hb_gobject_buffer_flags_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS

-
#define HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FLAGS (hb_gobject_buffer_serialize_flags_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT

-
#define HB_GOBJECT_TYPE_BUFFER_SERIALIZE_FORMAT (hb_gobject_buffer_serialize_format_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_DIRECTION

-
#define HB_GOBJECT_TYPE_DIRECTION (hb_gobject_direction_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_FACE

-
#define HB_GOBJECT_TYPE_FACE (hb_gobject_face_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_FONT

-
#define HB_GOBJECT_TYPE_FONT (hb_gobject_font_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_FONT_FUNCS

-
#define HB_GOBJECT_TYPE_FONT_FUNCS (hb_gobject_font_funcs_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_GLYPH_FLAGS

-
#define HB_GOBJECT_TYPE_GLYPH_FLAGS (hb_gobject_glyph_flags_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_MAP

-
#define HB_GOBJECT_TYPE_MAP (hb_gobject_map_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_MEMORY_MODE

-
#define HB_GOBJECT_TYPE_MEMORY_MODE (hb_gobject_memory_mode_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS

-
#define HB_GOBJECT_TYPE_OT_LAYOUT_GLYPH_CLASS (hb_gobject_ot_layout_glyph_class_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_OT_MATH_CONSTANT

-
#define HB_GOBJECT_TYPE_OT_MATH_CONSTANT (hb_gobject_ot_math_constant_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART

-
#define HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART (hb_gobject_ot_math_glyph_part_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS

-
#define HB_GOBJECT_TYPE_OT_MATH_GLYPH_PART_FLAGS (hb_gobject_ot_math_glyph_part_flags_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT

-
#define HB_GOBJECT_TYPE_OT_MATH_GLYPH_VARIANT (hb_gobject_ot_math_glyph_variant_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_OT_MATH_KERN

-
#define HB_GOBJECT_TYPE_OT_MATH_KERN (hb_gobject_ot_math_kern_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_SCRIPT

-
#define HB_GOBJECT_TYPE_SCRIPT (hb_gobject_script_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_SHAPE_PLAN

-
#define HB_GOBJECT_TYPE_SHAPE_PLAN (hb_gobject_shape_plan_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS

-
#define HB_GOBJECT_TYPE_UNICODE_COMBINING_CLASS (hb_gobject_unicode_combining_class_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_UNICODE_FUNCS

-
#define HB_GOBJECT_TYPE_UNICODE_FUNCS (hb_gobject_unicode_funcs_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY

-
#define HB_GOBJECT_TYPE_UNICODE_GENERAL_CATEGORY (hb_gobject_unicode_general_category_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL

-
#define HB_GOBJECT_TYPE_BUFFER_CLUSTER_LEVEL (hb_gobject_buffer_cluster_level_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_FEATURE

-
#define HB_GOBJECT_TYPE_FEATURE (hb_gobject_feature_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_GLYPH_INFO

-
#define HB_GOBJECT_TYPE_GLYPH_INFO (hb_gobject_glyph_info_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_GLYPH_POSITION

-
#define HB_GOBJECT_TYPE_GLYPH_POSITION (hb_gobject_glyph_position_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_SEGMENT_PROPERTIES

-
#define HB_GOBJECT_TYPE_SEGMENT_PROPERTIES (hb_gobject_segment_properties_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_SET

-
#define HB_GOBJECT_TYPE_SET (hb_gobject_set_get_type ())
-
-
-
-
-

HB_GOBJECT_TYPE_USER_DATA_KEY

-
#define HB_GOBJECT_TYPE_USER_DATA_KEY (hb_gobject_user_data_key_get_type ())
-
-
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-graphite2.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-graphite2.html deleted file mode 100644 index 88904e557..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-graphite2.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - -hb-graphite2: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-graphite2

-

hb-graphite2

-
-
-

Functions

-
---- - - - - - - - - - - -
-gr_face * - -hb_graphite2_face_get_gr_face () -
-gr_font * - -hb_graphite2_font_get_gr_font () -
-
-
-

Types and Values

-
---- - - - - -
#defineHB_GRAPHITE2_TAG_SILF
-
-
-

Description

-
-
-

Functions

-
-

hb_graphite2_face_get_gr_face ()

-
gr_face *
-hb_graphite2_face_get_gr_face (hb_face_t *face);
-
-
-
-

hb_graphite2_font_get_gr_font ()

-
gr_font *
-hb_graphite2_font_get_gr_font (hb_font_t *font);
-

hb_graphite2_font_get_gr_font is deprecated and should not be used in newly-written code.

-
-
-
-

Types and Values

-
-

HB_GRAPHITE2_TAG_SILF

-
#define HB_GRAPHITE2_TAG_SILF HB_TAG('S','i','l','f')
-
-
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-icu.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-icu.html deleted file mode 100644 index 25a5cd6e2..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-icu.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - -hb-icu: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-icu

-

hb-icu

-
-
-

Functions

-
---- - - - - - - - - - - - - - - -
-hb_unicode_funcs_t * - -hb_icu_get_unicode_funcs () -
-UScriptCode - -hb_icu_script_from_script () -
-hb_script_t - -hb_icu_script_to_script () -
-
-
-

Description

-
-
-

Functions

-
-

hb_icu_get_unicode_funcs ()

-
hb_unicode_funcs_t *
-hb_icu_get_unicode_funcs (void);
-
-
-
-

hb_icu_script_from_script ()

-
UScriptCode
-hb_icu_script_from_script (hb_script_t script);
-
-
-
-

hb_icu_script_to_script ()

-
hb_script_t
-hb_icu_script_to_script (UScriptCode script);
-
-
-
-

Types and Values

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-font.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-font.html deleted file mode 100644 index f1254f534..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-font.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - -hb-ot-font: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-ot-font

-

hb-ot-font

-
-
-

Functions

-
---- - - - - -
-void - -hb_ot_font_set_funcs () -
-
-
-

Description

-
-
-

Functions

-
-

hb_ot_font_set_funcs ()

-
void
-hb_ot_font_set_funcs (hb_font_t *font);
-

Since: 0.9.28

-
-
-
-

Types and Values

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-layout.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-layout.html deleted file mode 100644 index a284eeabe..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-layout.html +++ /dev/null @@ -1,759 +0,0 @@ - - - - -hb-ot-layout: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-ot-layout

-

hb-ot-layout

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-void - -hb_ot_layout_collect_lookups () -
-void - -hb_ot_layout_collect_features () -
unsigned int - -hb_ot_layout_feature_get_lookups () -
unsigned int - -hb_ot_layout_feature_with_variations_get_lookups () -
unsigned int - -hb_ot_layout_get_attach_points () -
-hb_ot_layout_glyph_class_t - -hb_ot_layout_get_glyph_class () -
-void - -hb_ot_layout_get_glyphs_in_class () -
unsigned int - -hb_ot_layout_get_ligature_carets () -
-hb_bool_t - -hb_ot_layout_get_size_params () -
-hb_bool_t - -(*hb_ot_layout_glyph_sequence_func_t) () -
-hb_bool_t - -hb_ot_layout_has_glyph_classes () -
-hb_bool_t - -hb_ot_layout_has_positioning () -
-hb_bool_t - -hb_ot_layout_has_substitution () -
-hb_bool_t - -hb_ot_layout_language_find_feature () -
unsigned int - -hb_ot_layout_language_get_feature_indexes () -
unsigned int - -hb_ot_layout_language_get_feature_tags () -
-hb_bool_t - -hb_ot_layout_language_get_required_feature () -
-void - -hb_ot_layout_lookup_collect_glyphs () -
-void - -hb_ot_layout_lookup_substitute_closure () -
-void - -hb_ot_layout_lookups_substitute_closure () -
-hb_bool_t - -hb_ot_layout_lookup_would_substitute () -
-hb_bool_t - -hb_ot_layout_script_find_language () -
unsigned int - -hb_ot_layout_script_get_language_tags () -
-hb_bool_t - -hb_ot_layout_table_choose_script () -
-hb_bool_t - -hb_ot_layout_table_find_feature_variations () -
-hb_bool_t - -hb_ot_layout_table_find_script () -
unsigned int - -hb_ot_layout_table_get_feature_tags () -
unsigned int - -hb_ot_layout_table_get_script_tags () -
unsigned int - -hb_ot_layout_table_get_lookup_count () -
-void - -hb_ot_shape_plan_collect_lookups () -
-hb_bool_t - -hb_ot_layout_language_get_required_feature_index () -
-
-
-

Types and Values

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#defineHB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX
#defineHB_OT_LAYOUT_NO_FEATURE_INDEX
#defineHB_OT_LAYOUT_NO_SCRIPT_INDEX
#defineHB_OT_LAYOUT_NO_VARIATIONS_INDEX
#defineHB_OT_TAG_GDEF
#defineHB_OT_TAG_GPOS
#defineHB_OT_TAG_GSUB
#defineHB_OT_TAG_JSTF
enumhb_ot_layout_glyph_class_t
-
-
-

Object Hierarchy

-
    GEnum
-    ╰── hb_ot_layout_glyph_class_t
-
-
-
-

Description

-
-
-

Functions

-
-

hb_ot_layout_collect_lookups ()

-
void
-hb_ot_layout_collect_lookups (hb_face_t *face,
-                              hb_tag_t table_tag,
-                              const hb_tag_t *scripts,
-                              const hb_tag_t *languages,
-                              const hb_tag_t *features,
-                              hb_set_t *lookup_indexes);
-

Since: 0.9.8

-
-
-
-

hb_ot_layout_collect_features ()

-
void
-hb_ot_layout_collect_features (hb_face_t *face,
-                               hb_tag_t table_tag,
-                               const hb_tag_t *scripts,
-                               const hb_tag_t *languages,
-                               const hb_tag_t *features,
-                               hb_set_t *feature_indexes);
-

Since: 1.8.5

-
-
-
-

hb_ot_layout_feature_get_lookups ()

-
unsigned int
-hb_ot_layout_feature_get_lookups (hb_face_t *face,
-                                  hb_tag_t table_tag,
-                                  unsigned int feature_index,
-                                  unsigned int start_offset,
-                                  unsigned int *lookup_count,
-                                  unsigned int *lookup_indexes);
-

Since: 0.9.7

-
-
-
-

hb_ot_layout_feature_with_variations_get_lookups ()

-
unsigned int
-hb_ot_layout_feature_with_variations_get_lookups
-                               (hb_face_t *face,
-                                hb_tag_t table_tag,
-                                unsigned int feature_index,
-                                unsigned int variations_index,
-                                unsigned int start_offset,
-                                unsigned int *lookup_count,
-                                unsigned int *lookup_indexes);
-
-
-
-

hb_ot_layout_get_attach_points ()

-
unsigned int
-hb_ot_layout_get_attach_points (hb_face_t *face,
-                                hb_codepoint_t glyph,
-                                unsigned int start_offset,
-                                unsigned int *point_count,
-                                unsigned int *point_array);
-
-
-
-

hb_ot_layout_get_glyph_class ()

-
hb_ot_layout_glyph_class_t
-hb_ot_layout_get_glyph_class (hb_face_t *face,
-                              hb_codepoint_t glyph);
-

Since: 0.9.7

-
-
-
-

hb_ot_layout_get_glyphs_in_class ()

-
void
-hb_ot_layout_get_glyphs_in_class (hb_face_t *face,
-                                  hb_ot_layout_glyph_class_t klass,
-                                  hb_set_t *glyphs);
-

Since: 0.9.7

-
-
-
-

hb_ot_layout_get_ligature_carets ()

-
unsigned int
-hb_ot_layout_get_ligature_carets (hb_font_t *font,
-                                  hb_direction_t direction,
-                                  hb_codepoint_t glyph,
-                                  unsigned int start_offset,
-                                  unsigned int *caret_count,
-                                  hb_position_t *caret_array);
-
-
-
-

hb_ot_layout_get_size_params ()

-
hb_bool_t
-hb_ot_layout_get_size_params (hb_face_t *face,
-                              unsigned int *design_size,
-                              unsigned int *subfamily_id,
-                              unsigned int *subfamily_name_id,
-                              unsigned int *range_start,
-                              unsigned int *range_end);
-

Since: 0.9.10

-
-
-
-

hb_ot_layout_glyph_sequence_func_t ()

-
hb_bool_t
-(*hb_ot_layout_glyph_sequence_func_t) (hb_font_t *font,
-                                       hb_tag_t table_tag,
-                                       unsigned int lookup_index,
-                                       const hb_ot_layout_glyph_sequence_t *sequence,
-                                       void *user_data);
-
-
-
-

hb_ot_layout_has_glyph_classes ()

-
hb_bool_t
-hb_ot_layout_has_glyph_classes (hb_face_t *face);
-
-
-
-

hb_ot_layout_has_positioning ()

-
hb_bool_t
-hb_ot_layout_has_positioning (hb_face_t *face);
-
-
-
-

hb_ot_layout_has_substitution ()

-
hb_bool_t
-hb_ot_layout_has_substitution (hb_face_t *face);
-
-
-
-

hb_ot_layout_language_find_feature ()

-
hb_bool_t
-hb_ot_layout_language_find_feature (hb_face_t *face,
-                                    hb_tag_t table_tag,
-                                    unsigned int script_index,
-                                    unsigned int language_index,
-                                    hb_tag_t feature_tag,
-                                    unsigned int *feature_index);
-
-
-
-

hb_ot_layout_language_get_feature_indexes ()

-
unsigned int
-hb_ot_layout_language_get_feature_indexes
-                               (hb_face_t *face,
-                                hb_tag_t table_tag,
-                                unsigned int script_index,
-                                unsigned int language_index,
-                                unsigned int start_offset,
-                                unsigned int *feature_count,
-                                unsigned int *feature_indexes);
-
-
-
-

hb_ot_layout_language_get_feature_tags ()

-
unsigned int
-hb_ot_layout_language_get_feature_tags
-                               (hb_face_t *face,
-                                hb_tag_t table_tag,
-                                unsigned int script_index,
-                                unsigned int language_index,
-                                unsigned int start_offset,
-                                unsigned int *feature_count,
-                                hb_tag_t *feature_tags);
-
-
-
-

hb_ot_layout_language_get_required_feature ()

-
hb_bool_t
-hb_ot_layout_language_get_required_feature
-                               (hb_face_t *face,
-                                hb_tag_t table_tag,
-                                unsigned int script_index,
-                                unsigned int language_index,
-                                unsigned int *feature_index,
-                                hb_tag_t *feature_tag);
-

Since: 0.9.30

-
-
-
-

hb_ot_layout_lookup_collect_glyphs ()

-
void
-hb_ot_layout_lookup_collect_glyphs (hb_face_t *face,
-                                    hb_tag_t table_tag,
-                                    unsigned int lookup_index,
-                                    hb_set_t *glyphs_before,
-                                    hb_set_t *glyphs_input,
-                                    hb_set_t *glyphs_after,
-                                    hb_set_t *glyphs_output);
-

Since: 0.9.7

-
-
-
-

hb_ot_layout_lookup_substitute_closure ()

-
void
-hb_ot_layout_lookup_substitute_closure
-                               (hb_face_t *face,
-                                unsigned int lookup_index,
-                                hb_set_t *glyphs);
-

Since: 0.9.7

-
-
-
-

hb_ot_layout_lookups_substitute_closure ()

-
void
-hb_ot_layout_lookups_substitute_closure
-                               (hb_face_t *face,
-                                const hb_set_t *lookups,
-                                hb_set_t *glyphs);
-

Compute the transitive closure of glyphs needed for all of the -provided lookups.

-

Since: 1.8.1

-
-
-
-

hb_ot_layout_lookup_would_substitute ()

-
hb_bool_t
-hb_ot_layout_lookup_would_substitute (hb_face_t *face,
-                                      unsigned int lookup_index,
-                                      const hb_codepoint_t *glyphs,
-                                      unsigned int glyphs_length,
-                                      hb_bool_t zero_context);
-

Since: 0.9.7

-
-
-
-

hb_ot_layout_script_find_language ()

-
hb_bool_t
-hb_ot_layout_script_find_language (hb_face_t *face,
-                                   hb_tag_t table_tag,
-                                   unsigned int script_index,
-                                   hb_tag_t language_tag,
-                                   unsigned int *language_index);
-
-
-
-

hb_ot_layout_script_get_language_tags ()

-
unsigned int
-hb_ot_layout_script_get_language_tags (hb_face_t *face,
-                                       hb_tag_t table_tag,
-                                       unsigned int script_index,
-                                       unsigned int start_offset,
-                                       unsigned int *language_count,
-                                       hb_tag_t *language_tags);
-
-
-
-

hb_ot_layout_table_choose_script ()

-
hb_bool_t
-hb_ot_layout_table_choose_script (hb_face_t *face,
-                                  hb_tag_t table_tag,
-                                  const hb_tag_t *script_tags,
-                                  unsigned int *script_index,
-                                  hb_tag_t *chosen_script);
-
-
-
-

hb_ot_layout_table_find_feature_variations ()

-
hb_bool_t
-hb_ot_layout_table_find_feature_variations
-                               (hb_face_t *face,
-                                hb_tag_t table_tag,
-                                const int *coords,
-                                unsigned int num_coords,
-                                unsigned int *variations_index);
-
-
-
-

hb_ot_layout_table_find_script ()

-
hb_bool_t
-hb_ot_layout_table_find_script (hb_face_t *face,
-                                hb_tag_t table_tag,
-                                hb_tag_t script_tag,
-                                unsigned int *script_index);
-
-
-
-

hb_ot_layout_table_get_feature_tags ()

-
unsigned int
-hb_ot_layout_table_get_feature_tags (hb_face_t *face,
-                                     hb_tag_t table_tag,
-                                     unsigned int start_offset,
-                                     unsigned int *feature_count,
-                                     hb_tag_t *feature_tags);
-
-
-
-

hb_ot_layout_table_get_script_tags ()

-
unsigned int
-hb_ot_layout_table_get_script_tags (hb_face_t *face,
-                                    hb_tag_t table_tag,
-                                    unsigned int start_offset,
-                                    unsigned int *script_count,
-                                    hb_tag_t *script_tags);
-
-
-
-

hb_ot_layout_table_get_lookup_count ()

-
unsigned int
-hb_ot_layout_table_get_lookup_count (hb_face_t *face,
-                                     hb_tag_t table_tag);
-

Since: 0.9.22

-
-
-
-

hb_ot_shape_plan_collect_lookups ()

-
void
-hb_ot_shape_plan_collect_lookups (hb_shape_plan_t *shape_plan,
-                                  hb_tag_t table_tag,
-                                  hb_set_t *lookup_indexes);
-

Since: 0.9.7

-
-
-
-

hb_ot_layout_language_get_required_feature_index ()

-
hb_bool_t
-hb_ot_layout_language_get_required_feature_index
-                               (hb_face_t *face,
-                                hb_tag_t table_tag,
-                                unsigned int script_index,
-                                unsigned int language_index,
-                                unsigned int *feature_index);
-
-
-
-

Types and Values

-
-

HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX

-
#define HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX 0xFFFFu
-
-
-
-
-

HB_OT_LAYOUT_NO_FEATURE_INDEX

-
#define HB_OT_LAYOUT_NO_FEATURE_INDEX		0xFFFFu
-
-
-
-
-

HB_OT_LAYOUT_NO_SCRIPT_INDEX

-
#define HB_OT_LAYOUT_NO_SCRIPT_INDEX		0xFFFFu
-
-
-
-
-

HB_OT_LAYOUT_NO_VARIATIONS_INDEX

-
#define HB_OT_LAYOUT_NO_VARIATIONS_INDEX 0xFFFFFFFFu
-
-
-
-
-

HB_OT_TAG_GDEF

-
#define HB_OT_TAG_GDEF HB_TAG('G','D','E','F')
-
-
-
-
-

HB_OT_TAG_GPOS

-
#define HB_OT_TAG_GPOS HB_TAG('G','P','O','S')
-
-
-
-
-

HB_OT_TAG_GSUB

-
#define HB_OT_TAG_GSUB HB_TAG('G','S','U','B')
-
-
-
-
-

HB_OT_TAG_JSTF

-
#define HB_OT_TAG_JSTF HB_TAG('J','S','T','F')
-
-
-
-
-

enum hb_ot_layout_glyph_class_t

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED

  

HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH

  

HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE

  

HB_OT_LAYOUT_GLYPH_CLASS_MARK

  

HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT

  
-
-
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-math.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-math.html deleted file mode 100644 index 0c85bddee..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-math.html +++ /dev/null @@ -1,961 +0,0 @@ - - - - -hb-ot-math: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-ot-math

-

hb-ot-math

-
- -
-

Types and Values

-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#defineHB_OT_TAG_MATH
#defineHB_OT_MATH_SCRIPT
enumhb_ot_math_constant_t
enumhb_ot_math_kern_t
 hb_ot_math_glyph_variant_t
enumhb_ot_math_glyph_part_flags_t
 hb_ot_math_glyph_part_t
-
-
-

Object Hierarchy

-
    GBoxed
-    ├── hb_ot_math_glyph_part_t
-    ╰── hb_ot_math_glyph_variant_t
-    GEnum
-    ├── hb_ot_math_constant_t
-    ╰── hb_ot_math_kern_t
-    GFlags
-    ╰── hb_ot_math_glyph_part_flags_t
-
-
-
-

Description

-
-
-

Functions

-
-

hb_ot_math_has_data ()

-
hb_bool_t
-hb_ot_math_has_data (hb_face_t *face);
-

This function allows to verify the presence of an OpenType MATH table on the -face.

-
-

Parameters

-
----- - - - - - -

face

hb_face_t to test

 
-
-
-

Returns

-

true if face has a MATH table, false otherwise

-
-

Since: 1.3.3

-
-
-
-

hb_ot_math_get_constant ()

-
hb_position_t
-hb_ot_math_get_constant (hb_font_t *font,
-                         hb_ot_math_constant_t constant);
-

This function returns the requested math constants as a hb_position_t. -If the request constant is HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN, -HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN or -HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN then the return value is -actually an integer between 0 and 100 representing that percentage.

-
-

Parameters

-
----- - - - - - - - - - - - - -

font

hb_font_t from which to retrieve the value

 

constant

hb_ot_math_constant_t the constant to retrieve

 
-
-
-

Returns

-

the requested constant or 0

-
-

Since: 1.3.3

-
-
-
-

hb_ot_math_get_glyph_italics_correction ()

-
hb_position_t
-hb_ot_math_get_glyph_italics_correction
-                               (hb_font_t *font,
-                                hb_codepoint_t glyph);
-
-

Parameters

-
----- - - - - - - - - - - - - -

font

hb_font_t from which to retrieve the value

 

glyph

glyph index from which to retrieve the value

 
-
-
-

Returns

-

the italics correction of the glyph or 0

-
-

Since: 1.3.3

-
-
-
-

hb_ot_math_get_glyph_top_accent_attachment ()

-
hb_position_t
-hb_ot_math_get_glyph_top_accent_attachment
-                               (hb_font_t *font,
-                                hb_codepoint_t glyph);
-
-

Parameters

-
----- - - - - - - - - - - - - -

font

hb_font_t from which to retrieve the value

 

glyph

glyph index from which to retrieve the value

 
-
-
-

Returns

-

the top accent attachment of the glyph or 0

-
-

Since: 1.3.3

-
-
-
-

hb_ot_math_get_glyph_kerning ()

-
hb_position_t
-hb_ot_math_get_glyph_kerning (hb_font_t *font,
-                              hb_codepoint_t glyph,
-                              hb_ot_math_kern_t kern,
-                              hb_position_t correction_height);
-

This function tries to retrieve the MathKern table for the specified font, -glyph and hb_ot_math_kern_t. Then it browses the list of heights from the -MathKern table to find one value that is greater or equal to specified -correction_height. If one is found the corresponding value from the list of -kerns is returned and otherwise the last kern value is returned.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - -

font

hb_font_t from which to retrieve the value

 

glyph

glyph index from which to retrieve the value

 

kern

the hb_ot_math_kern_t from which to retrieve the value

 

correction_height

the correction height to use to determine the kerning.

 
-
-
-

Returns

-

requested kerning or 0

-
-

Since: 1.3.3

-
-
-
-

hb_ot_math_is_glyph_extended_shape ()

-
hb_bool_t
-hb_ot_math_is_glyph_extended_shape (hb_face_t *face,
-                                    hb_codepoint_t glyph);
-
-

Parameters

-
----- - - - - - - - - - - - - -

face

a hb_face_t to test

 

glyph

a glyph index to test

 
-
-
-

Returns

-

true if the glyph is an extended shape, false otherwise

-
-

Since: 1.3.3

-
-
-
-

hb_ot_math_get_glyph_variants ()

-
unsigned int
-hb_ot_math_get_glyph_variants (hb_font_t *font,
-                               hb_codepoint_t glyph,
-                               hb_direction_t direction,
-                               unsigned int start_offset,
-                               unsigned int *variants_count,
-                               hb_ot_math_glyph_variant_t *variants);
-

This function tries to retrieve the MathGlyphConstruction for the specified -font, glyph and direction. Note that only the value of -HB_DIRECTION_IS_HORIZONTAL is considered. It provides the corresponding list -of size variants as an array of hb_ot_math_glyph_variant_t structs.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

font

hb_font_t from which to retrieve the values

 

glyph

index of the glyph to stretch

 

direction

direction of the stretching

 

start_offset

offset of the first variant to retrieve

 

variants_count

maximum number of variants to retrieve after start_offset -(IN) and actual number of variants retrieved (OUT)

 

variants

array of size at least variants_count -to store the result

 
-
-
-

Returns

-

the total number of size variants available or 0

-
-

Since: 1.3.3

-
-
-
-

hb_ot_math_get_min_connector_overlap ()

-
hb_position_t
-hb_ot_math_get_min_connector_overlap (hb_font_t *font,
-                                      hb_direction_t direction);
-

This function tries to retrieve the MathVariants table for the specified -font and returns the minimum overlap of connecting glyphs to draw a glyph -assembly in the specified direction. Note that only the value of -HB_DIRECTION_IS_HORIZONTAL is considered.

-
-

Parameters

-
----- - - - - - - - - - - - - -

font

hb_font_t from which to retrieve the value

 

direction

direction of the stretching

 
-
-
-

Returns

-

requested min connector overlap or 0

-
-

Since: 1.3.3

-
-
-
-

hb_ot_math_get_glyph_assembly ()

-
unsigned int
-hb_ot_math_get_glyph_assembly (hb_font_t *font,
-                               hb_codepoint_t glyph,
-                               hb_direction_t direction,
-                               unsigned int start_offset,
-                               unsigned int *parts_count,
-                               hb_ot_math_glyph_part_t *parts,
-                               hb_position_t *italics_correction);
-

This function tries to retrieve the GlyphAssembly for the specified font, -glyph and direction. Note that only the value of HB_DIRECTION_IS_HORIZONTAL -is considered. It provides the information necessary to draw the glyph -assembly as an array of hb_ot_math_glyph_part_t.

-
-

Parameters

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

font

hb_font_t from which to retrieve the values

 

glyph

index of the glyph to stretch

 

direction

direction of the stretching

 

start_offset

offset of the first glyph part to retrieve

 

parts_count

maximum number of glyph parts to retrieve after start_offset -(IN) and actual number of parts retrieved (OUT)

 

parts

array of size at least parts_count -to store the result

 

italics_correction

italic correction of the glyph assembly

 
-
-
-

Returns

-

the total number of parts in the glyph assembly

-
-

Since: 1.3.3

-
-
-
-

Types and Values

-
-

HB_OT_TAG_MATH

-
#define HB_OT_TAG_MATH HB_TAG('M','A','T','H')
-
-
-
-
-

HB_OT_MATH_SCRIPT

-
#define HB_OT_MATH_SCRIPT HB_TAG('m','a','t','h')
-
-
-
-
-

enum hb_ot_math_constant_t

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

HB_OT_MATH_CONSTANT_SCRIPT_PERCENT_SCALE_DOWN

  

HB_OT_MATH_CONSTANT_SCRIPT_SCRIPT_PERCENT_SCALE_DOWN

  

HB_OT_MATH_CONSTANT_DELIMITED_SUB_FORMULA_MIN_HEIGHT

  

HB_OT_MATH_CONSTANT_DISPLAY_OPERATOR_MIN_HEIGHT

  

HB_OT_MATH_CONSTANT_MATH_LEADING

  

HB_OT_MATH_CONSTANT_AXIS_HEIGHT

  

HB_OT_MATH_CONSTANT_ACCENT_BASE_HEIGHT

  

HB_OT_MATH_CONSTANT_FLATTENED_ACCENT_BASE_HEIGHT

  

HB_OT_MATH_CONSTANT_SUBSCRIPT_SHIFT_DOWN

  

HB_OT_MATH_CONSTANT_SUBSCRIPT_TOP_MAX

  

HB_OT_MATH_CONSTANT_SUBSCRIPT_BASELINE_DROP_MIN

  

HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP

  

HB_OT_MATH_CONSTANT_SUPERSCRIPT_SHIFT_UP_CRAMPED

  

HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MIN

  

HB_OT_MATH_CONSTANT_SUPERSCRIPT_BASELINE_DROP_MAX

  

HB_OT_MATH_CONSTANT_SUB_SUPERSCRIPT_GAP_MIN

  

HB_OT_MATH_CONSTANT_SUPERSCRIPT_BOTTOM_MAX_WITH_SUBSCRIPT

  

HB_OT_MATH_CONSTANT_SPACE_AFTER_SCRIPT

  

HB_OT_MATH_CONSTANT_UPPER_LIMIT_GAP_MIN

  

HB_OT_MATH_CONSTANT_UPPER_LIMIT_BASELINE_RISE_MIN

  

HB_OT_MATH_CONSTANT_LOWER_LIMIT_GAP_MIN

  

HB_OT_MATH_CONSTANT_LOWER_LIMIT_BASELINE_DROP_MIN

  

HB_OT_MATH_CONSTANT_STACK_TOP_SHIFT_UP

  

HB_OT_MATH_CONSTANT_STACK_TOP_DISPLAY_STYLE_SHIFT_UP

  

HB_OT_MATH_CONSTANT_STACK_BOTTOM_SHIFT_DOWN

  

HB_OT_MATH_CONSTANT_STACK_BOTTOM_DISPLAY_STYLE_SHIFT_DOWN

  

HB_OT_MATH_CONSTANT_STACK_GAP_MIN

  

HB_OT_MATH_CONSTANT_STACK_DISPLAY_STYLE_GAP_MIN

  

HB_OT_MATH_CONSTANT_STRETCH_STACK_TOP_SHIFT_UP

  

HB_OT_MATH_CONSTANT_STRETCH_STACK_BOTTOM_SHIFT_DOWN

  

HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_ABOVE_MIN

  

HB_OT_MATH_CONSTANT_STRETCH_STACK_GAP_BELOW_MIN

  

HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_SHIFT_UP

  

HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_DISPLAY_STYLE_SHIFT_UP

  

HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_SHIFT_DOWN

  

HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_DISPLAY_STYLE_SHIFT_DOWN

  

HB_OT_MATH_CONSTANT_FRACTION_NUMERATOR_GAP_MIN

  

HB_OT_MATH_CONSTANT_FRACTION_NUM_DISPLAY_STYLE_GAP_MIN

  

HB_OT_MATH_CONSTANT_FRACTION_RULE_THICKNESS

  

HB_OT_MATH_CONSTANT_FRACTION_DENOMINATOR_GAP_MIN

  

HB_OT_MATH_CONSTANT_FRACTION_DENOM_DISPLAY_STYLE_GAP_MIN

  

HB_OT_MATH_CONSTANT_SKEWED_FRACTION_HORIZONTAL_GAP

  

HB_OT_MATH_CONSTANT_SKEWED_FRACTION_VERTICAL_GAP

  

HB_OT_MATH_CONSTANT_OVERBAR_VERTICAL_GAP

  

HB_OT_MATH_CONSTANT_OVERBAR_RULE_THICKNESS

  

HB_OT_MATH_CONSTANT_OVERBAR_EXTRA_ASCENDER

  

HB_OT_MATH_CONSTANT_UNDERBAR_VERTICAL_GAP

  

HB_OT_MATH_CONSTANT_UNDERBAR_RULE_THICKNESS

  

HB_OT_MATH_CONSTANT_UNDERBAR_EXTRA_DESCENDER

  

HB_OT_MATH_CONSTANT_RADICAL_VERTICAL_GAP

  

HB_OT_MATH_CONSTANT_RADICAL_DISPLAY_STYLE_VERTICAL_GAP

  

HB_OT_MATH_CONSTANT_RADICAL_RULE_THICKNESS

  

HB_OT_MATH_CONSTANT_RADICAL_EXTRA_ASCENDER

  

HB_OT_MATH_CONSTANT_RADICAL_KERN_BEFORE_DEGREE

  

HB_OT_MATH_CONSTANT_RADICAL_KERN_AFTER_DEGREE

  

HB_OT_MATH_CONSTANT_RADICAL_DEGREE_BOTTOM_RAISE_PERCENT

  
-
-

Since: 1.3.3

-
-
-
-

enum hb_ot_math_kern_t

-
-

Members

-
----- - - - - - - - - - - - - - - - - - - - - - - -

HB_OT_MATH_KERN_TOP_RIGHT

  

HB_OT_MATH_KERN_TOP_LEFT

  

HB_OT_MATH_KERN_BOTTOM_RIGHT

  

HB_OT_MATH_KERN_BOTTOM_LEFT

  
-
-

Since: 1.3.3

-
-
-
-

hb_ot_math_glyph_variant_t

-
typedef struct {
-  hb_codepoint_t glyph;
-  hb_position_t advance;
-} hb_ot_math_glyph_variant_t;
-
-

Since: 1.3.3

-
-
-
-

enum hb_ot_math_glyph_part_flags_t

-
-

Members

-
----- - - - - - -

HB_MATH_GLYPH_PART_FLAG_EXTENDER

  
-
-

Since: 1.3.3

-
-
-
-

hb_ot_math_glyph_part_t

-
typedef struct {
-  hb_codepoint_t glyph;
-  hb_position_t start_connector_length;
-  hb_position_t end_connector_length;
-  hb_position_t full_advance;
-  hb_ot_math_glyph_part_flags_t flags;
-} hb_ot_math_glyph_part_t;
-
-

Since: 1.3.3

-
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-shape.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-shape.html deleted file mode 100644 index f33f2a464..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-shape.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - -hb-ot-shape: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-ot-shape

-

hb-ot-shape

-
-
-

Functions

-
---- - - - - -
-void - -hb_ot_shape_glyphs_closure () -
-
-
-

Description

-
-
-

Functions

-
-

hb_ot_shape_glyphs_closure ()

-
void
-hb_ot_shape_glyphs_closure (hb_font_t *font,
-                            hb_buffer_t *buffer,
-                            const hb_feature_t *features,
-                            unsigned int num_features,
-                            hb_set_t *glyphs);
-

Since: 0.9.2

-
-
-
-

Types and Values

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-tag.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-tag.html deleted file mode 100644 index 2ebf67d7a..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot-tag.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - -hb-ot-tag: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-ot-tag

-

hb-ot-tag

-
-
-

Functions

-
---- - - - - - - - - - - - - - - - - - - -
-hb_tag_t - -hb_ot_tag_from_language () -
-hb_language_t - -hb_ot_tag_to_language () -
-hb_script_t - -hb_ot_tag_to_script () -
-void - -hb_ot_tags_from_script () -
-
-
-

Types and Values

-
---- - - - - - - - - - - -
#defineHB_OT_TAG_DEFAULT_LANGUAGE
#defineHB_OT_TAG_DEFAULT_SCRIPT
-
-
-

Description

-
-
-

Functions

-
-

hb_ot_tag_from_language ()

-
hb_tag_t
-hb_ot_tag_from_language (hb_language_t language);
-
-
-
-

hb_ot_tag_to_language ()

-
hb_language_t
-hb_ot_tag_to_language (hb_tag_t tag);
-
-

Returns

-

.

-

[transfer none]

-
-

Since: 0.9.2

-
-
-
-

hb_ot_tag_to_script ()

-
hb_script_t
-hb_ot_tag_to_script (hb_tag_t tag);
-
-
-
-

hb_ot_tags_from_script ()

-
void
-hb_ot_tags_from_script (hb_script_t script,
-                        hb_tag_t *script_tag_1,
-                        hb_tag_t *script_tag_2);
-
-
-
-

Types and Values

-
-

HB_OT_TAG_DEFAULT_LANGUAGE

-
#define HB_OT_TAG_DEFAULT_LANGUAGE HB_TAG ('d', 'f', 'l', 't')
-
-
-
-
-

HB_OT_TAG_DEFAULT_SCRIPT

-
#define HB_OT_TAG_DEFAULT_SCRIPT HB_TAG ('D', 'F', 'L', 'T')
-
-
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot.html deleted file mode 100644 index 4af82e631..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-ot.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -hb-ot: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-ot

-

hb-ot

-
-
-

Description

-
-
-

Functions

-

-
-
-

Types and Values

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-uniscribe.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb-uniscribe.html deleted file mode 100644 index 3d1d4d006..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb-uniscribe.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - -hb-uniscribe: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb-uniscribe

-

hb-uniscribe

-
-
-

Functions

-
---- - - - - - - - - - - -
-HFONT - -hb_uniscribe_font_get_hfont () -
-LOGFONTW * - -hb_uniscribe_font_get_logfontw () -
-
-
-

Description

-
-
-

Functions

-
-

hb_uniscribe_font_get_hfont ()

-
HFONT
-hb_uniscribe_font_get_hfont (hb_font_t *font);
-
-
-
-

hb_uniscribe_font_get_logfontw ()

-
LOGFONTW *
-hb_uniscribe_font_get_logfontw (hb_font_t *font);
-
-
-
-

Types and Values

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz-hb.html b/harfbuzz-1.9.0/docs/html/harfbuzz-hb.html deleted file mode 100644 index 6089a9e80..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz-hb.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -hb: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-
-
- - -
-

hb

-

hb

-
-
-

Description

-
-
-

Functions

-

-
-
-

Types and Values

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/harfbuzz.devhelp2 b/harfbuzz-1.9.0/docs/html/harfbuzz.devhelp2 deleted file mode 100644 index 548dff564..000000000 --- a/harfbuzz-1.9.0/docs/html/harfbuzz.devhelp2 +++ /dev/null @@ -1,812 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/harfbuzz-1.9.0/docs/html/hello-harfbuzz.html b/harfbuzz-1.9.0/docs/html/hello-harfbuzz.html deleted file mode 100644 index edc8985e8..000000000 --- a/harfbuzz-1.9.0/docs/html/hello-harfbuzz.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - -Hello, HarfBuzz: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Hello, HarfBuzz

- -

- Here's the simplest HarfBuzz that can possibly work. We will improve - it later. -

-
  1. - Create a buffer and put your text in it. -

-
-  #include <hb.h>
-  hb_buffer_t *buf;
-  buf = hb_buffer_create();
-  hb_buffer_add_utf8(buf, text, strlen(text), 0, strlen(text));
-
-
  1. - Guess the script, language and direction of the buffer. -

-
-  hb_buffer_guess_segment_properties(buf);
-
-
  1. - Create a face and a font, using FreeType for now. -

-
-  #include <hb-ft.h>
-  FT_New_Face(ft_library, font_path, index, &face)
-  hb_font_t *font = hb_ft_font_create(face);
-
-
  1. - Shape! -

-
-  hb_shape(font, buf, NULL, 0);
-
-
  1. - Get the glyph and position information. -

-
-  hb_glyph_info_t *glyph_info    = hb_buffer_get_glyph_infos(buf, &glyph_count);
-  hb_glyph_position_t *glyph_pos = hb_buffer_get_glyph_positions(buf, &glyph_count);
-
-
  1. - Iterate over each glyph. -

-
-  for (i = 0; i < glyph_count; ++i) {
-    glyphid = glyph_info[i].codepoint;
-    x_offset = glyph_pos[i].x_offset / 64.0;
-    y_offset = glyph_pos[i].y_offset / 64.0;
-    x_advance = glyph_pos[i].x_advance / 64.0;
-    y_advance = glyph_pos[i].y_advance / 64.0;
-    draw_glyph(glyphid, cursor_x + x_offset, cursor_y + y_offset);
-    cursor_x += x_advance;
-    cursor_y += y_advance;
-  }
-
-
  1. - Tidy up. -

-
-  hb_buffer_destroy(buf);
-  hb_font_destroy(hb_ft_font);
-
-
-

-What HarfBuzz doesn't do

-

- The code above will take a UTF8 string, shape it, and give you the - information required to lay it out correctly on a single - horizontal (or vertical) line using the font provided. That is the - extent of HarfBuzz's responsibility. -

-

- If you are implementing a text layout engine you may have other - responsibilities, that HarfBuzz will not help you with: -

-
    -
  • -

    - HarfBuzz won't help you with bidirectionality. If you want to - lay out text with mixed Hebrew and English, you will need to - ensure that the buffer provided to HarfBuzz has those - characters in the correct layout order. This will be different - from the logical order in which the Unicode text is stored. In - other words, the user will hit the keys in the following - sequence: -

    -
    -A B C [space] ג ב א [space] D E F
    -        
    -

    - but will expect to see in the output: -

    -
    -ABC אבג DEF
    -        
    -

    - This reordering is called bidi processing - ("bidi" is short for bidirectional), and there's an - algorithm as an annex to the Unicode Standard which tells you how - to reorder a string from logical order into presentation order. - Before sending your string to HarfBuzz, you may need to apply the - bidi algorithm to it. Libraries such as ICU and fribidi can do - this for you. -

    -
  • -
  • - HarfBuzz won't help you with text that contains different font - properties. For instance, if you have the string "a - huge breakfast", and you expect - "huge" to be italic, you will need to send three - strings to HarfBuzz: a, in your Roman font; - huge using your italic font; and - breakfast using your Roman font again. - Similarly if you change font, font size, script, language or - direction within your string, you will need to shape each run - independently and then output them independently. HarfBuzz - expects to shape a run of characters sharing the same - properties. -

  • -
  • -

    - HarfBuzz won't help you with line breaking, hyphenation or - justification. As mentioned above, it lays out the string - along a single line of, notionally, - infinite length. If you want to find out where the potential - word, sentence and line break points are in your text, you - could use the ICU library's break iterator functions. -

    -

    - HarfBuzz can tell you how wide a shaped piece of text is, which is - useful input to a justification algorithm, but it knows nothing - about paragraphs, lines or line lengths. Nor will it adjust the - space between words to fit them proportionally into a line. If you - want to layout text in paragraphs, you will probably want to send - each word of your text to HarfBuzz to determine its shaped width - after glyph substitutions, then work out how many words will fit - on a line, and then finally output each word of the line separated - by a space of the correct size to fully justify the paragraph. -

    -
  • -
-

- As a layout engine implementor, HarfBuzz will help you with the - interface between your text and your font, and that's something - that you'll need - what you then do with the glyphs that your font - returns is up to you. The example we saw above enough to get us - started using HarfBuzz. Now we are going to use the remainder of - HarfBuzz's API to refine that example and improve our text shaping - capabilities. -

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/index.html b/harfbuzz-1.9.0/docs/html/index.html deleted file mode 100644 index 8f72dcb44..000000000 --- a/harfbuzz-1.9.0/docs/html/index.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - -HarfBuzz Manual: HarfBuzz Manual - - - - - - - - -
-
-
-
-
-

HarfBuzz

-
-

- HarfBuzz is an OpenType - text shaping engine. -

-

- The current HarfBuzz codebase, formerly known as harfbuzz-ng, is - versioned 1.x.x and is stable and under active maintenance. This is - what is used in latest versions of Firefox, GNOME, ChromeOS, Chrome, - LibreOffice, XeTeX, Android, and KDE, among other places. The canonical - source tree is available - here. - Also available on - github. - See Download for release tarballs. -

-

- The old HarfBuzz codebase, these days known as harfbuzz-old, was - derived from FreeType, - Pango, and - Qt and is available - here. - It is not actively developed or maintained, and is extremely buggy. All - users are encouraged to switch over to the new HarfBuzz as soon as - possible. There are no release tarballs of old HarfBuzz whatsoever. -

-
-
-
-
-
-
I. User's manual
-
-
What is HarfBuzz?
-
-
Why do I need it?
-
Why is it called HarfBuzz?
-
-
Install HarfBuzz
-
-
Download
-
Building
-
-
Hello, HarfBuzz
-
What HarfBuzz doesn't do
-
Buffers, language, script and direction
-
-
Creating and destroying buffers
-
Adding text to the buffer
-
Setting buffer properties
-
What about the other scripts?
-
Customizing Unicode functions
-
-
Fonts and faces
-
-
Using FreeType
-
Using HarfBuzz's native OpenType implementation
-
Using your own font functions
-
-
-
-
Clusters
-
A clustering example for levels 0 and 1
-
Reordering in levels 0 and 1
-
The distinction between levels 0 and 1
-
Level 2
-
-
Ligatures with combining marks
-
Reordering
-
-
-
Shaping and shape plans
-
-
OpenType features
-
Plans and caching
-
-
-
II. Reference manual
-
-
HarfBuzz API
-
-
-hb -
-
-hb-common -
-
-hb-unicode -
-
-Buffers — Input and output buffers -
-
-hb-blob -
-
-hb-face -
-
-hb-font -
-
-Shaping — Conversion of text strings into positioned glyphs -
-
-hb-version -
-
-hb-deprecated -
-
-hb-set -
-
-hb-ot -
-
-hb-ot-layout -
-
-hb-ot-tag -
-
-hb-ot-font -
-
-hb-ot-shape -
-
-hb-ot-math -
-
-hb-shape-plan -
-
-hb-glib -
-
-hb-icu -
-
-hb-ft -
-
-hb-graphite2 -
-
-hb-uniscribe -
-
-hb-coretext -
-
-hb-gobject -
-
-
Object Hierarchy
-
API Index
-
Index of new symbols in 0.9.2
-
Index of new symbols in 0.9.5
-
Index of new symbols in 0.9.7
-
Index of new symbols in 0.9.8
-
Index of new symbols in 0.9.10
-
Index of new symbols in 0.9.11
-
Index of new symbols in 0.9.20
-
Index of new symbols in 0.9.22
-
Index of new symbols in 0.9.28
-
Index of new symbols in 0.9.30
-
Index of new symbols in 0.9.31
-
Index of new symbols in 0.9.38
-
Index of new symbols in 0.9.39
-
Index of new symbols in 0.9.41
-
Index of new symbols in 0.9.42
-
Index of new symbols in 1.0.5
-
Index of new symbols in 1.1.2
-
Index of new symbols in 1.1.3
-
Index of new symbols in 1.2.3
-
Index of new symbols in 1.3.3
-
Index of new symbols in 1.4.2
-
Index of new symbols in 1.4.3
-
Index of new symbols in 1.5.0
-
Index of new symbols in 1.6.0
-
Index of deprecated API
-
Annotation Glossary
-
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/install-harfbuzz.html b/harfbuzz-1.9.0/docs/html/install-harfbuzz.html deleted file mode 100644 index 019915b0b..000000000 --- a/harfbuzz-1.9.0/docs/html/install-harfbuzz.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - -Install HarfBuzz: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Install HarfBuzz

- -
-

-Download

-

- For tarball releases of HarfBuzz, look - here. - At the same place you will - also find Win32 binary bundles that include libharfbuzz DLL, hb-view.exe, - hb-shape.exe, and all dependencies. -

-

- The canonical source tree is available - here. - Also available on github. -

-

- The API that comes with hb.h will - not change incompatibly. Other, peripheral, headers are more likely to go - through minor modifications, but again, will do our best to never change - API in an incompatible way. We will never break the ABI. -

-

- If you are not sure whether Pango or HarfBuzz is right for you, read - this. -

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/level-2.html b/harfbuzz-1.9.0/docs/html/level-2.html deleted file mode 100644 index 23410dcb0..000000000 --- a/harfbuzz-1.9.0/docs/html/level-2.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - -Level 2: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Level 2

-

- Level 2 is a different beast from levels 0 and 1. It is simple to - describe, but hard to make sense of. It simply doesn't do any - cluster merging whatsoever. When things ligate or otherwise multiple - glyphs turn into one, the cluster value of the first glyph is - retained. -

-

- Here are a few examples of why processing cluster values produced at - this level might be tricky: -

-
-

-Ligatures with combining marks

-

- Imagine capital letters are bases and lower case letters are - combining marks. With an input sequence like this: -

-
-  A,a,B,b,C,c
-  0,1,2,3,4,5
-
-

- if A,B,C ligate, then here are the cluster - values one would get under the various levels: -

-

- level 0: -

-
-  ABC,a,b,c
-  0  ,0,0,0
-
-

- level 1: -

-
-  ABC,a,b,c
-  0  ,0,0,5
-
-

- level 2: -

-
-  ABC,a,b,c
-  0  ,1,3,5
-
-

- Making sense of the last example is the hardest for a client, - because there is nothing in the cluster values to suggest that - B and C ligated with - A. -

-
-
-

-Reordering

-

- Another tricky case is when things reorder. Under level 2: -

-
-  A,B,C,D,E
-  0,1,2,3,4
-
-

- Now imagine D moves before - B: -

-
-  A,D,B,C,E
-  0,3,1,2,4
-
-

- Now, if D ligates with B, we - get: -

-
-  A,DB,C,E
-  0,3 ,2,4
-
-

- In a different scenario, A and - B could have ligated - before D reordered; that - would have resulted in: -

-
-  AB,D,C,E
-  0 ,3,2,4   
-
-

- There's no way to differentiate between these two scenarios based - on the cluster numbers alone. -

-

- Another problem happens with ligatures under level 2 if the - direction of the text is forced to opposite of its natural - direction (e.g. left-to-right Arabic). But that's too much of a - corner case to worry about. -

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/object-tree.html b/harfbuzz-1.9.0/docs/html/object-tree.html deleted file mode 100644 index 84ae94fb4..000000000 --- a/harfbuzz-1.9.0/docs/html/object-tree.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - -Object Hierarchy: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Object Hierarchy

-
-    GBoxed
-    ├── hb_blob_t
-    ├── hb_buffer_t
-    ├── hb_face_t
-    ├── hb_feature_t
-    ├── hb_font_funcs_t
-    ├── hb_font_t
-    ├── hb_glyph_info_t
-    ├── hb_glyph_position_t
-    ├── hb_map_t
-    ├── hb_ot_math_glyph_part_t
-    ├── hb_ot_math_glyph_variant_t
-    ├── hb_segment_properties_t
-    ├── hb_set_t
-    ├── hb_shape_plan_t
-    ├── hb_unicode_funcs_t
-    ╰── hb_user_data_key_t
-    GEnum
-    ├── hb_buffer_cluster_level_t
-    ├── hb_buffer_content_type_t
-    ├── hb_buffer_serialize_format_t
-    ├── hb_direction_t
-    ├── hb_memory_mode_t
-    ├── hb_ot_layout_glyph_class_t
-    ├── hb_ot_math_constant_t
-    ├── hb_ot_math_kern_t
-    ├── hb_script_t
-    ├── hb_unicode_combining_class_t
-    ╰── hb_unicode_general_category_t
-    GFlags
-    ├── hb_buffer_diff_flags_t
-    ├── hb_buffer_flags_t
-    ├── hb_buffer_serialize_flags_t
-    ├── hb_glyph_flags_t
-    ╰── hb_ot_math_glyph_part_flags_t
-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/plans-and-caching.html b/harfbuzz-1.9.0/docs/html/plans-and-caching.html deleted file mode 100644 index 89a9f352f..000000000 --- a/harfbuzz-1.9.0/docs/html/plans-and-caching.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - -Plans and caching: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Plans and caching

-

-

-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/pt01.html b/harfbuzz-1.9.0/docs/html/pt01.html deleted file mode 100644 index 5cc9f2ce4..000000000 --- a/harfbuzz-1.9.0/docs/html/pt01.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - -Part I. User's manual: HarfBuzz Manual - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/pt02.html b/harfbuzz-1.9.0/docs/html/pt02.html deleted file mode 100644 index 2bd1eda5e..000000000 --- a/harfbuzz-1.9.0/docs/html/pt02.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - -Part II. Reference manual: HarfBuzz Manual - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/reordering-in-levels-0-and-1.html b/harfbuzz-1.9.0/docs/html/reordering-in-levels-0-and-1.html deleted file mode 100644 index 9b0a47e57..000000000 --- a/harfbuzz-1.9.0/docs/html/reordering-in-levels-0-and-1.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -Reordering in levels 0 and 1: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Reordering in levels 0 and 1

-

- Another common operation in the more complex shapers is when things - reorder. In those cases, to maintain monotone clusters, HB merges - the clusters of everything in the reordering sequence. For example, - let's again start with the character sequence: -

-
-   A,B,C,D,E
-   0,1,2,3,4
-
-

- If D is reordered before B, - then the B, C, and - D clusters merge, and we get: -

-
-   A,D,B,C,E
-   0,1,1,1,4
-
-

- This is clearly not ideal, but it is the only sensible way to - maintain monotone indices and retain the true relationship between - glyphs and characters. -

-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/setting-buffer-properties.html b/harfbuzz-1.9.0/docs/html/setting-buffer-properties.html deleted file mode 100644 index ecc07eed1..000000000 --- a/harfbuzz-1.9.0/docs/html/setting-buffer-properties.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - -Setting buffer properties: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Setting buffer properties

-

-

-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/shaping-and-shape-plans.html b/harfbuzz-1.9.0/docs/html/shaping-and-shape-plans.html deleted file mode 100644 index c3e2029e9..000000000 --- a/harfbuzz-1.9.0/docs/html/shaping-and-shape-plans.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - -Shaping and shape plans: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Shaping and shape plans

- -
-

-OpenType features

-

-

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/style.css b/harfbuzz-1.9.0/docs/html/style.css deleted file mode 100644 index 4be4ede11..000000000 --- a/harfbuzz-1.9.0/docs/html/style.css +++ /dev/null @@ -1,483 +0,0 @@ -body -{ - font-family: cantarell, sans-serif; -} -.synopsis, .classsynopsis -{ - /* tango:aluminium 1/2 */ - background: #eeeeec; - background: rgba(238, 238, 236, 0.5); - border: solid 1px rgb(238, 238, 236); - padding: 0.5em; -} -.programlisting -{ - /* tango:sky blue 0/1 */ - /* fallback for no rgba support */ - background: #e6f3ff; - border: solid 1px #729fcf; - background: rgba(114, 159, 207, 0.1); - border: solid 1px rgba(114, 159, 207, 0.2); - padding: 0.5em; -} -.variablelist -{ - padding: 4px; - margin-left: 3em; -} -.variablelist td:first-child -{ - vertical-align: top; -} - -span.nowrap { - white-space: nowrap; -} - -div.gallery-float -{ - float: left; - padding: 10px; -} -div.gallery-float img -{ - border-style: none; -} -div.gallery-spacer -{ - clear: both; -} - -a, a:visited -{ - text-decoration: none; - /* tango:sky blue 2 */ - color: #3465a4; -} -a:hover -{ - text-decoration: underline; - /* tango:sky blue 1 */ - color: #729fcf; -} - -div.informaltable table -{ - border-collapse: separate; - border-spacing: 1em 0.3em; - border: none; -} - -div.informaltable table td, div.informaltable table th -{ - vertical-align: top; -} - -.function_type, -.variable_type, -.property_type, -.signal_type, -.parameter_name, -.struct_member_name, -.union_member_name, -.define_keyword, -.datatype_keyword, -.typedef_keyword -{ - text-align: right; -} - -/* dim non-primary columns */ -.c_punctuation, -.function_type, -.variable_type, -.property_type, -.signal_type, -.define_keyword, -.datatype_keyword, -.typedef_keyword, -.property_flags, -.signal_flags, -.parameter_annotations, -.enum_member_annotations, -.struct_member_annotations, -.union_member_annotations -{ - color: #888a85; -} - -.function_type a, -.function_type a:visited, -.function_type a:hover, -.property_type a, -.property_type a:visited, -.property_type a:hover, -.signal_type a, -.signal_type a:visited, -.signal_type a:hover, -.signal_flags a, -.signal_flags a:visited, -.signal_flags a:hover -{ - color: #729fcf; -} - -td p -{ - margin: 0.25em; -} - -div.table table -{ - border-collapse: collapse; - border-spacing: 0px; - /* tango:aluminium 3 */ - border: solid 1px #babdb6; -} - -div.table table td, div.table table th -{ - /* tango:aluminium 3 */ - border: solid 1px #babdb6; - padding: 3px; - vertical-align: top; -} - -div.table table th -{ - /* tango:aluminium 2 */ - background-color: #d3d7cf; -} - -h4 -{ - color: #555753; - margin-top: 1em; - margin-bottom: 1em; -} - -hr -{ - /* tango:aluminium 1 */ - color: #d3d7cf; - background: #d3d7cf; - border: none 0px; - height: 1px; - clear: both; - margin: 2.0em 0em 2.0em 0em; -} - -dl.toc dt -{ - padding-bottom: 0.25em; -} - -dl.toc > dt -{ - padding-top: 0.25em; - padding-bottom: 0.25em; - font-weight: bold; -} - -dl.toc > dl -{ - padding-bottom: 0.5em; -} - -.parameter -{ - font-style: normal; -} - -.footer -{ - padding-top: 3.5em; - /* tango:aluminium 3 */ - color: #babdb6; - text-align: center; - font-size: 80%; -} - -.informalfigure, -.figure -{ - margin: 1em; -} - -.informalexample, -.example -{ - margin-top: 1em; - margin-bottom: 1em; -} - -.warning -{ - /* tango:orange 0/1 */ - background: #ffeed9; - background: rgba(252, 175, 62, 0.1); - border-color: #ffb04f; - border-color: rgba(252, 175, 62, 0.2); -} -.note -{ - /* tango:chameleon 0/0.5 */ - background: #d8ffb2; - background: rgba(138, 226, 52, 0.1); - border-color: #abf562; - border-color: rgba(138, 226, 52, 0.2); -} -div.blockquote -{ - border-color: #eeeeec; -} -.note, .warning, div.blockquote -{ - padding: 0.5em; - border-width: 1px; - border-style: solid; - margin: 2em; -} -.note p, .warning p -{ - margin: 0; -} - -div.warning h3.title, -div.note h3.title -{ - display: none; -} - -p + div.section -{ - margin-top: 1em; -} - -div.refnamediv, -div.refsynopsisdiv, -div.refsect1, -div.refsect2, -div.toc, -div.section -{ - margin-bottom: 1em; -} - -/* blob links */ -h2 .extralinks, h3 .extralinks -{ - float: right; - /* tango:aluminium 3 */ - color: #babdb6; - font-size: 80%; - font-weight: normal; -} - -.lineart -{ - color: #d3d7cf; - font-weight: normal; -} - -.annotation -{ - /* tango:aluminium 5 */ - color: #555753; - font-weight: normal; -} - -.structfield -{ - font-style: normal; - font-weight: normal; -} - -acronym,abbr -{ - border-bottom: 1px dotted gray; -} - -/* code listings */ - -.listing_code .programlisting .normal, -.listing_code .programlisting .normal a, -.listing_code .programlisting .number, -.listing_code .programlisting .cbracket, -.listing_code .programlisting .symbol { color: #555753; } -.listing_code .programlisting .comment, -.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */ -.listing_code .programlisting .function, -.listing_code .programlisting .function a, -.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */ -.listing_code .programlisting .string { color: #ad7fa8; } /* tango: plum */ -.listing_code .programlisting .keyword, -.listing_code .programlisting .usertype, -.listing_code .programlisting .type, -.listing_code .programlisting .type a { color: #4e9a06; } /* tango: chameleon 3 */ - -.listing_frame { - /* tango:sky blue 1 */ - border: solid 1px #729fcf; - border: solid 1px rgba(114, 159, 207, 0.2); - padding: 0px; -} - -.listing_lines, .listing_code { - margin-top: 0px; - margin-bottom: 0px; - padding: 0.5em; -} -.listing_lines { - /* tango:sky blue 0.5 */ - background: #a6c5e3; - background: rgba(114, 159, 207, 0.2); - /* tango:aluminium 6 */ - color: #2e3436; -} -.listing_code { - /* tango:sky blue 0 */ - background: #e6f3ff; - background: rgba(114, 159, 207, 0.1); -} -.listing_code .programlisting { - /* override from previous */ - border: none 0px; - padding: 0px; - background: none; -} -.listing_lines pre, .listing_code pre { - margin: 0px; -} - -@media screen { - /* these have a as a first child, but since there are no parent selectors - * we can't use that. */ - a.footnote - { - position: relative; - top: 0em ! important; - } - /* this is needed so that the local anchors are displayed below the naviagtion */ - div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name] - { - display: inline-block; - position: relative; - top:-5em; - } - /* this seems to be a bug in the xsl style sheets when generating indexes */ - div.index div.index - { - top: 0em; - } - /* make space for the fixed navigation bar and add space at the bottom so that - * link targets appear somewhat close to top - */ - body - { - padding-top: 2.5em; - padding-bottom: 500px; - max-width: 60em; - } - p - { - max-width: 60em; - } - /* style and size the navigation bar */ - table.navigation#top - { - position: fixed; - background: #e2e2e2; - border-bottom: solid 1px #babdb6; - border-spacing: 5px; - margin-top: 0; - margin-bottom: 0; - top: 0; - left: 0; - z-index: 10; - } - table.navigation#top td - { - padding-left: 6px; - padding-right: 6px; - } - .navigation a, .navigation a:visited - { - /* tango:sky blue 3 */ - color: #204a87; - } - .navigation a:hover - { - /* tango:sky blue 2 */ - color: #3465a4; - } - td.shortcuts - { - /* tango:sky blue 2 */ - color: #3465a4; - font-size: 80%; - white-space: nowrap; - } - td.shortcuts .dim - { - color: #babdb6; - } - .navigation .title - { - font-size: 80%; - max-width: none; - margin: 0px; - font-weight: normal; - } -} -@media screen and (min-width: 60em) { - /* screen larger than 60em */ - body { margin: auto; } -} -@media screen and (max-width: 60em) { - /* screen less than 60em */ - #nav_hierarchy { display: none; } - #nav_interfaces { display: none; } - #nav_prerequisites { display: none; } - #nav_derived_interfaces { display: none; } - #nav_implementations { display: none; } - #nav_child_properties { display: none; } - #nav_style_properties { display: none; } - #nav_index { display: none; } - #nav_glossary { display: none; } - .gallery_image { display: none; } - .property_flags { display: none; } - .signal_flags { display: none; } - .parameter_annotations { display: none; } - .enum_member_annotations { display: none; } - .struct_member_annotations { display: none; } - .union_member_annotations { display: none; } - /* now that a column is hidden, optimize space */ - col.parameters_name { width: auto; } - col.parameters_description { width: auto; } - col.struct_members_name { width: auto; } - col.struct_members_description { width: auto; } - col.enum_members_name { width: auto; } - col.enum_members_description { width: auto; } - col.union_members_name { width: auto; } - col.union_members_description { width: auto; } - .listing_lines { display: none; } -} -@media print { - table.navigation { - visibility: collapse; - display: none; - } - div.titlepage table.navigation { - visibility: visible; - display: table; - background: #e2e2e2; - border: solid 1px #babdb6; - margin-top: 0; - margin-bottom: 0; - top: 0; - left: 0; - height: 3em; - } -} - diff --git a/harfbuzz-1.9.0/docs/html/the-distinction-between-levels-0-and-1.html b/harfbuzz-1.9.0/docs/html/the-distinction-between-levels-0-and-1.html deleted file mode 100644 index 0365f01b7..000000000 --- a/harfbuzz-1.9.0/docs/html/the-distinction-between-levels-0-and-1.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - -The distinction between levels 0 and 1: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-The distinction between levels 0 and 1

-

- So, the above is pretty much what cluster levels 0 and 1 do. The - only difference between the two is this: in level 0, at the very - beginning of the shaping process, we also merge clusters between - base characters and all Unicode marks (combining or not) following - them. E.g.: -

-
-  A,acute,B
-  0,1    ,2
-
-

- will become: -

-
-  A,acute,B
-  0,0    ,2
-
-

- This is the default behavior. We do it because Windows did it and - old HarfBuzz did it, so this remained the default. But this behavior - makes it impossible to color diacritic marks differently from their - base characters. That's why in level 1 we do not perform this - initial merging step. -

-

- For clients, level 0 is more convenient if they rely on HarfBuzz - clusters for cursor positioning. But that's wrong anyway: cursor - positions should be determined based on Unicode grapheme boundaries, - NOT shaping clusters. As such, level 1 clusters are preferred. -

-

- One last note about levels 0 and 1. We currently don't allow a - MultipleSubst lookup to replace a glyph with zero - glyphs (i.e., to delete a glyph). But in some other situations, - glyphs can be deleted. In those cases, if the glyph being deleted is - the last glyph of its cluster, we make sure to merge the cluster - with a neighboring cluster. -

-

- This is, primarily, to make sure that the starting cluster of the - text always has the cluster index pointing to the start of the text - for the run; more than one client currently relies on this - guarantee. -

-

- Incidentally, Apple's CoreText does something else to maintain the - same promise: it inserts a glyph with id 65535 at the beginning of - the glyph string if the glyph corresponding to the first character - in the run was deleted. HarfBuzz might do something similar in the - future. -

-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/using-harfbuzzs-native-opentype-implementation.html b/harfbuzz-1.9.0/docs/html/using-harfbuzzs-native-opentype-implementation.html deleted file mode 100644 index 497e2e64d..000000000 --- a/harfbuzz-1.9.0/docs/html/using-harfbuzzs-native-opentype-implementation.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - -Using HarfBuzz's native OpenType implementation: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Using HarfBuzz's native OpenType implementation

-

-

-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/using-your-own-font-functions.html b/harfbuzz-1.9.0/docs/html/using-your-own-font-functions.html deleted file mode 100644 index 043956c5e..000000000 --- a/harfbuzz-1.9.0/docs/html/using-your-own-font-functions.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - -Using your own font functions: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Using your own font functions

-

-

-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/what-about-the-other-scripts.html b/harfbuzz-1.9.0/docs/html/what-about-the-other-scripts.html deleted file mode 100644 index 0f265ced2..000000000 --- a/harfbuzz-1.9.0/docs/html/what-about-the-other-scripts.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - -What about the other scripts?: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-What about the other scripts?

-

-

-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/what-is-harfbuzz.html b/harfbuzz-1.9.0/docs/html/what-is-harfbuzz.html deleted file mode 100644 index aff2f7da7..000000000 --- a/harfbuzz-1.9.0/docs/html/what-is-harfbuzz.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - -What is HarfBuzz?: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-What is HarfBuzz?

- -

- HarfBuzz is a text shaping engine. It solves - the problem of selecting and positioning glyphs from a font given a - Unicode string. -

-
-

-Why do I need it?

-

- Text shaping is an integral part of preparing text for display. It - is a fairly low level operation; HarfBuzz is used directly by - graphic rendering libraries such as Pango, and the layout engines - in Firefox, LibreOffice and Chromium. Unless you are - writing one of these layout engines yourself, - you will probably not need to use HarfBuzz - normally higher level - libraries will turn text into glyphs for you. -

-

- However, if you are writing a layout engine - or graphics library yourself, you will need to perform text - shaping, and this is where HarfBuzz can help you. Here are some - reasons why you need it: -

-
    -
  • - OpenType fonts contain a set of glyphs, indexed by glyph ID. - The glyph ID within the font does not necessarily relate to a - Unicode codepoint. For instance, some fonts have the letter - "a" as glyph ID 1. To pull the right glyph out of - the font in order to display it, you need to consult a table - within the font (the "cmap" table) which maps - Unicode codepoints to glyph IDs. Text shaping turns codepoints - into glyph IDs. -

  • -
  • - Many OpenType fonts contain ligatures: combinations of - characters which are rendered together. For instance, it's - common for the fi combination to appear in - print as the single ligature "fi". Whether you should - render text as fi or "fi" does not - depend on the input text, but on the capabilities of the font - and the level of ligature application you wish to perform. - Text shaping involves querying the font's ligature tables and - determining what substitutions should be made. -

  • -
  • - While ligatures like "fi" are typographic - refinements, some languages require such - substitutions to be made in order to display text correctly. - In Tamil, when the letter "TTA" (ட) letter is - followed by "U" (உ), the combination should appear - as the single glyph "டு". The sequence of Unicode - characters "டஉ" needs to be rendered as a single - glyph from the font - text shaping chooses the correct glyph - from the sequence of characters provided. -

  • -
  • - Similarly, each Arabic character has four different variants: - within a font, there will be glyphs for the initial, medial, - final, and isolated forms of each letter. Unicode only encodes - one codepoint per character, and so a Unicode string will not - tell you which glyph to use. Text shaping chooses the correct - form of the letter and returns the correct glyph from the font - that you need to render. -

  • -
  • - Other languages have marks and accents which need to be - rendered in certain positions around a base character. For - instance, the Moldovan language has the Cyrillic letter - "zhe" (ж) with a breve accent, like so: ӂ. Some - fonts will contain this character as an individual glyph, - whereas other fonts will not contain a zhe-with-breve glyph - but expect the rendering engine to form the character by - overlaying the two glyphs ж and ˘. Where you should draw the - combining breve depends on the height of the preceding glyph. - Again, for Arabic, the correct positioning of vowel marks - depends on the height of the character on which you are - placing the mark. Text shaping tells you whether you have a - precomposed glyph within your font or if you need to compose a - glyph yourself out of combining marks, and if so, where to - position those marks. -

  • -
-

- If this is something that you need to do, then you need a text - shaping engine: you could use Uniscribe if you are using Windows; - you could use CoreText on OS X; or you could use HarfBuzz. In the - rest of this manual, we are going to assume that you are the - implementor of a text layout engine. -

-
-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/html/why-is-it-called-harfbuzz.html b/harfbuzz-1.9.0/docs/html/why-is-it-called-harfbuzz.html deleted file mode 100644 index 960d835e5..000000000 --- a/harfbuzz-1.9.0/docs/html/why-is-it-called-harfbuzz.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - -Why is it called HarfBuzz?: HarfBuzz Manual - - - - - - - - - - - - - - - - -
-

-Why is it called HarfBuzz?

-

- HarfBuzz began its life as text shaping code within the FreeType - project, (and you will see references to the FreeType authors - within the source code copyright declarations) but was then - abstracted out to its own project. This project is maintained by - Behdad Esfahbod, and named HarfBuzz. Originally, it was a shaping - engine for OpenType fonts - "HarfBuzz" is the Persian - for "open type". -

-
- - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/usermanual-buffers-language-script-and-direction.xml b/harfbuzz-1.9.0/docs/usermanual-buffers-language-script-and-direction.xml deleted file mode 100644 index 9eddb71a9..000000000 --- a/harfbuzz-1.9.0/docs/usermanual-buffers-language-script-and-direction.xml +++ /dev/null @@ -1,77 +0,0 @@ - - Buffers, language, script and direction - - The input to HarfBuzz is a series of Unicode characters, stored in a - buffer. In this chapter, we'll look at how to set up a buffer with - the text that we want and then customize the properties of the - buffer. - -
- Creating and destroying buffers - - As we saw in our initial example, a buffer is created and - initialized with hb_buffer_create(). This - produces a new, empty buffer object, instantiated with some - default values and ready to accept your Unicode strings. - - - HarfBuzz manages the memory of objects that it creates (such as - buffers), so you don't have to. When you have finished working on - a buffer, you can call hb_buffer_destroy(): - - - hb_buffer_t *buffer = hb_buffer_create(); - ... - hb_buffer_destroy(buffer); - - - This will destroy the object and free its associated memory - - unless some other part of the program holds a reference to this - buffer. If you acquire a HarfBuzz buffer from another subsystem - and want to ensure that it is not garbage collected by someone - else destroying it, you should increase its reference count: - - -void somefunc(hb_buffer_t *buffer) { - buffer = hb_buffer_reference(buffer); - ... - - - And then decrease it once you're done with it: - - - hb_buffer_destroy(buffer); -} - - - To throw away all the data in your buffer and start from scratch, - call hb_buffer_reset(buffer). If you want to - throw away the string in the buffer but keep the options, you can - instead call hb_buffer_clear_contents(buffer). - -
-
- Adding text to the buffer - - Now we have a brand new HarfBuzz buffer. Let's start filling it - with text! From HarfBuzz's perspective, a buffer is just a stream - of Unicode codepoints, but your input string is probably in one of - the standard Unicode character encodings (UTF-8, UTF-16, UTF-32) - -
-
- Setting buffer properties - - -
-
- What about the other scripts? - - -
-
- Customizing Unicode functions - - -
-
\ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/usermanual-clusters.xml b/harfbuzz-1.9.0/docs/usermanual-clusters.xml deleted file mode 100644 index 608371b00..000000000 --- a/harfbuzz-1.9.0/docs/usermanual-clusters.xml +++ /dev/null @@ -1,304 +0,0 @@ - - - Clusters - - In shaping text, a cluster is a sequence of - code points that needs to be treated as a single, indivisible unit. - - - When you add text to a HB buffer, each character is associated with - a cluster value. This is an arbitrary number as - far as HB is concerned. - - - Most clients will use UTF-8, UTF-16, or UTF-32 indices, but the - actual number does not matter. Moreover, it is not required for the - cluster values to be monotonically increasing, but pretty much all - of HB's tests are performed on monotonically increasing cluster - numbers. Nevertheless, there is no such assumption in the code - itself. With that in mind, let's examine what happens with cluster - values during shaping under each cluster-level. - - - HarfBuzz provides three levels of clustering - support. Level 0 is the default behavior and reproduces the behavior - of the old HarfBuzz library. Level 1 tweaks this behavior slightly - to produce better results, so level 1 clustering is recommended for - code that is not required to implement backward compatibility with - the old HarfBuzz. - - - Level 2 differs significantly in how it treats cluster values. - Levels 0 and 1 both process ligatures and glyph decomposition by - merging clusters; level 2 does not. - - - The conceptual model for what the cluster values mean, in levels 0 - and 1, is this: - - - - - the sequence of cluster values will always remain monotone - - - - - each value represents a single cluster - - - - - each cluster contains one or more glyphs and one or more - characters - - - - - Assuming that initial cluster numbers were monotonically increasing - and distinct, then all adjacent glyphs having the same cluster - number belong to the same cluster, and all characters belong to the - cluster that has the highest number not larger than their initial - cluster number. This will become clearer with an example. - - - - A clustering example for levels 0 and 1 - - Let's say we start with the following character sequence and cluster - values: - - - A,B,C,D,E - 0,1,2,3,4 - - - We then map the characters to glyphs. For simplicity, let's assume - that each character maps to the corresponding, identical-looking - glyph: - - - A,B,C,D,E - 0,1,2,3,4 - - - Now if, for example, B and C - ligate, then the clusters to which they belong "merge". - This merged cluster takes for its cluster number the minimum of all - the cluster numbers of the clusters that went in. In this case, we - get: - - - A,BC,D,E - 0,1 ,3,4 - - - Now let's assume that the BC glyph decomposes - into three components, and D also decomposes into - two. The components each inherit the cluster value of their parent: - - - A,BC0,BC1,BC2,D0,D1,E - 0,1 ,1 ,1 ,3 ,3 ,4 - - - Now if BC2 and D0 ligate, then - their clusters (numbers 1 and 3) merge into - min(1,3) = 1: - - - A,BC0,BC1,BC2D0,D1,E - 0,1 ,1 ,1 ,1 ,4 - - - At this point, cluster 1 means: the character sequence - BCD is represented by glyphs - BC0,BC1,BC2D0,D1 and cannot be broken down any - further. - - - - Reordering in levels 0 and 1 - - Another common operation in the more complex shapers is when things - reorder. In those cases, to maintain monotone clusters, HB merges - the clusters of everything in the reordering sequence. For example, - let's again start with the character sequence: - - - A,B,C,D,E - 0,1,2,3,4 - - - If D is reordered before B, - then the B, C, and - D clusters merge, and we get: - - - A,D,B,C,E - 0,1,1,1,4 - - - This is clearly not ideal, but it is the only sensible way to - maintain monotone indices and retain the true relationship between - glyphs and characters. - - - - The distinction between levels 0 and 1 - - So, the above is pretty much what cluster levels 0 and 1 do. The - only difference between the two is this: in level 0, at the very - beginning of the shaping process, we also merge clusters between - base characters and all Unicode marks (combining or not) following - them. E.g.: - - - A,acute,B - 0,1 ,2 - - - will become: - - - A,acute,B - 0,0 ,2 - - - This is the default behavior. We do it because Windows did it and - old HarfBuzz did it, so this remained the default. But this behavior - makes it impossible to color diacritic marks differently from their - base characters. That's why in level 1 we do not perform this - initial merging step. - - - For clients, level 0 is more convenient if they rely on HarfBuzz - clusters for cursor positioning. But that's wrong anyway: cursor - positions should be determined based on Unicode grapheme boundaries, - NOT shaping clusters. As such, level 1 clusters are preferred. - - - One last note about levels 0 and 1. We currently don't allow a - MultipleSubst lookup to replace a glyph with zero - glyphs (i.e., to delete a glyph). But in some other situations, - glyphs can be deleted. In those cases, if the glyph being deleted is - the last glyph of its cluster, we make sure to merge the cluster - with a neighboring cluster. - - - This is, primarily, to make sure that the starting cluster of the - text always has the cluster index pointing to the start of the text - for the run; more than one client currently relies on this - guarantee. - - - Incidentally, Apple's CoreText does something else to maintain the - same promise: it inserts a glyph with id 65535 at the beginning of - the glyph string if the glyph corresponding to the first character - in the run was deleted. HarfBuzz might do something similar in the - future. - - - - Level 2 - - Level 2 is a different beast from levels 0 and 1. It is simple to - describe, but hard to make sense of. It simply doesn't do any - cluster merging whatsoever. When things ligate or otherwise multiple - glyphs turn into one, the cluster value of the first glyph is - retained. - - - Here are a few examples of why processing cluster values produced at - this level might be tricky: - - - Ligatures with combining marks - - Imagine capital letters are bases and lower case letters are - combining marks. With an input sequence like this: - - - A,a,B,b,C,c - 0,1,2,3,4,5 - - - if A,B,C ligate, then here are the cluster - values one would get under the various levels: - - - level 0: - - - ABC,a,b,c - 0 ,0,0,0 - - - level 1: - - - ABC,a,b,c - 0 ,0,0,5 - - - level 2: - - - ABC,a,b,c - 0 ,1,3,5 - - - Making sense of the last example is the hardest for a client, - because there is nothing in the cluster values to suggest that - B and C ligated with - A. - - - - Reordering - - Another tricky case is when things reorder. Under level 2: - - - A,B,C,D,E - 0,1,2,3,4 - - - Now imagine D moves before - B: - - - A,D,B,C,E - 0,3,1,2,4 - - - Now, if D ligates with B, we - get: - - - A,DB,C,E - 0,3 ,2,4 - - - In a different scenario, A and - B could have ligated - before D reordered; that - would have resulted in: - - - AB,D,C,E - 0 ,3,2,4 - - - There's no way to differentiate between these two scenarios based - on the cluster numbers alone. - - - Another problem happens with ligatures under level 2 if the - direction of the text is forced to opposite of its natural - direction (e.g. left-to-right Arabic). But that's too much of a - corner case to worry about. - - - - diff --git a/harfbuzz-1.9.0/docs/usermanual-fonts-and-faces.xml b/harfbuzz-1.9.0/docs/usermanual-fonts-and-faces.xml deleted file mode 100644 index 7de0f051a..000000000 --- a/harfbuzz-1.9.0/docs/usermanual-fonts-and-faces.xml +++ /dev/null @@ -1,18 +0,0 @@ - - Fonts and faces -
- Using FreeType - - -
-
- Using HarfBuzz's native OpenType implementation - - -
-
- Using your own font functions - - -
-
\ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/usermanual-glyph-information.xml b/harfbuzz-1.9.0/docs/usermanual-glyph-information.xml deleted file mode 100644 index ca674c0c5..000000000 --- a/harfbuzz-1.9.0/docs/usermanual-glyph-information.xml +++ /dev/null @@ -1,8 +0,0 @@ - - Glyph information - - Names and numbers - - - - \ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/usermanual-hello-harfbuzz.xml b/harfbuzz-1.9.0/docs/usermanual-hello-harfbuzz.xml deleted file mode 100644 index 716b2f2dd..000000000 --- a/harfbuzz-1.9.0/docs/usermanual-hello-harfbuzz.xml +++ /dev/null @@ -1,183 +0,0 @@ - - Hello, HarfBuzz - - Here's the simplest HarfBuzz that can possibly work. We will improve - it later. - - - - - Create a buffer and put your text in it. - - - - - #include <hb.h> - hb_buffer_t *buf; - buf = hb_buffer_create(); - hb_buffer_add_utf8(buf, text, strlen(text), 0, strlen(text)); - - - - - Guess the script, language and direction of the buffer. - - - - - hb_buffer_guess_segment_properties(buf); - - - - - Create a face and a font, using FreeType for now. - - - - - #include <hb-ft.h> - FT_New_Face(ft_library, font_path, index, &face) - hb_font_t *font = hb_ft_font_create(face); - - - - - Shape! - - - - - hb_shape(font, buf, NULL, 0); - - - - - Get the glyph and position information. - - - - - hb_glyph_info_t *glyph_info = hb_buffer_get_glyph_infos(buf, &glyph_count); - hb_glyph_position_t *glyph_pos = hb_buffer_get_glyph_positions(buf, &glyph_count); - - - - - Iterate over each glyph. - - - - - for (i = 0; i < glyph_count; ++i) { - glyphid = glyph_info[i].codepoint; - x_offset = glyph_pos[i].x_offset / 64.0; - y_offset = glyph_pos[i].y_offset / 64.0; - x_advance = glyph_pos[i].x_advance / 64.0; - y_advance = glyph_pos[i].y_advance / 64.0; - draw_glyph(glyphid, cursor_x + x_offset, cursor_y + y_offset); - cursor_x += x_advance; - cursor_y += y_advance; - } - - - - - Tidy up. - - - - - hb_buffer_destroy(buf); - hb_font_destroy(hb_ft_font); - -
- What HarfBuzz doesn't do - - The code above will take a UTF8 string, shape it, and give you the - information required to lay it out correctly on a single - horizontal (or vertical) line using the font provided. That is the - extent of HarfBuzz's responsibility. - - - If you are implementing a text layout engine you may have other - responsibilities, that HarfBuzz will not help you with: - - - - - HarfBuzz won't help you with bidirectionality. If you want to - lay out text with mixed Hebrew and English, you will need to - ensure that the buffer provided to HarfBuzz has those - characters in the correct layout order. This will be different - from the logical order in which the Unicode text is stored. In - other words, the user will hit the keys in the following - sequence: - - -A B C [space] ג ב א [space] D E F - - - but will expect to see in the output: - - -ABC אבג DEF - - - This reordering is called bidi processing - ("bidi" is short for bidirectional), and there's an - algorithm as an annex to the Unicode Standard which tells you how - to reorder a string from logical order into presentation order. - Before sending your string to HarfBuzz, you may need to apply the - bidi algorithm to it. Libraries such as ICU and fribidi can do - this for you. - - - - - HarfBuzz won't help you with text that contains different font - properties. For instance, if you have the string "a - huge breakfast", and you expect - "huge" to be italic, you will need to send three - strings to HarfBuzz: a, in your Roman font; - huge using your italic font; and - breakfast using your Roman font again. - Similarly if you change font, font size, script, language or - direction within your string, you will need to shape each run - independently and then output them independently. HarfBuzz - expects to shape a run of characters sharing the same - properties. - - - - - HarfBuzz won't help you with line breaking, hyphenation or - justification. As mentioned above, it lays out the string - along a single line of, notionally, - infinite length. If you want to find out where the potential - word, sentence and line break points are in your text, you - could use the ICU library's break iterator functions. - - - HarfBuzz can tell you how wide a shaped piece of text is, which is - useful input to a justification algorithm, but it knows nothing - about paragraphs, lines or line lengths. Nor will it adjust the - space between words to fit them proportionally into a line. If you - want to layout text in paragraphs, you will probably want to send - each word of your text to HarfBuzz to determine its shaped width - after glyph substitutions, then work out how many words will fit - on a line, and then finally output each word of the line separated - by a space of the correct size to fully justify the paragraph. - - - - - As a layout engine implementor, HarfBuzz will help you with the - interface between your text and your font, and that's something - that you'll need - what you then do with the glyphs that your font - returns is up to you. The example we saw above enough to get us - started using HarfBuzz. Now we are going to use the remainder of - HarfBuzz's API to refine that example and improve our text shaping - capabilities. - -
-
\ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/usermanual-install-harfbuzz.xml b/harfbuzz-1.9.0/docs/usermanual-install-harfbuzz.xml deleted file mode 100644 index 899cc5bd6..000000000 --- a/harfbuzz-1.9.0/docs/usermanual-install-harfbuzz.xml +++ /dev/null @@ -1,70 +0,0 @@ - - Install HarfBuzz -
- Download - - For tarball releases of HarfBuzz, look - here. - At the same place you will - also find Win32 binary bundles that include libharfbuzz DLL, hb-view.exe, - hb-shape.exe, and all dependencies. - - - The canonical source tree is available - here. - Also available on github. - - - The API that comes with hb.h will - not change incompatibly. Other, peripheral, headers are more likely to go - through minor modifications, but again, will do our best to never change - API in an incompatible way. We will never break the ABI. - - - If you are not sure whether Pango or HarfBuzz is right for you, read - this. - -
-
- Building - - On Linux, install the development packages for FreeType, Cairo, and GLib. - For example, on Ubuntu / Debian, you would do: - -sudo apt-get install gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev - - whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do: - -sudo yum install gcc gcc-c++ freetype-devel glib2-devel cairo-devel - - or using MacPorts: - -sudo port install freetype glib2 cairo - - - - If you are using a tarball, you can now proceed to running - configure and make as with any - other standard package. That should leave you with a shared library in - src/, and a few utility programs including hb-view - and hb-shape under util/. - - - If you are bootstrapping from git, you need a few more tools before you - can run autogen.sh for the first time. Namely, - pkg-config and ragel. - Again, on Ubuntu / Debian: - -sudo apt-get install autoconf automake libtool pkg-config ragel gtk-doc-tools - - and on Fedora, RHEL, CentOS: - -sudo yum install autoconf automake libtool pkgconfig ragel gtk-doc - - or using MacPorts: - -sudo port install autoconf automake libtool pkgconfig ragel gtk-doc - - -
-
diff --git a/harfbuzz-1.9.0/docs/usermanual-opentype-features.xml b/harfbuzz-1.9.0/docs/usermanual-opentype-features.xml deleted file mode 100644 index 470bab8d1..000000000 --- a/harfbuzz-1.9.0/docs/usermanual-opentype-features.xml +++ /dev/null @@ -1,13 +0,0 @@ - - Shaping and shape plans -
- OpenType features - - -
-
- Plans and caching - - -
-
\ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/usermanual-what-is-harfbuzz.xml b/harfbuzz-1.9.0/docs/usermanual-what-is-harfbuzz.xml deleted file mode 100644 index 38f40cf11..000000000 --- a/harfbuzz-1.9.0/docs/usermanual-what-is-harfbuzz.xml +++ /dev/null @@ -1,115 +0,0 @@ - - What is HarfBuzz? - - HarfBuzz is a text shaping engine. It solves - the problem of selecting and positioning glyphs from a font given a - Unicode string. - -
- Why do I need it? - - Text shaping is an integral part of preparing text for display. It - is a fairly low level operation; HarfBuzz is used directly by - graphic rendering libraries such as Pango, and the layout engines - in Firefox, LibreOffice and Chromium. Unless you are - writing one of these layout engines yourself, - you will probably not need to use HarfBuzz - normally higher level - libraries will turn text into glyphs for you. - - - However, if you are writing a layout engine - or graphics library yourself, you will need to perform text - shaping, and this is where HarfBuzz can help you. Here are some - reasons why you need it: - - - - - OpenType fonts contain a set of glyphs, indexed by glyph ID. - The glyph ID within the font does not necessarily relate to a - Unicode codepoint. For instance, some fonts have the letter - "a" as glyph ID 1. To pull the right glyph out of - the font in order to display it, you need to consult a table - within the font (the "cmap" table) which maps - Unicode codepoints to glyph IDs. Text shaping turns codepoints - into glyph IDs. - - - - - Many OpenType fonts contain ligatures: combinations of - characters which are rendered together. For instance, it's - common for the fi combination to appear in - print as the single ligature "fi". Whether you should - render text as fi or "fi" does not - depend on the input text, but on the capabilities of the font - and the level of ligature application you wish to perform. - Text shaping involves querying the font's ligature tables and - determining what substitutions should be made. - - - - - While ligatures like "fi" are typographic - refinements, some languages require such - substitutions to be made in order to display text correctly. - In Tamil, when the letter "TTA" (ட) letter is - followed by "U" (உ), the combination should appear - as the single glyph "டு". The sequence of Unicode - characters "டஉ" needs to be rendered as a single - glyph from the font - text shaping chooses the correct glyph - from the sequence of characters provided. - - - - - Similarly, each Arabic character has four different variants: - within a font, there will be glyphs for the initial, medial, - final, and isolated forms of each letter. Unicode only encodes - one codepoint per character, and so a Unicode string will not - tell you which glyph to use. Text shaping chooses the correct - form of the letter and returns the correct glyph from the font - that you need to render. - - - - - Other languages have marks and accents which need to be - rendered in certain positions around a base character. For - instance, the Moldovan language has the Cyrillic letter - "zhe" (ж) with a breve accent, like so: ӂ. Some - fonts will contain this character as an individual glyph, - whereas other fonts will not contain a zhe-with-breve glyph - but expect the rendering engine to form the character by - overlaying the two glyphs ж and ˘. Where you should draw the - combining breve depends on the height of the preceding glyph. - Again, for Arabic, the correct positioning of vowel marks - depends on the height of the character on which you are - placing the mark. Text shaping tells you whether you have a - precomposed glyph within your font or if you need to compose a - glyph yourself out of combining marks, and if so, where to - position those marks. - - - - - If this is something that you need to do, then you need a text - shaping engine: you could use Uniscribe if you are using Windows; - you could use CoreText on OS X; or you could use HarfBuzz. In the - rest of this manual, we are going to assume that you are the - implementor of a text layout engine. - -
-
- Why is it called HarfBuzz? - - HarfBuzz began its life as text shaping code within the FreeType - project, (and you will see references to the FreeType authors - within the source code copyright declarations) but was then - abstracted out to its own project. This project is maintained by - Behdad Esfahbod, and named HarfBuzz. Originally, it was a shaping - engine for OpenType fonts - "HarfBuzz" is the Persian - for "open type". - -
-
\ No newline at end of file diff --git a/harfbuzz-1.9.0/docs/version.xml b/harfbuzz-1.9.0/docs/version.xml deleted file mode 100644 index f8e233b27..000000000 --- a/harfbuzz-1.9.0/docs/version.xml +++ /dev/null @@ -1 +0,0 @@ -1.9.0 diff --git a/harfbuzz-1.9.0/m4/gtk-doc.m4 b/harfbuzz-1.9.0/m4/gtk-doc.m4 deleted file mode 100644 index 36755432b..000000000 --- a/harfbuzz-1.9.0/m4/gtk-doc.m4 +++ /dev/null @@ -1,88 +0,0 @@ -dnl -*- mode: autoconf -*- - -# serial 2 - -dnl Usage: -dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) -AC_DEFUN([GTK_DOC_CHECK], -[ - AC_REQUIRE([PKG_PROG_PKG_CONFIG]) - AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first - AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first - - ifelse([$1],[],[gtk_doc_requires="gtk-doc"],[gtk_doc_requires="gtk-doc >= $1"]) - AC_MSG_CHECKING([for gtk-doc]) - PKG_CHECK_EXISTS([$gtk_doc_requires],[have_gtk_doc=yes],[have_gtk_doc=no]) - AC_MSG_RESULT($have_gtk_doc) - - if test "$have_gtk_doc" = "no"; then - AC_MSG_WARN([ - You will not be able to create source packages with 'make dist' - because $gtk_doc_requires is not found.]) - fi - - dnl check for tools we added during development - dnl Use AC_CHECK_PROG to avoid the check target using an absolute path that - dnl may not be writable by the user. Currently, automake requires that the - dnl test name must end in '.test'. - dnl https://bugzilla.gnome.org/show_bug.cgi?id=701638 - AC_CHECK_PROG([GTKDOC_CHECK],[gtkdoc-check],[gtkdoc-check.test]) - AC_PATH_PROG([GTKDOC_CHECK_PATH],[gtkdoc-check]) - AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true]) - AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf]) - - dnl for overriding the documentation installation directory - AC_ARG_WITH([html-dir], - AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),, - [with_html_dir='${datadir}/gtk-doc/html']) - HTML_DIR="$with_html_dir" - AC_SUBST([HTML_DIR]) - - dnl enable/disable documentation building - AC_ARG_ENABLE([gtk-doc], - AS_HELP_STRING([--enable-gtk-doc], - [use gtk-doc to build documentation [[default=no]]]),, - [enable_gtk_doc=no]) - - AC_MSG_CHECKING([whether to build gtk-doc documentation]) - AC_MSG_RESULT($enable_gtk_doc) - - if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then - AC_MSG_ERROR([ - You must have $gtk_doc_requires installed to build documentation for - $PACKAGE_NAME. Please install gtk-doc or disable building the - documentation by adding '--disable-gtk-doc' to '[$]0'.]) - fi - - dnl don't check for glib if we build glib - if test "x$PACKAGE_NAME" != "xglib"; then - dnl don't fail if someone does not have glib - PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,[:]) - fi - - dnl enable/disable output formats - AC_ARG_ENABLE([gtk-doc-html], - AS_HELP_STRING([--enable-gtk-doc-html], - [build documentation in html format [[default=yes]]]),, - [enable_gtk_doc_html=yes]) - AC_ARG_ENABLE([gtk-doc-pdf], - AS_HELP_STRING([--enable-gtk-doc-pdf], - [build documentation in pdf format [[default=no]]]),, - [enable_gtk_doc_pdf=no]) - - if test -z "$GTKDOC_MKPDF"; then - enable_gtk_doc_pdf=no - fi - - if test -z "$AM_DEFAULT_VERBOSITY"; then - AM_DEFAULT_VERBOSITY=1 - fi - AC_SUBST([AM_DEFAULT_VERBOSITY]) - - AM_CONDITIONAL([HAVE_GTK_DOC], [test x$have_gtk_doc = xyes]) - AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes]) - AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes]) - AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes]) - AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"]) - AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"]) -]) diff --git a/harfbuzz-1.9.0/m4/ltversion.m4 b/harfbuzz-1.9.0/m4/ltversion.m4 deleted file mode 100644 index fa04b52a3..000000000 --- a/harfbuzz-1.9.0/m4/ltversion.m4 +++ /dev/null @@ -1,23 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial 4179 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.6]) -m4_define([LT_PACKAGE_REVISION], [2.4.6]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.6' -macro_revision='2.4.6' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff --git a/harfbuzz-1.9.0/src/Makefile.am b/harfbuzz-1.9.0/src/Makefile.am deleted file mode 100644 index 9e7fd2995..000000000 --- a/harfbuzz-1.9.0/src/Makefile.am +++ /dev/null @@ -1,463 +0,0 @@ -# Process this file with automake to produce Makefile.in - -NULL = -SUBDIRS = -DIST_SUBDIRS = -BUILT_SOURCES = -EXTRA_DIST = -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = -DISTCHECK_CONFIGURE_FLAGS = --enable-introspection -TESTS = -check_PROGRAMS = - -# Convenience targets: -lib: $(BUILT_SOURCES) libharfbuzz.la libharfbuzz-subset.la -libs: $(BUILT_SOURCES) $(lib_LTLIBRARIES) -fuzzing: $(BUILT_SOURCES) libharfbuzz-fuzzing.la libharfbuzz-subset-fuzzing.la - -lib_LTLIBRARIES = libharfbuzz.la - -include Makefile.sources - -HBCFLAGS = -HBLIBS = -HBNONPCLIBS = -HBDEPS = -HBSOURCES = $(HB_BASE_sources) -HBSOURCES += $(HB_BASE_RAGEL_GENERATED_sources) -HBHEADERS = $(HB_BASE_headers) - -if HAVE_OT -HBSOURCES += $(HB_OT_sources) -HBSOURCES += $(HB_OT_RAGEL_GENERATED_sources) -HBHEADERS += $(HB_OT_headers) -endif - -if HAVE_FALLBACK -HBSOURCES += $(HB_FALLBACK_sources) -endif - -if HAVE_PTHREAD -HBCFLAGS += $(PTHREAD_CFLAGS) -HBNONPCLIBS += $(PTHREAD_LIBS) -endif - -if HAVE_GLIB -HBCFLAGS += $(GLIB_CFLAGS) -HBLIBS += $(GLIB_LIBS) -HBDEPS += $(GLIB_DEPS) -HBSOURCES += $(HB_GLIB_sources) -HBHEADERS += $(HB_GLIB_headers) -endif - -if HAVE_FREETYPE -HBCFLAGS += $(FREETYPE_CFLAGS) -HBLIBS += $(FREETYPE_LIBS) -# XXX -# The following creates a recursive dependency on FreeType if FreeType is -# built with HarfBuzz support enabled. Newer pkg-config handles that just -# fine but pkg-config 0.26 as shipped in Ubuntu 14.04 crashes. Remove -# in a year or two, or otherwise work around it... -#HBDEPS += $(FREETYPE_DEPS) -HBSOURCES += $(HB_FT_sources) -HBHEADERS += $(HB_FT_headers) -endif - -if HAVE_GRAPHITE2 -HBCFLAGS += $(GRAPHITE2_CFLAGS) -HBLIBS += $(GRAPHITE2_LIBS) -HBDEPS += $(GRAPHITE2_DEPS) -HBSOURCES += $(HB_GRAPHITE2_sources) -HBHEADERS += $(HB_GRAPHITE2_headers) -endif - -if HAVE_UNISCRIBE -HBCFLAGS += $(UNISCRIBE_CFLAGS) -HBNONPCLIBS += $(UNISCRIBE_LIBS) -HBSOURCES += $(HB_UNISCRIBE_sources) -HBHEADERS += $(HB_UNISCRIBE_headers) -endif - -if HAVE_DIRECTWRITE -HBCFLAGS += $(DIRECTWRITE_CXXFLAGS) -HBNONPCLIBS += $(DIRECTWRITE_LIBS) -HBSOURCES += $(HB_DIRECTWRITE_sources) -HBHEADERS += $(HB_DIRECTWRITE_headers) -endif - -if HAVE_CORETEXT -HBCFLAGS += $(CORETEXT_CFLAGS) -HBNONPCLIBS += $(CORETEXT_LIBS) -HBSOURCES += $(HB_CORETEXT_sources) -HBHEADERS += $(HB_CORETEXT_headers) -endif - -if HAVE_UCDN -SUBDIRS += hb-ucdn -HBCFLAGS += -I$(srcdir)/hb-ucdn -HBLIBS += hb-ucdn/libhb-ucdn.la -HBSOURCES += $(HB_UCDN_sources) -hb-ucdn/libhb-ucdn.la: ucdn -ucdn: - @$(MAKE) $(AM_MAKEFLAGS) -C hb-ucdn -endif -DIST_SUBDIRS += hb-ucdn - - -BUILT_SOURCES += \ - hb-version.h - -$(srcdir)/hb-version.h: hb-version.h.in $(top_srcdir)/configure.ac - $(AM_V_GEN) $(SED) \ - -e 's/[@]HB_VERSION_MAJOR@/$(HB_VERSION_MAJOR)/' \ - -e 's/[@]HB_VERSION_MINOR@/$(HB_VERSION_MINOR)/' \ - -e 's/[@]HB_VERSION_MICRO@/$(HB_VERSION_MICRO)/' \ - -e 's/[@]HB_VERSION@/$(HB_VERSION)/' \ - "$<" > "$@" || ($(RM) "$@"; false) - -# Put the library together - -HBLIBS += $(HBNONPCLIBS) - -if OS_WIN32 -export_symbols = -export-symbols harfbuzz.def -harfbuzz_def_dependency = harfbuzz.def -export_symbols_subset = -export-symbols harfbuzz-subset.def -harfbuzz_subset_def_dependency = harfbuzz-subset.def -export_symbols_icu = -export-symbols harfbuzz-icu.def -harfbuzz_icu_def_dependency = harfbuzz-icu.def -export_symbols_gobject = -export-symbols harfbuzz-gobject.def -harfbuzz_gobject_def_dependency = harfbuzz-gobject.def -chosen_linker = $(CXXLINK) -else -if WITH_LIBSTDCXX -chosen_linker = $(CXXLINK) -else -if HAVE_GCC -# Use a C linker for GCC, not C++; Don't link to libstdc++ -chosen_linker = $(LINK) -else -chosen_linker = $(CXXLINK) -endif -endif -endif - -@CODE_COVERAGE_RULES@ - -base_link_flags = $(AM_LDFLAGS) -lm -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined -libharfbuzz_la_LINK = $(chosen_linker) $(libharfbuzz_la_LDFLAGS) -libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS) -libharfbuzz_la_CPPFLAGS = $(HBCFLAGS) $(CODE_COVERAGE_CFLAGS) -libharfbuzz_la_LDFLAGS = $(base_link_flags) $(export_symbols) $(CODE_COVERAGE_LDFLAGS) -libharfbuzz_la_LIBADD = $(HBLIBS) -EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency) -pkginclude_HEADERS = $(HBHEADERS) -nodist_pkginclude_HEADERS = -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = harfbuzz.pc -cmakedir = $(libdir)/cmake/harfbuzz -cmake_DATA = harfbuzz-config.cmake -EXTRA_DIST += hb-version.h.in harfbuzz.pc.in harfbuzz-config.cmake.in - -lib_LTLIBRARIES += libharfbuzz-subset.la -libharfbuzz_subset_la_SOURCES = $(HB_SUBSET_sources) -libharfbuzz_subset_la_CPPFLAGS = $(HBCFLAGS) $(CODE_COVERAGE_CFLAGS) -libharfbuzz_subset_la_LDFLAGS = $(base_link_flags) $(export_symbols_subset) $(CODE_COVERAGE_LDFLAGS) -libharfbuzz_subset_la_LIBADD = libharfbuzz.la -EXTRA_libharfbuzz_subset_la_DEPENDENCIES = $(harfbuzz_subset_def_dependency) -pkginclude_HEADERS += $(HB_SUBSET_headers) -pkgconfig_DATA += harfbuzz-subset.pc -EXTRA_DIST += harfbuzz-subset.pc.in - -FUZZING_CPPFLAGS = \ - -DHB_NDEBUG \ - -DHB_MAX_NESTING_LEVEL=3 \ - -DHB_SANITIZE_MAX_EDITS=3 \ - -DHB_SANITIZE_MAX_OPS_FACTOR=3 \ - -DHB_SANITIZE_MAX_OPS_MIN=128 \ - -DHB_BUFFER_MAX_LEN_FACTOR=3 \ - -DHB_BUFFER_MAX_LEN_MIN=8 \ - -DHB_BUFFER_MAX_LEN_DEFAULT=128 \ - -DHB_BUFFER_MAX_OPS_FACTOR=8 \ - -DHB_BUFFER_MAX_OPS_MIN=64 \ - -DHB_BUFFER_MAX_OPS_DEFAULT=1024 \ - $(NULL) -EXTRA_LTLIBRARIES = libharfbuzz-fuzzing.la libharfbuzz-subset-fuzzing.la - -libharfbuzz_fuzzing_la_LINK = $(chosen_linker) $(libharfbuzz_fuzzing_la_LDFLAGS) -libharfbuzz_fuzzing_la_SOURCES = $(libharfbuzz_la_SOURCES) -libharfbuzz_fuzzing_la_CPPFLAGS = $(HBCFLAGS) $(FUZZING_CPPFLAGS) -libharfbuzz_fuzzing_la_LDFLAGS = $(AM_LDFLAGS) -libharfbuzz_fuzzing_la_LIBADD = $(libharfbuzz_la_LIBADD) -EXTRA_libharfbuzz_fuzzing_la_DEPENDENCIES = $(EXTRA_libharfbuzz_la_DEPENDENCIES) -CLEANFILES += libharfbuzz-fuzzing.la - -libharfbuzz_subset_fuzzing_la_LINK = $(chosen_linker) $(libharfbuzz_subset_fuzzing_la_LDFLAGS) -libharfbuzz_subset_fuzzing_la_SOURCES = $(libharfbuzz_subset_la_SOURCES) -libharfbuzz_subset_fuzzing_la_CPPFLAGS = $(HBCFLAGS) $(FUZZING_CPPFLAGS) -libharfbuzz_subset_fuzzing_la_LDFLAGS = $(AM_LDFLAGS) -libharfbuzz_subset_fuzzing_la_LIBADD = $(libharfbuzz_subset_la_LIBADD) -EXTRA_libharfbuzz_subset_fuzzing_la_DEPENDENCIES = $(EXTRA_libharfbuzz_subset_la_DEPENDENCIES) -CLEANFILES += libharfbuzz-subset-fuzzing.la - -if HAVE_ICU -if HAVE_ICU_BUILTIN -HBCFLAGS += $(ICU_CFLAGS) -HBLIBS += $(ICU_LIBS) -HBSOURCES += $(HB_ICU_sources) -HBHEADERS += $(HB_ICU_headers) -else -lib_LTLIBRARIES += libharfbuzz-icu.la -libharfbuzz_icu_la_SOURCES = $(HB_ICU_sources) -libharfbuzz_icu_la_CPPFLAGS = $(HBCFLAGS) $(ICU_CFLAGS) $(CODE_COVERAGE_CFLAGS) -libharfbuzz_icu_la_LDFLAGS = $(base_link_flags) $(export_symbols_icu) $(CODE_COVERAGE_LDFLAGS) -libharfbuzz_icu_la_LIBADD = $(ICU_LIBS) libharfbuzz.la -EXTRA_libharfbuzz_icu_la_DEPENDENCIES = $(harfbuzz_icu_def_dependency) -pkginclude_HEADERS += $(HB_ICU_headers) -pkgconfig_DATA += harfbuzz-icu.pc -endif -endif -EXTRA_DIST += harfbuzz-icu.pc.in - -if HAVE_GOBJECT -lib_LTLIBRARIES += libharfbuzz-gobject.la -libharfbuzz_gobject_la_LINK = $(chosen_linker) $(libharfbuzz_gobject_la_LDFLAGS) -libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_DIST_sources) -nodist_libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_NODIST_sources) -libharfbuzz_gobject_la_CPPFLAGS = $(HBCFLAGS) $(GOBJECT_CFLAGS) $(CODE_COVERAGE_CFLAGS) -libharfbuzz_gobject_la_LDFLAGS = $(base_link_flags) $(CODE_COVERAGE_LDFLAGS) -libharfbuzz_gobject_la_LIBADD = $(GOBJECT_LIBS) libharfbuzz.la -EXTRA_libharfbuzz_gobject_la_DEPENDENCIES = $(harfbuzz_gobject_def_dependency) -pkginclude_HEADERS += $(HB_GOBJECT_DIST_headers) -nodist_pkginclude_HEADERS += $(HB_GOBJECT_NODIST_headers) -pkgconfig_DATA += harfbuzz-gobject.pc - -BUILT_SOURCES += \ - $(HB_GOBJECT_ENUM_sources) \ - $(HB_GOBJECT_ENUM_headers) \ - $(NULL) -DISTCLEANFILES += \ - $(HB_GOBJECT_ENUM_sources) \ - $(HB_GOBJECT_ENUM_headers) \ - $(NULL) -hb-gobject-enums.%: hb-gobject-enums.%.tmpl $(HBHEADERS) - $(AM_V_GEN) PYTHONIOENCODING=UTF-8 $(GLIB_MKENUMS) \ - --identifier-prefix hb_ --symbol-prefix hb_gobject \ - --template $^ | \ - sed 's/_t_get_type/_get_type/g; s/_T (/ (/g' > "$@" \ - || ($(RM) "$@"; false) -endif -EXTRA_DIST += \ - harfbuzz-gobject.pc.in \ - hb-gobject-enums.cc.tmpl \ - hb-gobject-enums.h.tmpl \ - $(NULL) - - -%.pc: %.pc.in $(top_builddir)/config.status - $(AM_V_GEN) \ - $(SED) -e 's@%prefix%@$(prefix)@g' \ - -e 's@%exec_prefix%@$(exec_prefix)@g' \ - -e 's@%libdir%@$(libdir)@g' \ - -e 's@%includedir%@$(includedir)@g' \ - -e 's@%libs_private%@$(HBNONPCLIBS)@g' \ - -e 's@%requires_private%@$(HBDEPS)@g' \ - -e 's@%VERSION%@$(VERSION)@g' \ - "$<" > "$@" \ - || ($(RM) "$@"; false) - -CLEANFILES += $(pkgconfig_DATA) - - -DEF_FILES = harfbuzz.def harfbuzz-subset.def harfbuzz-icu.def -if HAVE_GOBJECT -DEF_FILES += harfbuzz-gobject.def -endif -check: $(DEF_FILES) # For check-symbols.sh -CLEANFILES += $(DEF_FILES) -harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS) - $(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^ -harfbuzz-subset.def: $(HB_SUBSET_headers) - $(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^ -harfbuzz-icu.def: $(HB_ICU_headers) - $(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^ -harfbuzz-gobject.def: $(HB_GOBJECT_headers) - $(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^ - - -GENERATORS = \ - gen-arabic-table.py \ - gen-indic-table.py \ - gen-use-table.py \ - gen-def.py \ - $(NULL) -EXTRA_DIST += $(GENERATORS) - -unicode-tables: arabic-table indic-table use-table - -arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt - $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-ot-shape-complex-arabic-table.hh \ - || ($(RM) $(srcdir)/hb-ot-shape-complex-arabic-table.hh; false) - -indic-table: gen-indic-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt Blocks.txt - $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-ot-shape-complex-indic-table.cc \ - || ($(RM) $(srcdir)/hb-ot-shape-complex-indic-table.cc; false) - -use-table: gen-use-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt UnicodeData.txt Blocks.txt - $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-ot-shape-complex-use-table.cc \ - || ($(RM) $(srcdir)/hb-ot-shape-complex-use-table.cc; false) - -built-sources: $(BUILT_SOURCES) - -.PHONY: unicode-tables arabic-table indic-table use-table built-sources - -RAGEL_GENERATED = \ - $(patsubst %,$(srcdir)/%,$(HB_BASE_RAGEL_GENERATED_sources)) \ - $(patsubst %,$(srcdir)/%,$(HB_OT_RAGEL_GENERATED_sources)) \ - $(NULL) -BUILT_SOURCES += $(RAGEL_GENERATED) -EXTRA_DIST += \ - $(HB_BASE_RAGEL_sources) \ - $(HB_OT_RAGEL_sources) \ - $(NULL) -# We decided to add ragel-generated files to git... -#MAINTAINERCLEANFILES += $(RAGEL_GENERATED) -$(srcdir)/%.hh: $(srcdir)/%.rl - $(AM_V_GEN)(cd $(srcdir) && $(RAGEL) -e -F1 -o "$*.hh" "$*.rl") \ - || ($(RM) "$@"; false) - -noinst_PROGRAMS = \ - main \ - test \ - test-buffer-serialize \ - test-size-params \ - test-would-substitute \ - $(NULL) -bin_PROGRAMS = - -main_SOURCES = main.cc -main_CPPFLAGS = $(HBCFLAGS) -main_LDADD = libharfbuzz.la $(HBLIBS) - -test_SOURCES = test.cc -test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS) -test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS) - -test_would_substitute_SOURCES = test-would-substitute.cc -test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS) -test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS) - -test_size_params_SOURCES = test-size-params.cc -test_size_params_CPPFLAGS = $(HBCFLAGS) -test_size_params_LDADD = libharfbuzz.la $(HBLIBS) - -test_buffer_serialize_SOURCES = test-buffer-serialize.cc -test_buffer_serialize_CPPFLAGS = $(HBCFLAGS) -test_buffer_serialize_LDADD = libharfbuzz.la $(HBLIBS) - -dist_check_SCRIPTS = \ - check-c-linkage-decls.sh \ - check-externs.sh \ - check-header-guards.sh \ - check-includes.sh \ - check-static-inits.sh \ - check-symbols.sh \ - $(NULL) -TESTS += $(dist_check_SCRIPTS) - -if !WITH_LIBSTDCXX -dist_check_SCRIPTS += \ - check-libstdc++.sh \ - $(NULL) -endif - -check_PROGRAMS += \ - dump-indic-data \ - dump-khmer-data \ - dump-myanmar-data \ - dump-use-data \ - $(NULL) -dump_indic_data_SOURCES = dump-indic-data.cc hb-ot-shape-complex-indic-table.cc -dump_indic_data_CPPFLAGS = $(HBCFLAGS) -dump_indic_data_LDADD = libharfbuzz.la $(HBLIBS) -dump_khmer_data_SOURCES = dump-khmer-data.cc hb-ot-shape-complex-indic-table.cc -dump_khmer_data_CPPFLAGS = $(HBCFLAGS) -dump_khmer_data_LDADD = libharfbuzz.la $(HBLIBS) -dump_myanmar_data_SOURCES = dump-myanmar-data.cc hb-ot-shape-complex-indic-table.cc -dump_myanmar_data_CPPFLAGS = $(HBCFLAGS) -dump_myanmar_data_LDADD = libharfbuzz.la $(HBLIBS) -dump_use_data_SOURCES = dump-use-data.cc hb-ot-shape-complex-use-table.cc -dump_use_data_CPPFLAGS = $(HBCFLAGS) -dump_use_data_LDADD = libharfbuzz.la $(HBLIBS) - -if HAVE_FREETYPE -if HAVE_CAIRO_FT -check_PROGRAMS += dump-emoji -dump_emoji_SOURCES = dump-emoji.cc -dump_emoji_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS) $(CAIRO_FT_CFLAGS) -dump_emoji_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS) $(CAIRO_LIBS) $(CAIRO_FT_LIBS) -endif # HAVE_CAIRO_FT -endif # HAVE_FREETYPE - -check_PROGRAMS += test-ot-tag test-unicode-ranges -TESTS += test-ot-tag test-unicode-ranges - -test_ot_tag_SOURCES = hb-ot-tag.cc -test_ot_tag_CPPFLAGS = $(HBCFLAGS) -DMAIN -test_ot_tag_LDADD = libharfbuzz.la $(HBLIBS) - -test_unicode_ranges_SOURCES = test-unicode-ranges.cc -test_unicode_ranges_LDADD = libharfbuzz.la $(HBLIBS) - -TESTS_ENVIRONMENT = \ - srcdir="$(srcdir)" \ - MAKE="$(MAKE) $(AM_MAKEFLAGS)" \ - HBSOURCES="$(HBSOURCES)" \ - HBHEADERS="$(HBHEADERS)" \ - $(NULL) - -if HAVE_INTROSPECTION - --include $(INTROSPECTION_MAKEFILE) -INTROSPECTION_GIRS = HarfBuzz-0.0.gir # What does the 0 mean anyway?! -INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ --warn-all -INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) -INTROSPECTION_SCANNER_ENV = CC="$(CC)" - -HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la -HarfBuzz_0_0_gir_INCLUDES = GObject-2.0 -HarfBuzz_0_0_gir_CFLAGS = \ - $(INCLUDES) \ - $(HBCFLAGS) \ - -DHB_H \ - -DHB_H_IN \ - -DHB_OT_H \ - -DHB_OT_H_IN \ - -DHB_GOBJECT_H \ - -DHB_GOBJECT_H_IN \ - -DHB_EXTERN= \ - $(NULL) -HarfBuzz_0_0_gir_LIBS = \ - libharfbuzz.la \ - libharfbuzz-gobject.la \ - $(NULL) -HarfBuzz_0_0_gir_FILES = \ - $(HBHEADERS) \ - $(HBSOURCES) \ - $(HB_GOBJECT_sources) \ - $(HB_GOBJECT_headers) \ - $(NULL) - -girdir = $(datadir)/gir-1.0 -gir_DATA = $(INTROSPECTION_GIRS) - -typelibdir = $(libdir)/girepository-1.0 -typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) - -CLEANFILES += $(gir_DATA) $(typelib_DATA) - -endif - --include $(top_srcdir)/git.mk diff --git a/harfbuzz-1.9.0/src/Makefile.in b/harfbuzz-1.9.0/src/Makefile.in deleted file mode 100644 index e944e4036..000000000 --- a/harfbuzz-1.9.0/src/Makefile.in +++ /dev/null @@ -1,3635 +0,0 @@ -# Makefile.in generated by automake 1.15.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2017 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -# Process this file with automake to produce Makefile.in - -# Base and default-included sources and headers - - - - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -TESTS = $(am__EXEEXT_4) test-ot-tag$(EXEEXT) \ - test-unicode-ranges$(EXEEXT) -check_PROGRAMS = dump-indic-data$(EXEEXT) dump-khmer-data$(EXEEXT) \ - dump-myanmar-data$(EXEEXT) dump-use-data$(EXEEXT) \ - $(am__EXEEXT_1) $(am__EXEEXT_2) test-ot-tag$(EXEEXT) \ - test-unicode-ranges$(EXEEXT) -@HAVE_OT_TRUE@am__append_1 = $(HB_OT_sources) \ -@HAVE_OT_TRUE@ $(HB_OT_RAGEL_GENERATED_sources) -@HAVE_OT_TRUE@am__append_2 = $(HB_OT_headers) -@HAVE_FALLBACK_TRUE@am__append_3 = $(HB_FALLBACK_sources) -@HAVE_PTHREAD_TRUE@am__append_4 = $(PTHREAD_CFLAGS) -@HAVE_PTHREAD_TRUE@am__append_5 = $(PTHREAD_LIBS) -@HAVE_GLIB_TRUE@am__append_6 = $(GLIB_CFLAGS) -@HAVE_GLIB_TRUE@am__append_7 = $(GLIB_LIBS) -@HAVE_GLIB_TRUE@am__append_8 = $(GLIB_DEPS) -@HAVE_GLIB_TRUE@am__append_9 = $(HB_GLIB_sources) -@HAVE_GLIB_TRUE@am__append_10 = $(HB_GLIB_headers) -@HAVE_FREETYPE_TRUE@am__append_11 = $(FREETYPE_CFLAGS) -@HAVE_FREETYPE_TRUE@am__append_12 = $(FREETYPE_LIBS) -# XXX -# The following creates a recursive dependency on FreeType if FreeType is -# built with HarfBuzz support enabled. Newer pkg-config handles that just -# fine but pkg-config 0.26 as shipped in Ubuntu 14.04 crashes. Remove -# in a year or two, or otherwise work around it... -#HBDEPS += $(FREETYPE_DEPS) -@HAVE_FREETYPE_TRUE@am__append_13 = $(HB_FT_sources) -@HAVE_FREETYPE_TRUE@am__append_14 = $(HB_FT_headers) -@HAVE_GRAPHITE2_TRUE@am__append_15 = $(GRAPHITE2_CFLAGS) -@HAVE_GRAPHITE2_TRUE@am__append_16 = $(GRAPHITE2_LIBS) -@HAVE_GRAPHITE2_TRUE@am__append_17 = $(GRAPHITE2_DEPS) -@HAVE_GRAPHITE2_TRUE@am__append_18 = $(HB_GRAPHITE2_sources) -@HAVE_GRAPHITE2_TRUE@am__append_19 = $(HB_GRAPHITE2_headers) -@HAVE_UNISCRIBE_TRUE@am__append_20 = $(UNISCRIBE_CFLAGS) -@HAVE_UNISCRIBE_TRUE@am__append_21 = $(UNISCRIBE_LIBS) -@HAVE_UNISCRIBE_TRUE@am__append_22 = $(HB_UNISCRIBE_sources) -@HAVE_UNISCRIBE_TRUE@am__append_23 = $(HB_UNISCRIBE_headers) -@HAVE_DIRECTWRITE_TRUE@am__append_24 = $(DIRECTWRITE_CXXFLAGS) -@HAVE_DIRECTWRITE_TRUE@am__append_25 = $(DIRECTWRITE_LIBS) -@HAVE_DIRECTWRITE_TRUE@am__append_26 = $(HB_DIRECTWRITE_sources) -@HAVE_DIRECTWRITE_TRUE@am__append_27 = $(HB_DIRECTWRITE_headers) -@HAVE_CORETEXT_TRUE@am__append_28 = $(CORETEXT_CFLAGS) -@HAVE_CORETEXT_TRUE@am__append_29 = $(CORETEXT_LIBS) -@HAVE_CORETEXT_TRUE@am__append_30 = $(HB_CORETEXT_sources) -@HAVE_CORETEXT_TRUE@am__append_31 = $(HB_CORETEXT_headers) -@HAVE_UCDN_TRUE@am__append_32 = hb-ucdn -@HAVE_UCDN_TRUE@am__append_33 = -I$(srcdir)/hb-ucdn -@HAVE_UCDN_TRUE@am__append_34 = hb-ucdn/libhb-ucdn.la -@HAVE_UCDN_TRUE@am__append_35 = $(HB_UCDN_sources) -@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__append_36 = $(ICU_CFLAGS) -@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__append_37 = $(ICU_LIBS) -@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__append_38 = $(HB_ICU_sources) -@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__append_39 = $(HB_ICU_headers) -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@am__append_40 = libharfbuzz-icu.la -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@am__append_41 = $(HB_ICU_headers) -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@am__append_42 = harfbuzz-icu.pc -@HAVE_GOBJECT_TRUE@am__append_43 = libharfbuzz-gobject.la -@HAVE_GOBJECT_TRUE@am__append_44 = $(HB_GOBJECT_DIST_headers) -@HAVE_GOBJECT_TRUE@am__append_45 = $(HB_GOBJECT_NODIST_headers) -@HAVE_GOBJECT_TRUE@am__append_46 = harfbuzz-gobject.pc -@HAVE_GOBJECT_TRUE@am__append_47 = \ -@HAVE_GOBJECT_TRUE@ $(HB_GOBJECT_ENUM_sources) \ -@HAVE_GOBJECT_TRUE@ $(HB_GOBJECT_ENUM_headers) \ -@HAVE_GOBJECT_TRUE@ $(NULL) - -@HAVE_GOBJECT_TRUE@am__append_48 = \ -@HAVE_GOBJECT_TRUE@ $(HB_GOBJECT_ENUM_sources) \ -@HAVE_GOBJECT_TRUE@ $(HB_GOBJECT_ENUM_headers) \ -@HAVE_GOBJECT_TRUE@ $(NULL) - -@HAVE_GOBJECT_TRUE@am__append_49 = harfbuzz-gobject.def -noinst_PROGRAMS = main$(EXEEXT) test$(EXEEXT) \ - test-buffer-serialize$(EXEEXT) test-size-params$(EXEEXT) \ - test-would-substitute$(EXEEXT) $(am__EXEEXT_1) -bin_PROGRAMS = -@WITH_LIBSTDCXX_FALSE@am__append_50 = \ -@WITH_LIBSTDCXX_FALSE@ check-libstdc++.sh \ -@WITH_LIBSTDCXX_FALSE@ $(NULL) - -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@am__append_51 = dump-emoji -@HAVE_INTROSPECTION_TRUE@am__append_52 = $(gir_DATA) $(typelib_DATA) -subdir = src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_link_flag.m4 \ - $(top_srcdir)/m4/ax_code_coverage.m4 \ - $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/gtk-doc.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__dist_check_SCRIPTS_DIST) \ - $(am__pkginclude_HEADERS_DIST) $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = harfbuzz-config.cmake -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ - "$(DESTDIR)$(cmakedir)" "$(DESTDIR)$(girdir)" \ - "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(typelibdir)" \ - "$(DESTDIR)$(pkgincludedir)" "$(DESTDIR)$(pkgincludedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) -am__DEPENDENCIES_1 = -@HAVE_GLIB_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) -@HAVE_FREETYPE_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) -@HAVE_GRAPHITE2_TRUE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1) -@HAVE_PTHREAD_TRUE@am__DEPENDENCIES_5 = $(am__DEPENDENCIES_1) -@HAVE_UNISCRIBE_TRUE@am__DEPENDENCIES_6 = $(am__DEPENDENCIES_1) -@HAVE_DIRECTWRITE_TRUE@am__DEPENDENCIES_7 = $(am__DEPENDENCIES_1) -@HAVE_CORETEXT_TRUE@am__DEPENDENCIES_8 = $(am__DEPENDENCIES_1) -am__DEPENDENCIES_9 = $(am__DEPENDENCIES_5) $(am__DEPENDENCIES_6) \ - $(am__DEPENDENCIES_7) $(am__DEPENDENCIES_8) -@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__DEPENDENCIES_10 = \ -@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@ $(am__DEPENDENCIES_1) -am__DEPENDENCIES_11 = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3) \ - $(am__DEPENDENCIES_4) $(am__append_34) $(am__DEPENDENCIES_9) \ - $(am__DEPENDENCIES_10) -am__DEPENDENCIES_12 = $(am__DEPENDENCIES_11) -libharfbuzz_fuzzing_la_DEPENDENCIES = $(am__DEPENDENCIES_12) -am__libharfbuzz_fuzzing_la_SOURCES_DIST = hb-atomic.hh hb-blob.hh \ - hb-blob.cc hb-buffer.hh hb-buffer-serialize.cc hb-buffer.cc \ - hb-common.cc hb-debug.hh hb-dsalgs.hh hb-face.hh hb-face.cc \ - hb-font.hh hb-font.cc hb-iter.hh hb-map.hh hb-map.cc \ - hb-machinery.hh hb-mutex.hh hb-null.hh hb-object.hh \ - hb-open-file.hh hb-open-type.hh hb-ot-color-cbdt-table.hh \ - hb-ot-cmap-table.hh hb-ot-glyf-table.hh hb-ot-hdmx-table.hh \ - hb-ot-head-table.hh hb-ot-hhea-table.hh hb-ot-hmtx-table.hh \ - hb-ot-kern-table.hh hb-ot-maxp-table.hh hb-ot-name-table.hh \ - hb-ot-os2-table.hh hb-ot-os2-unicode-ranges.hh \ - hb-ot-post-macroman.hh hb-ot-post-table.hh hb-ot-tag.cc hb.hh \ - hb-set-digest.hh hb-set.hh hb-set.cc hb-shape.cc \ - hb-shape-plan.hh hb-shape-plan.cc hb-shaper-list.hh \ - hb-shaper-impl.hh hb-shaper.hh hb-shaper.cc hb-static.cc \ - hb-string-array.hh hb-unicode.hh hb-unicode.cc hb-vector.hh \ - hb-utf.hh hb-warning.cc hb-buffer-deserialize-json.hh \ - hb-buffer-deserialize-text.hh hb-aat-layout.cc \ - hb-aat-layout-common.hh hb-aat-layout-ankr-table.hh \ - hb-aat-layout-bsln-table.hh hb-aat-layout-feat-table.hh \ - hb-aat-layout-kerx-table.hh hb-aat-layout-morx-table.hh \ - hb-aat-layout-trak-table.hh hb-aat-layout.hh \ - hb-aat-ltag-table.hh hb-ot-face.hh hb-ot-face.cc hb-ot-font.cc \ - hb-ot-layout.cc hb-ot-layout-base-table.hh \ - hb-ot-layout-common.hh hb-ot-layout-gdef-table.hh \ - hb-ot-layout-gpos-table.hh hb-ot-layout-gsubgpos.hh \ - hb-ot-layout-gsub-table.hh hb-ot-layout-jstf-table.hh \ - hb-ot-layout.hh hb-ot-color.cc hb-ot-color-colr-table.hh \ - hb-ot-color-cpal-table.hh hb-ot-color-sbix-table.hh \ - hb-ot-color-svg-table.hh hb-ot-map.cc hb-ot-map.hh \ - hb-ot-math.cc hb-ot-math-table.hh hb-ot-shape.cc \ - hb-ot-shape-complex-arabic.cc \ - hb-ot-shape-complex-arabic-fallback.hh \ - hb-ot-shape-complex-arabic.hh \ - hb-ot-shape-complex-arabic-table.hh \ - hb-ot-shape-complex-arabic-win1256.hh \ - hb-ot-shape-complex-default.cc hb-ot-shape-complex-hangul.cc \ - hb-ot-shape-complex-hebrew.cc hb-ot-shape-complex-indic.cc \ - hb-ot-shape-complex-indic.hh \ - hb-ot-shape-complex-indic-table.cc \ - hb-ot-shape-complex-khmer.hh hb-ot-shape-complex-khmer.cc \ - hb-ot-shape-complex-myanmar.hh hb-ot-shape-complex-myanmar.cc \ - hb-ot-shape-complex-thai.cc hb-ot-shape-complex-tibetan.cc \ - hb-ot-shape-complex-use.cc hb-ot-shape-complex-use.hh \ - hb-ot-shape-complex-use-table.cc hb-ot-shape-complex.hh \ - hb-ot-shape-normalize.hh hb-ot-shape-normalize.cc \ - hb-ot-shape-fallback.hh hb-ot-shape-fallback.cc hb-ot-shape.hh \ - hb-ot-var.cc hb-ot-var-avar-table.hh hb-ot-var-fvar-table.hh \ - hb-ot-var-hvar-table.hh hb-ot-var-mvar-table.hh \ - hb-ot-shape-complex-indic-machine.hh \ - hb-ot-shape-complex-khmer-machine.hh \ - hb-ot-shape-complex-myanmar-machine.hh \ - hb-ot-shape-complex-use-machine.hh hb-fallback-shape.cc \ - hb-glib.cc hb-ft.cc hb-graphite2.cc hb-uniscribe.cc \ - hb-directwrite.cc hb-coretext.cc hb-ucdn.cc hb-icu.cc hb.h \ - hb-blob.h hb-buffer.h hb-common.h hb-deprecated.h hb-face.h \ - hb-font.h hb-map.h hb-set.h hb-shape.h hb-shape-plan.h \ - hb-unicode.h hb-version.h hb-ot.h hb-ot-font.h hb-ot-layout.h \ - hb-ot-math.h hb-ot-shape.h hb-ot-tag.h hb-ot-var.h hb-glib.h \ - hb-ft.h hb-graphite2.h hb-uniscribe.h hb-directwrite.h \ - hb-coretext.h hb-icu.h -am__objects_1 = -am__objects_2 = libharfbuzz_fuzzing_la-hb-blob.lo \ - libharfbuzz_fuzzing_la-hb-buffer-serialize.lo \ - libharfbuzz_fuzzing_la-hb-buffer.lo \ - libharfbuzz_fuzzing_la-hb-common.lo \ - libharfbuzz_fuzzing_la-hb-face.lo \ - libharfbuzz_fuzzing_la-hb-font.lo \ - libharfbuzz_fuzzing_la-hb-map.lo \ - libharfbuzz_fuzzing_la-hb-ot-tag.lo \ - libharfbuzz_fuzzing_la-hb-set.lo \ - libharfbuzz_fuzzing_la-hb-shape.lo \ - libharfbuzz_fuzzing_la-hb-shape-plan.lo \ - libharfbuzz_fuzzing_la-hb-shaper.lo \ - libharfbuzz_fuzzing_la-hb-static.lo \ - libharfbuzz_fuzzing_la-hb-unicode.lo \ - libharfbuzz_fuzzing_la-hb-warning.lo $(am__objects_1) -am__objects_3 = $(am__objects_1) -am__objects_4 = libharfbuzz_fuzzing_la-hb-aat-layout.lo \ - libharfbuzz_fuzzing_la-hb-ot-face.lo \ - libharfbuzz_fuzzing_la-hb-ot-font.lo \ - libharfbuzz_fuzzing_la-hb-ot-layout.lo \ - libharfbuzz_fuzzing_la-hb-ot-color.lo \ - libharfbuzz_fuzzing_la-hb-ot-map.lo \ - libharfbuzz_fuzzing_la-hb-ot-math.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-complex-arabic.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-complex-default.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-complex-hangul.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-complex-hebrew.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic-table.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-complex-khmer.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-complex-myanmar.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-complex-thai.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-complex-tibetan.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-complex-use.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-complex-use-table.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-normalize.lo \ - libharfbuzz_fuzzing_la-hb-ot-shape-fallback.lo \ - libharfbuzz_fuzzing_la-hb-ot-var.lo $(am__objects_1) -@HAVE_OT_TRUE@am__objects_5 = $(am__objects_4) $(am__objects_3) -am__objects_6 = libharfbuzz_fuzzing_la-hb-fallback-shape.lo \ - $(am__objects_1) -@HAVE_FALLBACK_TRUE@am__objects_7 = $(am__objects_6) -am__objects_8 = libharfbuzz_fuzzing_la-hb-glib.lo -@HAVE_GLIB_TRUE@am__objects_9 = $(am__objects_8) -am__objects_10 = libharfbuzz_fuzzing_la-hb-ft.lo -@HAVE_FREETYPE_TRUE@am__objects_11 = $(am__objects_10) -am__objects_12 = libharfbuzz_fuzzing_la-hb-graphite2.lo -@HAVE_GRAPHITE2_TRUE@am__objects_13 = $(am__objects_12) -am__objects_14 = libharfbuzz_fuzzing_la-hb-uniscribe.lo -@HAVE_UNISCRIBE_TRUE@am__objects_15 = $(am__objects_14) -am__objects_16 = libharfbuzz_fuzzing_la-hb-directwrite.lo -@HAVE_DIRECTWRITE_TRUE@am__objects_17 = $(am__objects_16) -am__objects_18 = libharfbuzz_fuzzing_la-hb-coretext.lo -@HAVE_CORETEXT_TRUE@am__objects_19 = $(am__objects_18) -am__objects_20 = libharfbuzz_fuzzing_la-hb-ucdn.lo -@HAVE_UCDN_TRUE@am__objects_21 = $(am__objects_20) -am__objects_22 = libharfbuzz_fuzzing_la-hb-icu.lo -@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__objects_23 = \ -@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@ $(am__objects_22) -am__objects_24 = $(am__objects_2) $(am__objects_3) $(am__objects_5) \ - $(am__objects_7) $(am__objects_9) $(am__objects_11) \ - $(am__objects_13) $(am__objects_15) $(am__objects_17) \ - $(am__objects_19) $(am__objects_21) $(am__objects_23) -@HAVE_OT_TRUE@am__objects_25 = $(am__objects_3) -@HAVE_GLIB_TRUE@am__objects_26 = $(am__objects_1) -@HAVE_FREETYPE_TRUE@am__objects_27 = $(am__objects_1) -@HAVE_GRAPHITE2_TRUE@am__objects_28 = $(am__objects_1) -@HAVE_UNISCRIBE_TRUE@am__objects_29 = $(am__objects_1) -@HAVE_DIRECTWRITE_TRUE@am__objects_30 = $(am__objects_1) -@HAVE_CORETEXT_TRUE@am__objects_31 = $(am__objects_1) -@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__objects_32 = \ -@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@ $(am__objects_1) -am__objects_33 = $(am__objects_3) $(am__objects_25) $(am__objects_26) \ - $(am__objects_27) $(am__objects_28) $(am__objects_29) \ - $(am__objects_30) $(am__objects_31) $(am__objects_32) -am__objects_34 = $(am__objects_24) $(am__objects_33) -am_libharfbuzz_fuzzing_la_OBJECTS = $(am__objects_34) -libharfbuzz_fuzzing_la_OBJECTS = $(am_libharfbuzz_fuzzing_la_OBJECTS) -@HAVE_GOBJECT_TRUE@libharfbuzz_gobject_la_DEPENDENCIES = \ -@HAVE_GOBJECT_TRUE@ $(am__DEPENDENCIES_1) libharfbuzz.la -am__libharfbuzz_gobject_la_SOURCES_DIST = hb-gobject-structs.cc -am__objects_35 = libharfbuzz_gobject_la-hb-gobject-structs.lo -@HAVE_GOBJECT_TRUE@am_libharfbuzz_gobject_la_OBJECTS = \ -@HAVE_GOBJECT_TRUE@ $(am__objects_35) -am__objects_36 = libharfbuzz_gobject_la-hb-gobject-enums.lo -am__objects_37 = $(am__objects_36) -@HAVE_GOBJECT_TRUE@nodist_libharfbuzz_gobject_la_OBJECTS = \ -@HAVE_GOBJECT_TRUE@ $(am__objects_37) -libharfbuzz_gobject_la_OBJECTS = $(am_libharfbuzz_gobject_la_OBJECTS) \ - $(nodist_libharfbuzz_gobject_la_OBJECTS) -@HAVE_GOBJECT_TRUE@am_libharfbuzz_gobject_la_rpath = -rpath $(libdir) -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@libharfbuzz_icu_la_DEPENDENCIES = \ -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@ $(am__DEPENDENCIES_1) \ -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@ libharfbuzz.la -am__libharfbuzz_icu_la_SOURCES_DIST = hb-icu.cc -am__objects_38 = libharfbuzz_icu_la-hb-icu.lo -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@am_libharfbuzz_icu_la_OBJECTS = \ -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@ $(am__objects_38) -libharfbuzz_icu_la_OBJECTS = $(am_libharfbuzz_icu_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -libharfbuzz_icu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(libharfbuzz_icu_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@am_libharfbuzz_icu_la_rpath = \ -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@ -rpath $(libdir) -libharfbuzz_subset_fuzzing_la_DEPENDENCIES = \ - $(libharfbuzz_subset_la_LIBADD) -am__objects_39 = libharfbuzz_subset_fuzzing_la-hb-static.lo \ - libharfbuzz_subset_fuzzing_la-hb-subset.lo \ - libharfbuzz_subset_fuzzing_la-hb-subset-glyf.lo \ - libharfbuzz_subset_fuzzing_la-hb-subset-input.lo \ - libharfbuzz_subset_fuzzing_la-hb-subset-plan.lo \ - $(am__objects_1) -am__objects_40 = $(am__objects_39) -am_libharfbuzz_subset_fuzzing_la_OBJECTS = $(am__objects_40) -libharfbuzz_subset_fuzzing_la_OBJECTS = \ - $(am_libharfbuzz_subset_fuzzing_la_OBJECTS) -libharfbuzz_subset_la_DEPENDENCIES = libharfbuzz.la -am__objects_41 = libharfbuzz_subset_la-hb-static.lo \ - libharfbuzz_subset_la-hb-subset.lo \ - libharfbuzz_subset_la-hb-subset-glyf.lo \ - libharfbuzz_subset_la-hb-subset-input.lo \ - libharfbuzz_subset_la-hb-subset-plan.lo $(am__objects_1) -am_libharfbuzz_subset_la_OBJECTS = $(am__objects_41) -libharfbuzz_subset_la_OBJECTS = $(am_libharfbuzz_subset_la_OBJECTS) -libharfbuzz_subset_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(libharfbuzz_subset_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -libharfbuzz_la_DEPENDENCIES = $(am__DEPENDENCIES_11) -am__libharfbuzz_la_SOURCES_DIST = hb-atomic.hh hb-blob.hh hb-blob.cc \ - hb-buffer.hh hb-buffer-serialize.cc hb-buffer.cc hb-common.cc \ - hb-debug.hh hb-dsalgs.hh hb-face.hh hb-face.cc hb-font.hh \ - hb-font.cc hb-iter.hh hb-map.hh hb-map.cc hb-machinery.hh \ - hb-mutex.hh hb-null.hh hb-object.hh hb-open-file.hh \ - hb-open-type.hh hb-ot-color-cbdt-table.hh hb-ot-cmap-table.hh \ - hb-ot-glyf-table.hh hb-ot-hdmx-table.hh hb-ot-head-table.hh \ - hb-ot-hhea-table.hh hb-ot-hmtx-table.hh hb-ot-kern-table.hh \ - hb-ot-maxp-table.hh hb-ot-name-table.hh hb-ot-os2-table.hh \ - hb-ot-os2-unicode-ranges.hh hb-ot-post-macroman.hh \ - hb-ot-post-table.hh hb-ot-tag.cc hb.hh hb-set-digest.hh \ - hb-set.hh hb-set.cc hb-shape.cc hb-shape-plan.hh \ - hb-shape-plan.cc hb-shaper-list.hh hb-shaper-impl.hh \ - hb-shaper.hh hb-shaper.cc hb-static.cc hb-string-array.hh \ - hb-unicode.hh hb-unicode.cc hb-vector.hh hb-utf.hh \ - hb-warning.cc hb-buffer-deserialize-json.hh \ - hb-buffer-deserialize-text.hh hb-aat-layout.cc \ - hb-aat-layout-common.hh hb-aat-layout-ankr-table.hh \ - hb-aat-layout-bsln-table.hh hb-aat-layout-feat-table.hh \ - hb-aat-layout-kerx-table.hh hb-aat-layout-morx-table.hh \ - hb-aat-layout-trak-table.hh hb-aat-layout.hh \ - hb-aat-ltag-table.hh hb-ot-face.hh hb-ot-face.cc hb-ot-font.cc \ - hb-ot-layout.cc hb-ot-layout-base-table.hh \ - hb-ot-layout-common.hh hb-ot-layout-gdef-table.hh \ - hb-ot-layout-gpos-table.hh hb-ot-layout-gsubgpos.hh \ - hb-ot-layout-gsub-table.hh hb-ot-layout-jstf-table.hh \ - hb-ot-layout.hh hb-ot-color.cc hb-ot-color-colr-table.hh \ - hb-ot-color-cpal-table.hh hb-ot-color-sbix-table.hh \ - hb-ot-color-svg-table.hh hb-ot-map.cc hb-ot-map.hh \ - hb-ot-math.cc hb-ot-math-table.hh hb-ot-shape.cc \ - hb-ot-shape-complex-arabic.cc \ - hb-ot-shape-complex-arabic-fallback.hh \ - hb-ot-shape-complex-arabic.hh \ - hb-ot-shape-complex-arabic-table.hh \ - hb-ot-shape-complex-arabic-win1256.hh \ - hb-ot-shape-complex-default.cc hb-ot-shape-complex-hangul.cc \ - hb-ot-shape-complex-hebrew.cc hb-ot-shape-complex-indic.cc \ - hb-ot-shape-complex-indic.hh \ - hb-ot-shape-complex-indic-table.cc \ - hb-ot-shape-complex-khmer.hh hb-ot-shape-complex-khmer.cc \ - hb-ot-shape-complex-myanmar.hh hb-ot-shape-complex-myanmar.cc \ - hb-ot-shape-complex-thai.cc hb-ot-shape-complex-tibetan.cc \ - hb-ot-shape-complex-use.cc hb-ot-shape-complex-use.hh \ - hb-ot-shape-complex-use-table.cc hb-ot-shape-complex.hh \ - hb-ot-shape-normalize.hh hb-ot-shape-normalize.cc \ - hb-ot-shape-fallback.hh hb-ot-shape-fallback.cc hb-ot-shape.hh \ - hb-ot-var.cc hb-ot-var-avar-table.hh hb-ot-var-fvar-table.hh \ - hb-ot-var-hvar-table.hh hb-ot-var-mvar-table.hh \ - hb-ot-shape-complex-indic-machine.hh \ - hb-ot-shape-complex-khmer-machine.hh \ - hb-ot-shape-complex-myanmar-machine.hh \ - hb-ot-shape-complex-use-machine.hh hb-fallback-shape.cc \ - hb-glib.cc hb-ft.cc hb-graphite2.cc hb-uniscribe.cc \ - hb-directwrite.cc hb-coretext.cc hb-ucdn.cc hb-icu.cc hb.h \ - hb-blob.h hb-buffer.h hb-common.h hb-deprecated.h hb-face.h \ - hb-font.h hb-map.h hb-set.h hb-shape.h hb-shape-plan.h \ - hb-unicode.h hb-version.h hb-ot.h hb-ot-font.h hb-ot-layout.h \ - hb-ot-math.h hb-ot-shape.h hb-ot-tag.h hb-ot-var.h hb-glib.h \ - hb-ft.h hb-graphite2.h hb-uniscribe.h hb-directwrite.h \ - hb-coretext.h hb-icu.h -am__objects_42 = libharfbuzz_la-hb-blob.lo \ - libharfbuzz_la-hb-buffer-serialize.lo \ - libharfbuzz_la-hb-buffer.lo libharfbuzz_la-hb-common.lo \ - libharfbuzz_la-hb-face.lo libharfbuzz_la-hb-font.lo \ - libharfbuzz_la-hb-map.lo libharfbuzz_la-hb-ot-tag.lo \ - libharfbuzz_la-hb-set.lo libharfbuzz_la-hb-shape.lo \ - libharfbuzz_la-hb-shape-plan.lo libharfbuzz_la-hb-shaper.lo \ - libharfbuzz_la-hb-static.lo libharfbuzz_la-hb-unicode.lo \ - libharfbuzz_la-hb-warning.lo $(am__objects_1) -am__objects_43 = libharfbuzz_la-hb-aat-layout.lo \ - libharfbuzz_la-hb-ot-face.lo libharfbuzz_la-hb-ot-font.lo \ - libharfbuzz_la-hb-ot-layout.lo libharfbuzz_la-hb-ot-color.lo \ - libharfbuzz_la-hb-ot-map.lo libharfbuzz_la-hb-ot-math.lo \ - libharfbuzz_la-hb-ot-shape.lo \ - libharfbuzz_la-hb-ot-shape-complex-arabic.lo \ - libharfbuzz_la-hb-ot-shape-complex-default.lo \ - libharfbuzz_la-hb-ot-shape-complex-hangul.lo \ - libharfbuzz_la-hb-ot-shape-complex-hebrew.lo \ - libharfbuzz_la-hb-ot-shape-complex-indic.lo \ - libharfbuzz_la-hb-ot-shape-complex-indic-table.lo \ - libharfbuzz_la-hb-ot-shape-complex-khmer.lo \ - libharfbuzz_la-hb-ot-shape-complex-myanmar.lo \ - libharfbuzz_la-hb-ot-shape-complex-thai.lo \ - libharfbuzz_la-hb-ot-shape-complex-tibetan.lo \ - libharfbuzz_la-hb-ot-shape-complex-use.lo \ - libharfbuzz_la-hb-ot-shape-complex-use-table.lo \ - libharfbuzz_la-hb-ot-shape-normalize.lo \ - libharfbuzz_la-hb-ot-shape-fallback.lo \ - libharfbuzz_la-hb-ot-var.lo $(am__objects_1) -@HAVE_OT_TRUE@am__objects_44 = $(am__objects_43) $(am__objects_3) -am__objects_45 = libharfbuzz_la-hb-fallback-shape.lo $(am__objects_1) -@HAVE_FALLBACK_TRUE@am__objects_46 = $(am__objects_45) -am__objects_47 = libharfbuzz_la-hb-glib.lo -@HAVE_GLIB_TRUE@am__objects_48 = $(am__objects_47) -am__objects_49 = libharfbuzz_la-hb-ft.lo -@HAVE_FREETYPE_TRUE@am__objects_50 = $(am__objects_49) -am__objects_51 = libharfbuzz_la-hb-graphite2.lo -@HAVE_GRAPHITE2_TRUE@am__objects_52 = $(am__objects_51) -am__objects_53 = libharfbuzz_la-hb-uniscribe.lo -@HAVE_UNISCRIBE_TRUE@am__objects_54 = $(am__objects_53) -am__objects_55 = libharfbuzz_la-hb-directwrite.lo -@HAVE_DIRECTWRITE_TRUE@am__objects_56 = $(am__objects_55) -am__objects_57 = libharfbuzz_la-hb-coretext.lo -@HAVE_CORETEXT_TRUE@am__objects_58 = $(am__objects_57) -am__objects_59 = libharfbuzz_la-hb-ucdn.lo -@HAVE_UCDN_TRUE@am__objects_60 = $(am__objects_59) -am__objects_61 = libharfbuzz_la-hb-icu.lo -@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__objects_62 = \ -@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@ $(am__objects_61) -am__objects_63 = $(am__objects_42) $(am__objects_3) $(am__objects_44) \ - $(am__objects_46) $(am__objects_48) $(am__objects_50) \ - $(am__objects_52) $(am__objects_54) $(am__objects_56) \ - $(am__objects_58) $(am__objects_60) $(am__objects_62) -am_libharfbuzz_la_OBJECTS = $(am__objects_63) $(am__objects_33) -libharfbuzz_la_OBJECTS = $(am_libharfbuzz_la_OBJECTS) -am__EXEEXT_1 = -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@am__EXEEXT_2 = \ -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@ dump-emoji$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) -am__dump_emoji_SOURCES_DIST = dump-emoji.cc -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@am_dump_emoji_OBJECTS = dump_emoji-dump-emoji.$(OBJEXT) -dump_emoji_OBJECTS = $(am_dump_emoji_OBJECTS) -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@dump_emoji_DEPENDENCIES = \ -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@ libharfbuzz.la \ -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@ $(am__DEPENDENCIES_11) \ -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@ $(am__DEPENDENCIES_1) \ -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@ $(am__DEPENDENCIES_1) \ -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@ $(am__DEPENDENCIES_1) -am_dump_indic_data_OBJECTS = \ - dump_indic_data-dump-indic-data.$(OBJEXT) \ - dump_indic_data-hb-ot-shape-complex-indic-table.$(OBJEXT) -dump_indic_data_OBJECTS = $(am_dump_indic_data_OBJECTS) -dump_indic_data_DEPENDENCIES = libharfbuzz.la $(am__DEPENDENCIES_11) -am_dump_khmer_data_OBJECTS = \ - dump_khmer_data-dump-khmer-data.$(OBJEXT) \ - dump_khmer_data-hb-ot-shape-complex-indic-table.$(OBJEXT) -dump_khmer_data_OBJECTS = $(am_dump_khmer_data_OBJECTS) -dump_khmer_data_DEPENDENCIES = libharfbuzz.la $(am__DEPENDENCIES_11) -am_dump_myanmar_data_OBJECTS = \ - dump_myanmar_data-dump-myanmar-data.$(OBJEXT) \ - dump_myanmar_data-hb-ot-shape-complex-indic-table.$(OBJEXT) -dump_myanmar_data_OBJECTS = $(am_dump_myanmar_data_OBJECTS) -dump_myanmar_data_DEPENDENCIES = libharfbuzz.la $(am__DEPENDENCIES_11) -am_dump_use_data_OBJECTS = dump_use_data-dump-use-data.$(OBJEXT) \ - dump_use_data-hb-ot-shape-complex-use-table.$(OBJEXT) -dump_use_data_OBJECTS = $(am_dump_use_data_OBJECTS) -dump_use_data_DEPENDENCIES = libharfbuzz.la $(am__DEPENDENCIES_11) -am_main_OBJECTS = main-main.$(OBJEXT) -main_OBJECTS = $(am_main_OBJECTS) -main_DEPENDENCIES = libharfbuzz.la $(am__DEPENDENCIES_11) -am_test_OBJECTS = test-test.$(OBJEXT) -test_OBJECTS = $(am_test_OBJECTS) -test_DEPENDENCIES = libharfbuzz.la $(am__DEPENDENCIES_11) \ - $(am__DEPENDENCIES_1) -am_test_buffer_serialize_OBJECTS = \ - test_buffer_serialize-test-buffer-serialize.$(OBJEXT) -test_buffer_serialize_OBJECTS = $(am_test_buffer_serialize_OBJECTS) -test_buffer_serialize_DEPENDENCIES = libharfbuzz.la \ - $(am__DEPENDENCIES_11) -am_test_ot_tag_OBJECTS = test_ot_tag-hb-ot-tag.$(OBJEXT) -test_ot_tag_OBJECTS = $(am_test_ot_tag_OBJECTS) -test_ot_tag_DEPENDENCIES = libharfbuzz.la $(am__DEPENDENCIES_11) -am_test_size_params_OBJECTS = \ - test_size_params-test-size-params.$(OBJEXT) -test_size_params_OBJECTS = $(am_test_size_params_OBJECTS) -test_size_params_DEPENDENCIES = libharfbuzz.la $(am__DEPENDENCIES_11) -am_test_unicode_ranges_OBJECTS = test-unicode-ranges.$(OBJEXT) -test_unicode_ranges_OBJECTS = $(am_test_unicode_ranges_OBJECTS) -test_unicode_ranges_DEPENDENCIES = libharfbuzz.la \ - $(am__DEPENDENCIES_11) -am_test_would_substitute_OBJECTS = \ - test_would_substitute-test-would-substitute.$(OBJEXT) -test_would_substitute_OBJECTS = $(am_test_would_substitute_OBJECTS) -test_would_substitute_DEPENDENCIES = libharfbuzz.la \ - $(am__DEPENDENCIES_11) $(am__DEPENDENCIES_1) -am__dist_check_SCRIPTS_DIST = check-c-linkage-decls.sh \ - check-externs.sh check-header-guards.sh check-includes.sh \ - check-static-inits.sh check-symbols.sh check-libstdc++.sh -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) -AM_V_CXX = $(am__v_CXX_@AM_V@) -am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) -am__v_CXX_0 = @echo " CXX " $@; -am__v_CXX_1 = -CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) -am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) -am__v_CXXLD_0 = @echo " CXXLD " $@; -am__v_CXXLD_1 = -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libharfbuzz_fuzzing_la_SOURCES) \ - $(libharfbuzz_gobject_la_SOURCES) \ - $(nodist_libharfbuzz_gobject_la_SOURCES) \ - $(libharfbuzz_icu_la_SOURCES) \ - $(libharfbuzz_subset_fuzzing_la_SOURCES) \ - $(libharfbuzz_subset_la_SOURCES) $(libharfbuzz_la_SOURCES) \ - $(dump_emoji_SOURCES) $(dump_indic_data_SOURCES) \ - $(dump_khmer_data_SOURCES) $(dump_myanmar_data_SOURCES) \ - $(dump_use_data_SOURCES) $(main_SOURCES) $(test_SOURCES) \ - $(test_buffer_serialize_SOURCES) $(test_ot_tag_SOURCES) \ - $(test_size_params_SOURCES) $(test_unicode_ranges_SOURCES) \ - $(test_would_substitute_SOURCES) -DIST_SOURCES = $(am__libharfbuzz_fuzzing_la_SOURCES_DIST) \ - $(am__libharfbuzz_gobject_la_SOURCES_DIST) \ - $(am__libharfbuzz_icu_la_SOURCES_DIST) \ - $(libharfbuzz_subset_fuzzing_la_SOURCES) \ - $(libharfbuzz_subset_la_SOURCES) \ - $(am__libharfbuzz_la_SOURCES_DIST) \ - $(am__dump_emoji_SOURCES_DIST) $(dump_indic_data_SOURCES) \ - $(dump_khmer_data_SOURCES) $(dump_myanmar_data_SOURCES) \ - $(dump_use_data_SOURCES) $(main_SOURCES) $(test_SOURCES) \ - $(test_buffer_serialize_SOURCES) $(test_ot_tag_SOURCES) \ - $(test_size_params_SOURCES) $(test_unicode_ranges_SOURCES) \ - $(test_would_substitute_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -DATA = $(cmake_DATA) $(gir_DATA) $(pkgconfig_DATA) $(typelib_DATA) -am__pkginclude_HEADERS_DIST = hb.h hb-blob.h hb-buffer.h hb-common.h \ - hb-deprecated.h hb-face.h hb-font.h hb-map.h hb-set.h \ - hb-shape.h hb-shape-plan.h hb-unicode.h hb-version.h hb-ot.h \ - hb-ot-font.h hb-ot-layout.h hb-ot-math.h hb-ot-shape.h \ - hb-ot-tag.h hb-ot-var.h hb-glib.h hb-ft.h hb-graphite2.h \ - hb-uniscribe.h hb-directwrite.h hb-coretext.h hb-icu.h \ - hb-subset.h hb-gobject.h hb-gobject-structs.h -HEADERS = $(nodist_pkginclude_HEADERS) $(pkginclude_HEADERS) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - check recheck distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -@WITH_LIBSTDCXX_FALSE@am__EXEEXT_3 = check-libstdc++.sh \ -@WITH_LIBSTDCXX_FALSE@ $(am__EXEEXT_1) -am__EXEEXT_4 = check-c-linkage-decls.sh check-externs.sh \ - check-header-guards.sh check-includes.sh check-static-inits.sh \ - check-symbols.sh $(am__EXEEXT_1) $(am__EXEEXT_3) -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = @EXEEXT@ .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.sources \ - $(srcdir)/harfbuzz-config.cmake.in $(top_srcdir)/depcomp \ - $(top_srcdir)/test-driver -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CAIRO_CFLAGS = @CAIRO_CFLAGS@ -CAIRO_FT_CFLAGS = @CAIRO_FT_CFLAGS@ -CAIRO_FT_LIBS = @CAIRO_FT_LIBS@ -CAIRO_LIBS = @CAIRO_LIBS@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@ -CODE_COVERAGE_CPPFLAGS = @CODE_COVERAGE_CPPFLAGS@ -CODE_COVERAGE_CXXFLAGS = @CODE_COVERAGE_CXXFLAGS@ -CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@ -CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@ -CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@ -CORETEXT_CFLAGS = @CORETEXT_CFLAGS@ -CORETEXT_LIBS = @CORETEXT_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DIRECTWRITE_CXXFLAGS = @DIRECTWRITE_CXXFLAGS@ -DIRECTWRITE_LIBS = @DIRECTWRITE_LIBS@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ -FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ -FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ -FREETYPE_DEPS = @FREETYPE_DEPS@ -FREETYPE_LIBS = @FREETYPE_LIBS@ -GCOV = @GCOV@ -GENHTML = @GENHTML@ -GIT = @GIT@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_DEPS = @GLIB_DEPS@ -GLIB_LIBS = @GLIB_LIBS@ -GLIB_MKENUMS = @GLIB_MKENUMS@ -GOBJECT_CFLAGS = @GOBJECT_CFLAGS@ -GOBJECT_LIBS = @GOBJECT_LIBS@ -GRAPHITE2_CFLAGS = @GRAPHITE2_CFLAGS@ -GRAPHITE2_DEPS = @GRAPHITE2_DEPS@ -GRAPHITE2_LIBS = @GRAPHITE2_LIBS@ -GREP = @GREP@ -GTKDOC_CHECK = @GTKDOC_CHECK@ -GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@ -GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ -GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ -GTKDOC_MKPDF = @GTKDOC_MKPDF@ -GTKDOC_REBASE = @GTKDOC_REBASE@ -HB_LIBTOOL_VERSION_INFO = @HB_LIBTOOL_VERSION_INFO@ -HB_VERSION = @HB_VERSION@ -HB_VERSION_MAJOR = @HB_VERSION_MAJOR@ -HB_VERSION_MICRO = @HB_VERSION_MICRO@ -HB_VERSION_MINOR = @HB_VERSION_MINOR@ -HTML_DIR = @HTML_DIR@ -ICU_CFLAGS = @ICU_CFLAGS@ -ICU_CONFIG = @ICU_CONFIG@ -ICU_LIBS = @ICU_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ -INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ -INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ -INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ -INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ -INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ -INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ -INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ -LCOV = @LCOV@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RAGEL = @RAGEL@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -UNISCRIBE_CFLAGS = @UNISCRIBE_CFLAGS@ -UNISCRIBE_LIBS = @UNISCRIBE_LIBS@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -have_gobject = @have_gobject@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -NULL = -SUBDIRS = $(am__append_32) -DIST_SUBDIRS = hb-ucdn -BUILT_SOURCES = hb-version.h $(am__append_47) $(RAGEL_GENERATED) -EXTRA_DIST = hb-version.h.in harfbuzz.pc.in harfbuzz-config.cmake.in \ - harfbuzz-subset.pc.in harfbuzz-icu.pc.in \ - harfbuzz-gobject.pc.in hb-gobject-enums.cc.tmpl \ - hb-gobject-enums.h.tmpl $(NULL) $(GENERATORS) \ - $(HB_BASE_RAGEL_sources) $(HB_OT_RAGEL_sources) $(NULL) -CLEANFILES = libharfbuzz-fuzzing.la libharfbuzz-subset-fuzzing.la \ - $(pkgconfig_DATA) $(DEF_FILES) $(am__append_52) -DISTCLEANFILES = $(am__append_48) -MAINTAINERCLEANFILES = -DISTCHECK_CONFIGURE_FLAGS = --enable-introspection -lib_LTLIBRARIES = libharfbuzz.la libharfbuzz-subset.la \ - $(am__append_40) $(am__append_43) -HB_BASE_sources = \ - hb-atomic.hh \ - hb-blob.hh \ - hb-blob.cc \ - hb-buffer.hh \ - hb-buffer-serialize.cc \ - hb-buffer.cc \ - hb-common.cc \ - hb-debug.hh \ - hb-dsalgs.hh \ - hb-face.hh \ - hb-face.cc \ - hb-font.hh \ - hb-font.cc \ - hb-iter.hh \ - hb-map.hh \ - hb-map.cc \ - hb-machinery.hh \ - hb-mutex.hh \ - hb-null.hh \ - hb-object.hh \ - hb-open-file.hh \ - hb-open-type.hh \ - hb-ot-color-cbdt-table.hh \ - hb-ot-cmap-table.hh \ - hb-ot-glyf-table.hh \ - hb-ot-hdmx-table.hh \ - hb-ot-head-table.hh \ - hb-ot-hhea-table.hh \ - hb-ot-hmtx-table.hh \ - hb-ot-kern-table.hh \ - hb-ot-maxp-table.hh \ - hb-ot-name-table.hh \ - hb-ot-os2-table.hh \ - hb-ot-os2-unicode-ranges.hh \ - hb-ot-post-macroman.hh \ - hb-ot-post-table.hh \ - hb-ot-tag.cc \ - hb.hh \ - hb-set-digest.hh \ - hb-set.hh \ - hb-set.cc \ - hb-shape.cc \ - hb-shape-plan.hh \ - hb-shape-plan.cc \ - hb-shaper-list.hh \ - hb-shaper-impl.hh \ - hb-shaper.hh \ - hb-shaper.cc \ - hb-static.cc \ - hb-string-array.hh \ - hb-unicode.hh \ - hb-unicode.cc \ - hb-vector.hh \ - hb-utf.hh \ - hb-warning.cc \ - $(NULL) - -HB_BASE_RAGEL_GENERATED_sources = \ - hb-buffer-deserialize-json.hh \ - hb-buffer-deserialize-text.hh \ - $(NULL) - -HB_BASE_RAGEL_sources = \ - hb-buffer-deserialize-json.rl \ - hb-buffer-deserialize-text.rl \ - $(NULL) - -HB_BASE_headers = \ - hb.h \ - hb-blob.h \ - hb-buffer.h \ - hb-common.h \ - hb-deprecated.h \ - hb-face.h \ - hb-font.h \ - hb-map.h \ - hb-set.h \ - hb-shape.h \ - hb-shape-plan.h \ - hb-unicode.h \ - hb-version.h \ - $(NULL) - -HB_FALLBACK_sources = \ - hb-fallback-shape.cc \ - $(NULL) - -HB_OT_sources = \ - hb-aat-layout.cc \ - hb-aat-layout-common.hh \ - hb-aat-layout-ankr-table.hh \ - hb-aat-layout-bsln-table.hh \ - hb-aat-layout-feat-table.hh \ - hb-aat-layout-kerx-table.hh \ - hb-aat-layout-morx-table.hh \ - hb-aat-layout-trak-table.hh \ - hb-aat-layout.hh \ - hb-aat-ltag-table.hh \ - hb-ot-face.hh \ - hb-ot-face.cc \ - hb-ot-font.cc \ - hb-ot-layout.cc \ - hb-ot-layout-base-table.hh \ - hb-ot-layout-common.hh \ - hb-ot-layout-gdef-table.hh \ - hb-ot-layout-gpos-table.hh \ - hb-ot-layout-gsubgpos.hh \ - hb-ot-layout-gsub-table.hh \ - hb-ot-layout-jstf-table.hh \ - hb-ot-layout.hh \ - hb-ot-color.cc \ - hb-ot-color-colr-table.hh \ - hb-ot-color-cpal-table.hh \ - hb-ot-color-sbix-table.hh \ - hb-ot-color-svg-table.hh \ - hb-ot-map.cc \ - hb-ot-map.hh \ - hb-ot-math.cc \ - hb-ot-math-table.hh \ - hb-ot-shape.cc \ - hb-ot-shape-complex-arabic.cc \ - hb-ot-shape-complex-arabic-fallback.hh \ - hb-ot-shape-complex-arabic.hh \ - hb-ot-shape-complex-arabic-table.hh \ - hb-ot-shape-complex-arabic-win1256.hh \ - hb-ot-shape-complex-default.cc \ - hb-ot-shape-complex-hangul.cc \ - hb-ot-shape-complex-hebrew.cc \ - hb-ot-shape-complex-indic.cc \ - hb-ot-shape-complex-indic.hh \ - hb-ot-shape-complex-indic-table.cc \ - hb-ot-shape-complex-khmer.hh \ - hb-ot-shape-complex-khmer.cc \ - hb-ot-shape-complex-myanmar.hh \ - hb-ot-shape-complex-myanmar.cc \ - hb-ot-shape-complex-thai.cc \ - hb-ot-shape-complex-tibetan.cc \ - hb-ot-shape-complex-use.cc \ - hb-ot-shape-complex-use.hh \ - hb-ot-shape-complex-use-table.cc \ - hb-ot-shape-complex.hh \ - hb-ot-shape-normalize.hh \ - hb-ot-shape-normalize.cc \ - hb-ot-shape-fallback.hh \ - hb-ot-shape-fallback.cc \ - hb-ot-shape.hh \ - hb-ot-var.cc \ - hb-ot-var-avar-table.hh \ - hb-ot-var-fvar-table.hh \ - hb-ot-var-hvar-table.hh \ - hb-ot-var-mvar-table.hh \ - $(NULL) - -HB_OT_RAGEL_GENERATED_sources = \ - hb-ot-shape-complex-indic-machine.hh \ - hb-ot-shape-complex-khmer-machine.hh \ - hb-ot-shape-complex-myanmar-machine.hh \ - hb-ot-shape-complex-use-machine.hh \ - $(NULL) - -HB_OT_RAGEL_sources = \ - hb-ot-shape-complex-indic-machine.rl \ - hb-ot-shape-complex-khmer-machine.rl \ - hb-ot-shape-complex-myanmar-machine.rl \ - hb-ot-shape-complex-use-machine.rl \ - $(NULL) - -HB_OT_headers = \ - hb-ot.h \ - hb-ot-font.h \ - hb-ot-layout.h \ - hb-ot-math.h \ - hb-ot-shape.h \ - hb-ot-tag.h \ - hb-ot-var.h \ - $(NULL) - - -# Optional Sources and Headers with external deps -HB_FT_sources = hb-ft.cc -HB_FT_headers = hb-ft.h -HB_GLIB_sources = hb-glib.cc -HB_GLIB_headers = hb-glib.h -HB_GRAPHITE2_sources = hb-graphite2.cc -HB_GRAPHITE2_headers = hb-graphite2.h - -# System-dependent sources and headers -HB_CORETEXT_sources = hb-coretext.cc -HB_CORETEXT_headers = hb-coretext.h -HB_DIRECTWRITE_sources = hb-directwrite.cc -HB_DIRECTWRITE_headers = hb-directwrite.h -HB_UNISCRIBE_sources = hb-uniscribe.cc -HB_UNISCRIBE_headers = hb-uniscribe.h - -# Additional supplemental sources -HB_UCDN_sources = hb-ucdn.cc - -# Sources for libharfbuzz-gobject and libharfbuzz-icu -HB_ICU_sources = hb-icu.cc -HB_ICU_headers = hb-icu.h - -# Sources for libharfbuzz-subset -HB_SUBSET_sources = \ - hb-static.cc \ - hb-subset.cc \ - hb-subset.hh \ - hb-subset-glyf.cc \ - hb-subset-glyf.hh \ - hb-subset-input.cc \ - hb-subset-input.hh \ - hb-subset-plan.cc \ - hb-subset-plan.hh \ - $(NULL) - -HB_SUBSET_headers = \ - hb-subset.h \ - $(NULL) - -HB_GOBJECT_DIST_sources = hb-gobject-structs.cc -HB_GOBJECT_DIST_headers = hb-gobject.h hb-gobject-structs.h -HB_GOBJECT_ENUM_sources = hb-gobject-enums.cc -HB_GOBJECT_ENUM_headers = hb-gobject-enums.h -HB_GOBJECT_NODIST_sources = $(HB_GOBJECT_ENUM_sources) -HB_GOBJECT_NODIST_headers = $(HB_GOBJECT_ENUM_headers) -HB_GOBJECT_sources = $(HB_GOBJECT_DIST_sources) $(HB_GOBJECT_NODIST_sources) -HB_GOBJECT_headers = $(HB_GOBJECT_DIST_headers) $(HB_GOBJECT_NODIST_headers) -HBCFLAGS = $(am__append_4) $(am__append_6) $(am__append_11) \ - $(am__append_15) $(am__append_20) $(am__append_24) \ - $(am__append_28) $(am__append_33) $(am__append_36) - -# Put the library together -HBLIBS = $(am__append_7) $(am__append_12) $(am__append_16) \ - $(am__append_34) $(HBNONPCLIBS) $(am__append_37) -HBNONPCLIBS = $(am__append_5) $(am__append_21) $(am__append_25) \ - $(am__append_29) -HBDEPS = $(am__append_8) $(am__append_17) -HBSOURCES = $(HB_BASE_sources) $(HB_BASE_RAGEL_GENERATED_sources) \ - $(am__append_1) $(am__append_3) $(am__append_9) \ - $(am__append_13) $(am__append_18) $(am__append_22) \ - $(am__append_26) $(am__append_30) $(am__append_35) \ - $(am__append_38) -HBHEADERS = $(HB_BASE_headers) $(am__append_2) $(am__append_10) \ - $(am__append_14) $(am__append_19) $(am__append_23) \ - $(am__append_27) $(am__append_31) $(am__append_39) -@OS_WIN32_TRUE@export_symbols = -export-symbols harfbuzz.def -@OS_WIN32_TRUE@harfbuzz_def_dependency = harfbuzz.def -@OS_WIN32_TRUE@export_symbols_subset = -export-symbols harfbuzz-subset.def -@OS_WIN32_TRUE@harfbuzz_subset_def_dependency = harfbuzz-subset.def -@OS_WIN32_TRUE@export_symbols_icu = -export-symbols harfbuzz-icu.def -@OS_WIN32_TRUE@harfbuzz_icu_def_dependency = harfbuzz-icu.def -@OS_WIN32_TRUE@export_symbols_gobject = -export-symbols harfbuzz-gobject.def -@OS_WIN32_TRUE@harfbuzz_gobject_def_dependency = harfbuzz-gobject.def -@HAVE_GCC_FALSE@@OS_WIN32_FALSE@@WITH_LIBSTDCXX_FALSE@chosen_linker = $(CXXLINK) -# Use a C linker for GCC, not C++; Don't link to libstdc++ -@HAVE_GCC_TRUE@@OS_WIN32_FALSE@@WITH_LIBSTDCXX_FALSE@chosen_linker = $(LINK) -@OS_WIN32_FALSE@@WITH_LIBSTDCXX_TRUE@chosen_linker = $(CXXLINK) -@OS_WIN32_TRUE@chosen_linker = $(CXXLINK) -base_link_flags = $(AM_LDFLAGS) -lm -version-info $(HB_LIBTOOL_VERSION_INFO) -no-undefined -libharfbuzz_la_LINK = $(chosen_linker) $(libharfbuzz_la_LDFLAGS) -libharfbuzz_la_SOURCES = $(HBSOURCES) $(HBHEADERS) -libharfbuzz_la_CPPFLAGS = $(HBCFLAGS) $(CODE_COVERAGE_CFLAGS) -libharfbuzz_la_LDFLAGS = $(base_link_flags) $(export_symbols) $(CODE_COVERAGE_LDFLAGS) -libharfbuzz_la_LIBADD = $(HBLIBS) -EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency) -pkginclude_HEADERS = $(HBHEADERS) $(HB_SUBSET_headers) \ - $(am__append_41) $(am__append_44) -nodist_pkginclude_HEADERS = $(am__append_45) -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = harfbuzz.pc harfbuzz-subset.pc $(am__append_42) \ - $(am__append_46) -cmakedir = $(libdir)/cmake/harfbuzz -cmake_DATA = harfbuzz-config.cmake -libharfbuzz_subset_la_SOURCES = $(HB_SUBSET_sources) -libharfbuzz_subset_la_CPPFLAGS = $(HBCFLAGS) $(CODE_COVERAGE_CFLAGS) -libharfbuzz_subset_la_LDFLAGS = $(base_link_flags) $(export_symbols_subset) $(CODE_COVERAGE_LDFLAGS) -libharfbuzz_subset_la_LIBADD = libharfbuzz.la -EXTRA_libharfbuzz_subset_la_DEPENDENCIES = $(harfbuzz_subset_def_dependency) -FUZZING_CPPFLAGS = \ - -DHB_NDEBUG \ - -DHB_MAX_NESTING_LEVEL=3 \ - -DHB_SANITIZE_MAX_EDITS=3 \ - -DHB_SANITIZE_MAX_OPS_FACTOR=3 \ - -DHB_SANITIZE_MAX_OPS_MIN=128 \ - -DHB_BUFFER_MAX_LEN_FACTOR=3 \ - -DHB_BUFFER_MAX_LEN_MIN=8 \ - -DHB_BUFFER_MAX_LEN_DEFAULT=128 \ - -DHB_BUFFER_MAX_OPS_FACTOR=8 \ - -DHB_BUFFER_MAX_OPS_MIN=64 \ - -DHB_BUFFER_MAX_OPS_DEFAULT=1024 \ - $(NULL) - -EXTRA_LTLIBRARIES = libharfbuzz-fuzzing.la libharfbuzz-subset-fuzzing.la -libharfbuzz_fuzzing_la_LINK = $(chosen_linker) $(libharfbuzz_fuzzing_la_LDFLAGS) -libharfbuzz_fuzzing_la_SOURCES = $(libharfbuzz_la_SOURCES) -libharfbuzz_fuzzing_la_CPPFLAGS = $(HBCFLAGS) $(FUZZING_CPPFLAGS) -libharfbuzz_fuzzing_la_LDFLAGS = $(AM_LDFLAGS) -libharfbuzz_fuzzing_la_LIBADD = $(libharfbuzz_la_LIBADD) -EXTRA_libharfbuzz_fuzzing_la_DEPENDENCIES = $(EXTRA_libharfbuzz_la_DEPENDENCIES) -libharfbuzz_subset_fuzzing_la_LINK = $(chosen_linker) $(libharfbuzz_subset_fuzzing_la_LDFLAGS) -libharfbuzz_subset_fuzzing_la_SOURCES = $(libharfbuzz_subset_la_SOURCES) -libharfbuzz_subset_fuzzing_la_CPPFLAGS = $(HBCFLAGS) $(FUZZING_CPPFLAGS) -libharfbuzz_subset_fuzzing_la_LDFLAGS = $(AM_LDFLAGS) -libharfbuzz_subset_fuzzing_la_LIBADD = $(libharfbuzz_subset_la_LIBADD) -EXTRA_libharfbuzz_subset_fuzzing_la_DEPENDENCIES = $(EXTRA_libharfbuzz_subset_la_DEPENDENCIES) -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@libharfbuzz_icu_la_SOURCES = $(HB_ICU_sources) -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@libharfbuzz_icu_la_CPPFLAGS = $(HBCFLAGS) $(ICU_CFLAGS) $(CODE_COVERAGE_CFLAGS) -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@libharfbuzz_icu_la_LDFLAGS = $(base_link_flags) $(export_symbols_icu) $(CODE_COVERAGE_LDFLAGS) -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@libharfbuzz_icu_la_LIBADD = $(ICU_LIBS) libharfbuzz.la -@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@EXTRA_libharfbuzz_icu_la_DEPENDENCIES = $(harfbuzz_icu_def_dependency) -@HAVE_GOBJECT_TRUE@libharfbuzz_gobject_la_LINK = $(chosen_linker) $(libharfbuzz_gobject_la_LDFLAGS) -@HAVE_GOBJECT_TRUE@libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_DIST_sources) -@HAVE_GOBJECT_TRUE@nodist_libharfbuzz_gobject_la_SOURCES = $(HB_GOBJECT_NODIST_sources) -@HAVE_GOBJECT_TRUE@libharfbuzz_gobject_la_CPPFLAGS = $(HBCFLAGS) $(GOBJECT_CFLAGS) $(CODE_COVERAGE_CFLAGS) -@HAVE_GOBJECT_TRUE@libharfbuzz_gobject_la_LDFLAGS = $(base_link_flags) $(CODE_COVERAGE_LDFLAGS) -@HAVE_GOBJECT_TRUE@libharfbuzz_gobject_la_LIBADD = $(GOBJECT_LIBS) libharfbuzz.la -@HAVE_GOBJECT_TRUE@EXTRA_libharfbuzz_gobject_la_DEPENDENCIES = $(harfbuzz_gobject_def_dependency) -DEF_FILES = harfbuzz.def harfbuzz-subset.def harfbuzz-icu.def \ - $(am__append_49) -GENERATORS = \ - gen-arabic-table.py \ - gen-indic-table.py \ - gen-use-table.py \ - gen-def.py \ - $(NULL) - -RAGEL_GENERATED = \ - $(patsubst %,$(srcdir)/%,$(HB_BASE_RAGEL_GENERATED_sources)) \ - $(patsubst %,$(srcdir)/%,$(HB_OT_RAGEL_GENERATED_sources)) \ - $(NULL) - -main_SOURCES = main.cc -main_CPPFLAGS = $(HBCFLAGS) -main_LDADD = libharfbuzz.la $(HBLIBS) -test_SOURCES = test.cc -test_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS) -test_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS) -test_would_substitute_SOURCES = test-would-substitute.cc -test_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS) -test_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS) -test_size_params_SOURCES = test-size-params.cc -test_size_params_CPPFLAGS = $(HBCFLAGS) -test_size_params_LDADD = libharfbuzz.la $(HBLIBS) -test_buffer_serialize_SOURCES = test-buffer-serialize.cc -test_buffer_serialize_CPPFLAGS = $(HBCFLAGS) -test_buffer_serialize_LDADD = libharfbuzz.la $(HBLIBS) -dist_check_SCRIPTS = check-c-linkage-decls.sh check-externs.sh \ - check-header-guards.sh check-includes.sh check-static-inits.sh \ - check-symbols.sh $(NULL) $(am__append_50) -dump_indic_data_SOURCES = dump-indic-data.cc hb-ot-shape-complex-indic-table.cc -dump_indic_data_CPPFLAGS = $(HBCFLAGS) -dump_indic_data_LDADD = libharfbuzz.la $(HBLIBS) -dump_khmer_data_SOURCES = dump-khmer-data.cc hb-ot-shape-complex-indic-table.cc -dump_khmer_data_CPPFLAGS = $(HBCFLAGS) -dump_khmer_data_LDADD = libharfbuzz.la $(HBLIBS) -dump_myanmar_data_SOURCES = dump-myanmar-data.cc hb-ot-shape-complex-indic-table.cc -dump_myanmar_data_CPPFLAGS = $(HBCFLAGS) -dump_myanmar_data_LDADD = libharfbuzz.la $(HBLIBS) -dump_use_data_SOURCES = dump-use-data.cc hb-ot-shape-complex-use-table.cc -dump_use_data_CPPFLAGS = $(HBCFLAGS) -dump_use_data_LDADD = libharfbuzz.la $(HBLIBS) -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@dump_emoji_SOURCES = dump-emoji.cc -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@dump_emoji_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS) $(CAIRO_FT_CFLAGS) -@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@dump_emoji_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS) $(CAIRO_LIBS) $(CAIRO_FT_LIBS) -test_ot_tag_SOURCES = hb-ot-tag.cc -test_ot_tag_CPPFLAGS = $(HBCFLAGS) -DMAIN -test_ot_tag_LDADD = libharfbuzz.la $(HBLIBS) -test_unicode_ranges_SOURCES = test-unicode-ranges.cc -test_unicode_ranges_LDADD = libharfbuzz.la $(HBLIBS) -TESTS_ENVIRONMENT = \ - srcdir="$(srcdir)" \ - MAKE="$(MAKE) $(AM_MAKEFLAGS)" \ - HBSOURCES="$(HBSOURCES)" \ - HBHEADERS="$(HBHEADERS)" \ - $(NULL) - -@HAVE_INTROSPECTION_TRUE@INTROSPECTION_GIRS = HarfBuzz-0.0.gir # What does the 0 mean anyway?! -@HAVE_INTROSPECTION_TRUE@INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ --warn-all -@HAVE_INTROSPECTION_TRUE@INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) -@HAVE_INTROSPECTION_TRUE@INTROSPECTION_SCANNER_ENV = CC="$(CC)" -@HAVE_INTROSPECTION_TRUE@HarfBuzz_0_0_gir_INCLUDES = GObject-2.0 -@HAVE_INTROSPECTION_TRUE@HarfBuzz_0_0_gir_CFLAGS = \ -@HAVE_INTROSPECTION_TRUE@ $(INCLUDES) \ -@HAVE_INTROSPECTION_TRUE@ $(HBCFLAGS) \ -@HAVE_INTROSPECTION_TRUE@ -DHB_H \ -@HAVE_INTROSPECTION_TRUE@ -DHB_H_IN \ -@HAVE_INTROSPECTION_TRUE@ -DHB_OT_H \ -@HAVE_INTROSPECTION_TRUE@ -DHB_OT_H_IN \ -@HAVE_INTROSPECTION_TRUE@ -DHB_GOBJECT_H \ -@HAVE_INTROSPECTION_TRUE@ -DHB_GOBJECT_H_IN \ -@HAVE_INTROSPECTION_TRUE@ -DHB_EXTERN= \ -@HAVE_INTROSPECTION_TRUE@ $(NULL) - -@HAVE_INTROSPECTION_TRUE@HarfBuzz_0_0_gir_LIBS = \ -@HAVE_INTROSPECTION_TRUE@ libharfbuzz.la \ -@HAVE_INTROSPECTION_TRUE@ libharfbuzz-gobject.la \ -@HAVE_INTROSPECTION_TRUE@ $(NULL) - -@HAVE_INTROSPECTION_TRUE@HarfBuzz_0_0_gir_FILES = \ -@HAVE_INTROSPECTION_TRUE@ $(HBHEADERS) \ -@HAVE_INTROSPECTION_TRUE@ $(HBSOURCES) \ -@HAVE_INTROSPECTION_TRUE@ $(HB_GOBJECT_sources) \ -@HAVE_INTROSPECTION_TRUE@ $(HB_GOBJECT_headers) \ -@HAVE_INTROSPECTION_TRUE@ $(NULL) - -@HAVE_INTROSPECTION_TRUE@girdir = $(datadir)/gir-1.0 -@HAVE_INTROSPECTION_TRUE@gir_DATA = $(INTROSPECTION_GIRS) -@HAVE_INTROSPECTION_TRUE@typelibdir = $(libdir)/girepository-1.0 -@HAVE_INTROSPECTION_TRUE@typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib) -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -.SUFFIXES: .cc .lo .log .o .obj .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makefile.sources $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnits src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/Makefile.sources $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -harfbuzz-config.cmake: $(top_builddir)/config.status $(srcdir)/harfbuzz-config.cmake.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libharfbuzz-fuzzing.la: $(libharfbuzz_fuzzing_la_OBJECTS) $(libharfbuzz_fuzzing_la_DEPENDENCIES) $(EXTRA_libharfbuzz_fuzzing_la_DEPENDENCIES) - $(AM_V_GEN)$(libharfbuzz_fuzzing_la_LINK) $(libharfbuzz_fuzzing_la_OBJECTS) $(libharfbuzz_fuzzing_la_LIBADD) $(LIBS) - -libharfbuzz-gobject.la: $(libharfbuzz_gobject_la_OBJECTS) $(libharfbuzz_gobject_la_DEPENDENCIES) $(EXTRA_libharfbuzz_gobject_la_DEPENDENCIES) - $(AM_V_GEN)$(libharfbuzz_gobject_la_LINK) $(am_libharfbuzz_gobject_la_rpath) $(libharfbuzz_gobject_la_OBJECTS) $(libharfbuzz_gobject_la_LIBADD) $(LIBS) - -libharfbuzz-icu.la: $(libharfbuzz_icu_la_OBJECTS) $(libharfbuzz_icu_la_DEPENDENCIES) $(EXTRA_libharfbuzz_icu_la_DEPENDENCIES) - $(AM_V_CXXLD)$(libharfbuzz_icu_la_LINK) $(am_libharfbuzz_icu_la_rpath) $(libharfbuzz_icu_la_OBJECTS) $(libharfbuzz_icu_la_LIBADD) $(LIBS) - -libharfbuzz-subset-fuzzing.la: $(libharfbuzz_subset_fuzzing_la_OBJECTS) $(libharfbuzz_subset_fuzzing_la_DEPENDENCIES) $(EXTRA_libharfbuzz_subset_fuzzing_la_DEPENDENCIES) - $(AM_V_GEN)$(libharfbuzz_subset_fuzzing_la_LINK) $(libharfbuzz_subset_fuzzing_la_OBJECTS) $(libharfbuzz_subset_fuzzing_la_LIBADD) $(LIBS) - -libharfbuzz-subset.la: $(libharfbuzz_subset_la_OBJECTS) $(libharfbuzz_subset_la_DEPENDENCIES) $(EXTRA_libharfbuzz_subset_la_DEPENDENCIES) - $(AM_V_CXXLD)$(libharfbuzz_subset_la_LINK) -rpath $(libdir) $(libharfbuzz_subset_la_OBJECTS) $(libharfbuzz_subset_la_LIBADD) $(LIBS) - -libharfbuzz.la: $(libharfbuzz_la_OBJECTS) $(libharfbuzz_la_DEPENDENCIES) $(EXTRA_libharfbuzz_la_DEPENDENCIES) - $(AM_V_GEN)$(libharfbuzz_la_LINK) -rpath $(libdir) $(libharfbuzz_la_OBJECTS) $(libharfbuzz_la_LIBADD) $(LIBS) -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -installcheck-binPROGRAMS: $(bin_PROGRAMS) - bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \ - case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \ - *" $$p "* | *" $(srcdir)/$$p "*) continue;; \ - esac; \ - f=`echo "$$p" | \ - sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - for opt in --help --version; do \ - if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \ - 2>c$${pid}_.err &2; bad=1; fi; \ - done; \ - done; rm -f c$${pid}_.???; exit $$bad - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -dump-emoji$(EXEEXT): $(dump_emoji_OBJECTS) $(dump_emoji_DEPENDENCIES) $(EXTRA_dump_emoji_DEPENDENCIES) - @rm -f dump-emoji$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(dump_emoji_OBJECTS) $(dump_emoji_LDADD) $(LIBS) - -dump-indic-data$(EXEEXT): $(dump_indic_data_OBJECTS) $(dump_indic_data_DEPENDENCIES) $(EXTRA_dump_indic_data_DEPENDENCIES) - @rm -f dump-indic-data$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(dump_indic_data_OBJECTS) $(dump_indic_data_LDADD) $(LIBS) - -dump-khmer-data$(EXEEXT): $(dump_khmer_data_OBJECTS) $(dump_khmer_data_DEPENDENCIES) $(EXTRA_dump_khmer_data_DEPENDENCIES) - @rm -f dump-khmer-data$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(dump_khmer_data_OBJECTS) $(dump_khmer_data_LDADD) $(LIBS) - -dump-myanmar-data$(EXEEXT): $(dump_myanmar_data_OBJECTS) $(dump_myanmar_data_DEPENDENCIES) $(EXTRA_dump_myanmar_data_DEPENDENCIES) - @rm -f dump-myanmar-data$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(dump_myanmar_data_OBJECTS) $(dump_myanmar_data_LDADD) $(LIBS) - -dump-use-data$(EXEEXT): $(dump_use_data_OBJECTS) $(dump_use_data_DEPENDENCIES) $(EXTRA_dump_use_data_DEPENDENCIES) - @rm -f dump-use-data$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(dump_use_data_OBJECTS) $(dump_use_data_LDADD) $(LIBS) - -main$(EXEEXT): $(main_OBJECTS) $(main_DEPENDENCIES) $(EXTRA_main_DEPENDENCIES) - @rm -f main$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(main_OBJECTS) $(main_LDADD) $(LIBS) - -test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) $(EXTRA_test_DEPENDENCIES) - @rm -f test$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(test_OBJECTS) $(test_LDADD) $(LIBS) - -test-buffer-serialize$(EXEEXT): $(test_buffer_serialize_OBJECTS) $(test_buffer_serialize_DEPENDENCIES) $(EXTRA_test_buffer_serialize_DEPENDENCIES) - @rm -f test-buffer-serialize$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(test_buffer_serialize_OBJECTS) $(test_buffer_serialize_LDADD) $(LIBS) - -test-ot-tag$(EXEEXT): $(test_ot_tag_OBJECTS) $(test_ot_tag_DEPENDENCIES) $(EXTRA_test_ot_tag_DEPENDENCIES) - @rm -f test-ot-tag$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(test_ot_tag_OBJECTS) $(test_ot_tag_LDADD) $(LIBS) - -test-size-params$(EXEEXT): $(test_size_params_OBJECTS) $(test_size_params_DEPENDENCIES) $(EXTRA_test_size_params_DEPENDENCIES) - @rm -f test-size-params$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(test_size_params_OBJECTS) $(test_size_params_LDADD) $(LIBS) - -test-unicode-ranges$(EXEEXT): $(test_unicode_ranges_OBJECTS) $(test_unicode_ranges_DEPENDENCIES) $(EXTRA_test_unicode_ranges_DEPENDENCIES) - @rm -f test-unicode-ranges$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(test_unicode_ranges_OBJECTS) $(test_unicode_ranges_LDADD) $(LIBS) - -test-would-substitute$(EXEEXT): $(test_would_substitute_OBJECTS) $(test_would_substitute_DEPENDENCIES) $(EXTRA_test_would_substitute_DEPENDENCIES) - @rm -f test-would-substitute$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(test_would_substitute_OBJECTS) $(test_would_substitute_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_emoji-dump-emoji.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_indic_data-dump-indic-data.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_indic_data-hb-ot-shape-complex-indic-table.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_khmer_data-dump-khmer-data.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_khmer_data-hb-ot-shape-complex-indic-table.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_myanmar_data-dump-myanmar-data.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_myanmar_data-hb-ot-shape-complex-indic-table.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_use_data-dump-use-data.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dump_use_data-hb-ot-shape-complex-use-table.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-aat-layout.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-blob.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-buffer-serialize.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-buffer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-common.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-coretext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-directwrite.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-face.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-fallback-shape.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-font.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ft.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-glib.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-graphite2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-icu.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-map.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-color.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-face.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-font.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-layout.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-map.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-math.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-arabic.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-default.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-hangul.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-hebrew.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic-table.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-khmer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-myanmar.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-thai.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-tibetan.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-use-table.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-use.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-fallback.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-normalize.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-tag.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-var.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-set.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-shape-plan.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-shape.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-shaper.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-static.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-ucdn.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-unicode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-uniscribe.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_fuzzing_la-hb-warning.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-enums.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-structs.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_icu_la-hb-icu.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-aat-layout.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-blob.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-buffer-serialize.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-buffer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-common.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-coretext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-directwrite.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-face.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-font.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ft.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-glib.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-graphite2.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-icu.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-map.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-color.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-face.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-font.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-layout.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-map.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-math.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-arabic.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-default.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hangul.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hebrew.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic-table.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-khmer.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-myanmar.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-thai.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-tibetan.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use-table.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-fallback.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape-normalize.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-shape.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-tag.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ot-var.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-set.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-shape-plan.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-shape.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-shaper.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-static.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-ucdn.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-unicode.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-uniscribe.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-warning.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-static.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset-glyf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset-input.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset-plan.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-static.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-glyf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-input.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset-plan.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_subset_la-hb-subset.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main-main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-test.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-unicode-ranges.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ot_tag-hb-ot-tag.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_size_params-test-size-params.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_would_substitute-test-would-substitute.Po@am__quote@ - -.cc.o: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< - -.cc.obj: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.cc.lo: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< - -libharfbuzz_fuzzing_la-hb-blob.lo: hb-blob.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-blob.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-blob.Tpo -c -o libharfbuzz_fuzzing_la-hb-blob.lo `test -f 'hb-blob.cc' || echo '$(srcdir)/'`hb-blob.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-blob.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-blob.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-blob.cc' object='libharfbuzz_fuzzing_la-hb-blob.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-blob.lo `test -f 'hb-blob.cc' || echo '$(srcdir)/'`hb-blob.cc - -libharfbuzz_fuzzing_la-hb-buffer-serialize.lo: hb-buffer-serialize.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-buffer-serialize.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-buffer-serialize.Tpo -c -o libharfbuzz_fuzzing_la-hb-buffer-serialize.lo `test -f 'hb-buffer-serialize.cc' || echo '$(srcdir)/'`hb-buffer-serialize.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-buffer-serialize.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-buffer-serialize.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-buffer-serialize.cc' object='libharfbuzz_fuzzing_la-hb-buffer-serialize.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-buffer-serialize.lo `test -f 'hb-buffer-serialize.cc' || echo '$(srcdir)/'`hb-buffer-serialize.cc - -libharfbuzz_fuzzing_la-hb-buffer.lo: hb-buffer.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-buffer.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-buffer.Tpo -c -o libharfbuzz_fuzzing_la-hb-buffer.lo `test -f 'hb-buffer.cc' || echo '$(srcdir)/'`hb-buffer.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-buffer.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-buffer.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-buffer.cc' object='libharfbuzz_fuzzing_la-hb-buffer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-buffer.lo `test -f 'hb-buffer.cc' || echo '$(srcdir)/'`hb-buffer.cc - -libharfbuzz_fuzzing_la-hb-common.lo: hb-common.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-common.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-common.Tpo -c -o libharfbuzz_fuzzing_la-hb-common.lo `test -f 'hb-common.cc' || echo '$(srcdir)/'`hb-common.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-common.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-common.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-common.cc' object='libharfbuzz_fuzzing_la-hb-common.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-common.lo `test -f 'hb-common.cc' || echo '$(srcdir)/'`hb-common.cc - -libharfbuzz_fuzzing_la-hb-face.lo: hb-face.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-face.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-face.Tpo -c -o libharfbuzz_fuzzing_la-hb-face.lo `test -f 'hb-face.cc' || echo '$(srcdir)/'`hb-face.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-face.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-face.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-face.cc' object='libharfbuzz_fuzzing_la-hb-face.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-face.lo `test -f 'hb-face.cc' || echo '$(srcdir)/'`hb-face.cc - -libharfbuzz_fuzzing_la-hb-font.lo: hb-font.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-font.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-font.Tpo -c -o libharfbuzz_fuzzing_la-hb-font.lo `test -f 'hb-font.cc' || echo '$(srcdir)/'`hb-font.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-font.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-font.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-font.cc' object='libharfbuzz_fuzzing_la-hb-font.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-font.lo `test -f 'hb-font.cc' || echo '$(srcdir)/'`hb-font.cc - -libharfbuzz_fuzzing_la-hb-map.lo: hb-map.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-map.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-map.Tpo -c -o libharfbuzz_fuzzing_la-hb-map.lo `test -f 'hb-map.cc' || echo '$(srcdir)/'`hb-map.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-map.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-map.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-map.cc' object='libharfbuzz_fuzzing_la-hb-map.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-map.lo `test -f 'hb-map.cc' || echo '$(srcdir)/'`hb-map.cc - -libharfbuzz_fuzzing_la-hb-ot-tag.lo: hb-ot-tag.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-tag.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-tag.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-tag.lo `test -f 'hb-ot-tag.cc' || echo '$(srcdir)/'`hb-ot-tag.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-tag.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-tag.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-tag.cc' object='libharfbuzz_fuzzing_la-hb-ot-tag.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-tag.lo `test -f 'hb-ot-tag.cc' || echo '$(srcdir)/'`hb-ot-tag.cc - -libharfbuzz_fuzzing_la-hb-set.lo: hb-set.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-set.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-set.Tpo -c -o libharfbuzz_fuzzing_la-hb-set.lo `test -f 'hb-set.cc' || echo '$(srcdir)/'`hb-set.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-set.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-set.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-set.cc' object='libharfbuzz_fuzzing_la-hb-set.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-set.lo `test -f 'hb-set.cc' || echo '$(srcdir)/'`hb-set.cc - -libharfbuzz_fuzzing_la-hb-shape.lo: hb-shape.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-shape.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-shape.Tpo -c -o libharfbuzz_fuzzing_la-hb-shape.lo `test -f 'hb-shape.cc' || echo '$(srcdir)/'`hb-shape.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-shape.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-shape.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-shape.cc' object='libharfbuzz_fuzzing_la-hb-shape.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-shape.lo `test -f 'hb-shape.cc' || echo '$(srcdir)/'`hb-shape.cc - -libharfbuzz_fuzzing_la-hb-shape-plan.lo: hb-shape-plan.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-shape-plan.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-shape-plan.Tpo -c -o libharfbuzz_fuzzing_la-hb-shape-plan.lo `test -f 'hb-shape-plan.cc' || echo '$(srcdir)/'`hb-shape-plan.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-shape-plan.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-shape-plan.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-shape-plan.cc' object='libharfbuzz_fuzzing_la-hb-shape-plan.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-shape-plan.lo `test -f 'hb-shape-plan.cc' || echo '$(srcdir)/'`hb-shape-plan.cc - -libharfbuzz_fuzzing_la-hb-shaper.lo: hb-shaper.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-shaper.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-shaper.Tpo -c -o libharfbuzz_fuzzing_la-hb-shaper.lo `test -f 'hb-shaper.cc' || echo '$(srcdir)/'`hb-shaper.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-shaper.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-shaper.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-shaper.cc' object='libharfbuzz_fuzzing_la-hb-shaper.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-shaper.lo `test -f 'hb-shaper.cc' || echo '$(srcdir)/'`hb-shaper.cc - -libharfbuzz_fuzzing_la-hb-static.lo: hb-static.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-static.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-static.Tpo -c -o libharfbuzz_fuzzing_la-hb-static.lo `test -f 'hb-static.cc' || echo '$(srcdir)/'`hb-static.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-static.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-static.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-static.cc' object='libharfbuzz_fuzzing_la-hb-static.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-static.lo `test -f 'hb-static.cc' || echo '$(srcdir)/'`hb-static.cc - -libharfbuzz_fuzzing_la-hb-unicode.lo: hb-unicode.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-unicode.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-unicode.Tpo -c -o libharfbuzz_fuzzing_la-hb-unicode.lo `test -f 'hb-unicode.cc' || echo '$(srcdir)/'`hb-unicode.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-unicode.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-unicode.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-unicode.cc' object='libharfbuzz_fuzzing_la-hb-unicode.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-unicode.lo `test -f 'hb-unicode.cc' || echo '$(srcdir)/'`hb-unicode.cc - -libharfbuzz_fuzzing_la-hb-warning.lo: hb-warning.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-warning.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-warning.Tpo -c -o libharfbuzz_fuzzing_la-hb-warning.lo `test -f 'hb-warning.cc' || echo '$(srcdir)/'`hb-warning.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-warning.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-warning.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-warning.cc' object='libharfbuzz_fuzzing_la-hb-warning.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-warning.lo `test -f 'hb-warning.cc' || echo '$(srcdir)/'`hb-warning.cc - -libharfbuzz_fuzzing_la-hb-aat-layout.lo: hb-aat-layout.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-aat-layout.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-aat-layout.Tpo -c -o libharfbuzz_fuzzing_la-hb-aat-layout.lo `test -f 'hb-aat-layout.cc' || echo '$(srcdir)/'`hb-aat-layout.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-aat-layout.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-aat-layout.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-aat-layout.cc' object='libharfbuzz_fuzzing_la-hb-aat-layout.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-aat-layout.lo `test -f 'hb-aat-layout.cc' || echo '$(srcdir)/'`hb-aat-layout.cc - -libharfbuzz_fuzzing_la-hb-ot-face.lo: hb-ot-face.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-face.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-face.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-face.lo `test -f 'hb-ot-face.cc' || echo '$(srcdir)/'`hb-ot-face.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-face.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-face.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-face.cc' object='libharfbuzz_fuzzing_la-hb-ot-face.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-face.lo `test -f 'hb-ot-face.cc' || echo '$(srcdir)/'`hb-ot-face.cc - -libharfbuzz_fuzzing_la-hb-ot-font.lo: hb-ot-font.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-font.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-font.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-font.lo `test -f 'hb-ot-font.cc' || echo '$(srcdir)/'`hb-ot-font.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-font.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-font.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-font.cc' object='libharfbuzz_fuzzing_la-hb-ot-font.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-font.lo `test -f 'hb-ot-font.cc' || echo '$(srcdir)/'`hb-ot-font.cc - -libharfbuzz_fuzzing_la-hb-ot-layout.lo: hb-ot-layout.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-layout.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-layout.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-layout.lo `test -f 'hb-ot-layout.cc' || echo '$(srcdir)/'`hb-ot-layout.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-layout.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-layout.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-layout.cc' object='libharfbuzz_fuzzing_la-hb-ot-layout.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-layout.lo `test -f 'hb-ot-layout.cc' || echo '$(srcdir)/'`hb-ot-layout.cc - -libharfbuzz_fuzzing_la-hb-ot-color.lo: hb-ot-color.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-color.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-color.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-color.lo `test -f 'hb-ot-color.cc' || echo '$(srcdir)/'`hb-ot-color.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-color.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-color.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-color.cc' object='libharfbuzz_fuzzing_la-hb-ot-color.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-color.lo `test -f 'hb-ot-color.cc' || echo '$(srcdir)/'`hb-ot-color.cc - -libharfbuzz_fuzzing_la-hb-ot-map.lo: hb-ot-map.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-map.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-map.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-map.lo `test -f 'hb-ot-map.cc' || echo '$(srcdir)/'`hb-ot-map.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-map.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-map.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-map.cc' object='libharfbuzz_fuzzing_la-hb-ot-map.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-map.lo `test -f 'hb-ot-map.cc' || echo '$(srcdir)/'`hb-ot-map.cc - -libharfbuzz_fuzzing_la-hb-ot-math.lo: hb-ot-math.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-math.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-math.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-math.lo `test -f 'hb-ot-math.cc' || echo '$(srcdir)/'`hb-ot-math.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-math.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-math.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-math.cc' object='libharfbuzz_fuzzing_la-hb-ot-math.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-math.lo `test -f 'hb-ot-math.cc' || echo '$(srcdir)/'`hb-ot-math.cc - -libharfbuzz_fuzzing_la-hb-ot-shape.lo: hb-ot-shape.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape.lo `test -f 'hb-ot-shape.cc' || echo '$(srcdir)/'`hb-ot-shape.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape.lo `test -f 'hb-ot-shape.cc' || echo '$(srcdir)/'`hb-ot-shape.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-complex-arabic.lo: hb-ot-shape-complex-arabic.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-complex-arabic.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-arabic.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-arabic.lo `test -f 'hb-ot-shape-complex-arabic.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-arabic.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-arabic.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-arabic.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-arabic.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-complex-arabic.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-arabic.lo `test -f 'hb-ot-shape-complex-arabic.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-arabic.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-complex-default.lo: hb-ot-shape-complex-default.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-complex-default.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-default.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-default.lo `test -f 'hb-ot-shape-complex-default.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-default.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-default.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-default.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-default.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-complex-default.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-default.lo `test -f 'hb-ot-shape-complex-default.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-default.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-complex-hangul.lo: hb-ot-shape-complex-hangul.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-complex-hangul.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-hangul.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-hangul.lo `test -f 'hb-ot-shape-complex-hangul.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-hangul.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-hangul.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-hangul.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-hangul.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-complex-hangul.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-hangul.lo `test -f 'hb-ot-shape-complex-hangul.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-hangul.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-complex-hebrew.lo: hb-ot-shape-complex-hebrew.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-complex-hebrew.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-hebrew.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-hebrew.lo `test -f 'hb-ot-shape-complex-hebrew.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-hebrew.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-hebrew.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-hebrew.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-hebrew.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-complex-hebrew.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-hebrew.lo `test -f 'hb-ot-shape-complex-hebrew.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-hebrew.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic.lo: hb-ot-shape-complex-indic.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic.lo `test -f 'hb-ot-shape-complex-indic.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-indic.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic.lo `test -f 'hb-ot-shape-complex-indic.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic-table.lo: hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic-table.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic-table.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic-table.lo `test -f 'hb-ot-shape-complex-indic-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic-table.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic-table.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-indic-table.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic-table.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-indic-table.lo `test -f 'hb-ot-shape-complex-indic-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic-table.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-complex-khmer.lo: hb-ot-shape-complex-khmer.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-complex-khmer.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-khmer.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-khmer.lo `test -f 'hb-ot-shape-complex-khmer.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-khmer.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-khmer.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-khmer.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-khmer.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-complex-khmer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-khmer.lo `test -f 'hb-ot-shape-complex-khmer.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-khmer.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-complex-myanmar.lo: hb-ot-shape-complex-myanmar.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-complex-myanmar.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-myanmar.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-myanmar.lo `test -f 'hb-ot-shape-complex-myanmar.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-myanmar.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-myanmar.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-myanmar.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-myanmar.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-complex-myanmar.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-myanmar.lo `test -f 'hb-ot-shape-complex-myanmar.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-myanmar.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-complex-thai.lo: hb-ot-shape-complex-thai.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-complex-thai.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-thai.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-thai.lo `test -f 'hb-ot-shape-complex-thai.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-thai.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-thai.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-thai.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-thai.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-complex-thai.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-thai.lo `test -f 'hb-ot-shape-complex-thai.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-thai.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-complex-tibetan.lo: hb-ot-shape-complex-tibetan.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-complex-tibetan.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-tibetan.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-tibetan.lo `test -f 'hb-ot-shape-complex-tibetan.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-tibetan.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-tibetan.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-tibetan.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-tibetan.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-complex-tibetan.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-tibetan.lo `test -f 'hb-ot-shape-complex-tibetan.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-tibetan.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-complex-use.lo: hb-ot-shape-complex-use.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-complex-use.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-use.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-use.lo `test -f 'hb-ot-shape-complex-use.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-use.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-use.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-use.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-use.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-complex-use.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-use.lo `test -f 'hb-ot-shape-complex-use.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-use.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-complex-use-table.lo: hb-ot-shape-complex-use-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-complex-use-table.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-use-table.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-use-table.lo `test -f 'hb-ot-shape-complex-use-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-use-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-use-table.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-complex-use-table.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-use-table.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-complex-use-table.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-complex-use-table.lo `test -f 'hb-ot-shape-complex-use-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-use-table.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-normalize.lo: hb-ot-shape-normalize.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-normalize.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-normalize.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-normalize.lo `test -f 'hb-ot-shape-normalize.cc' || echo '$(srcdir)/'`hb-ot-shape-normalize.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-normalize.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-normalize.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-normalize.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-normalize.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-normalize.lo `test -f 'hb-ot-shape-normalize.cc' || echo '$(srcdir)/'`hb-ot-shape-normalize.cc - -libharfbuzz_fuzzing_la-hb-ot-shape-fallback.lo: hb-ot-shape-fallback.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-shape-fallback.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-fallback.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-shape-fallback.lo `test -f 'hb-ot-shape-fallback.cc' || echo '$(srcdir)/'`hb-ot-shape-fallback.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-fallback.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-shape-fallback.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-fallback.cc' object='libharfbuzz_fuzzing_la-hb-ot-shape-fallback.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-shape-fallback.lo `test -f 'hb-ot-shape-fallback.cc' || echo '$(srcdir)/'`hb-ot-shape-fallback.cc - -libharfbuzz_fuzzing_la-hb-ot-var.lo: hb-ot-var.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ot-var.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-var.Tpo -c -o libharfbuzz_fuzzing_la-hb-ot-var.lo `test -f 'hb-ot-var.cc' || echo '$(srcdir)/'`hb-ot-var.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-var.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ot-var.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-var.cc' object='libharfbuzz_fuzzing_la-hb-ot-var.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ot-var.lo `test -f 'hb-ot-var.cc' || echo '$(srcdir)/'`hb-ot-var.cc - -libharfbuzz_fuzzing_la-hb-fallback-shape.lo: hb-fallback-shape.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-fallback-shape.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-fallback-shape.Tpo -c -o libharfbuzz_fuzzing_la-hb-fallback-shape.lo `test -f 'hb-fallback-shape.cc' || echo '$(srcdir)/'`hb-fallback-shape.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-fallback-shape.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-fallback-shape.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-fallback-shape.cc' object='libharfbuzz_fuzzing_la-hb-fallback-shape.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-fallback-shape.lo `test -f 'hb-fallback-shape.cc' || echo '$(srcdir)/'`hb-fallback-shape.cc - -libharfbuzz_fuzzing_la-hb-glib.lo: hb-glib.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-glib.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-glib.Tpo -c -o libharfbuzz_fuzzing_la-hb-glib.lo `test -f 'hb-glib.cc' || echo '$(srcdir)/'`hb-glib.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-glib.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-glib.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-glib.cc' object='libharfbuzz_fuzzing_la-hb-glib.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-glib.lo `test -f 'hb-glib.cc' || echo '$(srcdir)/'`hb-glib.cc - -libharfbuzz_fuzzing_la-hb-ft.lo: hb-ft.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ft.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ft.Tpo -c -o libharfbuzz_fuzzing_la-hb-ft.lo `test -f 'hb-ft.cc' || echo '$(srcdir)/'`hb-ft.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ft.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ft.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ft.cc' object='libharfbuzz_fuzzing_la-hb-ft.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ft.lo `test -f 'hb-ft.cc' || echo '$(srcdir)/'`hb-ft.cc - -libharfbuzz_fuzzing_la-hb-graphite2.lo: hb-graphite2.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-graphite2.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-graphite2.Tpo -c -o libharfbuzz_fuzzing_la-hb-graphite2.lo `test -f 'hb-graphite2.cc' || echo '$(srcdir)/'`hb-graphite2.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-graphite2.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-graphite2.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-graphite2.cc' object='libharfbuzz_fuzzing_la-hb-graphite2.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-graphite2.lo `test -f 'hb-graphite2.cc' || echo '$(srcdir)/'`hb-graphite2.cc - -libharfbuzz_fuzzing_la-hb-uniscribe.lo: hb-uniscribe.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-uniscribe.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-uniscribe.Tpo -c -o libharfbuzz_fuzzing_la-hb-uniscribe.lo `test -f 'hb-uniscribe.cc' || echo '$(srcdir)/'`hb-uniscribe.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-uniscribe.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-uniscribe.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-uniscribe.cc' object='libharfbuzz_fuzzing_la-hb-uniscribe.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-uniscribe.lo `test -f 'hb-uniscribe.cc' || echo '$(srcdir)/'`hb-uniscribe.cc - -libharfbuzz_fuzzing_la-hb-directwrite.lo: hb-directwrite.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-directwrite.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-directwrite.Tpo -c -o libharfbuzz_fuzzing_la-hb-directwrite.lo `test -f 'hb-directwrite.cc' || echo '$(srcdir)/'`hb-directwrite.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-directwrite.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-directwrite.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-directwrite.cc' object='libharfbuzz_fuzzing_la-hb-directwrite.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-directwrite.lo `test -f 'hb-directwrite.cc' || echo '$(srcdir)/'`hb-directwrite.cc - -libharfbuzz_fuzzing_la-hb-coretext.lo: hb-coretext.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-coretext.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-coretext.Tpo -c -o libharfbuzz_fuzzing_la-hb-coretext.lo `test -f 'hb-coretext.cc' || echo '$(srcdir)/'`hb-coretext.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-coretext.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-coretext.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-coretext.cc' object='libharfbuzz_fuzzing_la-hb-coretext.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-coretext.lo `test -f 'hb-coretext.cc' || echo '$(srcdir)/'`hb-coretext.cc - -libharfbuzz_fuzzing_la-hb-ucdn.lo: hb-ucdn.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-ucdn.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ucdn.Tpo -c -o libharfbuzz_fuzzing_la-hb-ucdn.lo `test -f 'hb-ucdn.cc' || echo '$(srcdir)/'`hb-ucdn.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ucdn.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-ucdn.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ucdn.cc' object='libharfbuzz_fuzzing_la-hb-ucdn.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-ucdn.lo `test -f 'hb-ucdn.cc' || echo '$(srcdir)/'`hb-ucdn.cc - -libharfbuzz_fuzzing_la-hb-icu.lo: hb-icu.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_fuzzing_la-hb-icu.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_fuzzing_la-hb-icu.Tpo -c -o libharfbuzz_fuzzing_la-hb-icu.lo `test -f 'hb-icu.cc' || echo '$(srcdir)/'`hb-icu.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_fuzzing_la-hb-icu.Tpo $(DEPDIR)/libharfbuzz_fuzzing_la-hb-icu.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-icu.cc' object='libharfbuzz_fuzzing_la-hb-icu.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_fuzzing_la-hb-icu.lo `test -f 'hb-icu.cc' || echo '$(srcdir)/'`hb-icu.cc - -libharfbuzz_gobject_la-hb-gobject-structs.lo: hb-gobject-structs.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_gobject_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_gobject_la-hb-gobject-structs.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-structs.Tpo -c -o libharfbuzz_gobject_la-hb-gobject-structs.lo `test -f 'hb-gobject-structs.cc' || echo '$(srcdir)/'`hb-gobject-structs.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-structs.Tpo $(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-structs.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-gobject-structs.cc' object='libharfbuzz_gobject_la-hb-gobject-structs.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_gobject_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_gobject_la-hb-gobject-structs.lo `test -f 'hb-gobject-structs.cc' || echo '$(srcdir)/'`hb-gobject-structs.cc - -libharfbuzz_gobject_la-hb-gobject-enums.lo: hb-gobject-enums.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_gobject_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_gobject_la-hb-gobject-enums.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-enums.Tpo -c -o libharfbuzz_gobject_la-hb-gobject-enums.lo `test -f 'hb-gobject-enums.cc' || echo '$(srcdir)/'`hb-gobject-enums.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-enums.Tpo $(DEPDIR)/libharfbuzz_gobject_la-hb-gobject-enums.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-gobject-enums.cc' object='libharfbuzz_gobject_la-hb-gobject-enums.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_gobject_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_gobject_la-hb-gobject-enums.lo `test -f 'hb-gobject-enums.cc' || echo '$(srcdir)/'`hb-gobject-enums.cc - -libharfbuzz_icu_la-hb-icu.lo: hb-icu.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_icu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_icu_la-hb-icu.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_icu_la-hb-icu.Tpo -c -o libharfbuzz_icu_la-hb-icu.lo `test -f 'hb-icu.cc' || echo '$(srcdir)/'`hb-icu.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_icu_la-hb-icu.Tpo $(DEPDIR)/libharfbuzz_icu_la-hb-icu.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-icu.cc' object='libharfbuzz_icu_la-hb-icu.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_icu_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_icu_la-hb-icu.lo `test -f 'hb-icu.cc' || echo '$(srcdir)/'`hb-icu.cc - -libharfbuzz_subset_fuzzing_la-hb-static.lo: hb-static.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_subset_fuzzing_la-hb-static.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-static.Tpo -c -o libharfbuzz_subset_fuzzing_la-hb-static.lo `test -f 'hb-static.cc' || echo '$(srcdir)/'`hb-static.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-static.Tpo $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-static.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-static.cc' object='libharfbuzz_subset_fuzzing_la-hb-static.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_subset_fuzzing_la-hb-static.lo `test -f 'hb-static.cc' || echo '$(srcdir)/'`hb-static.cc - -libharfbuzz_subset_fuzzing_la-hb-subset.lo: hb-subset.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_subset_fuzzing_la-hb-subset.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset.Tpo -c -o libharfbuzz_subset_fuzzing_la-hb-subset.lo `test -f 'hb-subset.cc' || echo '$(srcdir)/'`hb-subset.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset.Tpo $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-subset.cc' object='libharfbuzz_subset_fuzzing_la-hb-subset.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_subset_fuzzing_la-hb-subset.lo `test -f 'hb-subset.cc' || echo '$(srcdir)/'`hb-subset.cc - -libharfbuzz_subset_fuzzing_la-hb-subset-glyf.lo: hb-subset-glyf.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_subset_fuzzing_la-hb-subset-glyf.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset-glyf.Tpo -c -o libharfbuzz_subset_fuzzing_la-hb-subset-glyf.lo `test -f 'hb-subset-glyf.cc' || echo '$(srcdir)/'`hb-subset-glyf.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset-glyf.Tpo $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset-glyf.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-subset-glyf.cc' object='libharfbuzz_subset_fuzzing_la-hb-subset-glyf.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_subset_fuzzing_la-hb-subset-glyf.lo `test -f 'hb-subset-glyf.cc' || echo '$(srcdir)/'`hb-subset-glyf.cc - -libharfbuzz_subset_fuzzing_la-hb-subset-input.lo: hb-subset-input.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_subset_fuzzing_la-hb-subset-input.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset-input.Tpo -c -o libharfbuzz_subset_fuzzing_la-hb-subset-input.lo `test -f 'hb-subset-input.cc' || echo '$(srcdir)/'`hb-subset-input.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset-input.Tpo $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset-input.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-subset-input.cc' object='libharfbuzz_subset_fuzzing_la-hb-subset-input.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_subset_fuzzing_la-hb-subset-input.lo `test -f 'hb-subset-input.cc' || echo '$(srcdir)/'`hb-subset-input.cc - -libharfbuzz_subset_fuzzing_la-hb-subset-plan.lo: hb-subset-plan.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_subset_fuzzing_la-hb-subset-plan.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset-plan.Tpo -c -o libharfbuzz_subset_fuzzing_la-hb-subset-plan.lo `test -f 'hb-subset-plan.cc' || echo '$(srcdir)/'`hb-subset-plan.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset-plan.Tpo $(DEPDIR)/libharfbuzz_subset_fuzzing_la-hb-subset-plan.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-subset-plan.cc' object='libharfbuzz_subset_fuzzing_la-hb-subset-plan.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_fuzzing_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_subset_fuzzing_la-hb-subset-plan.lo `test -f 'hb-subset-plan.cc' || echo '$(srcdir)/'`hb-subset-plan.cc - -libharfbuzz_subset_la-hb-static.lo: hb-static.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_subset_la-hb-static.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_subset_la-hb-static.Tpo -c -o libharfbuzz_subset_la-hb-static.lo `test -f 'hb-static.cc' || echo '$(srcdir)/'`hb-static.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_subset_la-hb-static.Tpo $(DEPDIR)/libharfbuzz_subset_la-hb-static.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-static.cc' object='libharfbuzz_subset_la-hb-static.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_subset_la-hb-static.lo `test -f 'hb-static.cc' || echo '$(srcdir)/'`hb-static.cc - -libharfbuzz_subset_la-hb-subset.lo: hb-subset.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_subset_la-hb-subset.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_subset_la-hb-subset.Tpo -c -o libharfbuzz_subset_la-hb-subset.lo `test -f 'hb-subset.cc' || echo '$(srcdir)/'`hb-subset.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_subset_la-hb-subset.Tpo $(DEPDIR)/libharfbuzz_subset_la-hb-subset.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-subset.cc' object='libharfbuzz_subset_la-hb-subset.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_subset_la-hb-subset.lo `test -f 'hb-subset.cc' || echo '$(srcdir)/'`hb-subset.cc - -libharfbuzz_subset_la-hb-subset-glyf.lo: hb-subset-glyf.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_subset_la-hb-subset-glyf.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_subset_la-hb-subset-glyf.Tpo -c -o libharfbuzz_subset_la-hb-subset-glyf.lo `test -f 'hb-subset-glyf.cc' || echo '$(srcdir)/'`hb-subset-glyf.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_subset_la-hb-subset-glyf.Tpo $(DEPDIR)/libharfbuzz_subset_la-hb-subset-glyf.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-subset-glyf.cc' object='libharfbuzz_subset_la-hb-subset-glyf.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_subset_la-hb-subset-glyf.lo `test -f 'hb-subset-glyf.cc' || echo '$(srcdir)/'`hb-subset-glyf.cc - -libharfbuzz_subset_la-hb-subset-input.lo: hb-subset-input.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_subset_la-hb-subset-input.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_subset_la-hb-subset-input.Tpo -c -o libharfbuzz_subset_la-hb-subset-input.lo `test -f 'hb-subset-input.cc' || echo '$(srcdir)/'`hb-subset-input.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_subset_la-hb-subset-input.Tpo $(DEPDIR)/libharfbuzz_subset_la-hb-subset-input.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-subset-input.cc' object='libharfbuzz_subset_la-hb-subset-input.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_subset_la-hb-subset-input.lo `test -f 'hb-subset-input.cc' || echo '$(srcdir)/'`hb-subset-input.cc - -libharfbuzz_subset_la-hb-subset-plan.lo: hb-subset-plan.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_subset_la-hb-subset-plan.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_subset_la-hb-subset-plan.Tpo -c -o libharfbuzz_subset_la-hb-subset-plan.lo `test -f 'hb-subset-plan.cc' || echo '$(srcdir)/'`hb-subset-plan.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_subset_la-hb-subset-plan.Tpo $(DEPDIR)/libharfbuzz_subset_la-hb-subset-plan.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-subset-plan.cc' object='libharfbuzz_subset_la-hb-subset-plan.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_subset_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_subset_la-hb-subset-plan.lo `test -f 'hb-subset-plan.cc' || echo '$(srcdir)/'`hb-subset-plan.cc - -libharfbuzz_la-hb-blob.lo: hb-blob.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-blob.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-blob.Tpo -c -o libharfbuzz_la-hb-blob.lo `test -f 'hb-blob.cc' || echo '$(srcdir)/'`hb-blob.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-blob.Tpo $(DEPDIR)/libharfbuzz_la-hb-blob.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-blob.cc' object='libharfbuzz_la-hb-blob.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-blob.lo `test -f 'hb-blob.cc' || echo '$(srcdir)/'`hb-blob.cc - -libharfbuzz_la-hb-buffer-serialize.lo: hb-buffer-serialize.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-buffer-serialize.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-buffer-serialize.Tpo -c -o libharfbuzz_la-hb-buffer-serialize.lo `test -f 'hb-buffer-serialize.cc' || echo '$(srcdir)/'`hb-buffer-serialize.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-buffer-serialize.Tpo $(DEPDIR)/libharfbuzz_la-hb-buffer-serialize.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-buffer-serialize.cc' object='libharfbuzz_la-hb-buffer-serialize.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-buffer-serialize.lo `test -f 'hb-buffer-serialize.cc' || echo '$(srcdir)/'`hb-buffer-serialize.cc - -libharfbuzz_la-hb-buffer.lo: hb-buffer.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-buffer.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-buffer.Tpo -c -o libharfbuzz_la-hb-buffer.lo `test -f 'hb-buffer.cc' || echo '$(srcdir)/'`hb-buffer.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-buffer.Tpo $(DEPDIR)/libharfbuzz_la-hb-buffer.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-buffer.cc' object='libharfbuzz_la-hb-buffer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-buffer.lo `test -f 'hb-buffer.cc' || echo '$(srcdir)/'`hb-buffer.cc - -libharfbuzz_la-hb-common.lo: hb-common.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-common.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-common.Tpo -c -o libharfbuzz_la-hb-common.lo `test -f 'hb-common.cc' || echo '$(srcdir)/'`hb-common.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-common.Tpo $(DEPDIR)/libharfbuzz_la-hb-common.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-common.cc' object='libharfbuzz_la-hb-common.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-common.lo `test -f 'hb-common.cc' || echo '$(srcdir)/'`hb-common.cc - -libharfbuzz_la-hb-face.lo: hb-face.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-face.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-face.Tpo -c -o libharfbuzz_la-hb-face.lo `test -f 'hb-face.cc' || echo '$(srcdir)/'`hb-face.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-face.Tpo $(DEPDIR)/libharfbuzz_la-hb-face.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-face.cc' object='libharfbuzz_la-hb-face.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-face.lo `test -f 'hb-face.cc' || echo '$(srcdir)/'`hb-face.cc - -libharfbuzz_la-hb-font.lo: hb-font.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-font.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-font.Tpo -c -o libharfbuzz_la-hb-font.lo `test -f 'hb-font.cc' || echo '$(srcdir)/'`hb-font.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-font.Tpo $(DEPDIR)/libharfbuzz_la-hb-font.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-font.cc' object='libharfbuzz_la-hb-font.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-font.lo `test -f 'hb-font.cc' || echo '$(srcdir)/'`hb-font.cc - -libharfbuzz_la-hb-map.lo: hb-map.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-map.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-map.Tpo -c -o libharfbuzz_la-hb-map.lo `test -f 'hb-map.cc' || echo '$(srcdir)/'`hb-map.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-map.Tpo $(DEPDIR)/libharfbuzz_la-hb-map.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-map.cc' object='libharfbuzz_la-hb-map.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-map.lo `test -f 'hb-map.cc' || echo '$(srcdir)/'`hb-map.cc - -libharfbuzz_la-hb-ot-tag.lo: hb-ot-tag.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-tag.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-tag.Tpo -c -o libharfbuzz_la-hb-ot-tag.lo `test -f 'hb-ot-tag.cc' || echo '$(srcdir)/'`hb-ot-tag.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-tag.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-tag.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-tag.cc' object='libharfbuzz_la-hb-ot-tag.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-tag.lo `test -f 'hb-ot-tag.cc' || echo '$(srcdir)/'`hb-ot-tag.cc - -libharfbuzz_la-hb-set.lo: hb-set.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-set.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-set.Tpo -c -o libharfbuzz_la-hb-set.lo `test -f 'hb-set.cc' || echo '$(srcdir)/'`hb-set.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-set.Tpo $(DEPDIR)/libharfbuzz_la-hb-set.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-set.cc' object='libharfbuzz_la-hb-set.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-set.lo `test -f 'hb-set.cc' || echo '$(srcdir)/'`hb-set.cc - -libharfbuzz_la-hb-shape.lo: hb-shape.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-shape.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-shape.Tpo -c -o libharfbuzz_la-hb-shape.lo `test -f 'hb-shape.cc' || echo '$(srcdir)/'`hb-shape.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-shape.Tpo $(DEPDIR)/libharfbuzz_la-hb-shape.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-shape.cc' object='libharfbuzz_la-hb-shape.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-shape.lo `test -f 'hb-shape.cc' || echo '$(srcdir)/'`hb-shape.cc - -libharfbuzz_la-hb-shape-plan.lo: hb-shape-plan.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-shape-plan.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-shape-plan.Tpo -c -o libharfbuzz_la-hb-shape-plan.lo `test -f 'hb-shape-plan.cc' || echo '$(srcdir)/'`hb-shape-plan.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-shape-plan.Tpo $(DEPDIR)/libharfbuzz_la-hb-shape-plan.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-shape-plan.cc' object='libharfbuzz_la-hb-shape-plan.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-shape-plan.lo `test -f 'hb-shape-plan.cc' || echo '$(srcdir)/'`hb-shape-plan.cc - -libharfbuzz_la-hb-shaper.lo: hb-shaper.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-shaper.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-shaper.Tpo -c -o libharfbuzz_la-hb-shaper.lo `test -f 'hb-shaper.cc' || echo '$(srcdir)/'`hb-shaper.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-shaper.Tpo $(DEPDIR)/libharfbuzz_la-hb-shaper.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-shaper.cc' object='libharfbuzz_la-hb-shaper.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-shaper.lo `test -f 'hb-shaper.cc' || echo '$(srcdir)/'`hb-shaper.cc - -libharfbuzz_la-hb-static.lo: hb-static.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-static.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-static.Tpo -c -o libharfbuzz_la-hb-static.lo `test -f 'hb-static.cc' || echo '$(srcdir)/'`hb-static.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-static.Tpo $(DEPDIR)/libharfbuzz_la-hb-static.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-static.cc' object='libharfbuzz_la-hb-static.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-static.lo `test -f 'hb-static.cc' || echo '$(srcdir)/'`hb-static.cc - -libharfbuzz_la-hb-unicode.lo: hb-unicode.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-unicode.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-unicode.Tpo -c -o libharfbuzz_la-hb-unicode.lo `test -f 'hb-unicode.cc' || echo '$(srcdir)/'`hb-unicode.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-unicode.Tpo $(DEPDIR)/libharfbuzz_la-hb-unicode.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-unicode.cc' object='libharfbuzz_la-hb-unicode.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-unicode.lo `test -f 'hb-unicode.cc' || echo '$(srcdir)/'`hb-unicode.cc - -libharfbuzz_la-hb-warning.lo: hb-warning.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-warning.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-warning.Tpo -c -o libharfbuzz_la-hb-warning.lo `test -f 'hb-warning.cc' || echo '$(srcdir)/'`hb-warning.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-warning.Tpo $(DEPDIR)/libharfbuzz_la-hb-warning.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-warning.cc' object='libharfbuzz_la-hb-warning.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-warning.lo `test -f 'hb-warning.cc' || echo '$(srcdir)/'`hb-warning.cc - -libharfbuzz_la-hb-aat-layout.lo: hb-aat-layout.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-aat-layout.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-aat-layout.Tpo -c -o libharfbuzz_la-hb-aat-layout.lo `test -f 'hb-aat-layout.cc' || echo '$(srcdir)/'`hb-aat-layout.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-aat-layout.Tpo $(DEPDIR)/libharfbuzz_la-hb-aat-layout.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-aat-layout.cc' object='libharfbuzz_la-hb-aat-layout.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-aat-layout.lo `test -f 'hb-aat-layout.cc' || echo '$(srcdir)/'`hb-aat-layout.cc - -libharfbuzz_la-hb-ot-face.lo: hb-ot-face.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-face.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-face.Tpo -c -o libharfbuzz_la-hb-ot-face.lo `test -f 'hb-ot-face.cc' || echo '$(srcdir)/'`hb-ot-face.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-face.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-face.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-face.cc' object='libharfbuzz_la-hb-ot-face.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-face.lo `test -f 'hb-ot-face.cc' || echo '$(srcdir)/'`hb-ot-face.cc - -libharfbuzz_la-hb-ot-font.lo: hb-ot-font.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-font.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-font.Tpo -c -o libharfbuzz_la-hb-ot-font.lo `test -f 'hb-ot-font.cc' || echo '$(srcdir)/'`hb-ot-font.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-font.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-font.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-font.cc' object='libharfbuzz_la-hb-ot-font.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-font.lo `test -f 'hb-ot-font.cc' || echo '$(srcdir)/'`hb-ot-font.cc - -libharfbuzz_la-hb-ot-layout.lo: hb-ot-layout.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-layout.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-layout.Tpo -c -o libharfbuzz_la-hb-ot-layout.lo `test -f 'hb-ot-layout.cc' || echo '$(srcdir)/'`hb-ot-layout.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-layout.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-layout.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-layout.cc' object='libharfbuzz_la-hb-ot-layout.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-layout.lo `test -f 'hb-ot-layout.cc' || echo '$(srcdir)/'`hb-ot-layout.cc - -libharfbuzz_la-hb-ot-color.lo: hb-ot-color.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-color.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-color.Tpo -c -o libharfbuzz_la-hb-ot-color.lo `test -f 'hb-ot-color.cc' || echo '$(srcdir)/'`hb-ot-color.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-color.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-color.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-color.cc' object='libharfbuzz_la-hb-ot-color.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-color.lo `test -f 'hb-ot-color.cc' || echo '$(srcdir)/'`hb-ot-color.cc - -libharfbuzz_la-hb-ot-map.lo: hb-ot-map.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-map.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-map.Tpo -c -o libharfbuzz_la-hb-ot-map.lo `test -f 'hb-ot-map.cc' || echo '$(srcdir)/'`hb-ot-map.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-map.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-map.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-map.cc' object='libharfbuzz_la-hb-ot-map.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-map.lo `test -f 'hb-ot-map.cc' || echo '$(srcdir)/'`hb-ot-map.cc - -libharfbuzz_la-hb-ot-math.lo: hb-ot-math.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-math.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-math.Tpo -c -o libharfbuzz_la-hb-ot-math.lo `test -f 'hb-ot-math.cc' || echo '$(srcdir)/'`hb-ot-math.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-math.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-math.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-math.cc' object='libharfbuzz_la-hb-ot-math.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-math.lo `test -f 'hb-ot-math.cc' || echo '$(srcdir)/'`hb-ot-math.cc - -libharfbuzz_la-hb-ot-shape.lo: hb-ot-shape.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape.Tpo -c -o libharfbuzz_la-hb-ot-shape.lo `test -f 'hb-ot-shape.cc' || echo '$(srcdir)/'`hb-ot-shape.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape.cc' object='libharfbuzz_la-hb-ot-shape.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape.lo `test -f 'hb-ot-shape.cc' || echo '$(srcdir)/'`hb-ot-shape.cc - -libharfbuzz_la-hb-ot-shape-complex-arabic.lo: hb-ot-shape-complex-arabic.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-complex-arabic.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-arabic.Tpo -c -o libharfbuzz_la-hb-ot-shape-complex-arabic.lo `test -f 'hb-ot-shape-complex-arabic.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-arabic.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-arabic.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-arabic.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-arabic.cc' object='libharfbuzz_la-hb-ot-shape-complex-arabic.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-complex-arabic.lo `test -f 'hb-ot-shape-complex-arabic.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-arabic.cc - -libharfbuzz_la-hb-ot-shape-complex-default.lo: hb-ot-shape-complex-default.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-complex-default.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-default.Tpo -c -o libharfbuzz_la-hb-ot-shape-complex-default.lo `test -f 'hb-ot-shape-complex-default.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-default.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-default.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-default.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-default.cc' object='libharfbuzz_la-hb-ot-shape-complex-default.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-complex-default.lo `test -f 'hb-ot-shape-complex-default.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-default.cc - -libharfbuzz_la-hb-ot-shape-complex-hangul.lo: hb-ot-shape-complex-hangul.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-complex-hangul.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hangul.Tpo -c -o libharfbuzz_la-hb-ot-shape-complex-hangul.lo `test -f 'hb-ot-shape-complex-hangul.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-hangul.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hangul.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hangul.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-hangul.cc' object='libharfbuzz_la-hb-ot-shape-complex-hangul.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-complex-hangul.lo `test -f 'hb-ot-shape-complex-hangul.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-hangul.cc - -libharfbuzz_la-hb-ot-shape-complex-hebrew.lo: hb-ot-shape-complex-hebrew.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-complex-hebrew.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hebrew.Tpo -c -o libharfbuzz_la-hb-ot-shape-complex-hebrew.lo `test -f 'hb-ot-shape-complex-hebrew.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-hebrew.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hebrew.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-hebrew.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-hebrew.cc' object='libharfbuzz_la-hb-ot-shape-complex-hebrew.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-complex-hebrew.lo `test -f 'hb-ot-shape-complex-hebrew.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-hebrew.cc - -libharfbuzz_la-hb-ot-shape-complex-indic.lo: hb-ot-shape-complex-indic.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-complex-indic.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic.Tpo -c -o libharfbuzz_la-hb-ot-shape-complex-indic.lo `test -f 'hb-ot-shape-complex-indic.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-indic.cc' object='libharfbuzz_la-hb-ot-shape-complex-indic.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-complex-indic.lo `test -f 'hb-ot-shape-complex-indic.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic.cc - -libharfbuzz_la-hb-ot-shape-complex-indic-table.lo: hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-complex-indic-table.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic-table.Tpo -c -o libharfbuzz_la-hb-ot-shape-complex-indic-table.lo `test -f 'hb-ot-shape-complex-indic-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic-table.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-indic-table.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-indic-table.cc' object='libharfbuzz_la-hb-ot-shape-complex-indic-table.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-complex-indic-table.lo `test -f 'hb-ot-shape-complex-indic-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic-table.cc - -libharfbuzz_la-hb-ot-shape-complex-khmer.lo: hb-ot-shape-complex-khmer.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-complex-khmer.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-khmer.Tpo -c -o libharfbuzz_la-hb-ot-shape-complex-khmer.lo `test -f 'hb-ot-shape-complex-khmer.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-khmer.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-khmer.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-khmer.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-khmer.cc' object='libharfbuzz_la-hb-ot-shape-complex-khmer.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-complex-khmer.lo `test -f 'hb-ot-shape-complex-khmer.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-khmer.cc - -libharfbuzz_la-hb-ot-shape-complex-myanmar.lo: hb-ot-shape-complex-myanmar.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-complex-myanmar.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-myanmar.Tpo -c -o libharfbuzz_la-hb-ot-shape-complex-myanmar.lo `test -f 'hb-ot-shape-complex-myanmar.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-myanmar.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-myanmar.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-myanmar.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-myanmar.cc' object='libharfbuzz_la-hb-ot-shape-complex-myanmar.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-complex-myanmar.lo `test -f 'hb-ot-shape-complex-myanmar.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-myanmar.cc - -libharfbuzz_la-hb-ot-shape-complex-thai.lo: hb-ot-shape-complex-thai.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-complex-thai.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-thai.Tpo -c -o libharfbuzz_la-hb-ot-shape-complex-thai.lo `test -f 'hb-ot-shape-complex-thai.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-thai.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-thai.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-thai.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-thai.cc' object='libharfbuzz_la-hb-ot-shape-complex-thai.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-complex-thai.lo `test -f 'hb-ot-shape-complex-thai.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-thai.cc - -libharfbuzz_la-hb-ot-shape-complex-tibetan.lo: hb-ot-shape-complex-tibetan.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-complex-tibetan.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-tibetan.Tpo -c -o libharfbuzz_la-hb-ot-shape-complex-tibetan.lo `test -f 'hb-ot-shape-complex-tibetan.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-tibetan.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-tibetan.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-tibetan.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-tibetan.cc' object='libharfbuzz_la-hb-ot-shape-complex-tibetan.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-complex-tibetan.lo `test -f 'hb-ot-shape-complex-tibetan.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-tibetan.cc - -libharfbuzz_la-hb-ot-shape-complex-use.lo: hb-ot-shape-complex-use.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-complex-use.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use.Tpo -c -o libharfbuzz_la-hb-ot-shape-complex-use.lo `test -f 'hb-ot-shape-complex-use.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-use.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-use.cc' object='libharfbuzz_la-hb-ot-shape-complex-use.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-complex-use.lo `test -f 'hb-ot-shape-complex-use.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-use.cc - -libharfbuzz_la-hb-ot-shape-complex-use-table.lo: hb-ot-shape-complex-use-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-complex-use-table.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use-table.Tpo -c -o libharfbuzz_la-hb-ot-shape-complex-use-table.lo `test -f 'hb-ot-shape-complex-use-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-use-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use-table.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-complex-use-table.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-use-table.cc' object='libharfbuzz_la-hb-ot-shape-complex-use-table.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-complex-use-table.lo `test -f 'hb-ot-shape-complex-use-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-use-table.cc - -libharfbuzz_la-hb-ot-shape-normalize.lo: hb-ot-shape-normalize.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-normalize.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-normalize.Tpo -c -o libharfbuzz_la-hb-ot-shape-normalize.lo `test -f 'hb-ot-shape-normalize.cc' || echo '$(srcdir)/'`hb-ot-shape-normalize.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-normalize.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-normalize.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-normalize.cc' object='libharfbuzz_la-hb-ot-shape-normalize.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-normalize.lo `test -f 'hb-ot-shape-normalize.cc' || echo '$(srcdir)/'`hb-ot-shape-normalize.cc - -libharfbuzz_la-hb-ot-shape-fallback.lo: hb-ot-shape-fallback.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-shape-fallback.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-shape-fallback.Tpo -c -o libharfbuzz_la-hb-ot-shape-fallback.lo `test -f 'hb-ot-shape-fallback.cc' || echo '$(srcdir)/'`hb-ot-shape-fallback.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-shape-fallback.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-shape-fallback.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-fallback.cc' object='libharfbuzz_la-hb-ot-shape-fallback.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-shape-fallback.lo `test -f 'hb-ot-shape-fallback.cc' || echo '$(srcdir)/'`hb-ot-shape-fallback.cc - -libharfbuzz_la-hb-ot-var.lo: hb-ot-var.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ot-var.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ot-var.Tpo -c -o libharfbuzz_la-hb-ot-var.lo `test -f 'hb-ot-var.cc' || echo '$(srcdir)/'`hb-ot-var.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ot-var.Tpo $(DEPDIR)/libharfbuzz_la-hb-ot-var.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-var.cc' object='libharfbuzz_la-hb-ot-var.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ot-var.lo `test -f 'hb-ot-var.cc' || echo '$(srcdir)/'`hb-ot-var.cc - -libharfbuzz_la-hb-fallback-shape.lo: hb-fallback-shape.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-fallback-shape.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Tpo -c -o libharfbuzz_la-hb-fallback-shape.lo `test -f 'hb-fallback-shape.cc' || echo '$(srcdir)/'`hb-fallback-shape.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Tpo $(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-fallback-shape.cc' object='libharfbuzz_la-hb-fallback-shape.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-fallback-shape.lo `test -f 'hb-fallback-shape.cc' || echo '$(srcdir)/'`hb-fallback-shape.cc - -libharfbuzz_la-hb-glib.lo: hb-glib.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-glib.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-glib.Tpo -c -o libharfbuzz_la-hb-glib.lo `test -f 'hb-glib.cc' || echo '$(srcdir)/'`hb-glib.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-glib.Tpo $(DEPDIR)/libharfbuzz_la-hb-glib.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-glib.cc' object='libharfbuzz_la-hb-glib.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-glib.lo `test -f 'hb-glib.cc' || echo '$(srcdir)/'`hb-glib.cc - -libharfbuzz_la-hb-ft.lo: hb-ft.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ft.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ft.Tpo -c -o libharfbuzz_la-hb-ft.lo `test -f 'hb-ft.cc' || echo '$(srcdir)/'`hb-ft.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ft.Tpo $(DEPDIR)/libharfbuzz_la-hb-ft.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ft.cc' object='libharfbuzz_la-hb-ft.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ft.lo `test -f 'hb-ft.cc' || echo '$(srcdir)/'`hb-ft.cc - -libharfbuzz_la-hb-graphite2.lo: hb-graphite2.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-graphite2.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-graphite2.Tpo -c -o libharfbuzz_la-hb-graphite2.lo `test -f 'hb-graphite2.cc' || echo '$(srcdir)/'`hb-graphite2.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-graphite2.Tpo $(DEPDIR)/libharfbuzz_la-hb-graphite2.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-graphite2.cc' object='libharfbuzz_la-hb-graphite2.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-graphite2.lo `test -f 'hb-graphite2.cc' || echo '$(srcdir)/'`hb-graphite2.cc - -libharfbuzz_la-hb-uniscribe.lo: hb-uniscribe.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-uniscribe.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-uniscribe.Tpo -c -o libharfbuzz_la-hb-uniscribe.lo `test -f 'hb-uniscribe.cc' || echo '$(srcdir)/'`hb-uniscribe.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-uniscribe.Tpo $(DEPDIR)/libharfbuzz_la-hb-uniscribe.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-uniscribe.cc' object='libharfbuzz_la-hb-uniscribe.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-uniscribe.lo `test -f 'hb-uniscribe.cc' || echo '$(srcdir)/'`hb-uniscribe.cc - -libharfbuzz_la-hb-directwrite.lo: hb-directwrite.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-directwrite.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-directwrite.Tpo -c -o libharfbuzz_la-hb-directwrite.lo `test -f 'hb-directwrite.cc' || echo '$(srcdir)/'`hb-directwrite.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-directwrite.Tpo $(DEPDIR)/libharfbuzz_la-hb-directwrite.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-directwrite.cc' object='libharfbuzz_la-hb-directwrite.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-directwrite.lo `test -f 'hb-directwrite.cc' || echo '$(srcdir)/'`hb-directwrite.cc - -libharfbuzz_la-hb-coretext.lo: hb-coretext.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-coretext.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-coretext.Tpo -c -o libharfbuzz_la-hb-coretext.lo `test -f 'hb-coretext.cc' || echo '$(srcdir)/'`hb-coretext.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-coretext.Tpo $(DEPDIR)/libharfbuzz_la-hb-coretext.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-coretext.cc' object='libharfbuzz_la-hb-coretext.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-coretext.lo `test -f 'hb-coretext.cc' || echo '$(srcdir)/'`hb-coretext.cc - -libharfbuzz_la-hb-ucdn.lo: hb-ucdn.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-ucdn.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-ucdn.Tpo -c -o libharfbuzz_la-hb-ucdn.lo `test -f 'hb-ucdn.cc' || echo '$(srcdir)/'`hb-ucdn.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-ucdn.Tpo $(DEPDIR)/libharfbuzz_la-hb-ucdn.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ucdn.cc' object='libharfbuzz_la-hb-ucdn.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-ucdn.lo `test -f 'hb-ucdn.cc' || echo '$(srcdir)/'`hb-ucdn.cc - -libharfbuzz_la-hb-icu.lo: hb-icu.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-icu.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-icu.Tpo -c -o libharfbuzz_la-hb-icu.lo `test -f 'hb-icu.cc' || echo '$(srcdir)/'`hb-icu.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-icu.Tpo $(DEPDIR)/libharfbuzz_la-hb-icu.Plo -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-icu.cc' object='libharfbuzz_la-hb-icu.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-icu.lo `test -f 'hb-icu.cc' || echo '$(srcdir)/'`hb-icu.cc - -dump_emoji-dump-emoji.o: dump-emoji.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_emoji_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_emoji-dump-emoji.o -MD -MP -MF $(DEPDIR)/dump_emoji-dump-emoji.Tpo -c -o dump_emoji-dump-emoji.o `test -f 'dump-emoji.cc' || echo '$(srcdir)/'`dump-emoji.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_emoji-dump-emoji.Tpo $(DEPDIR)/dump_emoji-dump-emoji.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='dump-emoji.cc' object='dump_emoji-dump-emoji.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_emoji_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_emoji-dump-emoji.o `test -f 'dump-emoji.cc' || echo '$(srcdir)/'`dump-emoji.cc - -dump_emoji-dump-emoji.obj: dump-emoji.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_emoji_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_emoji-dump-emoji.obj -MD -MP -MF $(DEPDIR)/dump_emoji-dump-emoji.Tpo -c -o dump_emoji-dump-emoji.obj `if test -f 'dump-emoji.cc'; then $(CYGPATH_W) 'dump-emoji.cc'; else $(CYGPATH_W) '$(srcdir)/dump-emoji.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_emoji-dump-emoji.Tpo $(DEPDIR)/dump_emoji-dump-emoji.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='dump-emoji.cc' object='dump_emoji-dump-emoji.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_emoji_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_emoji-dump-emoji.obj `if test -f 'dump-emoji.cc'; then $(CYGPATH_W) 'dump-emoji.cc'; else $(CYGPATH_W) '$(srcdir)/dump-emoji.cc'; fi` - -dump_indic_data-dump-indic-data.o: dump-indic-data.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_indic_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_indic_data-dump-indic-data.o -MD -MP -MF $(DEPDIR)/dump_indic_data-dump-indic-data.Tpo -c -o dump_indic_data-dump-indic-data.o `test -f 'dump-indic-data.cc' || echo '$(srcdir)/'`dump-indic-data.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_indic_data-dump-indic-data.Tpo $(DEPDIR)/dump_indic_data-dump-indic-data.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='dump-indic-data.cc' object='dump_indic_data-dump-indic-data.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_indic_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_indic_data-dump-indic-data.o `test -f 'dump-indic-data.cc' || echo '$(srcdir)/'`dump-indic-data.cc - -dump_indic_data-dump-indic-data.obj: dump-indic-data.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_indic_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_indic_data-dump-indic-data.obj -MD -MP -MF $(DEPDIR)/dump_indic_data-dump-indic-data.Tpo -c -o dump_indic_data-dump-indic-data.obj `if test -f 'dump-indic-data.cc'; then $(CYGPATH_W) 'dump-indic-data.cc'; else $(CYGPATH_W) '$(srcdir)/dump-indic-data.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_indic_data-dump-indic-data.Tpo $(DEPDIR)/dump_indic_data-dump-indic-data.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='dump-indic-data.cc' object='dump_indic_data-dump-indic-data.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_indic_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_indic_data-dump-indic-data.obj `if test -f 'dump-indic-data.cc'; then $(CYGPATH_W) 'dump-indic-data.cc'; else $(CYGPATH_W) '$(srcdir)/dump-indic-data.cc'; fi` - -dump_indic_data-hb-ot-shape-complex-indic-table.o: hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_indic_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_indic_data-hb-ot-shape-complex-indic-table.o -MD -MP -MF $(DEPDIR)/dump_indic_data-hb-ot-shape-complex-indic-table.Tpo -c -o dump_indic_data-hb-ot-shape-complex-indic-table.o `test -f 'hb-ot-shape-complex-indic-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_indic_data-hb-ot-shape-complex-indic-table.Tpo $(DEPDIR)/dump_indic_data-hb-ot-shape-complex-indic-table.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-indic-table.cc' object='dump_indic_data-hb-ot-shape-complex-indic-table.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_indic_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_indic_data-hb-ot-shape-complex-indic-table.o `test -f 'hb-ot-shape-complex-indic-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic-table.cc - -dump_indic_data-hb-ot-shape-complex-indic-table.obj: hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_indic_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_indic_data-hb-ot-shape-complex-indic-table.obj -MD -MP -MF $(DEPDIR)/dump_indic_data-hb-ot-shape-complex-indic-table.Tpo -c -o dump_indic_data-hb-ot-shape-complex-indic-table.obj `if test -f 'hb-ot-shape-complex-indic-table.cc'; then $(CYGPATH_W) 'hb-ot-shape-complex-indic-table.cc'; else $(CYGPATH_W) '$(srcdir)/hb-ot-shape-complex-indic-table.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_indic_data-hb-ot-shape-complex-indic-table.Tpo $(DEPDIR)/dump_indic_data-hb-ot-shape-complex-indic-table.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-indic-table.cc' object='dump_indic_data-hb-ot-shape-complex-indic-table.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_indic_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_indic_data-hb-ot-shape-complex-indic-table.obj `if test -f 'hb-ot-shape-complex-indic-table.cc'; then $(CYGPATH_W) 'hb-ot-shape-complex-indic-table.cc'; else $(CYGPATH_W) '$(srcdir)/hb-ot-shape-complex-indic-table.cc'; fi` - -dump_khmer_data-dump-khmer-data.o: dump-khmer-data.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_khmer_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_khmer_data-dump-khmer-data.o -MD -MP -MF $(DEPDIR)/dump_khmer_data-dump-khmer-data.Tpo -c -o dump_khmer_data-dump-khmer-data.o `test -f 'dump-khmer-data.cc' || echo '$(srcdir)/'`dump-khmer-data.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_khmer_data-dump-khmer-data.Tpo $(DEPDIR)/dump_khmer_data-dump-khmer-data.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='dump-khmer-data.cc' object='dump_khmer_data-dump-khmer-data.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_khmer_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_khmer_data-dump-khmer-data.o `test -f 'dump-khmer-data.cc' || echo '$(srcdir)/'`dump-khmer-data.cc - -dump_khmer_data-dump-khmer-data.obj: dump-khmer-data.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_khmer_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_khmer_data-dump-khmer-data.obj -MD -MP -MF $(DEPDIR)/dump_khmer_data-dump-khmer-data.Tpo -c -o dump_khmer_data-dump-khmer-data.obj `if test -f 'dump-khmer-data.cc'; then $(CYGPATH_W) 'dump-khmer-data.cc'; else $(CYGPATH_W) '$(srcdir)/dump-khmer-data.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_khmer_data-dump-khmer-data.Tpo $(DEPDIR)/dump_khmer_data-dump-khmer-data.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='dump-khmer-data.cc' object='dump_khmer_data-dump-khmer-data.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_khmer_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_khmer_data-dump-khmer-data.obj `if test -f 'dump-khmer-data.cc'; then $(CYGPATH_W) 'dump-khmer-data.cc'; else $(CYGPATH_W) '$(srcdir)/dump-khmer-data.cc'; fi` - -dump_khmer_data-hb-ot-shape-complex-indic-table.o: hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_khmer_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_khmer_data-hb-ot-shape-complex-indic-table.o -MD -MP -MF $(DEPDIR)/dump_khmer_data-hb-ot-shape-complex-indic-table.Tpo -c -o dump_khmer_data-hb-ot-shape-complex-indic-table.o `test -f 'hb-ot-shape-complex-indic-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_khmer_data-hb-ot-shape-complex-indic-table.Tpo $(DEPDIR)/dump_khmer_data-hb-ot-shape-complex-indic-table.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-indic-table.cc' object='dump_khmer_data-hb-ot-shape-complex-indic-table.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_khmer_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_khmer_data-hb-ot-shape-complex-indic-table.o `test -f 'hb-ot-shape-complex-indic-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic-table.cc - -dump_khmer_data-hb-ot-shape-complex-indic-table.obj: hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_khmer_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_khmer_data-hb-ot-shape-complex-indic-table.obj -MD -MP -MF $(DEPDIR)/dump_khmer_data-hb-ot-shape-complex-indic-table.Tpo -c -o dump_khmer_data-hb-ot-shape-complex-indic-table.obj `if test -f 'hb-ot-shape-complex-indic-table.cc'; then $(CYGPATH_W) 'hb-ot-shape-complex-indic-table.cc'; else $(CYGPATH_W) '$(srcdir)/hb-ot-shape-complex-indic-table.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_khmer_data-hb-ot-shape-complex-indic-table.Tpo $(DEPDIR)/dump_khmer_data-hb-ot-shape-complex-indic-table.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-indic-table.cc' object='dump_khmer_data-hb-ot-shape-complex-indic-table.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_khmer_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_khmer_data-hb-ot-shape-complex-indic-table.obj `if test -f 'hb-ot-shape-complex-indic-table.cc'; then $(CYGPATH_W) 'hb-ot-shape-complex-indic-table.cc'; else $(CYGPATH_W) '$(srcdir)/hb-ot-shape-complex-indic-table.cc'; fi` - -dump_myanmar_data-dump-myanmar-data.o: dump-myanmar-data.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_myanmar_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_myanmar_data-dump-myanmar-data.o -MD -MP -MF $(DEPDIR)/dump_myanmar_data-dump-myanmar-data.Tpo -c -o dump_myanmar_data-dump-myanmar-data.o `test -f 'dump-myanmar-data.cc' || echo '$(srcdir)/'`dump-myanmar-data.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_myanmar_data-dump-myanmar-data.Tpo $(DEPDIR)/dump_myanmar_data-dump-myanmar-data.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='dump-myanmar-data.cc' object='dump_myanmar_data-dump-myanmar-data.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_myanmar_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_myanmar_data-dump-myanmar-data.o `test -f 'dump-myanmar-data.cc' || echo '$(srcdir)/'`dump-myanmar-data.cc - -dump_myanmar_data-dump-myanmar-data.obj: dump-myanmar-data.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_myanmar_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_myanmar_data-dump-myanmar-data.obj -MD -MP -MF $(DEPDIR)/dump_myanmar_data-dump-myanmar-data.Tpo -c -o dump_myanmar_data-dump-myanmar-data.obj `if test -f 'dump-myanmar-data.cc'; then $(CYGPATH_W) 'dump-myanmar-data.cc'; else $(CYGPATH_W) '$(srcdir)/dump-myanmar-data.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_myanmar_data-dump-myanmar-data.Tpo $(DEPDIR)/dump_myanmar_data-dump-myanmar-data.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='dump-myanmar-data.cc' object='dump_myanmar_data-dump-myanmar-data.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_myanmar_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_myanmar_data-dump-myanmar-data.obj `if test -f 'dump-myanmar-data.cc'; then $(CYGPATH_W) 'dump-myanmar-data.cc'; else $(CYGPATH_W) '$(srcdir)/dump-myanmar-data.cc'; fi` - -dump_myanmar_data-hb-ot-shape-complex-indic-table.o: hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_myanmar_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_myanmar_data-hb-ot-shape-complex-indic-table.o -MD -MP -MF $(DEPDIR)/dump_myanmar_data-hb-ot-shape-complex-indic-table.Tpo -c -o dump_myanmar_data-hb-ot-shape-complex-indic-table.o `test -f 'hb-ot-shape-complex-indic-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_myanmar_data-hb-ot-shape-complex-indic-table.Tpo $(DEPDIR)/dump_myanmar_data-hb-ot-shape-complex-indic-table.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-indic-table.cc' object='dump_myanmar_data-hb-ot-shape-complex-indic-table.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_myanmar_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_myanmar_data-hb-ot-shape-complex-indic-table.o `test -f 'hb-ot-shape-complex-indic-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-indic-table.cc - -dump_myanmar_data-hb-ot-shape-complex-indic-table.obj: hb-ot-shape-complex-indic-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_myanmar_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_myanmar_data-hb-ot-shape-complex-indic-table.obj -MD -MP -MF $(DEPDIR)/dump_myanmar_data-hb-ot-shape-complex-indic-table.Tpo -c -o dump_myanmar_data-hb-ot-shape-complex-indic-table.obj `if test -f 'hb-ot-shape-complex-indic-table.cc'; then $(CYGPATH_W) 'hb-ot-shape-complex-indic-table.cc'; else $(CYGPATH_W) '$(srcdir)/hb-ot-shape-complex-indic-table.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_myanmar_data-hb-ot-shape-complex-indic-table.Tpo $(DEPDIR)/dump_myanmar_data-hb-ot-shape-complex-indic-table.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-indic-table.cc' object='dump_myanmar_data-hb-ot-shape-complex-indic-table.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_myanmar_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_myanmar_data-hb-ot-shape-complex-indic-table.obj `if test -f 'hb-ot-shape-complex-indic-table.cc'; then $(CYGPATH_W) 'hb-ot-shape-complex-indic-table.cc'; else $(CYGPATH_W) '$(srcdir)/hb-ot-shape-complex-indic-table.cc'; fi` - -dump_use_data-dump-use-data.o: dump-use-data.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_use_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_use_data-dump-use-data.o -MD -MP -MF $(DEPDIR)/dump_use_data-dump-use-data.Tpo -c -o dump_use_data-dump-use-data.o `test -f 'dump-use-data.cc' || echo '$(srcdir)/'`dump-use-data.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_use_data-dump-use-data.Tpo $(DEPDIR)/dump_use_data-dump-use-data.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='dump-use-data.cc' object='dump_use_data-dump-use-data.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_use_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_use_data-dump-use-data.o `test -f 'dump-use-data.cc' || echo '$(srcdir)/'`dump-use-data.cc - -dump_use_data-dump-use-data.obj: dump-use-data.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_use_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_use_data-dump-use-data.obj -MD -MP -MF $(DEPDIR)/dump_use_data-dump-use-data.Tpo -c -o dump_use_data-dump-use-data.obj `if test -f 'dump-use-data.cc'; then $(CYGPATH_W) 'dump-use-data.cc'; else $(CYGPATH_W) '$(srcdir)/dump-use-data.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_use_data-dump-use-data.Tpo $(DEPDIR)/dump_use_data-dump-use-data.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='dump-use-data.cc' object='dump_use_data-dump-use-data.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_use_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_use_data-dump-use-data.obj `if test -f 'dump-use-data.cc'; then $(CYGPATH_W) 'dump-use-data.cc'; else $(CYGPATH_W) '$(srcdir)/dump-use-data.cc'; fi` - -dump_use_data-hb-ot-shape-complex-use-table.o: hb-ot-shape-complex-use-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_use_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_use_data-hb-ot-shape-complex-use-table.o -MD -MP -MF $(DEPDIR)/dump_use_data-hb-ot-shape-complex-use-table.Tpo -c -o dump_use_data-hb-ot-shape-complex-use-table.o `test -f 'hb-ot-shape-complex-use-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-use-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_use_data-hb-ot-shape-complex-use-table.Tpo $(DEPDIR)/dump_use_data-hb-ot-shape-complex-use-table.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-use-table.cc' object='dump_use_data-hb-ot-shape-complex-use-table.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_use_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_use_data-hb-ot-shape-complex-use-table.o `test -f 'hb-ot-shape-complex-use-table.cc' || echo '$(srcdir)/'`hb-ot-shape-complex-use-table.cc - -dump_use_data-hb-ot-shape-complex-use-table.obj: hb-ot-shape-complex-use-table.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_use_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT dump_use_data-hb-ot-shape-complex-use-table.obj -MD -MP -MF $(DEPDIR)/dump_use_data-hb-ot-shape-complex-use-table.Tpo -c -o dump_use_data-hb-ot-shape-complex-use-table.obj `if test -f 'hb-ot-shape-complex-use-table.cc'; then $(CYGPATH_W) 'hb-ot-shape-complex-use-table.cc'; else $(CYGPATH_W) '$(srcdir)/hb-ot-shape-complex-use-table.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/dump_use_data-hb-ot-shape-complex-use-table.Tpo $(DEPDIR)/dump_use_data-hb-ot-shape-complex-use-table.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-shape-complex-use-table.cc' object='dump_use_data-hb-ot-shape-complex-use-table.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dump_use_data_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o dump_use_data-hb-ot-shape-complex-use-table.obj `if test -f 'hb-ot-shape-complex-use-table.cc'; then $(CYGPATH_W) 'hb-ot-shape-complex-use-table.cc'; else $(CYGPATH_W) '$(srcdir)/hb-ot-shape-complex-use-table.cc'; fi` - -main-main.o: main.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(main_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT main-main.o -MD -MP -MF $(DEPDIR)/main-main.Tpo -c -o main-main.o `test -f 'main.cc' || echo '$(srcdir)/'`main.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/main-main.Tpo $(DEPDIR)/main-main.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='main.cc' object='main-main.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(main_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o main-main.o `test -f 'main.cc' || echo '$(srcdir)/'`main.cc - -main-main.obj: main.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(main_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT main-main.obj -MD -MP -MF $(DEPDIR)/main-main.Tpo -c -o main-main.obj `if test -f 'main.cc'; then $(CYGPATH_W) 'main.cc'; else $(CYGPATH_W) '$(srcdir)/main.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/main-main.Tpo $(DEPDIR)/main-main.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='main.cc' object='main-main.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(main_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o main-main.obj `if test -f 'main.cc'; then $(CYGPATH_W) 'main.cc'; else $(CYGPATH_W) '$(srcdir)/main.cc'; fi` - -test-test.o: test.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test-test.o -MD -MP -MF $(DEPDIR)/test-test.Tpo -c -o test-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test-test.Tpo $(DEPDIR)/test-test.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='test-test.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test-test.o `test -f 'test.cc' || echo '$(srcdir)/'`test.cc - -test-test.obj: test.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test-test.obj -MD -MP -MF $(DEPDIR)/test-test.Tpo -c -o test-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test-test.Tpo $(DEPDIR)/test-test.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test.cc' object='test-test.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test-test.obj `if test -f 'test.cc'; then $(CYGPATH_W) 'test.cc'; else $(CYGPATH_W) '$(srcdir)/test.cc'; fi` - -test_buffer_serialize-test-buffer-serialize.o: test-buffer-serialize.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_buffer_serialize_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_buffer_serialize-test-buffer-serialize.o -MD -MP -MF $(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Tpo -c -o test_buffer_serialize-test-buffer-serialize.o `test -f 'test-buffer-serialize.cc' || echo '$(srcdir)/'`test-buffer-serialize.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Tpo $(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test-buffer-serialize.cc' object='test_buffer_serialize-test-buffer-serialize.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_buffer_serialize_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_buffer_serialize-test-buffer-serialize.o `test -f 'test-buffer-serialize.cc' || echo '$(srcdir)/'`test-buffer-serialize.cc - -test_buffer_serialize-test-buffer-serialize.obj: test-buffer-serialize.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_buffer_serialize_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_buffer_serialize-test-buffer-serialize.obj -MD -MP -MF $(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Tpo -c -o test_buffer_serialize-test-buffer-serialize.obj `if test -f 'test-buffer-serialize.cc'; then $(CYGPATH_W) 'test-buffer-serialize.cc'; else $(CYGPATH_W) '$(srcdir)/test-buffer-serialize.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Tpo $(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test-buffer-serialize.cc' object='test_buffer_serialize-test-buffer-serialize.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_buffer_serialize_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_buffer_serialize-test-buffer-serialize.obj `if test -f 'test-buffer-serialize.cc'; then $(CYGPATH_W) 'test-buffer-serialize.cc'; else $(CYGPATH_W) '$(srcdir)/test-buffer-serialize.cc'; fi` - -test_ot_tag-hb-ot-tag.o: hb-ot-tag.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_tag_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_ot_tag-hb-ot-tag.o -MD -MP -MF $(DEPDIR)/test_ot_tag-hb-ot-tag.Tpo -c -o test_ot_tag-hb-ot-tag.o `test -f 'hb-ot-tag.cc' || echo '$(srcdir)/'`hb-ot-tag.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_ot_tag-hb-ot-tag.Tpo $(DEPDIR)/test_ot_tag-hb-ot-tag.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-tag.cc' object='test_ot_tag-hb-ot-tag.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_tag_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_ot_tag-hb-ot-tag.o `test -f 'hb-ot-tag.cc' || echo '$(srcdir)/'`hb-ot-tag.cc - -test_ot_tag-hb-ot-tag.obj: hb-ot-tag.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_tag_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_ot_tag-hb-ot-tag.obj -MD -MP -MF $(DEPDIR)/test_ot_tag-hb-ot-tag.Tpo -c -o test_ot_tag-hb-ot-tag.obj `if test -f 'hb-ot-tag.cc'; then $(CYGPATH_W) 'hb-ot-tag.cc'; else $(CYGPATH_W) '$(srcdir)/hb-ot-tag.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_ot_tag-hb-ot-tag.Tpo $(DEPDIR)/test_ot_tag-hb-ot-tag.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='hb-ot-tag.cc' object='test_ot_tag-hb-ot-tag.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_tag_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_ot_tag-hb-ot-tag.obj `if test -f 'hb-ot-tag.cc'; then $(CYGPATH_W) 'hb-ot-tag.cc'; else $(CYGPATH_W) '$(srcdir)/hb-ot-tag.cc'; fi` - -test_size_params-test-size-params.o: test-size-params.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_size_params_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_size_params-test-size-params.o -MD -MP -MF $(DEPDIR)/test_size_params-test-size-params.Tpo -c -o test_size_params-test-size-params.o `test -f 'test-size-params.cc' || echo '$(srcdir)/'`test-size-params.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_size_params-test-size-params.Tpo $(DEPDIR)/test_size_params-test-size-params.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test-size-params.cc' object='test_size_params-test-size-params.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_size_params_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_size_params-test-size-params.o `test -f 'test-size-params.cc' || echo '$(srcdir)/'`test-size-params.cc - -test_size_params-test-size-params.obj: test-size-params.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_size_params_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_size_params-test-size-params.obj -MD -MP -MF $(DEPDIR)/test_size_params-test-size-params.Tpo -c -o test_size_params-test-size-params.obj `if test -f 'test-size-params.cc'; then $(CYGPATH_W) 'test-size-params.cc'; else $(CYGPATH_W) '$(srcdir)/test-size-params.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_size_params-test-size-params.Tpo $(DEPDIR)/test_size_params-test-size-params.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test-size-params.cc' object='test_size_params-test-size-params.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_size_params_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_size_params-test-size-params.obj `if test -f 'test-size-params.cc'; then $(CYGPATH_W) 'test-size-params.cc'; else $(CYGPATH_W) '$(srcdir)/test-size-params.cc'; fi` - -test_would_substitute-test-would-substitute.o: test-would-substitute.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_would_substitute_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_would_substitute-test-would-substitute.o -MD -MP -MF $(DEPDIR)/test_would_substitute-test-would-substitute.Tpo -c -o test_would_substitute-test-would-substitute.o `test -f 'test-would-substitute.cc' || echo '$(srcdir)/'`test-would-substitute.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_would_substitute-test-would-substitute.Tpo $(DEPDIR)/test_would_substitute-test-would-substitute.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test-would-substitute.cc' object='test_would_substitute-test-would-substitute.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_would_substitute_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_would_substitute-test-would-substitute.o `test -f 'test-would-substitute.cc' || echo '$(srcdir)/'`test-would-substitute.cc - -test_would_substitute-test-would-substitute.obj: test-would-substitute.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_would_substitute_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_would_substitute-test-would-substitute.obj -MD -MP -MF $(DEPDIR)/test_would_substitute-test-would-substitute.Tpo -c -o test_would_substitute-test-would-substitute.obj `if test -f 'test-would-substitute.cc'; then $(CYGPATH_W) 'test-would-substitute.cc'; else $(CYGPATH_W) '$(srcdir)/test-would-substitute.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_would_substitute-test-would-substitute.Tpo $(DEPDIR)/test_would_substitute-test-would-substitute.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='test-would-substitute.cc' object='test_would_substitute-test-would-substitute.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_would_substitute_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_would_substitute-test-would-substitute.obj `if test -f 'test-would-substitute.cc'; then $(CYGPATH_W) 'test-would-substitute.cc'; else $(CYGPATH_W) '$(srcdir)/test-would-substitute.cc'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-cmakeDATA: $(cmake_DATA) - @$(NORMAL_INSTALL) - @list='$(cmake_DATA)'; test -n "$(cmakedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(cmakedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(cmakedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(cmakedir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(cmakedir)" || exit $$?; \ - done - -uninstall-cmakeDATA: - @$(NORMAL_UNINSTALL) - @list='$(cmake_DATA)'; test -n "$(cmakedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(cmakedir)'; $(am__uninstall_files_from_dir) -install-girDATA: $(gir_DATA) - @$(NORMAL_INSTALL) - @list='$(gir_DATA)'; test -n "$(girdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(girdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(girdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(girdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(girdir)" || exit $$?; \ - done - -uninstall-girDATA: - @$(NORMAL_UNINSTALL) - @list='$(gir_DATA)'; test -n "$(girdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(girdir)'; $(am__uninstall_files_from_dir) -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) -install-typelibDATA: $(typelib_DATA) - @$(NORMAL_INSTALL) - @list='$(typelib_DATA)'; test -n "$(typelibdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(typelibdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(typelibdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(typelibdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(typelibdir)" || exit $$?; \ - done - -uninstall-typelibDATA: - @$(NORMAL_UNINSTALL) - @list='$(typelib_DATA)'; test -n "$(typelibdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(typelibdir)'; $(am__uninstall_files_from_dir) -install-nodist_pkgincludeHEADERS: $(nodist_pkginclude_HEADERS) - @$(NORMAL_INSTALL) - @list='$(nodist_pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgincludedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgincludedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(pkgincludedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(pkgincludedir)" || exit $$?; \ - done - -uninstall-nodist_pkgincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(nodist_pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgincludedir)'; $(am__uninstall_files_from_dir) -install-pkgincludeHEADERS: $(pkginclude_HEADERS) - @$(NORMAL_INSTALL) - @list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgincludedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgincludedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(pkgincludedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(pkgincludedir)" || exit $$?; \ - done - -uninstall-pkgincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgincludedir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all $(check_PROGRAMS) $(dist_check_SCRIPTS) - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -check-c-linkage-decls.sh.log: check-c-linkage-decls.sh - @p='check-c-linkage-decls.sh'; \ - b='check-c-linkage-decls.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-externs.sh.log: check-externs.sh - @p='check-externs.sh'; \ - b='check-externs.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-header-guards.sh.log: check-header-guards.sh - @p='check-header-guards.sh'; \ - b='check-header-guards.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-includes.sh.log: check-includes.sh - @p='check-includes.sh'; \ - b='check-includes.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-static-inits.sh.log: check-static-inits.sh - @p='check-static-inits.sh'; \ - b='check-static-inits.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-symbols.sh.log: check-symbols.sh - @p='check-symbols.sh'; \ - b='check-symbols.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check-libstdc++.sh.log: check-libstdc++.sh - @p='check-libstdc++.sh'; \ - b='check-libstdc++.sh'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -test-ot-tag.log: test-ot-tag$(EXEEXT) - @p='test-ot-tag$(EXEEXT)'; \ - b='test-ot-tag'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -test-unicode-ranges.log: test-unicode-ranges$(EXEEXT) - @p='test-unicode-ranges$(EXEEXT)'; \ - b='test-unicode-ranges'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -@am__EXEEXT_TRUE@.test$(EXEEXT).log: -@am__EXEEXT_TRUE@ @p='$<'; \ -@am__EXEEXT_TRUE@ $(am__set_b); \ -@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ -@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) \ - $(dist_check_SCRIPTS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) -install-binPROGRAMS: install-libLTLIBRARIES - -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(cmakedir)" "$(DESTDIR)$(girdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(typelibdir)" "$(DESTDIR)$(pkgincludedir)" "$(DESTDIR)$(pkgincludedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-recursive - -clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ - clean-libLTLIBRARIES clean-libtool clean-noinstPROGRAMS \ - mostlyclean-am - -distclean: distclean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-cmakeDATA install-girDATA \ - install-nodist_pkgincludeHEADERS install-pkgconfigDATA \ - install-pkgincludeHEADERS install-typelibDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: install-binPROGRAMS install-libLTLIBRARIES - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: installcheck-binPROGRAMS - -maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-cmakeDATA \ - uninstall-girDATA uninstall-libLTLIBRARIES \ - uninstall-nodist_pkgincludeHEADERS uninstall-pkgconfigDATA \ - uninstall-pkgincludeHEADERS uninstall-typelibDATA - -.MAKE: $(am__recursive_targets) all check check-am install install-am \ - install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-TESTS check-am clean clean-binPROGRAMS \ - clean-checkPROGRAMS clean-generic clean-libLTLIBRARIES \ - clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-cmakeDATA install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-girDATA \ - install-html install-html-am install-info install-info-am \ - install-libLTLIBRARIES install-man \ - install-nodist_pkgincludeHEADERS install-pdf install-pdf-am \ - install-pkgconfigDATA install-pkgincludeHEADERS install-ps \ - install-ps-am install-strip install-typelibDATA installcheck \ - installcheck-am installcheck-binPROGRAMS installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \ - uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-cmakeDATA uninstall-girDATA uninstall-libLTLIBRARIES \ - uninstall-nodist_pkgincludeHEADERS uninstall-pkgconfigDATA \ - uninstall-pkgincludeHEADERS uninstall-typelibDATA - -.PRECIOUS: Makefile - - -# Convenience targets: -lib: $(BUILT_SOURCES) libharfbuzz.la libharfbuzz-subset.la -libs: $(BUILT_SOURCES) $(lib_LTLIBRARIES) -fuzzing: $(BUILT_SOURCES) libharfbuzz-fuzzing.la libharfbuzz-subset-fuzzing.la -@HAVE_UCDN_TRUE@hb-ucdn/libhb-ucdn.la: ucdn -@HAVE_UCDN_TRUE@ucdn: -@HAVE_UCDN_TRUE@ @$(MAKE) $(AM_MAKEFLAGS) -C hb-ucdn - -$(srcdir)/hb-version.h: hb-version.h.in $(top_srcdir)/configure.ac - $(AM_V_GEN) $(SED) \ - -e 's/[@]HB_VERSION_MAJOR@/$(HB_VERSION_MAJOR)/' \ - -e 's/[@]HB_VERSION_MINOR@/$(HB_VERSION_MINOR)/' \ - -e 's/[@]HB_VERSION_MICRO@/$(HB_VERSION_MICRO)/' \ - -e 's/[@]HB_VERSION@/$(HB_VERSION)/' \ - "$<" > "$@" || ($(RM) "$@"; false) - -@CODE_COVERAGE_RULES@ -@HAVE_GOBJECT_TRUE@hb-gobject-enums.%: hb-gobject-enums.%.tmpl $(HBHEADERS) -@HAVE_GOBJECT_TRUE@ $(AM_V_GEN) PYTHONIOENCODING=UTF-8 $(GLIB_MKENUMS) \ -@HAVE_GOBJECT_TRUE@ --identifier-prefix hb_ --symbol-prefix hb_gobject \ -@HAVE_GOBJECT_TRUE@ --template $^ | \ -@HAVE_GOBJECT_TRUE@ sed 's/_t_get_type/_get_type/g; s/_T (/ (/g' > "$@" \ -@HAVE_GOBJECT_TRUE@ || ($(RM) "$@"; false) - -%.pc: %.pc.in $(top_builddir)/config.status - $(AM_V_GEN) \ - $(SED) -e 's@%prefix%@$(prefix)@g' \ - -e 's@%exec_prefix%@$(exec_prefix)@g' \ - -e 's@%libdir%@$(libdir)@g' \ - -e 's@%includedir%@$(includedir)@g' \ - -e 's@%libs_private%@$(HBNONPCLIBS)@g' \ - -e 's@%requires_private%@$(HBDEPS)@g' \ - -e 's@%VERSION%@$(VERSION)@g' \ - "$<" > "$@" \ - || ($(RM) "$@"; false) -check: $(DEF_FILES) # For check-symbols.sh -harfbuzz.def: $(HBHEADERS) $(HBNODISTHEADERS) - $(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^ -harfbuzz-subset.def: $(HB_SUBSET_headers) - $(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^ -harfbuzz-icu.def: $(HB_ICU_headers) - $(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^ -harfbuzz-gobject.def: $(HB_GOBJECT_headers) - $(AM_V_GEN) $(srcdir)/gen-def.py "$@" $^ - -unicode-tables: arabic-table indic-table use-table - -arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt - $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-ot-shape-complex-arabic-table.hh \ - || ($(RM) $(srcdir)/hb-ot-shape-complex-arabic-table.hh; false) - -indic-table: gen-indic-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt Blocks.txt - $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-ot-shape-complex-indic-table.cc \ - || ($(RM) $(srcdir)/hb-ot-shape-complex-indic-table.cc; false) - -use-table: gen-use-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt UnicodeData.txt Blocks.txt - $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-ot-shape-complex-use-table.cc \ - || ($(RM) $(srcdir)/hb-ot-shape-complex-use-table.cc; false) - -built-sources: $(BUILT_SOURCES) - -.PHONY: unicode-tables arabic-table indic-table use-table built-sources -# We decided to add ragel-generated files to git... -#MAINTAINERCLEANFILES += $(RAGEL_GENERATED) -$(srcdir)/%.hh: $(srcdir)/%.rl - $(AM_V_GEN)(cd $(srcdir) && $(RAGEL) -e -F1 -o "$*.hh" "$*.rl") \ - || ($(RM) "$@"; false) - -@HAVE_INTROSPECTION_TRUE@-include $(INTROSPECTION_MAKEFILE) - -@HAVE_INTROSPECTION_TRUE@HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la - --include $(top_srcdir)/git.mk - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/harfbuzz-1.9.0/src/Makefile.sources b/harfbuzz-1.9.0/src/Makefile.sources deleted file mode 100644 index 654255e20..000000000 --- a/harfbuzz-1.9.0/src/Makefile.sources +++ /dev/null @@ -1,232 +0,0 @@ -# Base and default-included sources and headers - -HB_BASE_sources = \ - hb-atomic.hh \ - hb-blob.hh \ - hb-blob.cc \ - hb-buffer.hh \ - hb-buffer-serialize.cc \ - hb-buffer.cc \ - hb-common.cc \ - hb-debug.hh \ - hb-dsalgs.hh \ - hb-face.hh \ - hb-face.cc \ - hb-font.hh \ - hb-font.cc \ - hb-iter.hh \ - hb-map.hh \ - hb-map.cc \ - hb-machinery.hh \ - hb-mutex.hh \ - hb-null.hh \ - hb-object.hh \ - hb-open-file.hh \ - hb-open-type.hh \ - hb-ot-color-cbdt-table.hh \ - hb-ot-cmap-table.hh \ - hb-ot-glyf-table.hh \ - hb-ot-hdmx-table.hh \ - hb-ot-head-table.hh \ - hb-ot-hhea-table.hh \ - hb-ot-hmtx-table.hh \ - hb-ot-kern-table.hh \ - hb-ot-maxp-table.hh \ - hb-ot-name-table.hh \ - hb-ot-os2-table.hh \ - hb-ot-os2-unicode-ranges.hh \ - hb-ot-post-macroman.hh \ - hb-ot-post-table.hh \ - hb-ot-tag.cc \ - hb.hh \ - hb-set-digest.hh \ - hb-set.hh \ - hb-set.cc \ - hb-shape.cc \ - hb-shape-plan.hh \ - hb-shape-plan.cc \ - hb-shaper-list.hh \ - hb-shaper-impl.hh \ - hb-shaper.hh \ - hb-shaper.cc \ - hb-static.cc \ - hb-string-array.hh \ - hb-unicode.hh \ - hb-unicode.cc \ - hb-vector.hh \ - hb-utf.hh \ - hb-warning.cc \ - $(NULL) - -HB_BASE_RAGEL_GENERATED_sources = \ - hb-buffer-deserialize-json.hh \ - hb-buffer-deserialize-text.hh \ - $(NULL) -HB_BASE_RAGEL_sources = \ - hb-buffer-deserialize-json.rl \ - hb-buffer-deserialize-text.rl \ - $(NULL) - -HB_BASE_headers = \ - hb.h \ - hb-blob.h \ - hb-buffer.h \ - hb-common.h \ - hb-deprecated.h \ - hb-face.h \ - hb-font.h \ - hb-map.h \ - hb-set.h \ - hb-shape.h \ - hb-shape-plan.h \ - hb-unicode.h \ - hb-version.h \ - $(NULL) - -HB_FALLBACK_sources = \ - hb-fallback-shape.cc \ - $(NULL) - -HB_OT_sources = \ - hb-aat-layout.cc \ - hb-aat-layout-common.hh \ - hb-aat-layout-ankr-table.hh \ - hb-aat-layout-bsln-table.hh \ - hb-aat-layout-feat-table.hh \ - hb-aat-layout-kerx-table.hh \ - hb-aat-layout-morx-table.hh \ - hb-aat-layout-trak-table.hh \ - hb-aat-layout.hh \ - hb-aat-ltag-table.hh \ - hb-ot-face.hh \ - hb-ot-face.cc \ - hb-ot-font.cc \ - hb-ot-layout.cc \ - hb-ot-layout-base-table.hh \ - hb-ot-layout-common.hh \ - hb-ot-layout-gdef-table.hh \ - hb-ot-layout-gpos-table.hh \ - hb-ot-layout-gsubgpos.hh \ - hb-ot-layout-gsub-table.hh \ - hb-ot-layout-jstf-table.hh \ - hb-ot-layout.hh \ - hb-ot-color.cc \ - hb-ot-color-colr-table.hh \ - hb-ot-color-cpal-table.hh \ - hb-ot-color-sbix-table.hh \ - hb-ot-color-svg-table.hh \ - hb-ot-map.cc \ - hb-ot-map.hh \ - hb-ot-math.cc \ - hb-ot-math-table.hh \ - hb-ot-shape.cc \ - hb-ot-shape-complex-arabic.cc \ - hb-ot-shape-complex-arabic-fallback.hh \ - hb-ot-shape-complex-arabic.hh \ - hb-ot-shape-complex-arabic-table.hh \ - hb-ot-shape-complex-arabic-win1256.hh \ - hb-ot-shape-complex-default.cc \ - hb-ot-shape-complex-hangul.cc \ - hb-ot-shape-complex-hebrew.cc \ - hb-ot-shape-complex-indic.cc \ - hb-ot-shape-complex-indic.hh \ - hb-ot-shape-complex-indic-table.cc \ - hb-ot-shape-complex-khmer.hh \ - hb-ot-shape-complex-khmer.cc \ - hb-ot-shape-complex-myanmar.hh \ - hb-ot-shape-complex-myanmar.cc \ - hb-ot-shape-complex-thai.cc \ - hb-ot-shape-complex-tibetan.cc \ - hb-ot-shape-complex-use.cc \ - hb-ot-shape-complex-use.hh \ - hb-ot-shape-complex-use-table.cc \ - hb-ot-shape-complex.hh \ - hb-ot-shape-normalize.hh \ - hb-ot-shape-normalize.cc \ - hb-ot-shape-fallback.hh \ - hb-ot-shape-fallback.cc \ - hb-ot-shape.hh \ - hb-ot-var.cc \ - hb-ot-var-avar-table.hh \ - hb-ot-var-fvar-table.hh \ - hb-ot-var-hvar-table.hh \ - hb-ot-var-mvar-table.hh \ - $(NULL) - -HB_OT_RAGEL_GENERATED_sources = \ - hb-ot-shape-complex-indic-machine.hh \ - hb-ot-shape-complex-khmer-machine.hh \ - hb-ot-shape-complex-myanmar-machine.hh \ - hb-ot-shape-complex-use-machine.hh \ - $(NULL) -HB_OT_RAGEL_sources = \ - hb-ot-shape-complex-indic-machine.rl \ - hb-ot-shape-complex-khmer-machine.rl \ - hb-ot-shape-complex-myanmar-machine.rl \ - hb-ot-shape-complex-use-machine.rl \ - $(NULL) - -HB_OT_headers = \ - hb-ot.h \ - hb-ot-font.h \ - hb-ot-layout.h \ - hb-ot-math.h \ - hb-ot-shape.h \ - hb-ot-tag.h \ - hb-ot-var.h \ - $(NULL) - -# Optional Sources and Headers with external deps - -HB_FT_sources = hb-ft.cc -HB_FT_headers = hb-ft.h - -HB_GLIB_sources = hb-glib.cc -HB_GLIB_headers = hb-glib.h - -HB_GRAPHITE2_sources = hb-graphite2.cc -HB_GRAPHITE2_headers = hb-graphite2.h - -# System-dependent sources and headers - -HB_CORETEXT_sources = hb-coretext.cc -HB_CORETEXT_headers = hb-coretext.h - -HB_DIRECTWRITE_sources = hb-directwrite.cc -HB_DIRECTWRITE_headers = hb-directwrite.h - -HB_UNISCRIBE_sources = hb-uniscribe.cc -HB_UNISCRIBE_headers = hb-uniscribe.h - -# Additional supplemental sources -HB_UCDN_sources = hb-ucdn.cc - -# Sources for libharfbuzz-gobject and libharfbuzz-icu -HB_ICU_sources = hb-icu.cc -HB_ICU_headers = hb-icu.h - -# Sources for libharfbuzz-subset -HB_SUBSET_sources = \ - hb-static.cc \ - hb-subset.cc \ - hb-subset.hh \ - hb-subset-glyf.cc \ - hb-subset-glyf.hh \ - hb-subset-input.cc \ - hb-subset-input.hh \ - hb-subset-plan.cc \ - hb-subset-plan.hh \ - $(NULL) - -HB_SUBSET_headers = \ - hb-subset.h \ - $(NULL) - -HB_GOBJECT_DIST_sources = hb-gobject-structs.cc -HB_GOBJECT_DIST_headers = hb-gobject.h hb-gobject-structs.h -HB_GOBJECT_ENUM_sources = hb-gobject-enums.cc -HB_GOBJECT_ENUM_headers = hb-gobject-enums.h -HB_GOBJECT_NODIST_sources = $(HB_GOBJECT_ENUM_sources) -HB_GOBJECT_NODIST_headers = $(HB_GOBJECT_ENUM_headers) -HB_GOBJECT_sources = $(HB_GOBJECT_DIST_sources) $(HB_GOBJECT_NODIST_sources) -HB_GOBJECT_headers = $(HB_GOBJECT_DIST_headers) $(HB_GOBJECT_NODIST_headers) diff --git a/harfbuzz-1.9.0/src/check-c-linkage-decls.sh b/harfbuzz-1.9.0/src/check-c-linkage-decls.sh deleted file mode 100644 index 8234abc45..000000000 --- a/harfbuzz-1.9.0/src/check-c-linkage-decls.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -LC_ALL=C -export LC_ALL - -test -z "$srcdir" && srcdir=. -stat=0 - -test "x$HBHEADERS" = x && HBHEADERS=`cd "$srcdir"; find . -maxdepth 1 -name 'hb*.h'` -test "x$HBSOURCES" = x && HBSOURCES=`cd "$srcdir"; find . -maxdepth 1 -name 'hb*.cc'` - -for x in $HBHEADERS; do - test -f "$srcdir/$x" -a ! -f "$x" && x="$srcdir/$x" - if ! grep -q HB_BEGIN_DECLS "$x" || ! grep -q HB_END_DECLS "$x"; then - echo "Ouch, file $x does not have HB_BEGIN_DECLS / HB_END_DECLS, but it should" - stat=1 - fi -done -for x in $HBSOURCES; do - test -f "$srcdir/$x" -a ! -f "$x" && x="$srcdir/$x" - if grep -q HB_BEGIN_DECLS "$x" || grep -q HB_END_DECLS "$x"; then - echo "Ouch, file $x has HB_BEGIN_DECLS / HB_END_DECLS, but it shouldn't" - stat=1 - fi -done - -exit $stat diff --git a/harfbuzz-1.9.0/src/check-externs.sh b/harfbuzz-1.9.0/src/check-externs.sh deleted file mode 100644 index a6de37535..000000000 --- a/harfbuzz-1.9.0/src/check-externs.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -LC_ALL=C -export LC_ALL - -test -z "$srcdir" && srcdir=. -stat=0 - -test "x$HBHEADERS" = x && HBHEADERS=`cd "$srcdir"; find . -maxdepth 1 -name 'hb*.h'` -test "x$EGREP" = x && EGREP='grep -E' - - -echo 'Checking that all public symbols are exported with HB_EXTERN' - -for x in $HBHEADERS; do - test -f "$srcdir/$x" -a ! -f "$x" && x="$srcdir/$x" - $EGREP -B1 -n '^hb_' /dev/null "$x" | - $EGREP -v '(^--|:hb_|-HB_EXTERN )' -A1 -done | -grep . >&2 && stat=1 - -exit $stat diff --git a/harfbuzz-1.9.0/src/check-header-guards.sh b/harfbuzz-1.9.0/src/check-header-guards.sh deleted file mode 100644 index b67640fc1..000000000 --- a/harfbuzz-1.9.0/src/check-header-guards.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -LC_ALL=C -export LC_ALL - -test -z "$srcdir" && srcdir=. -stat=0 - -test "x$HBHEADERS" = x && HBHEADERS=`cd "$srcdir"; find . -maxdepth 1 -name 'hb*.h' ! -name 'hb-gobject-structs.h'` -test "x$HBSOURCES" = x && HBSOURCES=`cd "$srcdir"; find . -maxdepth 1 -name 'hb-*.cc' -or -name 'hb-*.hh'` - -for x in $HBHEADERS $HBSOURCES; do - test -f "$srcdir/$x" -a ! -f "$x" && x="$srcdir/$x" - echo "$x" | grep -q '[^h]$' && continue; - xx=`echo "$x" | sed 's@.*/@@'` - tag=`echo "$xx" | tr 'a-z.-' 'A-Z_'` - lines=`grep -w "$tag" "$x" | wc -l | sed 's/[ ]*//g'` - if test "x$lines" != x3; then - echo "Ouch, header file $x does not have correct preprocessor guards" - stat=1 - fi -done - -exit $stat diff --git a/harfbuzz-1.9.0/src/check-includes.sh b/harfbuzz-1.9.0/src/check-includes.sh deleted file mode 100644 index f938f706c..000000000 --- a/harfbuzz-1.9.0/src/check-includes.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -LC_ALL=C -export LC_ALL - -test -z "$srcdir" && srcdir=. -stat=0 - -test "x$HBHEADERS" = x && HBHEADERS=`cd "$srcdir"; find . -maxdepth 1 -name 'hb*.h'` -test "x$HBSOURCES" = x && HBSOURCES=`cd "$srcdir"; find . -maxdepth 1 -name 'hb-*.cc' -or -name 'hb-*.hh'` - - -echo 'Checking that public header files #include "hb-common.h" or "hb.h" first (or none)' - -for x in $HBHEADERS; do - test -f "$srcdir/$x" -a ! -f "$x" && x="$srcdir/$x" - grep '#.*\' "$x" /dev/null | head -n 1 -done | -grep -v '"hb-common[.]h"' | -grep -v '"hb[.]h"' | -grep -v 'hb-common[.]h:' | -grep -v 'hb[.]h:' | -grep . >&2 && stat=1 - - -echo 'Checking that source files #include a private header first (or none)' - -for x in $HBSOURCES; do - test -f "$srcdir/$x" -a ! -f "$x" && x="$srcdir/$x" - grep '#.*\' "$x" /dev/null | head -n 1 -done | -grep -v '"hb-.*[.]hh"' | -grep -v 'hb[.]hh' | -grep . >&2 && stat=1 - - -echo 'Checking that there is no #include ' -for x in $HBHEADERS $HBSOURCES; do - test -f "$srcdir/$x" && x="$srcdir/$x" - grep '#.*\.*<.*hb' "$x" /dev/null >&2 && stat=1 -done - - -exit $stat diff --git a/harfbuzz-1.9.0/src/check-libstdc++.sh b/harfbuzz-1.9.0/src/check-libstdc++.sh deleted file mode 100644 index ce0bdab75..000000000 --- a/harfbuzz-1.9.0/src/check-libstdc++.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/sh - -LC_ALL=C -export LC_ALL - -test -z "$srcdir" && srcdir=. -test -z "$libs" && libs=.libs -stat=0 - - -if which ldd 2>/dev/null >/dev/null; then - LDD=ldd -else - # macOS specific tool - if which otool 2>/dev/null >/dev/null; then - LDD="otool -L" - else - echo "check-libstdc++.sh: 'ldd' not found; skipping test" - exit 77 - fi -fi - -tested=false -# harfbuzz-icu links to libstdc++ because icu does. -# harfbuzz-subset uses libstdc++. -for soname in harfbuzz harfbuzz-gobject; do - for suffix in so dylib; do - so=$libs/lib$soname.$suffix - if ! test -f "$so"; then continue; fi - - echo "Checking that we are not linking to libstdc++ or libc++ in $so" - if $LDD $so | grep 'libstdc[+][+]\|libc[+][+]'; then - echo "Ouch, linked to libstdc++ or libc++" - stat=1 - fi - tested=true - done -done -if ! $tested; then - echo "check-libstdc++.sh: libharfbuzz shared library not found; skipping test" - exit 77 -fi - -exit $stat diff --git a/harfbuzz-1.9.0/src/check-static-inits.sh b/harfbuzz-1.9.0/src/check-static-inits.sh deleted file mode 100644 index 71551cbd4..000000000 --- a/harfbuzz-1.9.0/src/check-static-inits.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh - -LC_ALL=C -export LC_ALL - -test -z "$srcdir" && srcdir=. -test -z "$libs" && libs=.libs -stat=0 - - -if which objdump 2>/dev/null >/dev/null; then - : -else - echo "check-static-inits.sh: 'objdump' not found; skipping test" - exit 77 -fi - -OBJS=$libs/*.o -if test "x`echo $OBJS`" = "x$OBJS" 2>/dev/null >/dev/null; then - echo "check-static-inits.sh: object files not found; skipping test" - exit 77 -fi - -echo "Checking that no object file has static initializers" -for obj in $OBJS; do - if objdump -t "$obj" | grep '[.][cd]tors' | grep -v '\<00*\>'; then - echo "Ouch, $obj has static initializers/finalizers" - stat=1 - fi -done - -echo "Checking that no object file has lazy static C++ constructors/destructors or other such stuff" -for obj in $OBJS; do - if objdump -t "$obj" | grep '__cxa_'; then - echo "Ouch, $obj has lazy static C++ constructors/destructors or other such stuff" - stat=1 - fi -done - -exit $stat diff --git a/harfbuzz-1.9.0/src/check-symbols.sh b/harfbuzz-1.9.0/src/check-symbols.sh deleted file mode 100644 index d4eca5079..000000000 --- a/harfbuzz-1.9.0/src/check-symbols.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh - -LC_ALL=C -export LC_ALL - -test -z "$srcdir" && srcdir=. -test -z "$libs" && libs=.libs -stat=0 - -IGNORED_SYMBOLS='_fini\|_init\|_fdata\|_ftext\|_fbss\|__bss_start\|__bss_start__\|__bss_end__\|_edata\|_end\|_bss_end__\|__end__\|__gcov_flush\|llvm_.*' - -if which nm 2>/dev/null >/dev/null; then - : -else - echo "check-symbols.sh: 'nm' not found; skipping test" - exit 77 -fi - -tested=false -for soname in harfbuzz harfbuzz-subset harfbuzz-icu harfbuzz-gobject; do - for suffix in so dylib; do - so=$libs/lib$soname.$suffix - if ! test -f "$so"; then continue; fi - - # On macOS, C symbols are prefixed with _ - symprefix= - if test $suffix = dylib; then symprefix=_; fi - - EXPORTED_SYMBOLS="`nm "$so" | grep ' [BCDGINRSTVW] .' | grep -v " $symprefix\\($IGNORED_SYMBOLS\\>\\)" | cut -d' ' -f3 | c++filt`" - - prefix=$symprefix`basename "$so" | sed 's/libharfbuzz/hb/; s/-/_/g; s/[.].*//'` - - echo "Checking that $so does not expose internal symbols" - if echo "$EXPORTED_SYMBOLS" | grep -v "^${prefix}\(_\|$\)"; then - echo "Ouch, internal symbols exposed" - stat=1 - fi - - def=$soname.def - if ! test -f "$def"; then - echo "'$def' not found; skipping" - else - echo "Checking that $so has the same symbol list as $def" - { - echo EXPORTS - echo "$EXPORTED_SYMBOLS" | sed -e "s/^${symprefix}hb/hb/g" - # cheat: copy the last line from the def file! - tail -n1 "$def" - } | c++filt | diff "$def" - >&2 || stat=1 - fi - - tested=true - done -done -if ! $tested; then - echo "check-symbols.sh: no shared libraries found; skipping test" - exit 77 -fi - -exit $stat diff --git a/harfbuzz-1.9.0/src/dump-emoji.cc b/harfbuzz-1.9.0/src/dump-emoji.cc deleted file mode 100644 index 65214692f..000000000 --- a/harfbuzz-1.9.0/src/dump-emoji.cc +++ /dev/null @@ -1,261 +0,0 @@ -/* - * Copyright © 2018 Ebrahim Byagowi - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#include "hb-static.cc" -#include "hb-ot-color-cbdt-table.hh" -#include "hb-ot-color-colr-table.hh" -#include "hb-ot-color-cpal-table.hh" -#include "hb-ot-color-sbix-table.hh" -#include "hb-ot-color-svg-table.hh" - -#include "hb-ft.h" - -#include -#include FT_FREETYPE_H -#include FT_GLYPH_H - -#include -#include -#include - -#ifdef HAVE_GLIB -#include -#endif -#include -#include - -void cbdt_callback (const uint8_t* data, unsigned int length, - unsigned int group, unsigned int gid) -{ - char output_path[255]; - sprintf (output_path, "out/cbdt-%d-%d.png", group, gid); - FILE *f = fopen (output_path, "wb"); - fwrite (data, 1, length, f); - fclose (f); -} - -void sbix_callback (const uint8_t* data, unsigned int length, - unsigned int group, unsigned int gid) -{ - char output_path[255]; - sprintf (output_path, "out/sbix-%d-%d.png", group, gid); - FILE *f = fopen (output_path, "wb"); - fwrite (data, 1, length, f); - fclose (f); -} - -void svg_callback (const uint8_t* data, unsigned int length, - unsigned int start_glyph, unsigned int end_glyph) -{ - char output_path[255]; - if (start_glyph == end_glyph) - sprintf (output_path, "out/svg-%d.svg", start_glyph); - else - sprintf (output_path, "out/svg-%d-%d.svg", start_glyph, end_glyph); - - // append "z" if the content is gzipped - if ((data[0] == 0x1F) && (data[1] == 0x8B)) - strcat (output_path, "z"); - - FILE *f = fopen (output_path, "wb"); - fwrite (data, 1, length, f); - fclose (f); -} - -void colr_cpal_rendering (cairo_font_face_t *cairo_face, unsigned int upem, unsigned int num_glyphs, - const OT::COLR *colr, const OT::CPAL *cpal) -{ - for (unsigned int i = 0; i < num_glyphs; ++i) - { - unsigned int first_layer_index, num_layers; - if (colr->get_base_glyph_record (i, &first_layer_index, &num_layers)) - { - // Measure - cairo_text_extents_t extents; - { - cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1); - cairo_t *cr = cairo_create (surface); - cairo_set_font_face (cr, cairo_face); - cairo_set_font_size (cr, upem); - - cairo_glyph_t *glyphs = (cairo_glyph_t *) calloc (num_layers, sizeof (cairo_glyph_t)); - for (unsigned int j = 0; j < num_layers; ++j) - { - hb_codepoint_t glyph_id; - unsigned int color_index; - colr->get_layer_record (first_layer_index + j, &glyph_id, &color_index); - glyphs[j].index = glyph_id; - } - cairo_glyph_extents (cr, glyphs, num_layers, &extents); - free (glyphs); - cairo_surface_destroy (surface); - cairo_destroy (cr); - } - - // Add a slight margin - extents.width += extents.width / 10; - extents.height += extents.height / 10; - extents.x_bearing -= extents.width / 20; - extents.y_bearing -= extents.height / 20; - - // Render - unsigned int pallet_count = cpal->get_palette_count (); - for (unsigned int pallet = 0; pallet < pallet_count; ++pallet) { - char output_path[255]; - - // If we have more than one pallet, use a better namin - if (pallet_count == 1) - sprintf (output_path, "out/colr-%d.svg", i); - else - sprintf (output_path, "out/colr-%d-%d.svg", i, pallet); - - cairo_surface_t *surface = cairo_svg_surface_create (output_path, extents.width, extents.height); - cairo_t *cr = cairo_create (surface); - cairo_set_font_face (cr, cairo_face); - cairo_set_font_size (cr, upem); - - for (unsigned int j = 0; j < num_layers; ++j) - { - hb_codepoint_t glyph_id; - unsigned int color_index; - colr->get_layer_record (first_layer_index + j, &glyph_id, &color_index); - - uint32_t color = cpal->get_color_record_argb (color_index, pallet); - int alpha = color & 0xFF; - int r = (color >> 8) & 0xFF; - int g = (color >> 16) & 0xFF; - int b = (color >> 24) & 0xFF; - cairo_set_source_rgba (cr, r / 255.f, g / 255.f, b / 255.f, alpha); - - cairo_glyph_t glyph; - glyph.index = glyph_id; - glyph.x = -extents.x_bearing; - glyph.y = -extents.y_bearing; - cairo_show_glyphs (cr, &glyph, 1); - } - - cairo_surface_destroy (surface); - cairo_destroy (cr); - } - } - } -} - -void dump_glyphs (cairo_font_face_t *cairo_face, unsigned int upem, unsigned int num_glyphs) -{ - // Dump every glyph available on the font - return; // disabled for now - for (unsigned int i = 0; i < num_glyphs; ++i) - { - cairo_text_extents_t extents; - cairo_glyph_t glyph = {0}; - glyph.index = i; - - // Measure - { - cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1); - cairo_t *cr = cairo_create (surface); - cairo_set_font_face (cr, cairo_face); - cairo_set_font_size (cr, upem); - - cairo_glyph_extents (cr, &glyph, 1, &extents); - cairo_surface_destroy (surface); - cairo_destroy (cr); - } - - // Add a slight margin - extents.width += extents.width / 10; - extents.height += extents.height / 10; - extents.x_bearing -= extents.width / 20; - extents.y_bearing -= extents.height / 20; - - // Render - { - char output_path[255]; - sprintf (output_path, "out/%d.svg", i); - cairo_surface_t *surface = cairo_svg_surface_create (output_path, extents.width, extents.height); - cairo_t *cr = cairo_create (surface); - cairo_set_font_face (cr, cairo_face); - cairo_set_font_size (cr, upem); - glyph.x = -extents.x_bearing; - glyph.y = -extents.y_bearing; - cairo_show_glyphs (cr, &glyph, 1); - cairo_surface_destroy (surface); - cairo_destroy (cr); - } - } -} - -int main (int argc, char **argv) -{ - if (argc != 2) { - fprintf (stderr, "usage: %s font-file.ttf\n", argv[0]); - exit (1); - } - - hb_blob_t *blob = hb_blob_create_from_file (argv[1]); - hb_face_t *face = hb_face_create (blob, 0); - hb_font_t *font = hb_font_create (face); - - OT::CBDT::accelerator_t cbdt; - cbdt.init (face); - cbdt.dump (cbdt_callback); - cbdt.fini (); - - OT::sbix::accelerator_t sbix; - sbix.init (face); - sbix.dump (sbix_callback); - sbix.fini (); - - OT::SVG::accelerator_t svg; - svg.init (face); - svg.dump (svg_callback); - svg.fini (); - - hb_blob_t* colr_blob = hb_sanitize_context_t ().reference_table (face); - const OT::COLR *colr = colr_blob->as (); - - hb_blob_t* cpal_blob = hb_sanitize_context_t ().reference_table (face); - const OT::CPAL *cpal = cpal_blob->as (); - - cairo_font_face_t *cairo_face; - { - FT_Library library; - FT_Init_FreeType (&library); - FT_Face ftface; - FT_New_Face (library, argv[1], 0, &ftface); - cairo_face = cairo_ft_font_face_create_for_ft_face (ftface, 0); - } - unsigned int num_glyphs = hb_face_get_glyph_count (face); - unsigned int upem = hb_face_get_upem (face); - colr_cpal_rendering (cairo_face, upem, num_glyphs, colr, cpal); - dump_glyphs (cairo_face, upem, num_glyphs); - - - hb_font_destroy (font); - hb_face_destroy (face); - hb_blob_destroy (blob); - - return 0; -} diff --git a/harfbuzz-1.9.0/src/gen-def.py b/harfbuzz-1.9.0/src/gen-def.py deleted file mode 100644 index ba39eaae5..000000000 --- a/harfbuzz-1.9.0/src/gen-def.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env python - -from __future__ import print_function, division, absolute_import - -import io, os, re, sys - -if len (sys.argv) < 3: - sys.exit("usage: gen-def.py harfbuzz.def hb.h [hb-blob.h hb-buffer.h ...]") - -output_file = sys.argv[1] -header_paths = sys.argv[2:] - -headers_content = [] -for h in header_paths: - if h.endswith (".h"): - with io.open (h, encoding='utf-8') as f: headers_content.append (f.read ()) - -result = """EXPORTS -%s -LIBRARY lib%s-0.dll""" % ( - "\n".join (sorted (re.findall (r"^hb_\w+(?= \()", "\n".join (headers_content), re.M))), - output_file.replace ('.def', '') -) - -with open (output_file, "w") as f: f.write (result) diff --git a/harfbuzz-1.9.0/src/hb-aat-layout-ankr-table.hh b/harfbuzz-1.9.0/src/hb-aat-layout-ankr-table.hh deleted file mode 100644 index a197cec81..000000000 --- a/harfbuzz-1.9.0/src/hb-aat-layout-ankr-table.hh +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright © 2018 Ebrahim Byagowi - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HB_AAT_LAYOUT_ANKR_TABLE_HH -#define HB_AAT_LAYOUT_ANKR_TABLE_HH - -#include "hb-aat-layout-common.hh" - -/* - * ankr -- Anchor Point - * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6ankr.html - */ -#define HB_AAT_TAG_ankr HB_TAG('a','n','k','r') - - -namespace AAT { - - -struct Anchor -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - FWORD xCoordinate; - FWORD yCoordinate; - public: - DEFINE_SIZE_STATIC (4); -}; - -struct ankr -{ - static const hb_tag_t tableTag = HB_AAT_TAG_ankr; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && - version == 0 && - lookupTable.sanitize (c, this) && - anchors.sanitize (c, this))); - } - - protected: - HBUINT16 version; /* Version number (set to zero) */ - HBUINT16 flags; /* Flags (currently unused; set to zero) */ - LOffsetTo > - lookupTable; /* Offset to the table's lookup table */ - LOffsetTo > - anchors; /* Offset to the glyph data table */ - - public: - DEFINE_SIZE_STATIC (12); -}; - -} /* namespace AAT */ - - -#endif /* HB_AAT_LAYOUT_ANKR_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-aat-layout-common.hh b/harfbuzz-1.9.0/src/hb-aat-layout-common.hh deleted file mode 100644 index 25f4fe14a..000000000 --- a/harfbuzz-1.9.0/src/hb-aat-layout-common.hh +++ /dev/null @@ -1,644 +0,0 @@ -/* - * Copyright © 2017 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_AAT_LAYOUT_COMMON_HH -#define HB_AAT_LAYOUT_COMMON_HH - -#include "hb-aat-layout.hh" - - -namespace AAT { - -using namespace OT; - - -/* - * Binary Searching Tables - */ - -struct BinSearchHeader -{ - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - HBUINT16 unitSize; /* Size of a lookup unit for this search in bytes. */ - HBUINT16 nUnits; /* Number of units of the preceding size to be searched. */ - HBUINT16 searchRange; /* The value of unitSize times the largest power of 2 - * that is less than or equal to the value of nUnits. */ - HBUINT16 entrySelector; /* The log base 2 of the largest power of 2 less than - * or equal to the value of nUnits. */ - HBUINT16 rangeShift; /* The value of unitSize times the difference of the - * value of nUnits minus the largest power of 2 less - * than or equal to the value of nUnits. */ - public: - DEFINE_SIZE_STATIC (10); -}; - -template -struct BinSearchArrayOf -{ - inline const Type& operator [] (unsigned int i) const - { - if (unlikely (i >= header.nUnits)) return Null(Type); - return StructAtOffset (bytesZ, i * header.unitSize); - } - inline Type& operator [] (unsigned int i) - { - return StructAtOffset (bytesZ, i * header.unitSize); - } - inline unsigned int get_size (void) const - { return header.static_size + header.nUnits * header.unitSize; } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (unlikely (!sanitize_shallow (c))) return_trace (false); - - /* Note: for structs that do not reference other structs, - * we do not need to call their sanitize() as we already did - * a bound check on the aggregate array size. We just include - * a small unreachable expression to make sure the structs - * pointed to do have a simple sanitize(), ie. they do not - * reference other structs via offsets. - */ - (void) (false && StructAtOffset (bytesZ, 0).sanitize (c)); - - return_trace (true); - } - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - if (unlikely (!sanitize_shallow (c))) return_trace (false); - unsigned int count = header.nUnits; - for (unsigned int i = 0; i < count; i++) - if (unlikely (!(*this)[i].sanitize (c, base))) - return_trace (false); - return_trace (true); - } - - template - inline const Type *bsearch (const T &key) const - { - unsigned int size = header.unitSize; - int min = 0, max = (int) header.nUnits - 1; - while (min <= max) - { - int mid = (min + max) / 2; - const Type *p = (const Type *) (((const char *) bytesZ) + (mid * size)); - int c = p->cmp (key); - if (c < 0) - max = mid - 1; - else if (c > 0) - min = mid + 1; - else - return p; - } - return nullptr; - } - - private: - inline bool sanitize_shallow (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (header.sanitize (c) && - Type::static_size >= header.unitSize && - c->check_array (bytesZ, header.unitSize, header.nUnits)); - } - - protected: - BinSearchHeader header; - HBUINT8 bytesZ[VAR]; - public: - DEFINE_SIZE_ARRAY (10, bytesZ); -}; - - -/* - * Lookup Table - */ - -template struct Lookup; - -template -struct LookupFormat0 -{ - friend struct Lookup; - - private: - inline const T* get_value (hb_codepoint_t glyph_id, unsigned int num_glyphs) const - { - if (unlikely (glyph_id >= num_glyphs)) return nullptr; - return &arrayZ[glyph_id]; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (arrayZ.sanitize (c, c->get_num_glyphs ())); - } - - protected: - HBUINT16 format; /* Format identifier--format = 0 */ - UnsizedArrayOf - arrayZ; /* Array of lookup values, indexed by glyph index. */ - public: - DEFINE_SIZE_ARRAY (2, arrayZ); -}; - - -template -struct LookupSegmentSingle -{ - inline int cmp (hb_codepoint_t g) const { - return g < first ? -1 : g <= last ? 0 : +1 ; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && value.sanitize (c)); - } - - GlyphID last; /* Last GlyphID in this segment */ - GlyphID first; /* First GlyphID in this segment */ - T value; /* The lookup value (only one) */ - public: - DEFINE_SIZE_STATIC (4 + T::static_size); -}; - -template -struct LookupFormat2 -{ - friend struct Lookup; - - private: - inline const T* get_value (hb_codepoint_t glyph_id) const - { - const LookupSegmentSingle *v = segments.bsearch (glyph_id); - return v ? &v->value : nullptr; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (segments.sanitize (c)); - } - - protected: - HBUINT16 format; /* Format identifier--format = 2 */ - BinSearchArrayOf > - segments; /* The actual segments. These must already be sorted, - * according to the first word in each one (the last - * glyph in each segment). */ - public: - DEFINE_SIZE_ARRAY (8, segments); -}; - -template -struct LookupSegmentArray -{ - inline const T* get_value (hb_codepoint_t glyph_id, const void *base) const - { - return first <= glyph_id && glyph_id <= last ? &(base+valuesZ)[glyph_id - first] : nullptr; - } - - inline int cmp (hb_codepoint_t g) const { - return g < first ? -1 : g <= last ? 0 : +1 ; - } - - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - first <= last && - valuesZ.sanitize (c, base, last - first + 1)); - } - - GlyphID last; /* Last GlyphID in this segment */ - GlyphID first; /* First GlyphID in this segment */ - OffsetTo > - valuesZ; /* A 16-bit offset from the start of - * the table to the data. */ - public: - DEFINE_SIZE_STATIC (6); -}; - -template -struct LookupFormat4 -{ - friend struct Lookup; - - private: - inline const T* get_value (hb_codepoint_t glyph_id) const - { - const LookupSegmentArray *v = segments.bsearch (glyph_id); - return v ? v->get_value (glyph_id, this) : nullptr; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (segments.sanitize (c, this)); - } - - protected: - HBUINT16 format; /* Format identifier--format = 2 */ - BinSearchArrayOf > - segments; /* The actual segments. These must already be sorted, - * according to the first word in each one (the last - * glyph in each segment). */ - public: - DEFINE_SIZE_ARRAY (8, segments); -}; - -template -struct LookupSingle -{ - inline int cmp (hb_codepoint_t g) const { return glyph.cmp (g); } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && value.sanitize (c)); - } - - GlyphID glyph; /* Last GlyphID */ - T value; /* The lookup value (only one) */ - public: - DEFINE_SIZE_STATIC (4 + T::static_size); -}; - -template -struct LookupFormat6 -{ - friend struct Lookup; - - private: - inline const T* get_value (hb_codepoint_t glyph_id) const - { - const LookupSingle *v = entries.bsearch (glyph_id); - return v ? &v->value : nullptr; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (entries.sanitize (c)); - } - - protected: - HBUINT16 format; /* Format identifier--format = 6 */ - BinSearchArrayOf > - entries; /* The actual entries, sorted by glyph index. */ - public: - DEFINE_SIZE_ARRAY (8, entries); -}; - -template -struct LookupFormat8 -{ - friend struct Lookup; - - private: - inline const T* get_value (hb_codepoint_t glyph_id) const - { - return firstGlyph <= glyph_id && glyph_id - firstGlyph < glyphCount ? &valueArrayZ[glyph_id - firstGlyph] : nullptr; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && valueArrayZ.sanitize (c, glyphCount)); - } - - protected: - HBUINT16 format; /* Format identifier--format = 6 */ - GlyphID firstGlyph; /* First glyph index included in the trimmed array. */ - HBUINT16 glyphCount; /* Total number of glyphs (equivalent to the last - * glyph minus the value of firstGlyph plus 1). */ - UnsizedArrayOf - valueArrayZ; /* The lookup values (indexed by the glyph index - * minus the value of firstGlyph). */ - public: - DEFINE_SIZE_ARRAY (6, valueArrayZ); -}; - -template -struct Lookup -{ - inline const T* get_value (hb_codepoint_t glyph_id, unsigned int num_glyphs) const - { - switch (u.format) { - case 0: return u.format0.get_value (glyph_id, num_glyphs); - case 2: return u.format2.get_value (glyph_id); - case 4: return u.format4.get_value (glyph_id); - case 6: return u.format6.get_value (glyph_id); - case 8: return u.format8.get_value (glyph_id); - default:return nullptr; - } - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (!u.format.sanitize (c)) return_trace (false); - switch (u.format) { - case 0: return_trace (u.format0.sanitize (c)); - case 2: return_trace (u.format2.sanitize (c)); - case 4: return_trace (u.format4.sanitize (c)); - case 6: return_trace (u.format6.sanitize (c)); - case 8: return_trace (u.format8.sanitize (c)); - default:return_trace (true); - } - } - - protected: - union { - HBUINT16 format; /* Format identifier */ - LookupFormat0 format0; - LookupFormat2 format2; - LookupFormat4 format4; - LookupFormat6 format6; - LookupFormat8 format8; - } u; - public: - DEFINE_SIZE_UNION (2, format); -}; - - -/* - * Extended State Table - */ - -template -struct Entry -{ - inline bool sanitize (hb_sanitize_context_t *c, unsigned int count) const - { - TRACE_SANITIZE (this); - /* Note, we don't recurse-sanitize data because we don't access it. - * That said, in our DEFINE_SIZE_STATIC we access T::static_size, - * which ensures that data has a simple sanitize(). To be determined - * if I need to remove that as well. */ - return_trace (c->check_struct (this)); - } - - public: - HBUINT16 newState; /* Byte offset from beginning of state table - * to the new state. Really?!?! Or just state - * number? The latter in morx for sure. */ - HBUINT16 flags; /* Table specific. */ - T data; /* Optional offsets to per-glyph tables. */ - public: - DEFINE_SIZE_STATIC (4 + T::static_size); -}; - -template <> -struct Entry -{ - inline bool sanitize (hb_sanitize_context_t *c, unsigned int count) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - public: - HBUINT16 newState; /* Byte offset from beginning of state table to the new state. */ - HBUINT16 flags; /* Table specific. */ - public: - DEFINE_SIZE_STATIC (4); -}; - -template -struct StateTable -{ - inline unsigned int get_class (hb_codepoint_t glyph_id, unsigned int num_glyphs) const - { - const HBUINT16 *v = (this+classTable).get_value (glyph_id, num_glyphs); - return v ? *v : 1; - } - - inline const Entry *get_entries () const - { - return (this+entryTable).arrayZ; - } - - inline const Entry *get_entryZ (unsigned int state, unsigned int klass) const - { - if (unlikely (klass >= nClasses)) return nullptr; - - const HBUINT16 *states = (this+stateArrayTable).arrayZ; - const Entry *entries = (this+entryTable).arrayZ; - - unsigned int entry = states[state * nClasses + klass]; - - return &entries[entry]; - } - - inline bool sanitize (hb_sanitize_context_t *c, - unsigned int *num_entries_out = nullptr) const - { - TRACE_SANITIZE (this); - if (unlikely (!(c->check_struct (this) && - classTable.sanitize (c, this)))) return_trace (false); - - const HBUINT16 *states = (this+stateArrayTable).arrayZ; - const Entry *entries = (this+entryTable).arrayZ; - - unsigned int num_states = 1; - unsigned int num_entries = 0; - - unsigned int state = 0; - unsigned int entry = 0; - while (state < num_states) - { - if (unlikely (!c->check_array (states, - states[0].static_size * nClasses, - num_states))) - return_trace (false); - { /* Sweep new states. */ - const HBUINT16 *stop = &states[num_states * nClasses]; - for (const HBUINT16 *p = &states[state * nClasses]; p < stop; p++) - num_entries = MAX (num_entries, *p + 1); - state = num_states; - } - - if (unlikely (!c->check_array (entries, - entries[0].static_size, - num_entries))) - return_trace (false); - { /* Sweep new entries. */ - const Entry *stop = &entries[num_entries]; - for (const Entry *p = &entries[entry]; p < stop; p++) - num_states = MAX (num_states, p->newState + 1); - entry = num_entries; - } - } - - if (num_entries_out) - *num_entries_out = num_entries; - - return_trace (true); - } - - protected: - HBUINT32 nClasses; /* Number of classes, which is the number of indices - * in a single line in the state array. */ - LOffsetTo > - classTable; /* Offset to the class table. */ - LOffsetTo > - stateArrayTable;/* Offset to the state array. */ - LOffsetTo > > - entryTable; /* Offset to the entry array. */ - - public: - DEFINE_SIZE_STATIC (16); -}; - -template -struct StateTableDriver -{ - inline StateTableDriver (const StateTable &machine_, - hb_buffer_t *buffer_, - hb_face_t *face_) : - machine (machine_), - buffer (buffer_), - num_glyphs (face_->get_num_glyphs ()) {} - - template - inline void drive (context_t *c) - { - hb_glyph_info_t *info = buffer->info; - - if (!c->in_place) - buffer->clear_output (); - - unsigned int state = 0; - bool last_was_dont_advance = false; - for (buffer->idx = 0;;) - { - unsigned int klass = buffer->idx < buffer->len ? - machine.get_class (info[buffer->idx].codepoint, num_glyphs) : - 0 /* End of text */; - const Entry *entry = machine.get_entryZ (state, klass); - if (unlikely (!entry)) - break; - - /* Unsafe-to-break before this if not in state 0, as things might - * go differently if we start from state 0 here. */ - if (state && buffer->idx) - { - /* If there's no action and we're just epsilon-transitioning to state 0, - * safe to break. */ - if (c->is_actionable (this, entry) || - !(entry->newState == 0 && entry->flags == context_t::DontAdvance)) - buffer->unsafe_to_break (buffer->idx - 1, buffer->idx + 1); - } - - /* Unsafe-to-break if end-of-text would kick in here. */ - if (buffer->idx + 2 <= buffer->len) - { - const Entry *end_entry = machine.get_entryZ (state, 0); - if (c->is_actionable (this, end_entry)) - buffer->unsafe_to_break (buffer->idx, buffer->idx + 2); - } - - if (unlikely (!c->transition (this, entry))) - break; - - last_was_dont_advance = (entry->flags & context_t::DontAdvance) && buffer->max_ops-- > 0; - - state = entry->newState; - - if (buffer->idx == buffer->len) - break; - - if (!last_was_dont_advance) - buffer->next_glyph (); - } - - if (!c->in_place) - { - for (; buffer->idx < buffer->len;) - buffer->next_glyph (); - buffer->swap_buffers (); - } - } - - public: - const StateTable &machine; - hb_buffer_t *buffer; - unsigned int num_glyphs; -}; - - - -struct hb_aat_apply_context_t : - hb_dispatch_context_t -{ - inline const char *get_name (void) { return "APPLY"; } - template - inline return_t dispatch (const T &obj) { return obj.apply (this); } - static return_t default_return_value (void) { return false; } - bool stop_sublookup_iteration (return_t r) const { return r; } - - hb_font_t *font; - hb_face_t *face; - hb_buffer_t *buffer; - hb_sanitize_context_t sanitizer; - - /* Unused. For debug tracing only. */ - unsigned int lookup_index; - unsigned int debug_depth; - - inline hb_aat_apply_context_t (hb_font_t *font_, - hb_buffer_t *buffer_, - hb_blob_t *table) : - font (font_), face (font->face), buffer (buffer_), - sanitizer (), lookup_index (0), debug_depth (0) - { - sanitizer.init (table); - sanitizer.set_num_glyphs (face->get_num_glyphs ()); - sanitizer.start_processing (); - } - - inline void set_lookup_index (unsigned int i) { lookup_index = i; } - - inline ~hb_aat_apply_context_t (void) - { - sanitizer.end_processing (); - } -}; - - -} /* namespace AAT */ - - -#endif /* HB_AAT_LAYOUT_COMMON_HH */ diff --git a/harfbuzz-1.9.0/src/hb-aat-layout-feat-table.hh b/harfbuzz-1.9.0/src/hb-aat-layout-feat-table.hh deleted file mode 100644 index b70076316..000000000 --- a/harfbuzz-1.9.0/src/hb-aat-layout-feat-table.hh +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright © 2018 Ebrahim Byagowi - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HB_AAT_LAYOUT_FEAT_TABLE_HH -#define HB_AAT_LAYOUT_FEAT_TABLE_HH - -#include "hb-aat-layout-common.hh" - -/* - * feat -- Feature Name - * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6feat.html - */ -#define HB_AAT_TAG_feat HB_TAG('f','e','a','t') - - -namespace AAT { - - -struct SettingName -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this))); - } - - protected: - HBUINT16 setting; /* The setting. */ - NameID nameIndex; /* The name table index for the setting's name. */ - public: - DEFINE_SIZE_STATIC (4); -}; - -struct FeatureName -{ - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && - (base+settingTable).sanitize (c, nSettings))); - } - - enum { - Exclusive = 0x8000, /* If set, the feature settings are mutually exclusive. */ - NotDefault = 0x4000, /* If clear, then the setting with an index of 0 in - * the setting name array for this feature should - * be taken as the default for the feature - * (if one is required). If set, then bits 0-15 of this - * featureFlags field contain the index of the setting - * which is to be taken as the default. */ - IndexMask = 0x00FF /* If bits 30 and 31 are set, then these sixteen bits - * indicate the index of the setting in the setting name - * array for this feature which should be taken - * as the default. */ - }; - - protected: - HBUINT16 feature; /* Feature type. */ - HBUINT16 nSettings; /* The number of records in the setting name array. */ - LOffsetTo > - settingTable; /* Offset in bytes from the beginning of this table to - * this feature's setting name array. The actual type of - * record this offset refers to will depend on the - * exclusivity value, as described below. */ - HBUINT16 featureFlags; /* Single-bit flags associated with the feature type. */ - HBINT16 nameIndex; /* The name table index for the feature's name. - * This index has values greater than 255 and - * less than 32768. */ - public: - DEFINE_SIZE_STATIC (12); -}; - -struct feat -{ - static const hb_tag_t tableTag = HB_AAT_TAG_feat; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && - names.sanitize (c, featureNameCount, this))); - } - - protected: - FixedVersion<>version; /* Version number of the feature name table - * (0x00010000 for the current version). */ - HBUINT16 featureNameCount; - /* The number of entries in the feature name array. */ - HBUINT16 reserved1; /* Reserved (set to zero). */ - HBUINT32 reserved2; /* Reserved (set to zero). */ - UnsizedArrayOf - names; /* The feature name array. */ - public: - DEFINE_SIZE_STATIC (24); -}; - -} /* namespace AAT */ - -#endif /* HB_AAT_LAYOUT_FEAT_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-aat-layout-kerx-table.hh b/harfbuzz-1.9.0/src/hb-aat-layout-kerx-table.hh deleted file mode 100644 index 615a8f8d4..000000000 --- a/harfbuzz-1.9.0/src/hb-aat-layout-kerx-table.hh +++ /dev/null @@ -1,346 +0,0 @@ -/* - * Copyright © 2018 Ebrahim Byagowi - * Copyright © 2018 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_AAT_LAYOUT_KERX_TABLE_HH -#define HB_AAT_LAYOUT_KERX_TABLE_HH - -#include "hb-open-type.hh" -#include "hb-aat-layout-common.hh" -#include "hb-aat-layout-ankr-table.hh" - -/* - * kerx -- Extended Kerning - * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6kerx.html - */ -#define HB_AAT_TAG_kerx HB_TAG('k','e','r','x') - - -namespace AAT { - -using namespace OT; - - -struct KerxFormat0Records -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this))); - } - - protected: - GlyphID left; - GlyphID right; - FWORD value; - public: - DEFINE_SIZE_STATIC (6); -}; - -struct KerxSubTableFormat0 -{ - // TODO(ebraminio) Enable when we got suitable BinSearchArrayOf - // inline int get_kerning (hb_codepoint_t left, hb_codepoint_t right) const - // { - // hb_glyph_pair_t pair = {left, right}; - // int i = pairs.bsearch (pair); - // if (i == -1) - // return 0; - // return pairs[i].get_kerning (); - // } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && - recordsZ.sanitize (c, nPairs))); - } - - protected: - // TODO(ebraminio): A custom version of "BinSearchArrayOf pairs;" is - // needed here to use HBUINT32 instead - HBUINT32 nPairs; /* The number of kerning pairs in this subtable */ - HBUINT32 searchRange; /* The largest power of two less than or equal to the value of nPairs, - * multiplied by the size in bytes of an entry in the subtable. */ - HBUINT32 entrySelector; /* This is calculated as log2 of the largest power of two less - * than or equal to the value of nPairs. */ - HBUINT32 rangeShift; /* The value of nPairs minus the largest power of two less than or equal to nPairs. */ - UnsizedArrayOf - recordsZ; /* VAR=nPairs */ - public: - DEFINE_SIZE_ARRAY (16, recordsZ); -}; - -struct KerxSubTableFormat1 -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && - stateHeader.sanitize (c))); - } - - protected: - StateTable stateHeader; - LOffsetTo > valueTable; - public: - DEFINE_SIZE_STATIC (20); -}; - -// TODO(ebraminio): Maybe this can be replaced with Lookup? -struct KerxClassTable -{ - inline unsigned int get_class (hb_codepoint_t g) const { return classes[g - firstGlyph]; } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (firstGlyph.sanitize (c) && - classes.sanitize (c))); - } - - protected: - HBUINT16 firstGlyph; /* First glyph in class range. */ - ArrayOf classes; /* Glyph classes. */ - public: - DEFINE_SIZE_ARRAY (4, classes); -}; - -struct KerxSubTableFormat2 -{ - inline int get_kerning (hb_codepoint_t left, hb_codepoint_t right, const char *end) const - { - unsigned int l = (this+leftClassTable).get_class (left); - unsigned int r = (this+leftClassTable).get_class (left); - unsigned int offset = l * rowWidth + r * sizeof (FWORD); - const FWORD *arr = &(this+array); - if (unlikely ((const void *) arr < (const void *) this || (const void *) arr >= (const void *) end)) - return 0; - const FWORD *v = &StructAtOffset (arr, offset); - if (unlikely ((const void *) v < (const void *) arr || (const void *) (v + 1) > (const void *) end)) - return 0; - return *v; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && - rowWidth.sanitize (c) && - leftClassTable.sanitize (c, this) && - rightClassTable.sanitize (c, this) && - array.sanitize (c, this))); - } - - protected: - HBUINT32 rowWidth; /* The width, in bytes, of a row in the table. */ - LOffsetTo - leftClassTable; /* Offset from beginning of this subtable to - * left-hand class table. */ - LOffsetTo - rightClassTable;/* Offset from beginning of this subtable to - * right-hand class table. */ - LOffsetTo - array; /* Offset from beginning of this subtable to - * the start of the kerning array. */ - public: - DEFINE_SIZE_STATIC (16); -}; - -struct KerxSubTableFormat4 -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && - rowWidth.sanitize (c) && - leftClassTable.sanitize (c, this) && - rightClassTable.sanitize (c, this) && - array.sanitize (c, this))); - } - - protected: - HBUINT32 rowWidth; /* The width, in bytes, of a row in the table. */ - LOffsetTo - leftClassTable; /* Offset from beginning of this subtable to - * left-hand class table. */ - LOffsetTo - rightClassTable;/* Offset from beginning of this subtable to - * right-hand class table. */ - LOffsetTo - array; /* Offset from beginning of this subtable to - * the start of the kerning array. */ - public: - DEFINE_SIZE_STATIC (16); -}; - -struct KerxSubTableFormat6 -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && - rowIndexTable.sanitize (c, this) && - columnIndexTable.sanitize (c, this) && - kerningArray.sanitize (c, this) && - kerningVector.sanitize (c, this))); - } - - protected: - HBUINT32 flags; - HBUINT16 rowCount; - HBUINT16 columnCount; - LOffsetTo > rowIndexTable; - LOffsetTo > columnIndexTable; - LOffsetTo > kerningArray; - LOffsetTo > kerningVector; - public: - DEFINE_SIZE_STATIC (24); -}; - -enum coverage_flags_t -{ - COVERAGE_VERTICAL_FLAG = 0x80u, - COVERAGE_CROSSSTREAM_FLAG = 0x40u, - COVERAGE_VARIATION_FLAG = 0x20u, - COVERAGE_PROCESS_DIRECTION = 0x10u, -}; - -struct KerxTable -{ - inline bool apply (hb_aat_apply_context_t *c, const AAT::ankr *ankr) const - { - TRACE_APPLY (this); - /* TODO */ - return_trace (false); - } - - inline unsigned int get_size (void) const { return length; } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (unlikely (!c->check_struct (this))) - return_trace (false); - - switch (format) { - case 0: return u.format0.sanitize (c); - case 1: return u.format1.sanitize (c); - case 2: return u.format2.sanitize (c); - case 4: return u.format4.sanitize (c); - case 6: return u.format6.sanitize (c); - default:return_trace (false); - } - } - -protected: - HBUINT32 length; - HBUINT8 coverage; - HBUINT16 unused; - HBUINT8 format; - HBUINT32 tupleIndex; - union { - KerxSubTableFormat0 format0; - KerxSubTableFormat1 format1; - KerxSubTableFormat2 format2; - KerxSubTableFormat4 format4; - KerxSubTableFormat6 format6; - } u; -public: - DEFINE_SIZE_MIN (12); -}; - -struct SubtableGlyphCoverageArray -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this))); - } - - protected: - HBUINT32 length; - HBUINT32 coverage; - HBUINT32 tupleCount; - public: - DEFINE_SIZE_STATIC (12); -}; - -struct kerx -{ - static const hb_tag_t tableTag = HB_AAT_TAG_kerx; - - inline bool apply (hb_aat_apply_context_t *c, const AAT::ankr *ankr) const - { - TRACE_APPLY (this); - const KerxTable &table = StructAfter (*this); - return_trace (table.apply (c, ankr)); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (unlikely (!(c->check_struct (this)))) - return_trace (false); - - /* TODO: Something like `morx`s ChainSubtable should be done here instead */ - const KerxTable *table = &StructAfter (*this); - if (unlikely (!(table->sanitize (c)))) - return_trace (false); - - for (unsigned int i = 0; i < nTables - 1; ++i) - { - table = &StructAfter (*table); - if (unlikely (!(table->sanitize (c)))) - return_trace (false); - } - - // If version is less than 3, we are done here; otherwise better to check footer also - if (version < 3) - return_trace (true); - - // TODO: Investigate why this just work on some fonts no matter of version - // const SubtableGlyphCoverageArray &footer = - // StructAfter (*table); - // return_trace (footer.sanitize (c)); - - return_trace (true); - } - - protected: - HBUINT16 version; - HBUINT16 padding; - HBUINT32 nTables; -/*KerxTable tablesZ[VAR]; XXX ArrayOf??? */ -/*SubtableGlyphCoverageArray coverage_array;*/ - public: - DEFINE_SIZE_STATIC (8); -}; - -} /* namespace AAT */ - - -#endif /* HB_AAT_LAYOUT_KERX_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-aat-layout-morx-table.hh b/harfbuzz-1.9.0/src/hb-aat-layout-morx-table.hh deleted file mode 100644 index ef452e22b..000000000 --- a/harfbuzz-1.9.0/src/hb-aat-layout-morx-table.hh +++ /dev/null @@ -1,735 +0,0 @@ -/* - * Copyright © 2017 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_AAT_LAYOUT_MORX_TABLE_HH -#define HB_AAT_LAYOUT_MORX_TABLE_HH - -#include "hb-open-type.hh" -#include "hb-aat-layout-common.hh" -#include "hb-ot-layout-common.hh" - -/* - * morx -- Extended Glyph Metamorphosis - * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6morx.html - */ -#define HB_AAT_TAG_morx HB_TAG('m','o','r','x') - - -namespace AAT { - -using namespace OT; - - -struct RearrangementSubtable -{ - typedef void EntryData; - - struct driver_context_t - { - static const bool in_place = true; - enum Flags { - MarkFirst = 0x8000, /* If set, make the current glyph the first - * glyph to be rearranged. */ - DontAdvance = 0x4000, /* If set, don't advance to the next glyph - * before going to the new state. This means - * that the glyph index doesn't change, even - * if the glyph at that index has changed. */ - MarkLast = 0x2000, /* If set, make the current glyph the last - * glyph to be rearranged. */ - Reserved = 0x1FF0, /* These bits are reserved and should be set to 0. */ - Verb = 0x000F, /* The type of rearrangement specified. */ - }; - - inline driver_context_t (const RearrangementSubtable *table) : - ret (false), - start (0), end (0) {} - - inline bool is_actionable (StateTableDriver *driver, - const Entry *entry) - { - return (entry->flags & Verb) && start < end; - } - inline bool transition (StateTableDriver *driver, - const Entry *entry) - { - hb_buffer_t *buffer = driver->buffer; - unsigned int flags = entry->flags; - - if (flags & MarkFirst) - start = buffer->idx; - - if (flags & MarkLast) - end = MIN (buffer->idx + 1, buffer->len); - - if ((flags & Verb) && start < end) - { - /* The following map has two nibbles, for start-side - * and end-side. Values of 0,1,2 mean move that many - * to the other side. Value of 3 means move 2 and - * flip them. */ - const unsigned char map[16] = - { - 0x00, /* 0 no change */ - 0x10, /* 1 Ax => xA */ - 0x01, /* 2 xD => Dx */ - 0x11, /* 3 AxD => DxA */ - 0x20, /* 4 ABx => xAB */ - 0x30, /* 5 ABx => xBA */ - 0x02, /* 6 xCD => CDx */ - 0x03, /* 7 xCD => DCx */ - 0x12, /* 8 AxCD => CDxA */ - 0x13, /* 9 AxCD => DCxA */ - 0x21, /* 10 ABxD => DxAB */ - 0x31, /* 11 ABxD => DxBA */ - 0x22, /* 12 ABxCD => CDxAB */ - 0x32, /* 13 ABxCD => CDxBA */ - 0x23, /* 14 ABxCD => DCxAB */ - 0x33, /* 15 ABxCD => DCxBA */ - }; - - unsigned int m = map[flags & Verb]; - unsigned int l = MIN (2, m >> 4); - unsigned int r = MIN (2, m & 0x0F); - bool reverse_l = 3 == (m >> 4); - bool reverse_r = 3 == (m & 0x0F); - - if (end - start >= l + r) - { - buffer->merge_clusters (start, MIN (buffer->idx + 1, buffer->len)); - buffer->merge_clusters (start, end); - - hb_glyph_info_t *info = buffer->info; - hb_glyph_info_t buf[4]; - - memcpy (buf, info + start, l * sizeof (buf[0])); - memcpy (buf + 2, info + end - r, r * sizeof (buf[0])); - - if (l != r) - memmove (info + start + r, info + start + l, (end - start - l - r) * sizeof (buf[0])); - - memcpy (info + start, buf + 2, r * sizeof (buf[0])); - memcpy (info + end - l, buf, l * sizeof (buf[0])); - if (reverse_l) - { - buf[0] = info[end - 1]; - info[end - 1] = info[end - 2]; - info[end - 2] = buf[0]; - } - if (reverse_r) - { - buf[0] = info[start]; - info[start] = info[start + 1]; - info[start + 1] = buf[0]; - } - } - } - - return true; - } - - public: - bool ret; - private: - unsigned int start; - unsigned int end; - }; - - inline bool apply (hb_aat_apply_context_t *c) const - { - TRACE_APPLY (this); - - driver_context_t dc (this); - - StateTableDriver driver (machine, c->buffer, c->face); - driver.drive (&dc); - - return_trace (dc.ret); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (machine.sanitize (c)); - } - - protected: - StateTable machine; - public: - DEFINE_SIZE_STATIC (16); -}; - -struct ContextualSubtable -{ - struct EntryData - { - HBUINT16 markIndex; /* Index of the substitution table for the - * marked glyph (use 0xFFFF for none). */ - HBUINT16 currentIndex; /* Index of the substitution table for the - * current glyph (use 0xFFFF for none). */ - public: - DEFINE_SIZE_STATIC (4); - }; - - struct driver_context_t - { - static const bool in_place = true; - enum Flags { - SetMark = 0x8000, /* If set, make the current glyph the marked glyph. */ - DontAdvance = 0x4000, /* If set, don't advance to the next glyph before - * going to the new state. */ - Reserved = 0x3FFF, /* These bits are reserved and should be set to 0. */ - }; - - inline driver_context_t (const ContextualSubtable *table) : - ret (false), - mark_set (false), - mark (0), - subs (table+table->substitutionTables) {} - - inline bool is_actionable (StateTableDriver *driver, - const Entry *entry) - { - hb_buffer_t *buffer = driver->buffer; - - if (buffer->idx == buffer->len && !mark_set) - return false; - - return entry->data.markIndex != 0xFFFF || entry->data.currentIndex != 0xFFFF; - } - inline bool transition (StateTableDriver *driver, - const Entry *entry) - { - hb_buffer_t *buffer = driver->buffer; - - /* Looks like CoreText applies neither mark nor current substitution for - * end-of-text if mark was not explicitly set. */ - if (buffer->idx == buffer->len && !mark_set) - return true; - - if (entry->data.markIndex != 0xFFFF) - { - const Lookup &lookup = subs[entry->data.markIndex]; - hb_glyph_info_t *info = buffer->info; - const GlyphID *replacement = lookup.get_value (info[mark].codepoint, driver->num_glyphs); - if (replacement) - { - buffer->unsafe_to_break (mark, MIN (buffer->idx + 1, buffer->len)); - info[mark].codepoint = *replacement; - ret = true; - } - } - if (entry->data.currentIndex != 0xFFFF) - { - unsigned int idx = MIN (buffer->idx, buffer->len - 1); - const Lookup &lookup = subs[entry->data.currentIndex]; - hb_glyph_info_t *info = buffer->info; - const GlyphID *replacement = lookup.get_value (info[idx].codepoint, driver->num_glyphs); - if (replacement) - { - info[idx].codepoint = *replacement; - ret = true; - } - } - - if (entry->flags & SetMark) - { - mark_set = true; - mark = buffer->idx; - } - - return true; - } - - public: - bool ret; - private: - bool mark_set; - unsigned int mark; - const UnsizedOffsetListOf, HBUINT32> &subs; - }; - - inline bool apply (hb_aat_apply_context_t *c) const - { - TRACE_APPLY (this); - - driver_context_t dc (this); - - StateTableDriver driver (machine, c->buffer, c->face); - driver.drive (&dc); - - return_trace (dc.ret); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - - unsigned int num_entries = 0; - if (unlikely (!machine.sanitize (c, &num_entries))) return_trace (false); - - unsigned int num_lookups = 0; - - const Entry *entries = machine.get_entries (); - for (unsigned int i = 0; i < num_entries; i++) - { - const EntryData &data = entries[i].data; - - if (data.markIndex != 0xFFFF) - num_lookups = MAX (num_lookups, 1 + data.markIndex); - if (data.currentIndex != 0xFFFF) - num_lookups = MAX (num_lookups, 1 + data.currentIndex); - } - - return_trace (substitutionTables.sanitize (c, this, num_lookups)); - } - - protected: - StateTable - machine; - LOffsetTo, HBUINT32> > - substitutionTables; - public: - DEFINE_SIZE_STATIC (20); -}; - -struct LigatureSubtable -{ - struct EntryData - { - HBUINT16 ligActionIndex; /* Index to the first ligActionTable entry - * for processing this group, if indicated - * by the flags. */ - public: - DEFINE_SIZE_STATIC (2); - }; - - struct driver_context_t - { - static const bool in_place = false; - enum Flags { - SetComponent = 0x8000, /* Push this glyph onto the component stack for - * eventual processing. */ - DontAdvance = 0x4000, /* Leave the glyph pointer at this glyph for the - next iteration. */ - PerformAction = 0x2000, /* Use the ligActionIndex to process a ligature - * group. */ - Reserved = 0x1FFF, /* These bits are reserved and should be set to 0. */ - }; - enum LigActionFlags { - LigActionLast = 0x80000000, /* This is the last action in the list. This also - * implies storage. */ - LigActionStore = 0x40000000, /* Store the ligature at the current cumulated index - * in the ligature table in place of the marked - * (i.e. currently-popped) glyph. */ - LigActionOffset = 0x3FFFFFFF, /* A 30-bit value which is sign-extended to 32-bits - * and added to the glyph ID, resulting in an index - * into the component table. */ - }; - - inline driver_context_t (const LigatureSubtable *table, - hb_aat_apply_context_t *c_) : - ret (false), - c (c_), - ligAction (table+table->ligAction), - component (table+table->component), - ligature (table+table->ligature), - match_length (0) {} - - inline bool is_actionable (StateTableDriver *driver, - const Entry *entry) - { - return !!(entry->flags & PerformAction); - } - inline bool transition (StateTableDriver *driver, - const Entry *entry) - { - hb_buffer_t *buffer = driver->buffer; - unsigned int flags = entry->flags; - - if (flags & SetComponent) - { - if (unlikely (match_length >= ARRAY_LENGTH (match_positions))) - return false; - - /* Never mark same index twice, in case DontAdvance was used... */ - if (match_length && match_positions[match_length - 1] == buffer->out_len) - match_length--; - - match_positions[match_length++] = buffer->out_len; - } - - if (flags & PerformAction) - { - unsigned int end = buffer->out_len; - unsigned int action_idx = entry->data.ligActionIndex; - unsigned int action; - unsigned int ligature_idx = 0; - do - { - if (unlikely (!match_length)) - return false; - - buffer->move_to (match_positions[--match_length]); - - const HBUINT32 &actionData = ligAction[action_idx]; - if (unlikely (!actionData.sanitize (&c->sanitizer))) return false; - action = actionData; - - uint32_t uoffset = action & LigActionOffset; - if (uoffset & 0x20000000) - uoffset += 0xC0000000; - int32_t offset = (int32_t) uoffset; - unsigned int component_idx = buffer->cur().codepoint + offset; - - const HBUINT16 &componentData = component[component_idx]; - if (unlikely (!componentData.sanitize (&c->sanitizer))) return false; - ligature_idx += componentData; - - if (action & (LigActionStore | LigActionLast)) - { - const GlyphID &ligatureData = ligature[ligature_idx]; - if (unlikely (!ligatureData.sanitize (&c->sanitizer))) return false; - hb_codepoint_t lig = ligatureData; - - match_positions[match_length++] = buffer->out_len; - buffer->replace_glyph (lig); - - //ligature_idx = 0; // XXX Yes or no? - } - else - { - buffer->skip_glyph (); - end--; - } - /* TODO merge_clusters / unsafe_to_break */ - - action_idx++; - } - while (!(action & LigActionLast)); - buffer->move_to (end); - } - - return true; - } - - public: - bool ret; - private: - hb_aat_apply_context_t *c; - const UnsizedArrayOf &ligAction; - const UnsizedArrayOf &component; - const UnsizedArrayOf &ligature; - unsigned int match_length; - unsigned int match_positions[HB_MAX_CONTEXT_LENGTH]; - }; - - inline bool apply (hb_aat_apply_context_t *c) const - { - TRACE_APPLY (this); - - driver_context_t dc (this, c); - - StateTableDriver driver (machine, c->buffer, c->face); - driver.drive (&dc); - - return_trace (dc.ret); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - /* The rest of array sanitizations are done at run-time. */ - return_trace (c->check_struct (this) && machine.sanitize (c) && - ligAction && component && ligature); - } - - protected: - StateTable - machine; - LOffsetTo > - ligAction; /* Offset to the ligature action table. */ - LOffsetTo > - component; /* Offset to the component table. */ - LOffsetTo > - ligature; /* Offset to the actual ligature lists. */ - public: - DEFINE_SIZE_STATIC (28); -}; - -struct NoncontextualSubtable -{ - inline bool apply (hb_aat_apply_context_t *c) const - { - TRACE_APPLY (this); - - bool ret = false; - unsigned int num_glyphs = c->face->get_num_glyphs (); - - hb_glyph_info_t *info = c->buffer->info; - unsigned int count = c->buffer->len; - for (unsigned int i = 0; i < count; i++) - { - const GlyphID *replacement = substitute.get_value (info[i].codepoint, num_glyphs); - if (replacement) - { - info[i].codepoint = *replacement; - ret = true; - } - } - - return_trace (ret); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (substitute.sanitize (c)); - } - - protected: - Lookup substitute; - public: - DEFINE_SIZE_MIN (2); -}; - -struct InsertionSubtable -{ - inline bool apply (hb_aat_apply_context_t *c) const - { - TRACE_APPLY (this); - /* TODO */ - return_trace (false); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - /* TODO */ - return_trace (true); - } -}; - - -struct Feature -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - public: - HBUINT16 featureType; /* The type of feature. */ - HBUINT16 featureSetting; /* The feature's setting (aka selector). */ - HBUINT32 enableFlags; /* Flags for the settings that this feature - * and setting enables. */ - HBUINT32 disableFlags; /* Complement of flags for the settings that this - * feature and setting disable. */ - - public: - DEFINE_SIZE_STATIC (12); -}; - - -struct ChainSubtable -{ - friend struct Chain; - - inline unsigned int get_size (void) const { return length; } - inline unsigned int get_type (void) const { return coverage & 0xFF; } - - enum Type { - Rearrangement = 0, - Contextual = 1, - Ligature = 2, - Noncontextual = 4, - Insertion = 5 - }; - - inline void apply (hb_aat_apply_context_t *c) const - { - dispatch (c); - } - - template - inline typename context_t::return_t dispatch (context_t *c) const - { - unsigned int subtable_type = get_type (); - TRACE_DISPATCH (this, subtable_type); - switch (subtable_type) { - case Rearrangement: return_trace (c->dispatch (u.rearrangement)); - case Contextual: return_trace (c->dispatch (u.contextual)); - case Ligature: return_trace (c->dispatch (u.ligature)); - case Noncontextual: return_trace (c->dispatch (u.noncontextual)); - case Insertion: return_trace (c->dispatch (u.insertion)); - default: return_trace (c->default_return_value ()); - } - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (!length.sanitize (c) || - length < min_size || - !c->check_range (this, length)) - return_trace (false); - - return_trace (dispatch (c)); - } - - protected: - HBUINT32 length; /* Total subtable length, including this header. */ - HBUINT32 coverage; /* Coverage flags and subtable type. */ - HBUINT32 subFeatureFlags;/* The 32-bit mask identifying which subtable this is. */ - union { - RearrangementSubtable rearrangement; - ContextualSubtable contextual; - LigatureSubtable ligature; - NoncontextualSubtable noncontextual; - InsertionSubtable insertion; - } u; - public: - DEFINE_SIZE_MIN (12); -}; - -struct Chain -{ - inline void apply (hb_aat_apply_context_t *c) const - { - const ChainSubtable *subtable = &StructAtOffset (featureZ, featureZ[0].static_size * featureCount); - unsigned int count = subtableCount; - for (unsigned int i = 0; i < count; i++) - { - if (!c->buffer->message (c->font, "start chain subtable %d", c->lookup_index)) - { - c->set_lookup_index (c->lookup_index + 1); - continue; - } - - subtable->apply (c); - subtable = &StructAfter (*subtable); - - (void) c->buffer->message (c->font, "end chain subtable %d", c->lookup_index); - - c->set_lookup_index (c->lookup_index + 1); - } - } - - inline unsigned int get_size (void) const { return length; } - - inline bool sanitize (hb_sanitize_context_t *c, unsigned int major) const - { - TRACE_SANITIZE (this); - if (!length.sanitize (c) || - length < min_size || - !c->check_range (this, length)) - return_trace (false); - - if (!c->check_array (featureZ, featureZ[0].static_size, featureCount)) - return_trace (false); - - const ChainSubtable *subtable = &StructAtOffset (featureZ, featureZ[0].static_size * featureCount); - unsigned int count = subtableCount; - for (unsigned int i = 0; i < count; i++) - { - if (!subtable->sanitize (c)) - return_trace (false); - subtable = &StructAfter (*subtable); - } - - return_trace (true); - } - - protected: - HBUINT32 defaultFlags; /* The default specification for subtables. */ - HBUINT32 length; /* Total byte count, including this header. */ - HBUINT32 featureCount; /* Number of feature subtable entries. */ - HBUINT32 subtableCount; /* The number of subtables in the chain. */ - - Feature featureZ[VAR]; /* Features. */ -/*ChainSubtable subtableX[VAR];*//* Subtables. */ -/*subtableGlyphCoverageArray*/ /* Only if major == 3. */ - - public: - DEFINE_SIZE_MIN (16); -}; - - -/* - * The 'mort'/'morx' Tables - */ - -struct morx -{ - static const hb_tag_t tableTag = HB_AAT_TAG_morx; - - inline void apply (hb_aat_apply_context_t *c) const - { - c->set_lookup_index (0); - const Chain *chain = chainsZ; - unsigned int count = chainCount; - for (unsigned int i = 0; i < count; i++) - { - chain->apply (c); - chain = &StructAfter (*chain); - } - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (!version.sanitize (c) || - (version.major >> (sizeof (HBUINT32) == 4 ? 1 : 0)) != 1 || - !chainCount.sanitize (c)) - return_trace (false); - - const Chain *chain = chainsZ; - unsigned int count = chainCount; - for (unsigned int i = 0; i < count; i++) - { - if (!chain->sanitize (c, version.major)) - return_trace (false); - chain = &StructAfter (*chain); - } - - return_trace (true); - } - - protected: - FixedVersion<>version; /* Version number of the glyph metamorphosis table. - * 1 for mort, 2 or 3 for morx. */ - HBUINT32 chainCount; /* Number of metamorphosis chains contained in this - * table. */ - Chain chainsZ[VAR]; /* Chains. */ - - public: - DEFINE_SIZE_MIN (8); -}; - -} /* namespace AAT */ - - -#endif /* HB_AAT_LAYOUT_MORX_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-aat-layout-trak-table.hh b/harfbuzz-1.9.0/src/hb-aat-layout-trak-table.hh deleted file mode 100644 index c4bec2cab..000000000 --- a/harfbuzz-1.9.0/src/hb-aat-layout-trak-table.hh +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Copyright © 2018 Ebrahim Byagowi - * Copyright © 2018 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_AAT_LAYOUT_TRAK_TABLE_HH -#define HB_AAT_LAYOUT_TRAK_TABLE_HH - -#include "hb-aat-layout-common.hh" -#include "hb-ot-layout.hh" -#include "hb-open-type.hh" - -/* - * trak -- Tracking - * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6trak.html - */ -#define HB_AAT_TAG_trak HB_TAG('t','r','a','k') - - -namespace AAT { - - -struct TrackTableEntry -{ - friend struct TrackData; - - inline bool sanitize (hb_sanitize_context_t *c, const void *base, - unsigned int size) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && - (valuesZ.sanitize (c, base, size)))); - } - - private: - inline float get_track_value () const - { - return track.to_float (); - } - - inline int get_value (const void *base, unsigned int index) const - { - return (base+valuesZ)[index]; - } - - protected: - Fixed track; /* Track value for this record. */ - NameID trackNameID; /* The 'name' table index for this track */ - OffsetTo > - valuesZ; /* Offset from start of tracking table to - * per-size tracking values for this track. */ - - public: - DEFINE_SIZE_STATIC (8); -}; - -struct TrackData -{ - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - sizeTable.sanitize (c, base, nSizes) && - trackTable.sanitize (c, nTracks, base, nSizes)); - } - - inline float get_tracking (const void *base, float ptem) const - { - /* CoreText points are CSS pixels (96 per inch), - * NOT typographic points (72 per inch). - * - * https://developer.apple.com/library/content/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Explained/Explained.html - */ - float csspx = ptem * 96.f / 72.f; - Fixed fixed_size; - fixed_size.set_float (csspx); - - /* XXX Clean this up. Make it work with nSizes==1 and 0. */ - - unsigned int sizes = nSizes; - - const TrackTableEntry *trackTableEntry = nullptr; - for (unsigned int i = 0; i < sizes; ++i) - // For now we only seek for track entries with zero tracking value - if (trackTable[i].get_track_value () == 0.f) - trackTableEntry = &trackTable[0]; - - // We couldn't match any, exit - if (!trackTableEntry) return 0.; - - /* TODO bfind() */ - unsigned int size_index; - UnsizedArrayOf size_table = base+sizeTable; - for (size_index = 0; size_index < sizes; ++size_index) - if (size_table[size_index] >= fixed_size) - break; - - // TODO(ebraminio): We don't attempt to extrapolate to larger or - // smaller values for now but we should do, per spec - if (size_index == sizes) - return trackTableEntry->get_value (base, sizes - 1); - if (size_index == 0 || size_table[size_index] == fixed_size) - return trackTableEntry->get_value (base, size_index); - - float s0 = size_table[size_index - 1].to_float (); - float s1 = size_table[size_index].to_float (); - float t = (csspx - s0) / (s1 - s0); - return (float) t * trackTableEntry->get_value (base, size_index) + - ((float) 1.0 - t) * trackTableEntry->get_value (base, size_index - 1); - } - - protected: - HBUINT16 nTracks; /* Number of separate tracks included in this table. */ - HBUINT16 nSizes; /* Number of point sizes included in this table. */ - LOffsetTo > - sizeTable; /* Offset to array[nSizes] of size values. */ - UnsizedArrayOf - trackTable; /* Array[nTracks] of TrackTableEntry records. */ - - public: - DEFINE_SIZE_ARRAY (8, trackTable); -}; - -struct trak -{ - static const hb_tag_t tableTag = HB_AAT_TAG_trak; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - - return_trace (unlikely (c->check_struct (this) && - horizData.sanitize (c, this, this) && - vertData.sanitize (c, this, this))); - } - - inline bool apply (hb_aat_apply_context_t *c) const - { - TRACE_APPLY (this); - - const float ptem = c->font->ptem; - if (unlikely (ptem <= 0.f)) - return_trace (false); - - hb_buffer_t *buffer = c->buffer; - if (HB_DIRECTION_IS_HORIZONTAL (buffer->props.direction)) - { - const TrackData &trackData = this+horizData; - float tracking = trackData.get_tracking (this, ptem); - hb_position_t advance_to_add = c->font->em_scalef_x (tracking / 2); - foreach_grapheme (buffer, start, end) - { - buffer->pos[start].x_offset += advance_to_add; - buffer->pos[start].x_advance += advance_to_add; - buffer->pos[end].x_advance += advance_to_add; - } - } - else - { - const TrackData &trackData = this+vertData; - float tracking = trackData.get_tracking (this, ptem); - hb_position_t advance_to_add = c->font->em_scalef_y (tracking / 2); - foreach_grapheme (buffer, start, end) - { - buffer->pos[start].y_offset += advance_to_add; - buffer->pos[start].y_advance += advance_to_add; - buffer->pos[end].y_advance += advance_to_add; - } - } - - return_trace (true); - } - - protected: - FixedVersion<> version; /* Version of the tracking table--currently - * 0x00010000u for version 1.0. */ - HBUINT16 format; /* Format of the tracking table */ - OffsetTo horizData; /* TrackData for horizontal text */ - OffsetTo vertData; /* TrackData for vertical text */ - HBUINT16 reserved; /* Reserved. Set to 0. */ - - public: - DEFINE_SIZE_MIN (12); -}; - -} /* namespace AAT */ - - -#endif /* HB_AAT_LAYOUT_TRAK_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-aat-layout.cc b/harfbuzz-1.9.0/src/hb-aat-layout.cc deleted file mode 100644 index a5e36a40a..000000000 --- a/harfbuzz-1.9.0/src/hb-aat-layout.cc +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright © 2017 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#include "hb-open-type.hh" - -#include "hb-ot-face.hh" -#include "hb-aat-layout.hh" -#include "hb-aat-layout-ankr-table.hh" -#include "hb-aat-layout-bsln-table.hh" // Just so we compile it; unused otherwise. -#include "hb-aat-layout-feat-table.hh" // Just so we compile it; unused otherwise. -#include "hb-aat-layout-kerx-table.hh" -#include "hb-aat-layout-morx-table.hh" -#include "hb-aat-layout-trak-table.hh" -#include "hb-aat-ltag-table.hh" // Just so we compile it; unused otherwise. - -/* - * morx/kerx/trak/ankr - */ - -static inline const AAT::morx& -_get_morx (hb_face_t *face, hb_blob_t **blob = nullptr) -{ - if (unlikely (!hb_ot_shaper_face_data_ensure (face))) - { - if (blob) - *blob = hb_blob_get_empty (); - return Null(AAT::morx); - } - const AAT::morx& morx = *(hb_ot_face_data (face)->morx.get ()); - if (blob) - *blob = hb_ot_face_data (face)->morx.get_blob (); - return morx; -} - -void -hb_aat_layout_substitute (hb_font_t *font, hb_buffer_t *buffer) -{ - hb_blob_t *blob; - const AAT::morx& morx = _get_morx (font->face, &blob); - - AAT::hb_aat_apply_context_t c (font, buffer, blob); - morx.apply (&c); -} - -void -hb_aat_layout_position (hb_font_t *font, hb_buffer_t *buffer) -{ -#if 0 - hb_blob_t *blob; - const AAT::ankr& ankr = _get_ankr (font->face, &blob); - const AAT::kerx& kerx = _get_kerx (font->face, &blob); - const AAT::trak& trak = _get_trak (font->face, &blob); - - AAT::hb_aat_apply_context_t c (font, buffer, blob); - kerx.apply (&c, &ankr); - trak.apply (&c); -#endif -} diff --git a/harfbuzz-1.9.0/src/hb-aat-layout.hh b/harfbuzz-1.9.0/src/hb-aat-layout.hh deleted file mode 100644 index ac9c53539..000000000 --- a/harfbuzz-1.9.0/src/hb-aat-layout.hh +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright © 2017 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_AAT_LAYOUT_HH -#define HB_AAT_LAYOUT_HH - -#include "hb.hh" - -#include "hb-font.hh" -#include "hb-buffer.hh" -#include "hb-open-type.hh" - - -HB_INTERNAL void -hb_aat_layout_substitute (hb_font_t *font, hb_buffer_t *buffer); - -HB_INTERNAL void -hb_aat_layout_position (hb_font_t *font, hb_buffer_t *buffer); - -#endif /* HB_AAT_LAYOUT_HH */ diff --git a/harfbuzz-1.9.0/src/hb-atomic.hh b/harfbuzz-1.9.0/src/hb-atomic.hh deleted file mode 100644 index 6e3672c18..000000000 --- a/harfbuzz-1.9.0/src/hb-atomic.hh +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Copyright © 2007 Chris Wilson - * Copyright © 2009,2010 Red Hat, Inc. - * Copyright © 2011,2012 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Contributor(s): - * Chris Wilson - * Red Hat Author(s): Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_ATOMIC_HH -#define HB_ATOMIC_HH - -#include "hb.hh" - - -/* - * Atomic integers and pointers. - */ - - -/* We need external help for these */ - -#if defined(hb_atomic_int_impl_add) \ - && defined(hb_atomic_ptr_impl_get) \ - && defined(hb_atomic_ptr_impl_cmpexch) - -/* Defined externally, i.e. in config.h. */ - - -#elif !defined(HB_NO_MT) && defined(__ATOMIC_CONSUME) - -/* C++11-style GCC primitives. */ - -#define hb_atomic_int_impl_add(AI, V) __atomic_fetch_add ((AI), (V), __ATOMIC_ACQ_REL) -#define hb_atomic_int_impl_set_relaxed(AI, V) __atomic_store_n ((AI), (V), __ATOMIC_RELAXED) -#define hb_atomic_int_impl_get_relaxed(AI) __atomic_load_n ((AI), __ATOMIC_RELAXED) - -#define hb_atomic_ptr_impl_set_relaxed(P, V) __atomic_store_n ((P), (V), __ATOMIC_RELAXED) -#define hb_atomic_ptr_impl_get_relaxed(P) __atomic_load_n ((P), __ATOMIC_RELAXED) -#define hb_atomic_ptr_impl_get(P) __atomic_load_n ((P), __ATOMIC_CONSUME) -static inline bool -_hb_atomic_ptr_impl_cmplexch (const void **P, const void *O_, const void *N) -{ - const void *O = O_; // Need lvalue - return __atomic_compare_exchange_n ((void **) P, (void **) &O, (void *) N, true, __ATOMIC_ACQ_REL, __ATOMIC_RELAXED); -} -#define hb_atomic_ptr_impl_cmpexch(P,O,N) _hb_atomic_ptr_impl_cmplexch ((const void **) (P), (O), (N)) - -#elif !defined(HB_NO_MT) && __cplusplus >= 201103L - -/* C++11 atomics. */ - -#include - -#define hb_atomic_int_impl_add(AI, V) (reinterpret_cast *> (AI)->fetch_add ((V), std::memory_order_acq_rel)) -#define hb_atomic_int_impl_set_relaxed(AI, V) (reinterpret_cast *> (AI)->store ((V), std::memory_order_relaxed)) -#define hb_atomic_int_impl_get_relaxed(AI) (reinterpret_cast *> (AI)->load (std::memory_order_relaxed)) - -#define hb_atomic_ptr_impl_set_relaxed(P, V) (reinterpret_cast *> (P)->store ((V), std::memory_order_relaxed)) -#define hb_atomic_ptr_impl_get_relaxed(P) (reinterpret_cast *> (P)->load (std::memory_order_relaxed)) -#define hb_atomic_ptr_impl_get(P) (reinterpret_cast *> (P)->load (std::memory_order_consume)) -static inline bool -_hb_atomic_ptr_impl_cmplexch (const void **P, const void *O_, const void *N) -{ - const void *O = O_; // Need lvalue - return reinterpret_cast *> (P)->compare_exchange_weak (O, N, std::memory_order_acq_rel, std::memory_order_relaxed); -} -#define hb_atomic_ptr_impl_cmpexch(P,O,N) _hb_atomic_ptr_impl_cmplexch ((const void **) (P), (O), (N)) - - -#elif !defined(HB_NO_MT) && (defined(_WIN32) || defined(__CYGWIN__)) - -#include - -static inline void _hb_memory_barrier (void) -{ -#if !defined(MemoryBarrier) - /* MinGW has a convoluted history of supporting MemoryBarrier. */ - LONG dummy = 0; - InterlockedExchange (&dummy, 1); -#else - MemoryBarrier (); -#endif -} -#define _hb_memory_barrier() _hb_memory_barrier () - -#define hb_atomic_int_impl_add(AI, V) InterlockedExchangeAdd ((LONG *) (AI), (V)) -static_assert ((sizeof (LONG) == sizeof (int)), ""); - -#define hb_atomic_ptr_impl_cmpexch(P,O,N) (InterlockedCompareExchangePointer ((void **) (P), (void *) (N), (void *) (O)) == (void *) (O)) - - -#elif !defined(HB_NO_MT) && defined(HAVE_INTEL_ATOMIC_PRIMITIVES) - -#define _hb_memory_barrier() __sync_synchronize () - -#define hb_atomic_int_impl_add(AI, V) __sync_fetch_and_add ((AI), (V)) - -#define hb_atomic_ptr_impl_cmpexch(P,O,N) __sync_bool_compare_and_swap ((P), (O), (N)) - - -#elif !defined(HB_NO_MT) && defined(HAVE_SOLARIS_ATOMIC_OPS) - -#include -#include - -#define _hb_memory_r_barrier() __machine_r_barrier () -#define _hb_memory_w_barrier() __machine_w_barrier () -#define _hb_memory_barrier() __machine_rw_barrier () - -static inline int _hb_fetch_and_add (int *AI, int V) -{ - _hb_memory_w_barrier (); - int result = atomic_add_int_nv ((uint_t *) AI, V); - _hb_memory_r_barrier (); - return result; -} -static inline bool _hb_compare_and_swap_ptr (const void **P, const void *O, const void *N) -{ - _hb_memory_w_barrier (); - int result = atomic_cas_ptr ((void **) P, (void *) O, (void *) N) == (void *) O; - _hb_memory_r_barrier (); - return result; -} - -#define hb_atomic_int_impl_add(AI, V) _hb_fetch_and_add ((AI), (V)) - -#define hb_atomic_ptr_impl_cmpexch(P,O,N) _hb_compare_and_swap_ptr ((const void **) (P), (O), (N)) - - -#elif !defined(HB_NO_MT) && defined(__APPLE__) - -#include -#ifdef __MAC_OS_X_MIN_REQUIRED -#include -#elif defined(__IPHONE_OS_MIN_REQUIRED) -#include -#endif - -#define _hb_memory_barrier() OSMemoryBarrier () - -#define hb_atomic_int_impl_add(AI, V) (OSAtomicAdd32Barrier ((V), (AI)) - (V)) - -#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100) -#define hb_atomic_ptr_impl_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P)) -#else -#if __ppc64__ || __x86_64__ || __aarch64__ -#define hb_atomic_ptr_impl_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (void *) (O), (int64_t) (void *) (N), (int64_t*) (P)) -#else -#define hb_atomic_ptr_impl_cmpexch(P,O,N) OSAtomicCompareAndSwap32Barrier ((int32_t) (void *) (O), (int32_t) (void *) (N), (int32_t*) (P)) -#endif -#endif - - -#elif !defined(HB_NO_MT) && defined(_AIX) && defined(__IBMCPP__) - -#include - -#define _hb_memory_barrier() __lwsync () - -static inline int _hb_fetch_and_add (int *AI, int V) -{ - _hb_memory_barrier (); - int result = __fetch_and_add (AI, V); - _hb_memory_barrier (); - return result; -} -static inline bool _hb_compare_and_swaplp (long *P, long O, long N) -{ - _hb_memory_barrier (); - bool result = __compare_and_swaplp (P, &O, N); - _hb_memory_barrier (); - return result; -} - -#define hb_atomic_int_impl_add(AI, V) _hb_fetch_and_add ((AI), (V)) - -#define hb_atomic_ptr_impl_cmpexch(P,O,N) _hb_compare_and_swaplp ((long *) (P), (long) (O), (long) (N)) -static_assert ((sizeof (long) == sizeof (void *)), ""); - - -#elif !defined(HB_NO_MT) - -#define HB_ATOMIC_INT_NIL 1 /* Warn that fallback implementation is in use. */ - -#define _hb_memory_barrier() - -#define hb_atomic_int_impl_add(AI, V) ((*(AI) += (V)) - (V)) - -#define hb_atomic_ptr_impl_cmpexch(P,O,N) (* (void **) (P) == (void *) (O) ? (* (void **) (P) = (void *) (N), true) : false) - - -#else /* HB_NO_MT */ - -#define hb_atomic_int_impl_add(AI, V) ((*(AI) += (V)) - (V)) - -#define _hb_memory_barrier() - -#define hb_atomic_ptr_impl_cmpexch(P,O,N) (* (void **) (P) == (void *) (O) ? (* (void **) (P) = (void *) (N), true) : false) - - -#endif - - -#ifndef _hb_memory_r_barrier -#define _hb_memory_r_barrier() _hb_memory_barrier () -#endif -#ifndef _hb_memory_w_barrier -#define _hb_memory_w_barrier() _hb_memory_barrier () -#endif -#ifndef hb_atomic_int_impl_set_relaxed -#define hb_atomic_int_impl_set_relaxed(AI, V) (*(AI) = (V)) -#endif -#ifndef hb_atomic_int_impl_get_relaxed -#define hb_atomic_int_impl_get_relaxed(AI) (*(AI)) -#endif - -#ifndef hb_atomic_ptr_impl_set_relaxed -#define hb_atomic_ptr_impl_set_relaxed(P, V) (*(P) = (V)) -#endif -#ifndef hb_atomic_ptr_impl_get_relaxed -#define hb_atomic_ptr_impl_get_relaxed(P) (*(P)) -#endif -#ifndef hb_atomic_ptr_impl_get -inline void *hb_atomic_ptr_impl_get (void **P) { void *v = *P; _hb_memory_r_barrier (); return v; } -#endif - - -#define HB_ATOMIC_INT_INIT(V) {V} -struct hb_atomic_int_t -{ - inline void set_relaxed (int v_) const { hb_atomic_int_impl_set_relaxed (&v, v_); } - inline int get_relaxed (void) const { return hb_atomic_int_impl_get_relaxed (&v); } - inline int inc (void) { return hb_atomic_int_impl_add (&v, 1); } - inline int dec (void) { return hb_atomic_int_impl_add (&v, -1); } - - mutable int v; -}; - - -template struct hb_remove_ptr_t { typedef T value; }; -template struct hb_remove_ptr_t { typedef T value; }; - -#define HB_ATOMIC_PTR_INIT(V) {V} -template -struct hb_atomic_ptr_t -{ - typedef typename hb_remove_ptr_t

::value T; - - inline void init (T* v_ = nullptr) { set_relaxed (v_); } - inline void set_relaxed (T* v_) const { hb_atomic_ptr_impl_set_relaxed (&v, v_); } - inline T *get_relaxed (void) const { return hb_atomic_ptr_impl_get_relaxed (&v); } - inline T *get (void) const { return (T *) hb_atomic_ptr_impl_get ((void **) &v); } - inline bool cmpexch (const T *old, T *new_) const{ return hb_atomic_ptr_impl_cmpexch (&v, old, new_); } - - mutable T *v; -}; - - -#endif /* HB_ATOMIC_HH */ diff --git a/harfbuzz-1.9.0/src/hb-blob.hh b/harfbuzz-1.9.0/src/hb-blob.hh deleted file mode 100644 index bee8c9794..000000000 --- a/harfbuzz-1.9.0/src/hb-blob.hh +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright © 2009 Red Hat, Inc. - * Copyright © 2018 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_BLOB_HH -#define HB_BLOB_HH - -#include "hb.hh" - - -/* - * hb_blob_t - */ - -struct hb_blob_t -{ - inline void fini_shallow (void) - { - destroy_user_data (); - } - - inline void destroy_user_data (void) - { - if (destroy) - { - destroy (user_data); - user_data = nullptr; - destroy = nullptr; - } - } - - HB_INTERNAL bool try_make_writable (void); - HB_INTERNAL bool try_make_writable_inplace (void); - HB_INTERNAL bool try_make_writable_inplace_unix (void); - - template - inline const Type* as (void) const - { - return unlikely (!data) ? &Null(Type) : reinterpret_cast (data); - } - inline hb_bytes_t as_bytes (void) const - { - return hb_bytes_t (data, length); - } - - public: - hb_object_header_t header; - ASSERT_POD (); - - bool immutable; - - const char *data; - unsigned int length; - hb_memory_mode_t mode; - - void *user_data; - hb_destroy_func_t destroy; -}; -DECLARE_NULL_INSTANCE (hb_blob_t); - - -#endif /* HB_BLOB_HH */ diff --git a/harfbuzz-1.9.0/src/hb-buffer.hh b/harfbuzz-1.9.0/src/hb-buffer.hh deleted file mode 100644 index bcaf066c7..000000000 --- a/harfbuzz-1.9.0/src/hb-buffer.hh +++ /dev/null @@ -1,389 +0,0 @@ -/* - * Copyright © 1998-2004 David Turner and Werner Lemberg - * Copyright © 2004,2007,2009,2010 Red Hat, Inc. - * Copyright © 2011,2012 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Owen Taylor, Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_BUFFER_HH -#define HB_BUFFER_HH - -#include "hb.hh" -#include "hb-unicode.hh" - - -#ifndef HB_BUFFER_MAX_LEN_FACTOR -#define HB_BUFFER_MAX_LEN_FACTOR 32 -#endif -#ifndef HB_BUFFER_MAX_LEN_MIN -#define HB_BUFFER_MAX_LEN_MIN 8192 -#endif -#ifndef HB_BUFFER_MAX_LEN_DEFAULT -#define HB_BUFFER_MAX_LEN_DEFAULT 0x3FFFFFFF /* Shaping more than a billion chars? Let us know! */ -#endif - -#ifndef HB_BUFFER_MAX_OPS_FACTOR -#define HB_BUFFER_MAX_OPS_FACTOR 64 -#endif -#ifndef HB_BUFFER_MAX_OPS_MIN -#define HB_BUFFER_MAX_OPS_MIN 1024 -#endif -#ifndef HB_BUFFER_MAX_OPS_DEFAULT -#define HB_BUFFER_MAX_OPS_DEFAULT 0x1FFFFFFF /* Shaping more than a billion operations? Let us know! */ -#endif - -static_assert ((sizeof (hb_glyph_info_t) == 20), ""); -static_assert ((sizeof (hb_glyph_info_t) == sizeof (hb_glyph_position_t)), ""); - -HB_MARK_AS_FLAG_T (hb_buffer_flags_t); -HB_MARK_AS_FLAG_T (hb_buffer_serialize_flags_t); -HB_MARK_AS_FLAG_T (hb_buffer_diff_flags_t); - -enum hb_buffer_scratch_flags_t { - HB_BUFFER_SCRATCH_FLAG_DEFAULT = 0x00000000u, - HB_BUFFER_SCRATCH_FLAG_HAS_NON_ASCII = 0x00000001u, - HB_BUFFER_SCRATCH_FLAG_HAS_DEFAULT_IGNORABLES = 0x00000002u, - HB_BUFFER_SCRATCH_FLAG_HAS_SPACE_FALLBACK = 0x00000004u, - HB_BUFFER_SCRATCH_FLAG_HAS_GPOS_ATTACHMENT = 0x00000008u, - HB_BUFFER_SCRATCH_FLAG_HAS_UNSAFE_TO_BREAK = 0x00000010u, - HB_BUFFER_SCRATCH_FLAG_HAS_CGJ = 0x00000020u, - - /* Reserved for complex shapers' internal use. */ - HB_BUFFER_SCRATCH_FLAG_COMPLEX0 = 0x01000000u, - HB_BUFFER_SCRATCH_FLAG_COMPLEX1 = 0x02000000u, - HB_BUFFER_SCRATCH_FLAG_COMPLEX2 = 0x04000000u, - HB_BUFFER_SCRATCH_FLAG_COMPLEX3 = 0x08000000u, -}; -HB_MARK_AS_FLAG_T (hb_buffer_scratch_flags_t); - - -/* - * hb_buffer_t - */ - -struct hb_buffer_t -{ - hb_object_header_t header; - ASSERT_POD (); - - /* Information about how the text in the buffer should be treated */ - hb_unicode_funcs_t *unicode; /* Unicode functions */ - hb_buffer_flags_t flags; /* BOT / EOT / etc. */ - hb_buffer_cluster_level_t cluster_level; - hb_codepoint_t replacement; /* U+FFFD or something else. */ - hb_buffer_scratch_flags_t scratch_flags; /* Have space-fallback, etc. */ - unsigned int max_len; /* Maximum allowed len. */ - int max_ops; /* Maximum allowed operations. */ - - /* Buffer contents */ - hb_buffer_content_type_t content_type; - hb_segment_properties_t props; /* Script, language, direction */ - - bool successful; /* Allocations successful */ - bool have_output; /* Whether we have an output buffer going on */ - bool have_positions; /* Whether we have positions */ - - unsigned int idx; /* Cursor into ->info and ->pos arrays */ - unsigned int len; /* Length of ->info and ->pos arrays */ - unsigned int out_len; /* Length of ->out array if have_output */ - - unsigned int allocated; /* Length of allocated arrays */ - hb_glyph_info_t *info; - hb_glyph_info_t *out_info; - hb_glyph_position_t *pos; - - unsigned int serial; - - /* Text before / after the main buffer contents. - * Always in Unicode, and ordered outward. - * Index 0 is for "pre-context", 1 for "post-context". */ - enum { CONTEXT_LENGTH = 5 }; - hb_codepoint_t context[2][CONTEXT_LENGTH]; - unsigned int context_len[2]; - - /* Debugging API */ - hb_buffer_message_func_t message_func; - void *message_data; - hb_destroy_func_t message_destroy; - - /* Internal debugging. */ - /* The bits here reflect current allocations of the bytes in glyph_info_t's var1 and var2. */ -#ifndef HB_NDEBUG - uint8_t allocated_var_bits; -#endif - - - /* Methods */ - - inline void allocate_var (unsigned int start, unsigned int count) - { -#ifndef HB_NDEBUG - unsigned int end = start + count; - assert (end <= 8); - unsigned int bits = (1u< (cluster, infos[i].cluster); - return cluster; - } - inline void - _unsafe_to_break_set_mask (hb_glyph_info_t *infos, - unsigned int start, unsigned int end, - unsigned int cluster) - { - for (unsigned int i = start; i < end; i++) - if (cluster != infos[i].cluster) - { - scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_UNSAFE_TO_BREAK; - infos[i].mask |= HB_GLYPH_FLAG_UNSAFE_TO_BREAK; - } - } - - inline void - unsafe_to_break_all (void) - { - unsafe_to_break_impl (0, len); - } - inline void - safe_to_break_all (void) - { - for (unsigned int i = 0; i < len; i++) - info[i].mask &= ~HB_GLYPH_FLAG_UNSAFE_TO_BREAK; - } -}; -DECLARE_NULL_INSTANCE (hb_buffer_t); - - -/* Loop over clusters. Duplicated in foreach_syllable(). */ -#define foreach_cluster(buffer, start, end) \ - for (unsigned int \ - _count = buffer->len, \ - start = 0, end = _count ? _next_cluster (buffer, 0) : 0; \ - start < _count; \ - start = end, end = _next_cluster (buffer, start)) - -static inline unsigned int -_next_cluster (hb_buffer_t *buffer, unsigned int start) -{ - hb_glyph_info_t *info = buffer->info; - unsigned int count = buffer->len; - - unsigned int cluster = info[start].cluster; - while (++start < count && cluster == info[start].cluster) - ; - - return start; -} - - -#define HB_BUFFER_XALLOCATE_VAR(b, func, var) \ - b->func (offsetof (hb_glyph_info_t, var) - offsetof(hb_glyph_info_t, var1), \ - sizeof (b->info[0].var)) -#define HB_BUFFER_ALLOCATE_VAR(b, var) HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var ()) -#define HB_BUFFER_DEALLOCATE_VAR(b, var) HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var ()) -#define HB_BUFFER_ASSERT_VAR(b, var) HB_BUFFER_XALLOCATE_VAR (b, assert_var, var ()) - - -#endif /* HB_BUFFER_HH */ diff --git a/harfbuzz-1.9.0/src/hb-common.cc b/harfbuzz-1.9.0/src/hb-common.cc deleted file mode 100644 index ed3fed2a3..000000000 --- a/harfbuzz-1.9.0/src/hb-common.cc +++ /dev/null @@ -1,1083 +0,0 @@ -/* - * Copyright © 2009,2010 Red Hat, Inc. - * Copyright © 2011,2012 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#include "hb.hh" - -#include "hb-machinery.hh" - -#include -#ifdef HAVE_XLOCALE_H -#include -#endif - - -/* hb_options_t */ - -hb_atomic_int_t _hb_options; - -void -_hb_options_init (void) -{ - hb_options_union_t u; - u.i = 0; - u.opts.initialized = 1; - - char *c = getenv ("HB_OPTIONS"); - u.opts.uniscribe_bug_compatible = c && strstr (c, "uniscribe-bug-compatible"); - - /* This is idempotent and threadsafe. */ - _hb_options.set_relaxed (u.i); -} - - -/* hb_tag_t */ - -/** - * hb_tag_from_string: - * @str: (array length=len) (element-type uint8_t): - * @len: - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_tag_t -hb_tag_from_string (const char *str, int len) -{ - char tag[4]; - unsigned int i; - - if (!str || !len || !*str) - return HB_TAG_NONE; - - if (len < 0 || len > 4) - len = 4; - for (i = 0; i < (unsigned) len && str[i]; i++) - tag[i] = str[i]; - for (; i < 4; i++) - tag[i] = ' '; - - return HB_TAG (tag[0], tag[1], tag[2], tag[3]); -} - -/** - * hb_tag_to_string: - * @tag: - * @buf: (out caller-allocates) (array fixed-size=4) (element-type uint8_t): - * - * - * - * Since: 0.9.5 - **/ -void -hb_tag_to_string (hb_tag_t tag, char *buf) -{ - buf[0] = (char) (uint8_t) (tag >> 24); - buf[1] = (char) (uint8_t) (tag >> 16); - buf[2] = (char) (uint8_t) (tag >> 8); - buf[3] = (char) (uint8_t) (tag >> 0); -} - - -/* hb_direction_t */ - -const char direction_strings[][4] = { - "ltr", - "rtl", - "ttb", - "btt" -}; - -/** - * hb_direction_from_string: - * @str: (array length=len) (element-type uint8_t): - * @len: - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_direction_t -hb_direction_from_string (const char *str, int len) -{ - if (unlikely (!str || !len || !*str)) - return HB_DIRECTION_INVALID; - - /* Lets match loosely: just match the first letter, such that - * all of "ltr", "left-to-right", etc work! - */ - char c = TOLOWER (str[0]); - for (unsigned int i = 0; i < ARRAY_LENGTH (direction_strings); i++) - if (c == direction_strings[i][0]) - return (hb_direction_t) (HB_DIRECTION_LTR + i); - - return HB_DIRECTION_INVALID; -} - -/** - * hb_direction_to_string: - * @direction: - * - * - * - * Return value: (transfer none): - * - * Since: 0.9.2 - **/ -const char * -hb_direction_to_string (hb_direction_t direction) -{ - if (likely ((unsigned int) (direction - HB_DIRECTION_LTR) - < ARRAY_LENGTH (direction_strings))) - return direction_strings[direction - HB_DIRECTION_LTR]; - - return "invalid"; -} - - -/* hb_language_t */ - -struct hb_language_impl_t { - const char s[1]; -}; - -static const char canon_map[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '-', 0, 0, - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 0, 0, 0, 0, 0, 0, - '-', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 0, 0, 0, 0, '-', - 0, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 0, 0, 0, 0, 0 -}; - -static bool -lang_equal (hb_language_t v1, - const void *v2) -{ - const unsigned char *p1 = (const unsigned char *) v1; - const unsigned char *p2 = (const unsigned char *) v2; - - while (*p1 && *p1 == canon_map[*p2]) { - p1++; - p2++; - } - - return *p1 == canon_map[*p2]; -} - -#if 0 -static unsigned int -lang_hash (const void *key) -{ - const unsigned char *p = key; - unsigned int h = 0; - while (canon_map[*p]) - { - h = (h << 5) - h + canon_map[*p]; - p++; - } - - return h; -} -#endif - - -struct hb_language_item_t { - - struct hb_language_item_t *next; - hb_language_t lang; - - inline bool operator == (const char *s) const { - return lang_equal (lang, s); - } - - inline hb_language_item_t & operator = (const char *s) { - /* If a custom allocated is used calling strdup() pairs - badly with a call to the custom free() in fini() below. - Therefore don't call strdup(), implement its behavior. - */ - size_t len = strlen(s) + 1; - lang = (hb_language_t) malloc(len); - if (likely (lang)) - { - memcpy((unsigned char *) lang, s, len); - for (unsigned char *p = (unsigned char *) lang; *p; p++) - *p = canon_map[*p]; - } - - return *this; - } - - void fini (void) { free ((void *) lang); } -}; - - -/* Thread-safe lock-free language list */ - -static hb_atomic_ptr_t langs; - -#ifdef HB_USE_ATEXIT -static void -free_langs (void) -{ -retry: - hb_language_item_t *first_lang = langs.get (); - if (unlikely (!langs.cmpexch (first_lang, nullptr))) - goto retry; - - while (first_lang) { - hb_language_item_t *next = first_lang->next; - first_lang->fini (); - free (first_lang); - first_lang = next; - } -} -#endif - -static hb_language_item_t * -lang_find_or_insert (const char *key) -{ -retry: - hb_language_item_t *first_lang = langs.get (); - - for (hb_language_item_t *lang = first_lang; lang; lang = lang->next) - if (*lang == key) - return lang; - - /* Not found; allocate one. */ - hb_language_item_t *lang = (hb_language_item_t *) calloc (1, sizeof (hb_language_item_t)); - if (unlikely (!lang)) - return nullptr; - lang->next = first_lang; - *lang = key; - if (unlikely (!lang->lang)) - { - free (lang); - return nullptr; - } - - if (unlikely (!langs.cmpexch (first_lang, lang))) - { - lang->fini (); - free (lang); - goto retry; - } - -#ifdef HB_USE_ATEXIT - if (!first_lang) - atexit (free_langs); /* First person registers atexit() callback. */ -#endif - - return lang; -} - - -/** - * hb_language_from_string: - * @str: (array length=len) (element-type uint8_t): a string representing - * ISO 639 language code - * @len: length of the @str, or -1 if it is %NULL-terminated. - * - * Converts @str representing an ISO 639 language code to the corresponding - * #hb_language_t. - * - * Return value: (transfer none): - * The #hb_language_t corresponding to the ISO 639 language code. - * - * Since: 0.9.2 - **/ -hb_language_t -hb_language_from_string (const char *str, int len) -{ - if (!str || !len || !*str) - return HB_LANGUAGE_INVALID; - - hb_language_item_t *item = nullptr; - if (len >= 0) - { - /* NUL-terminate it. */ - char strbuf[64]; - len = MIN (len, (int) sizeof (strbuf) - 1); - memcpy (strbuf, str, len); - strbuf[len] = '\0'; - item = lang_find_or_insert (strbuf); - } - else - item = lang_find_or_insert (str); - - return likely (item) ? item->lang : HB_LANGUAGE_INVALID; -} - -/** - * hb_language_to_string: - * @language: an #hb_language_t to convert. - * - * See hb_language_from_string(). - * - * Return value: (transfer none): - * A %NULL-terminated string representing the @language. Must not be freed by - * the caller. - * - * Since: 0.9.2 - **/ -const char * -hb_language_to_string (hb_language_t language) -{ - /* This is actually nullptr-safe! */ - return language->s; -} - -/** - * hb_language_get_default: - * - * - * - * Return value: (transfer none): - * - * Since: 0.9.2 - **/ -hb_language_t -hb_language_get_default (void) -{ - static hb_atomic_ptr_t default_language; - - hb_language_t language = default_language.get (); - if (unlikely (language == HB_LANGUAGE_INVALID)) - { - language = hb_language_from_string (setlocale (LC_CTYPE, nullptr), -1); - (void) default_language.cmpexch (HB_LANGUAGE_INVALID, language); - } - - return language; -} - - -/* hb_script_t */ - -/** - * hb_script_from_iso15924_tag: - * @tag: an #hb_tag_t representing an ISO 15924 tag. - * - * Converts an ISO 15924 script tag to a corresponding #hb_script_t. - * - * Return value: - * An #hb_script_t corresponding to the ISO 15924 tag. - * - * Since: 0.9.2 - **/ -hb_script_t -hb_script_from_iso15924_tag (hb_tag_t tag) -{ - if (unlikely (tag == HB_TAG_NONE)) - return HB_SCRIPT_INVALID; - - /* Be lenient, adjust case (one capital letter followed by three small letters) */ - tag = (tag & 0xDFDFDFDFu) | 0x00202020u; - - switch (tag) { - - /* These graduated from the 'Q' private-area codes, but - * the old code is still aliased by Unicode, and the Qaai - * one in use by ICU. */ - case HB_TAG('Q','a','a','i'): return HB_SCRIPT_INHERITED; - case HB_TAG('Q','a','a','c'): return HB_SCRIPT_COPTIC; - - /* Script variants from https://unicode.org/iso15924/ */ - case HB_TAG('C','y','r','s'): return HB_SCRIPT_CYRILLIC; - case HB_TAG('L','a','t','f'): return HB_SCRIPT_LATIN; - case HB_TAG('L','a','t','g'): return HB_SCRIPT_LATIN; - case HB_TAG('S','y','r','e'): return HB_SCRIPT_SYRIAC; - case HB_TAG('S','y','r','j'): return HB_SCRIPT_SYRIAC; - case HB_TAG('S','y','r','n'): return HB_SCRIPT_SYRIAC; - } - - /* If it looks right, just use the tag as a script */ - if (((uint32_t) tag & 0xE0E0E0E0u) == 0x40606060u) - return (hb_script_t) tag; - - /* Otherwise, return unknown */ - return HB_SCRIPT_UNKNOWN; -} - -/** - * hb_script_from_string: - * @str: (array length=len) (element-type uint8_t): a string representing an - * ISO 15924 tag. - * @len: length of the @str, or -1 if it is %NULL-terminated. - * - * Converts a string @str representing an ISO 15924 script tag to a - * corresponding #hb_script_t. Shorthand for hb_tag_from_string() then - * hb_script_from_iso15924_tag(). - * - * Return value: - * An #hb_script_t corresponding to the ISO 15924 tag. - * - * Since: 0.9.2 - **/ -hb_script_t -hb_script_from_string (const char *str, int len) -{ - return hb_script_from_iso15924_tag (hb_tag_from_string (str, len)); -} - -/** - * hb_script_to_iso15924_tag: - * @script: an #hb_script_ to convert. - * - * See hb_script_from_iso15924_tag(). - * - * Return value: - * An #hb_tag_t representing an ISO 15924 script tag. - * - * Since: 0.9.2 - **/ -hb_tag_t -hb_script_to_iso15924_tag (hb_script_t script) -{ - return (hb_tag_t) script; -} - -/** - * hb_script_get_horizontal_direction: - * @script: - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_direction_t -hb_script_get_horizontal_direction (hb_script_t script) -{ - /* https://docs.google.com/spreadsheets/d/1Y90M0Ie3MUJ6UVCRDOypOtijlMDLNNyyLk36T6iMu0o */ - switch ((hb_tag_t) script) - { - /* Unicode-1.1 additions */ - case HB_SCRIPT_ARABIC: - case HB_SCRIPT_HEBREW: - - /* Unicode-3.0 additions */ - case HB_SCRIPT_SYRIAC: - case HB_SCRIPT_THAANA: - - /* Unicode-4.0 additions */ - case HB_SCRIPT_CYPRIOT: - - /* Unicode-4.1 additions */ - case HB_SCRIPT_KHAROSHTHI: - - /* Unicode-5.0 additions */ - case HB_SCRIPT_PHOENICIAN: - case HB_SCRIPT_NKO: - - /* Unicode-5.1 additions */ - case HB_SCRIPT_LYDIAN: - - /* Unicode-5.2 additions */ - case HB_SCRIPT_AVESTAN: - case HB_SCRIPT_IMPERIAL_ARAMAIC: - case HB_SCRIPT_INSCRIPTIONAL_PAHLAVI: - case HB_SCRIPT_INSCRIPTIONAL_PARTHIAN: - case HB_SCRIPT_OLD_SOUTH_ARABIAN: - case HB_SCRIPT_OLD_TURKIC: - case HB_SCRIPT_SAMARITAN: - - /* Unicode-6.0 additions */ - case HB_SCRIPT_MANDAIC: - - /* Unicode-6.1 additions */ - case HB_SCRIPT_MEROITIC_CURSIVE: - case HB_SCRIPT_MEROITIC_HIEROGLYPHS: - - /* Unicode-7.0 additions */ - case HB_SCRIPT_MANICHAEAN: - case HB_SCRIPT_MENDE_KIKAKUI: - case HB_SCRIPT_NABATAEAN: - case HB_SCRIPT_OLD_NORTH_ARABIAN: - case HB_SCRIPT_PALMYRENE: - case HB_SCRIPT_PSALTER_PAHLAVI: - - /* Unicode-8.0 additions */ - case HB_SCRIPT_HATRAN: - case HB_SCRIPT_OLD_HUNGARIAN: - - /* Unicode-9.0 additions */ - case HB_SCRIPT_ADLAM: - - /* Unicode-11.0 additions */ - case HB_SCRIPT_HANIFI_ROHINGYA: - case HB_SCRIPT_OLD_SOGDIAN: - case HB_SCRIPT_SOGDIAN: - - return HB_DIRECTION_RTL; - - - /* https://github.com/harfbuzz/harfbuzz/issues/1000 */ - case HB_SCRIPT_OLD_ITALIC: - case HB_SCRIPT_RUNIC: - - return HB_DIRECTION_INVALID; - } - - return HB_DIRECTION_LTR; -} - - -/* hb_user_data_array_t */ - -bool -hb_user_data_array_t::set (hb_user_data_key_t *key, - void * data, - hb_destroy_func_t destroy, - hb_bool_t replace) -{ - if (!key) - return false; - - if (replace) { - if (!data && !destroy) { - items.remove (key, lock); - return true; - } - } - hb_user_data_item_t item = {key, data, destroy}; - bool ret = !!items.replace_or_insert (item, lock, (bool) replace); - - return ret; -} - -void * -hb_user_data_array_t::get (hb_user_data_key_t *key) -{ - hb_user_data_item_t item = {nullptr, nullptr, nullptr}; - - return items.find (key, &item, lock) ? item.data : nullptr; -} - - -/* hb_version */ - -/** - * hb_version: - * @major: (out): Library major version component. - * @minor: (out): Library minor version component. - * @micro: (out): Library micro version component. - * - * Returns library version as three integer components. - * - * Since: 0.9.2 - **/ -void -hb_version (unsigned int *major, - unsigned int *minor, - unsigned int *micro) -{ - *major = HB_VERSION_MAJOR; - *minor = HB_VERSION_MINOR; - *micro = HB_VERSION_MICRO; -} - -/** - * hb_version_string: - * - * Returns library version as a string with three components. - * - * Return value: library version string. - * - * Since: 0.9.2 - **/ -const char * -hb_version_string (void) -{ - return HB_VERSION_STRING; -} - -/** - * hb_version_atleast: - * @major: - * @minor: - * @micro: - * - * - * - * Return value: - * - * Since: 0.9.30 - **/ -hb_bool_t -hb_version_atleast (unsigned int major, - unsigned int minor, - unsigned int micro) -{ - return HB_VERSION_ATLEAST (major, minor, micro); -} - - - -/* hb_feature_t and hb_variation_t */ - -static bool -parse_space (const char **pp, const char *end) -{ - while (*pp < end && ISSPACE (**pp)) - (*pp)++; - return true; -} - -static bool -parse_char (const char **pp, const char *end, char c) -{ - parse_space (pp, end); - - if (*pp == end || **pp != c) - return false; - - (*pp)++; - return true; -} - -static bool -parse_uint (const char **pp, const char *end, unsigned int *pv) -{ - char buf[32]; - unsigned int len = MIN (ARRAY_LENGTH (buf) - 1, (unsigned int) (end - *pp)); - strncpy (buf, *pp, len); - buf[len] = '\0'; - - char *p = buf; - char *pend = p; - unsigned int v; - - /* Intentionally use strtol instead of strtoul, such that - * -1 turns into "big number"... */ - errno = 0; - v = strtol (p, &pend, 0); - if (errno || p == pend) - return false; - - *pv = v; - *pp += pend - p; - return true; -} - -static bool -parse_uint32 (const char **pp, const char *end, uint32_t *pv) -{ - char buf[32]; - unsigned int len = MIN (ARRAY_LENGTH (buf) - 1, (unsigned int) (end - *pp)); - strncpy (buf, *pp, len); - buf[len] = '\0'; - - char *p = buf; - char *pend = p; - unsigned int v; - - /* Intentionally use strtol instead of strtoul, such that - * -1 turns into "big number"... */ - errno = 0; - v = strtol (p, &pend, 0); - if (errno || p == pend) - return false; - - *pv = v; - *pp += pend - p; - return true; -} - -#if defined (HAVE_NEWLOCALE) && defined (HAVE_STRTOD_L) -#define USE_XLOCALE 1 -#define HB_LOCALE_T locale_t -#define HB_CREATE_LOCALE(locName) newlocale (LC_ALL_MASK, locName, nullptr) -#define HB_FREE_LOCALE(loc) freelocale (loc) -#elif defined(_MSC_VER) -#define USE_XLOCALE 1 -#define HB_LOCALE_T _locale_t -#define HB_CREATE_LOCALE(locName) _create_locale (LC_ALL, locName) -#define HB_FREE_LOCALE(loc) _free_locale (loc) -#define strtod_l(a, b, c) _strtod_l ((a), (b), (c)) -#endif - -#ifdef USE_XLOCALE - -#ifdef HB_USE_ATEXIT -static void free_static_C_locale (void); -#endif - -static struct hb_C_locale_lazy_loader_t : hb_lazy_loader_t::value, - hb_C_locale_lazy_loader_t> -{ - static inline HB_LOCALE_T create (void) - { - HB_LOCALE_T C_locale = HB_CREATE_LOCALE ("C"); - -#ifdef HB_USE_ATEXIT - atexit (free_static_C_locale); -#endif - - return C_locale; - } - static inline void destroy (HB_LOCALE_T p) - { - HB_FREE_LOCALE (p); - } - static inline HB_LOCALE_T get_null (void) - { - return nullptr; - } -} static_C_locale; - -#ifdef HB_USE_ATEXIT -static -void free_static_C_locale (void) -{ - static_C_locale.free_instance (); -} -#endif - -static HB_LOCALE_T -get_C_locale (void) -{ - return static_C_locale.get_unconst (); -} -#endif /* USE_XLOCALE */ - -static bool -parse_float (const char **pp, const char *end, float *pv) -{ - char buf[32]; - unsigned int len = MIN (ARRAY_LENGTH (buf) - 1, (unsigned int) (end - *pp)); - strncpy (buf, *pp, len); - buf[len] = '\0'; - - char *p = buf; - char *pend = p; - float v; - - errno = 0; -#ifdef USE_XLOCALE - v = strtod_l (p, &pend, get_C_locale ()); -#else - v = strtod (p, &pend); -#endif - if (errno || p == pend) - return false; - - *pv = v; - *pp += pend - p; - return true; -} - -static bool -parse_bool (const char **pp, const char *end, uint32_t *pv) -{ - parse_space (pp, end); - - const char *p = *pp; - while (*pp < end && ISALPHA(**pp)) - (*pp)++; - - /* CSS allows on/off as aliases 1/0. */ - if (*pp - p == 2 && 0 == strncmp (p, "on", 2)) - *pv = 1; - else if (*pp - p == 3 && 0 == strncmp (p, "off", 3)) - *pv = 0; - else - return false; - - return true; -} - -/* hb_feature_t */ - -static bool -parse_feature_value_prefix (const char **pp, const char *end, hb_feature_t *feature) -{ - if (parse_char (pp, end, '-')) - feature->value = 0; - else { - parse_char (pp, end, '+'); - feature->value = 1; - } - - return true; -} - -static bool -parse_tag (const char **pp, const char *end, hb_tag_t *tag) -{ - parse_space (pp, end); - - char quote = 0; - - if (*pp < end && (**pp == '\'' || **pp == '"')) - { - quote = **pp; - (*pp)++; - } - - const char *p = *pp; - while (*pp < end && (ISALNUM(**pp) || **pp == '_')) - (*pp)++; - - if (p == *pp || *pp - p > 4) - return false; - - *tag = hb_tag_from_string (p, *pp - p); - - if (quote) - { - /* CSS expects exactly four bytes. And we only allow quotations for - * CSS compatibility. So, enforce the length. */ - if (*pp - p != 4) - return false; - if (*pp == end || **pp != quote) - return false; - (*pp)++; - } - - return true; -} - -static bool -parse_feature_indices (const char **pp, const char *end, hb_feature_t *feature) -{ - parse_space (pp, end); - - bool has_start; - - feature->start = 0; - feature->end = (unsigned int) -1; - - if (!parse_char (pp, end, '[')) - return true; - - has_start = parse_uint (pp, end, &feature->start); - - if (parse_char (pp, end, ':')) { - parse_uint (pp, end, &feature->end); - } else { - if (has_start) - feature->end = feature->start + 1; - } - - return parse_char (pp, end, ']'); -} - -static bool -parse_feature_value_postfix (const char **pp, const char *end, hb_feature_t *feature) -{ - bool had_equal = parse_char (pp, end, '='); - bool had_value = parse_uint32 (pp, end, &feature->value) || - parse_bool (pp, end, &feature->value); - /* CSS doesn't use equal-sign between tag and value. - * If there was an equal-sign, then there *must* be a value. - * A value without an equal-sign is ok, but not required. */ - return !had_equal || had_value; -} - -static bool -parse_one_feature (const char **pp, const char *end, hb_feature_t *feature) -{ - return parse_feature_value_prefix (pp, end, feature) && - parse_tag (pp, end, &feature->tag) && - parse_feature_indices (pp, end, feature) && - parse_feature_value_postfix (pp, end, feature) && - parse_space (pp, end) && - *pp == end; -} - -/** - * hb_feature_from_string: - * @str: (array length=len) (element-type uint8_t): a string to parse - * @len: length of @str, or -1 if string is %NULL terminated - * @feature: (out): the #hb_feature_t to initialize with the parsed values - * - * Parses a string into a #hb_feature_t. - * - * TODO: document the syntax here. - * - * Return value: - * %true if @str is successfully parsed, %false otherwise. - * - * Since: 0.9.5 - **/ -hb_bool_t -hb_feature_from_string (const char *str, int len, - hb_feature_t *feature) -{ - hb_feature_t feat; - - if (len < 0) - len = strlen (str); - - if (likely (parse_one_feature (&str, str + len, &feat))) - { - if (feature) - *feature = feat; - return true; - } - - if (feature) - memset (feature, 0, sizeof (*feature)); - return false; -} - -/** - * hb_feature_to_string: - * @feature: an #hb_feature_t to convert - * @buf: (array length=size) (out): output string - * @size: the allocated size of @buf - * - * Converts a #hb_feature_t into a %NULL-terminated string in the format - * understood by hb_feature_from_string(). The client in responsible for - * allocating big enough size for @buf, 128 bytes is more than enough. - * - * Since: 0.9.5 - **/ -void -hb_feature_to_string (hb_feature_t *feature, - char *buf, unsigned int size) -{ - if (unlikely (!size)) return; - - char s[128]; - unsigned int len = 0; - if (feature->value == 0) - s[len++] = '-'; - hb_tag_to_string (feature->tag, s + len); - len += 4; - while (len && s[len - 1] == ' ') - len--; - if (feature->start != 0 || feature->end != (unsigned int) -1) - { - s[len++] = '['; - if (feature->start) - len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%u", feature->start)); - if (feature->end != feature->start + 1) { - s[len++] = ':'; - if (feature->end != (unsigned int) -1) - len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%u", feature->end)); - } - s[len++] = ']'; - } - if (feature->value > 1) - { - s[len++] = '='; - len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%u", feature->value)); - } - assert (len < ARRAY_LENGTH (s)); - len = MIN (len, size - 1); - memcpy (buf, s, len); - buf[len] = '\0'; -} - -/* hb_variation_t */ - -static bool -parse_variation_value (const char **pp, const char *end, hb_variation_t *variation) -{ - parse_char (pp, end, '='); /* Optional. */ - return parse_float (pp, end, &variation->value); -} - -static bool -parse_one_variation (const char **pp, const char *end, hb_variation_t *variation) -{ - return parse_tag (pp, end, &variation->tag) && - parse_variation_value (pp, end, variation) && - parse_space (pp, end) && - *pp == end; -} - -/** - * hb_variation_from_string: - * - * Since: 1.4.2 - */ -hb_bool_t -hb_variation_from_string (const char *str, int len, - hb_variation_t *variation) -{ - hb_variation_t var; - - if (len < 0) - len = strlen (str); - - if (likely (parse_one_variation (&str, str + len, &var))) - { - if (variation) - *variation = var; - return true; - } - - if (variation) - memset (variation, 0, sizeof (*variation)); - return false; -} - -/** - * hb_variation_to_string: - * - * Since: 1.4.2 - */ -void -hb_variation_to_string (hb_variation_t *variation, - char *buf, unsigned int size) -{ - if (unlikely (!size)) return; - - char s[128]; - unsigned int len = 0; - hb_tag_to_string (variation->tag, s + len); - len += 4; - while (len && s[len - 1] == ' ') - len--; - s[len++] = '='; - len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%g", variation->value)); - - assert (len < ARRAY_LENGTH (s)); - len = MIN (len, size - 1); - memcpy (buf, s, len); - buf[len] = '\0'; -} - -/* If there is no visibility control, then hb-static.cc will NOT - * define anything. Instead, we get it to define one set in here - * only, so only libharfbuzz.so defines them, not other libs. */ -#ifdef HB_NO_VISIBILITY -#undef HB_NO_VISIBILITY -#include "hb-static.cc" -#define HB_NO_VISIBILITY 1 -#endif diff --git a/harfbuzz-1.9.0/src/hb-coretext.cc b/harfbuzz-1.9.0/src/hb-coretext.cc deleted file mode 100644 index a7ba85f83..000000000 --- a/harfbuzz-1.9.0/src/hb-coretext.cc +++ /dev/null @@ -1,1411 +0,0 @@ -/* - * Copyright © 2012,2013 Mozilla Foundation. - * Copyright © 2012,2013 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Mozilla Author(s): Jonathan Kew - * Google Author(s): Behdad Esfahbod - */ - -#define HB_SHAPER coretext - -#include "hb.hh" -#include "hb-shaper-impl.hh" - -#include "hb-coretext.h" -#include - -/* https://developer.apple.com/documentation/coretext/1508745-ctfontcreatewithgraphicsfont */ -#define HB_CORETEXT_DEFAULT_FONT_SIZE 12.f - -static CGFloat -coretext_font_size_from_ptem (float ptem) -{ - /* CoreText points are CSS pixels (96 per inch), - * NOT typographic points (72 per inch). - * - * https://developer.apple.com/library/content/documentation/GraphicsAnimation/Conceptual/HighResolutionOSX/Explained/Explained.html - */ - ptem *= 96.f / 72.f; - return ptem <= 0.f ? HB_CORETEXT_DEFAULT_FONT_SIZE : ptem; -} -static float -coretext_font_size_to_ptem (CGFloat size) -{ - size *= 72.f / 96.f; - return size <= 0.f ? 0 : size; -} - -static void -release_table_data (void *user_data) -{ - CFDataRef cf_data = reinterpret_cast (user_data); - CFRelease(cf_data); -} - -static hb_blob_t * -reference_table (hb_face_t *face HB_UNUSED, hb_tag_t tag, void *user_data) -{ - CGFontRef cg_font = reinterpret_cast (user_data); - CFDataRef cf_data = CGFontCopyTableForTag (cg_font, tag); - if (unlikely (!cf_data)) - return nullptr; - - const char *data = reinterpret_cast (CFDataGetBytePtr (cf_data)); - const size_t length = CFDataGetLength (cf_data); - if (!data || !length) - { - CFRelease (cf_data); - return nullptr; - } - - return hb_blob_create (data, length, HB_MEMORY_MODE_READONLY, - reinterpret_cast (const_cast<__CFData *> (cf_data)), - release_table_data); -} - -static void -_hb_cg_font_release (void *data) -{ - CGFontRelease ((CGFontRef) data); -} - - -HB_SHAPER_DATA_ENSURE_DEFINE(coretext, face) -HB_SHAPER_DATA_ENSURE_DEFINE_WITH_CONDITION(coretext, font, - fabs (CTFontGetSize((CTFontRef) data) - coretext_font_size_from_ptem (font->ptem)) <= .5 -) - -static CTFontDescriptorRef -get_last_resort_font_desc (void) -{ - // TODO Handle allocation failures? - CTFontDescriptorRef last_resort = CTFontDescriptorCreateWithNameAndSize (CFSTR("LastResort"), 0); - CFArrayRef cascade_list = CFArrayCreate (kCFAllocatorDefault, - (const void **) &last_resort, - 1, - &kCFTypeArrayCallBacks); - CFRelease (last_resort); - CFDictionaryRef attributes = CFDictionaryCreate (kCFAllocatorDefault, - (const void **) &kCTFontCascadeListAttribute, - (const void **) &cascade_list, - 1, - &kCFTypeDictionaryKeyCallBacks, - &kCFTypeDictionaryValueCallBacks); - CFRelease (cascade_list); - - CTFontDescriptorRef font_desc = CTFontDescriptorCreateWithAttributes (attributes); - CFRelease (attributes); - return font_desc; -} - -static void -release_data (void *info, const void *data, size_t size) -{ - assert (hb_blob_get_length ((hb_blob_t *) info) == size && - hb_blob_get_data ((hb_blob_t *) info, nullptr) == data); - - hb_blob_destroy ((hb_blob_t *) info); -} - -static CGFontRef -create_cg_font (hb_face_t *face) -{ - CGFontRef cg_font = nullptr; - if (face->destroy == _hb_cg_font_release) - { - cg_font = CGFontRetain ((CGFontRef) face->user_data); - } - else - { - hb_blob_t *blob = hb_face_reference_blob (face); - unsigned int blob_length; - const char *blob_data = hb_blob_get_data (blob, &blob_length); - if (unlikely (!blob_length)) - DEBUG_MSG (CORETEXT, face, "Face has empty blob"); - - CGDataProviderRef provider = CGDataProviderCreateWithData (blob, blob_data, blob_length, &release_data); - if (likely (provider)) - { - cg_font = CGFontCreateWithDataProvider (provider); - if (unlikely (!cg_font)) - DEBUG_MSG (CORETEXT, face, "Face CGFontCreateWithDataProvider() failed"); - CGDataProviderRelease (provider); - } - } - return cg_font; -} - -static CTFontRef -create_ct_font (CGFontRef cg_font, CGFloat font_size) -{ - CTFontRef ct_font = nullptr; - - /* CoreText does not enable trak table usage / tracking when creating a CTFont - * using CTFontCreateWithGraphicsFont. The only way of enabling tracking seems - * to be through the CTFontCreateUIFontForLanguage call. */ - CFStringRef cg_postscript_name = CGFontCopyPostScriptName (cg_font); - if (CFStringHasPrefix (cg_postscript_name, CFSTR (".SFNSText")) || - CFStringHasPrefix (cg_postscript_name, CFSTR (".SFNSDisplay"))) - { -#if MAC_OS_X_VERSION_MIN_REQUIRED < 1080 -# define kCTFontUIFontSystem kCTFontSystemFontType -# define kCTFontUIFontEmphasizedSystem kCTFontEmphasizedSystemFontType -#endif - CTFontUIFontType font_type = kCTFontUIFontSystem; - if (CFStringHasSuffix (cg_postscript_name, CFSTR ("-Bold"))) - font_type = kCTFontUIFontEmphasizedSystem; - - ct_font = CTFontCreateUIFontForLanguage (font_type, font_size, nullptr); - CFStringRef ct_result_name = CTFontCopyPostScriptName(ct_font); - if (CFStringCompare (ct_result_name, cg_postscript_name, 0) != kCFCompareEqualTo) - { - CFRelease(ct_font); - ct_font = nullptr; - } - CFRelease (ct_result_name); - } - CFRelease (cg_postscript_name); - - if (!ct_font) - ct_font = CTFontCreateWithGraphicsFont (cg_font, font_size, nullptr, nullptr); - - if (unlikely (!ct_font)) { - DEBUG_MSG (CORETEXT, cg_font, "Font CTFontCreateWithGraphicsFont() failed"); - return nullptr; - } - - /* crbug.com/576941 and crbug.com/625902 and the investigation in the latter - * bug indicate that the cascade list reconfiguration occasionally causes - * crashes in CoreText on OS X 10.9, thus let's skip this step on older - * operating system versions. Except for the emoji font, where _not_ - * reconfiguring the cascade list causes CoreText crashes. For details, see - * crbug.com/549610 */ - // 0x00070000 stands for "kCTVersionNumber10_10", see CoreText.h - if (&CTGetCoreTextVersion != nullptr && CTGetCoreTextVersion() < 0x00070000) { - CFStringRef fontName = CTFontCopyPostScriptName (ct_font); - bool isEmojiFont = CFStringCompare (fontName, CFSTR("AppleColorEmoji"), 0) == kCFCompareEqualTo; - CFRelease (fontName); - if (!isEmojiFont) - return ct_font; - } - - CFURLRef original_url = nullptr; -#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 - ATSFontRef atsFont; - FSRef fsref; - OSStatus status; - atsFont = CTFontGetPlatformFont (ct_font, NULL); - status = ATSFontGetFileReference (atsFont, &fsref); - if (status == noErr) - original_url = CFURLCreateFromFSRef (NULL, &fsref); -#else - original_url = (CFURLRef) CTFontCopyAttribute (ct_font, kCTFontURLAttribute); -#endif - - /* Create font copy with cascade list that has LastResort first; this speeds up CoreText - * font fallback which we don't need anyway. */ - { - CTFontDescriptorRef last_resort_font_desc = get_last_resort_font_desc (); - CTFontRef new_ct_font = CTFontCreateCopyWithAttributes (ct_font, 0.0, nullptr, last_resort_font_desc); - CFRelease (last_resort_font_desc); - if (new_ct_font) - { - /* The CTFontCreateCopyWithAttributes call fails to stay on the same font - * when reconfiguring the cascade list and may switch to a different font - * when there are fonts that go by the same name, since the descriptor is - * just name and size. - * - * Avoid reconfiguring the cascade lists if the new font is outside the - * system locations that we cannot access from the sandboxed renderer - * process in Blink. This can be detected by the new file URL location - * that the newly found font points to. */ - CFURLRef new_url = nullptr; -#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 - atsFont = CTFontGetPlatformFont (new_ct_font, NULL); - status = ATSFontGetFileReference (atsFont, &fsref); - if (status == noErr) - new_url = CFURLCreateFromFSRef (NULL, &fsref); -#else - new_url = (CFURLRef) CTFontCopyAttribute (new_ct_font, kCTFontURLAttribute); -#endif - // Keep reconfigured font if URL cannot be retrieved (seems to be the case - // on Mac OS 10.12 Sierra), speculative fix for crbug.com/625606 - if (!original_url || !new_url || CFEqual (original_url, new_url)) { - CFRelease (ct_font); - ct_font = new_ct_font; - } else { - CFRelease (new_ct_font); - DEBUG_MSG (CORETEXT, ct_font, "Discarding reconfigured CTFont, location changed."); - } - if (new_url) - CFRelease (new_url); - } - else - DEBUG_MSG (CORETEXT, ct_font, "Font copy with empty cascade list failed"); - } - - if (original_url) - CFRelease (original_url); - return ct_font; -} - -hb_coretext_face_data_t * -_hb_coretext_shaper_face_data_create (hb_face_t *face) -{ - CGFontRef cg_font = create_cg_font (face); - - if (unlikely (!cg_font)) - { - DEBUG_MSG (CORETEXT, face, "CGFont creation failed.."); - return nullptr; - } - - return (hb_coretext_face_data_t *) cg_font; -} - -void -_hb_coretext_shaper_face_data_destroy (hb_coretext_face_data_t *data) -{ - CFRelease ((CGFontRef) data); -} - -hb_face_t * -hb_coretext_face_create (CGFontRef cg_font) -{ - return hb_face_create_for_tables (reference_table, CGFontRetain (cg_font), _hb_cg_font_release); -} - -/* - * Since: 0.9.10 - */ -CGFontRef -hb_coretext_face_get_cg_font (hb_face_t *face) -{ - if (unlikely (!hb_coretext_shaper_face_data_ensure (face))) return nullptr; - return (CGFontRef) HB_SHAPER_DATA_GET (face); -} - - -hb_coretext_font_data_t * -_hb_coretext_shaper_font_data_create (hb_font_t *font) -{ - hb_face_t *face = font->face; - if (unlikely (!hb_coretext_shaper_face_data_ensure (face))) return nullptr; - CGFontRef cg_font = (CGFontRef) HB_SHAPER_DATA_GET (face); - - CTFontRef ct_font = create_ct_font (cg_font, coretext_font_size_from_ptem (font->ptem)); - - if (unlikely (!ct_font)) - { - DEBUG_MSG (CORETEXT, font, "CGFont creation failed.."); - return nullptr; - } - - return (hb_coretext_font_data_t *) ct_font; -} - -void -_hb_coretext_shaper_font_data_destroy (hb_coretext_font_data_t *data) -{ - CFRelease ((CTFontRef) data); -} - -/* - * Since: 1.7.2 - */ -hb_font_t * -hb_coretext_font_create (CTFontRef ct_font) -{ - CGFontRef cg_font = CTFontCopyGraphicsFont (ct_font, nullptr); - hb_face_t *face = hb_coretext_face_create (cg_font); - CFRelease (cg_font); - hb_font_t *font = hb_font_create (face); - hb_face_destroy (face); - - if (unlikely (hb_object_is_inert (font))) - return font; - - hb_font_set_ptem (font, coretext_font_size_to_ptem (CTFontGetSize(ct_font))); - - /* Let there be dragons here... */ - HB_SHAPER_DATA (HB_SHAPER, font).set_relaxed ((hb_coretext_font_data_t *) CFRetain (ct_font)); - - return font; -} - -CTFontRef -hb_coretext_font_get_ct_font (hb_font_t *font) -{ - if (unlikely (!hb_coretext_shaper_font_data_ensure (font))) return nullptr; - return (CTFontRef) HB_SHAPER_DATA_GET (font); -} - - - -/* - * shaper shape_plan data - */ - -struct hb_coretext_shape_plan_data_t {}; - -hb_coretext_shape_plan_data_t * -_hb_coretext_shaper_shape_plan_data_create (hb_shape_plan_t *shape_plan HB_UNUSED, - const hb_feature_t *user_features HB_UNUSED, - unsigned int num_user_features HB_UNUSED, - const int *coords HB_UNUSED, - unsigned int num_coords HB_UNUSED) -{ - return (hb_coretext_shape_plan_data_t *) HB_SHAPER_DATA_SUCCEEDED; -} - -void -_hb_coretext_shaper_shape_plan_data_destroy (hb_coretext_shape_plan_data_t *data HB_UNUSED) -{ -} - - -/* - * shaper - */ - -struct feature_record_t { - unsigned int feature; - unsigned int setting; -}; - -struct active_feature_t { - feature_record_t rec; - unsigned int order; - - static int cmp (const void *pa, const void *pb) { - const active_feature_t *a = (const active_feature_t *) pa; - const active_feature_t *b = (const active_feature_t *) pb; - return a->rec.feature < b->rec.feature ? -1 : a->rec.feature > b->rec.feature ? 1 : - a->order < b->order ? -1 : a->order > b->order ? 1 : - a->rec.setting < b->rec.setting ? -1 : a->rec.setting > b->rec.setting ? 1 : - 0; - } - bool operator== (const active_feature_t *f) { - return cmp (this, f) == 0; - } -}; - -struct feature_event_t { - unsigned int index; - bool start; - active_feature_t feature; - - static int cmp (const void *pa, const void *pb) { - const feature_event_t *a = (const feature_event_t *) pa; - const feature_event_t *b = (const feature_event_t *) pb; - return a->index < b->index ? -1 : a->index > b->index ? 1 : - a->start < b->start ? -1 : a->start > b->start ? 1 : - active_feature_t::cmp (&a->feature, &b->feature); - } -}; - -struct range_record_t { - CTFontRef font; - unsigned int index_first; /* == start */ - unsigned int index_last; /* == end - 1 */ -}; - - -/* The following enum members are added in OS X 10.8. */ -#define kAltHalfWidthTextSelector 6 -#define kAltProportionalTextSelector 5 -#define kAlternateHorizKanaOffSelector 1 -#define kAlternateHorizKanaOnSelector 0 -#define kAlternateKanaType 34 -#define kAlternateVertKanaOffSelector 3 -#define kAlternateVertKanaOnSelector 2 -#define kCaseSensitiveLayoutOffSelector 1 -#define kCaseSensitiveLayoutOnSelector 0 -#define kCaseSensitiveLayoutType 33 -#define kCaseSensitiveSpacingOffSelector 3 -#define kCaseSensitiveSpacingOnSelector 2 -#define kContextualAlternatesOffSelector 1 -#define kContextualAlternatesOnSelector 0 -#define kContextualAlternatesType 36 -#define kContextualLigaturesOffSelector 19 -#define kContextualLigaturesOnSelector 18 -#define kContextualSwashAlternatesOffSelector 5 -#define kContextualSwashAlternatesOnSelector 4 -#define kDefaultLowerCaseSelector 0 -#define kDefaultUpperCaseSelector 0 -#define kHistoricalLigaturesOffSelector 21 -#define kHistoricalLigaturesOnSelector 20 -#define kHojoCharactersSelector 12 -#define kJIS2004CharactersSelector 11 -#define kLowerCasePetiteCapsSelector 2 -#define kLowerCaseSmallCapsSelector 1 -#define kLowerCaseType 37 -#define kMathematicalGreekOffSelector 11 -#define kMathematicalGreekOnSelector 10 -#define kNLCCharactersSelector 13 -#define kQuarterWidthTextSelector 4 -#define kScientificInferiorsSelector 4 -#define kStylisticAltEightOffSelector 17 -#define kStylisticAltEightOnSelector 16 -#define kStylisticAltEighteenOffSelector 37 -#define kStylisticAltEighteenOnSelector 36 -#define kStylisticAltElevenOffSelector 23 -#define kStylisticAltElevenOnSelector 22 -#define kStylisticAltFifteenOffSelector 31 -#define kStylisticAltFifteenOnSelector 30 -#define kStylisticAltFiveOffSelector 11 -#define kStylisticAltFiveOnSelector 10 -#define kStylisticAltFourOffSelector 9 -#define kStylisticAltFourOnSelector 8 -#define kStylisticAltFourteenOffSelector 29 -#define kStylisticAltFourteenOnSelector 28 -#define kStylisticAltNineOffSelector 19 -#define kStylisticAltNineOnSelector 18 -#define kStylisticAltNineteenOffSelector 39 -#define kStylisticAltNineteenOnSelector 38 -#define kStylisticAltOneOffSelector 3 -#define kStylisticAltOneOnSelector 2 -#define kStylisticAltSevenOffSelector 15 -#define kStylisticAltSevenOnSelector 14 -#define kStylisticAltSeventeenOffSelector 35 -#define kStylisticAltSeventeenOnSelector 34 -#define kStylisticAltSixOffSelector 13 -#define kStylisticAltSixOnSelector 12 -#define kStylisticAltSixteenOffSelector 33 -#define kStylisticAltSixteenOnSelector 32 -#define kStylisticAltTenOffSelector 21 -#define kStylisticAltTenOnSelector 20 -#define kStylisticAltThirteenOffSelector 27 -#define kStylisticAltThirteenOnSelector 26 -#define kStylisticAltThreeOffSelector 7 -#define kStylisticAltThreeOnSelector 6 -#define kStylisticAltTwelveOffSelector 25 -#define kStylisticAltTwelveOnSelector 24 -#define kStylisticAltTwentyOffSelector 41 -#define kStylisticAltTwentyOnSelector 40 -#define kStylisticAltTwoOffSelector 5 -#define kStylisticAltTwoOnSelector 4 -#define kStylisticAlternativesType 35 -#define kSwashAlternatesOffSelector 3 -#define kSwashAlternatesOnSelector 2 -#define kThirdWidthTextSelector 3 -#define kTraditionalNamesCharactersSelector 14 -#define kUpperCasePetiteCapsSelector 2 -#define kUpperCaseSmallCapsSelector 1 -#define kUpperCaseType 38 - -/* Table data courtesy of Apple. */ -static const struct feature_mapping_t { - FourCharCode otFeatureTag; - uint16_t aatFeatureType; - uint16_t selectorToEnable; - uint16_t selectorToDisable; -} feature_mappings[] = { - { 'c2pc', kUpperCaseType, kUpperCasePetiteCapsSelector, kDefaultUpperCaseSelector }, - { 'c2sc', kUpperCaseType, kUpperCaseSmallCapsSelector, kDefaultUpperCaseSelector }, - { 'calt', kContextualAlternatesType, kContextualAlternatesOnSelector, kContextualAlternatesOffSelector }, - { 'case', kCaseSensitiveLayoutType, kCaseSensitiveLayoutOnSelector, kCaseSensitiveLayoutOffSelector }, - { 'clig', kLigaturesType, kContextualLigaturesOnSelector, kContextualLigaturesOffSelector }, - { 'cpsp', kCaseSensitiveLayoutType, kCaseSensitiveSpacingOnSelector, kCaseSensitiveSpacingOffSelector }, - { 'cswh', kContextualAlternatesType, kContextualSwashAlternatesOnSelector, kContextualSwashAlternatesOffSelector }, - { 'dlig', kLigaturesType, kRareLigaturesOnSelector, kRareLigaturesOffSelector }, - { 'expt', kCharacterShapeType, kExpertCharactersSelector, 16 }, - { 'frac', kFractionsType, kDiagonalFractionsSelector, kNoFractionsSelector }, - { 'fwid', kTextSpacingType, kMonospacedTextSelector, 7 }, - { 'halt', kTextSpacingType, kAltHalfWidthTextSelector, 7 }, - { 'hist', kLigaturesType, kHistoricalLigaturesOnSelector, kHistoricalLigaturesOffSelector }, - { 'hkna', kAlternateKanaType, kAlternateHorizKanaOnSelector, kAlternateHorizKanaOffSelector, }, - { 'hlig', kLigaturesType, kHistoricalLigaturesOnSelector, kHistoricalLigaturesOffSelector }, - { 'hngl', kTransliterationType, kHanjaToHangulSelector, kNoTransliterationSelector }, - { 'hojo', kCharacterShapeType, kHojoCharactersSelector, 16 }, - { 'hwid', kTextSpacingType, kHalfWidthTextSelector, 7 }, - { 'ital', kItalicCJKRomanType, kCJKItalicRomanOnSelector, kCJKItalicRomanOffSelector }, - { 'jp04', kCharacterShapeType, kJIS2004CharactersSelector, 16 }, - { 'jp78', kCharacterShapeType, kJIS1978CharactersSelector, 16 }, - { 'jp83', kCharacterShapeType, kJIS1983CharactersSelector, 16 }, - { 'jp90', kCharacterShapeType, kJIS1990CharactersSelector, 16 }, - { 'liga', kLigaturesType, kCommonLigaturesOnSelector, kCommonLigaturesOffSelector }, - { 'lnum', kNumberCaseType, kUpperCaseNumbersSelector, 2 }, - { 'mgrk', kMathematicalExtrasType, kMathematicalGreekOnSelector, kMathematicalGreekOffSelector }, - { 'nlck', kCharacterShapeType, kNLCCharactersSelector, 16 }, - { 'onum', kNumberCaseType, kLowerCaseNumbersSelector, 2 }, - { 'ordn', kVerticalPositionType, kOrdinalsSelector, kNormalPositionSelector }, - { 'palt', kTextSpacingType, kAltProportionalTextSelector, 7 }, - { 'pcap', kLowerCaseType, kLowerCasePetiteCapsSelector, kDefaultLowerCaseSelector }, - { 'pkna', kTextSpacingType, kProportionalTextSelector, 7 }, - { 'pnum', kNumberSpacingType, kProportionalNumbersSelector, 4 }, - { 'pwid', kTextSpacingType, kProportionalTextSelector, 7 }, - { 'qwid', kTextSpacingType, kQuarterWidthTextSelector, 7 }, - { 'ruby', kRubyKanaType, kRubyKanaOnSelector, kRubyKanaOffSelector }, - { 'sinf', kVerticalPositionType, kScientificInferiorsSelector, kNormalPositionSelector }, - { 'smcp', kLowerCaseType, kLowerCaseSmallCapsSelector, kDefaultLowerCaseSelector }, - { 'smpl', kCharacterShapeType, kSimplifiedCharactersSelector, 16 }, - { 'ss01', kStylisticAlternativesType, kStylisticAltOneOnSelector, kStylisticAltOneOffSelector }, - { 'ss02', kStylisticAlternativesType, kStylisticAltTwoOnSelector, kStylisticAltTwoOffSelector }, - { 'ss03', kStylisticAlternativesType, kStylisticAltThreeOnSelector, kStylisticAltThreeOffSelector }, - { 'ss04', kStylisticAlternativesType, kStylisticAltFourOnSelector, kStylisticAltFourOffSelector }, - { 'ss05', kStylisticAlternativesType, kStylisticAltFiveOnSelector, kStylisticAltFiveOffSelector }, - { 'ss06', kStylisticAlternativesType, kStylisticAltSixOnSelector, kStylisticAltSixOffSelector }, - { 'ss07', kStylisticAlternativesType, kStylisticAltSevenOnSelector, kStylisticAltSevenOffSelector }, - { 'ss08', kStylisticAlternativesType, kStylisticAltEightOnSelector, kStylisticAltEightOffSelector }, - { 'ss09', kStylisticAlternativesType, kStylisticAltNineOnSelector, kStylisticAltNineOffSelector }, - { 'ss10', kStylisticAlternativesType, kStylisticAltTenOnSelector, kStylisticAltTenOffSelector }, - { 'ss11', kStylisticAlternativesType, kStylisticAltElevenOnSelector, kStylisticAltElevenOffSelector }, - { 'ss12', kStylisticAlternativesType, kStylisticAltTwelveOnSelector, kStylisticAltTwelveOffSelector }, - { 'ss13', kStylisticAlternativesType, kStylisticAltThirteenOnSelector, kStylisticAltThirteenOffSelector }, - { 'ss14', kStylisticAlternativesType, kStylisticAltFourteenOnSelector, kStylisticAltFourteenOffSelector }, - { 'ss15', kStylisticAlternativesType, kStylisticAltFifteenOnSelector, kStylisticAltFifteenOffSelector }, - { 'ss16', kStylisticAlternativesType, kStylisticAltSixteenOnSelector, kStylisticAltSixteenOffSelector }, - { 'ss17', kStylisticAlternativesType, kStylisticAltSeventeenOnSelector, kStylisticAltSeventeenOffSelector }, - { 'ss18', kStylisticAlternativesType, kStylisticAltEighteenOnSelector, kStylisticAltEighteenOffSelector }, - { 'ss19', kStylisticAlternativesType, kStylisticAltNineteenOnSelector, kStylisticAltNineteenOffSelector }, - { 'ss20', kStylisticAlternativesType, kStylisticAltTwentyOnSelector, kStylisticAltTwentyOffSelector }, - { 'subs', kVerticalPositionType, kInferiorsSelector, kNormalPositionSelector }, - { 'sups', kVerticalPositionType, kSuperiorsSelector, kNormalPositionSelector }, - { 'swsh', kContextualAlternatesType, kSwashAlternatesOnSelector, kSwashAlternatesOffSelector }, - { 'titl', kStyleOptionsType, kTitlingCapsSelector, kNoStyleOptionsSelector }, - { 'tnam', kCharacterShapeType, kTraditionalNamesCharactersSelector, 16 }, - { 'tnum', kNumberSpacingType, kMonospacedNumbersSelector, 4 }, - { 'trad', kCharacterShapeType, kTraditionalCharactersSelector, 16 }, - { 'twid', kTextSpacingType, kThirdWidthTextSelector, 7 }, - { 'unic', kLetterCaseType, 14, 15 }, - { 'valt', kTextSpacingType, kAltProportionalTextSelector, 7 }, - { 'vert', kVerticalSubstitutionType, kSubstituteVerticalFormsOnSelector, kSubstituteVerticalFormsOffSelector }, - { 'vhal', kTextSpacingType, kAltHalfWidthTextSelector, 7 }, - { 'vkna', kAlternateKanaType, kAlternateVertKanaOnSelector, kAlternateVertKanaOffSelector }, - { 'vpal', kTextSpacingType, kAltProportionalTextSelector, 7 }, - { 'vrt2', kVerticalSubstitutionType, kSubstituteVerticalFormsOnSelector, kSubstituteVerticalFormsOffSelector }, - { 'zero', kTypographicExtrasType, kSlashedZeroOnSelector, kSlashedZeroOffSelector }, -}; - -static int -_hb_feature_mapping_cmp (const void *key_, const void *entry_) -{ - unsigned int key = * (unsigned int *) key_; - const feature_mapping_t * entry = (const feature_mapping_t *) entry_; - return key < entry->otFeatureTag ? -1 : - key > entry->otFeatureTag ? 1 : - 0; -} - -hb_bool_t -_hb_coretext_shape (hb_shape_plan_t *shape_plan, - hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features) -{ - hb_face_t *face = font->face; - CGFontRef cg_font = (CGFontRef) HB_SHAPER_DATA_GET (face); - CTFontRef ct_font = (CTFontRef) HB_SHAPER_DATA_GET (font); - - CGFloat ct_font_size = CTFontGetSize (ct_font); - CGFloat x_mult = (CGFloat) font->x_scale / ct_font_size; - CGFloat y_mult = (CGFloat) font->y_scale / ct_font_size; - - /* Attach marks to their bases, to match the 'ot' shaper. - * Adapted from hb-ot-shape:hb_form_clusters(). - * Note that this only makes us be closer to the 'ot' shaper, - * but by no means the same. For example, if there's - * B1 M1 B2 M2, and B1-B2 form a ligature, M2's cluster will - * continue pointing to B2 even though B2 was merged into B1's - * cluster... */ - if (buffer->cluster_level == HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES) - { - hb_unicode_funcs_t *unicode = buffer->unicode; - unsigned int count = buffer->len; - hb_glyph_info_t *info = buffer->info; - for (unsigned int i = 1; i < count; i++) - if (HB_UNICODE_GENERAL_CATEGORY_IS_MARK (unicode->general_category (info[i].codepoint))) - buffer->merge_clusters (i - 1, i + 1); - } - - hb_auto_t > feature_records; - hb_auto_t > range_records; - - /* - * Set up features. - * (copied + modified from code from hb-uniscribe.cc) - */ - if (num_features) - { - /* Sort features by start/end events. */ - hb_auto_t > feature_events; - for (unsigned int i = 0; i < num_features; i++) - { - const feature_mapping_t * mapping = (const feature_mapping_t *) bsearch (&features[i].tag, - feature_mappings, - ARRAY_LENGTH (feature_mappings), - sizeof (feature_mappings[0]), - _hb_feature_mapping_cmp); - if (!mapping) - continue; - - active_feature_t feature; - feature.rec.feature = mapping->aatFeatureType; - feature.rec.setting = features[i].value ? mapping->selectorToEnable : mapping->selectorToDisable; - feature.order = i; - - feature_event_t *event; - - event = feature_events.push (); - event->index = features[i].start; - event->start = true; - event->feature = feature; - - event = feature_events.push (); - event->index = features[i].end; - event->start = false; - event->feature = feature; - } - feature_events.qsort (); - /* Add a strategic final event. */ - { - active_feature_t feature; - feature.rec.feature = HB_TAG_NONE; - feature.rec.setting = 0; - feature.order = num_features + 1; - - feature_event_t *event = feature_events.push (); - event->index = 0; /* This value does magic. */ - event->start = false; - event->feature = feature; - } - - /* Scan events and save features for each range. */ - hb_auto_t > active_features; - unsigned int last_index = 0; - for (unsigned int i = 0; i < feature_events.len; i++) - { - feature_event_t *event = &feature_events[i]; - - if (event->index != last_index) - { - /* Save a snapshot of active features and the range. */ - range_record_t *range = range_records.push (); - - if (active_features.len) - { - CFMutableArrayRef features_array = CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks); - - /* TODO sort and resolve conflicting features? */ - /* active_features.qsort (); */ - for (unsigned int j = 0; j < active_features.len; j++) - { - CFStringRef keys[] = { - kCTFontFeatureTypeIdentifierKey, - kCTFontFeatureSelectorIdentifierKey - }; - CFNumberRef values[] = { - CFNumberCreate (kCFAllocatorDefault, kCFNumberIntType, &active_features[j].rec.feature), - CFNumberCreate (kCFAllocatorDefault, kCFNumberIntType, &active_features[j].rec.setting) - }; - static_assert ((ARRAY_LENGTH_CONST (keys) == ARRAY_LENGTH_CONST (values)), ""); - CFDictionaryRef dict = CFDictionaryCreate (kCFAllocatorDefault, - (const void **) keys, - (const void **) values, - ARRAY_LENGTH (keys), - &kCFTypeDictionaryKeyCallBacks, - &kCFTypeDictionaryValueCallBacks); - for (unsigned int i = 0; i < ARRAY_LENGTH (values); i++) - CFRelease (values[i]); - - CFArrayAppendValue (features_array, dict); - CFRelease (dict); - - } - - CFDictionaryRef attributes = CFDictionaryCreate (kCFAllocatorDefault, - (const void **) &kCTFontFeatureSettingsAttribute, - (const void **) &features_array, - 1, - &kCFTypeDictionaryKeyCallBacks, - &kCFTypeDictionaryValueCallBacks); - CFRelease (features_array); - - CTFontDescriptorRef font_desc = CTFontDescriptorCreateWithAttributes (attributes); - CFRelease (attributes); - - range->font = CTFontCreateCopyWithAttributes (ct_font, 0.0, nullptr, font_desc); - CFRelease (font_desc); - } - else - { - range->font = nullptr; - } - - range->index_first = last_index; - range->index_last = event->index - 1; - - last_index = event->index; - } - - if (event->start) - { - active_features.push (event->feature); - } else { - active_feature_t *feature = active_features.find (&event->feature); - if (feature) - active_features.remove (feature - active_features.arrayZ); - } - } - } - - unsigned int scratch_size; - hb_buffer_t::scratch_buffer_t *scratch = buffer->get_scratch_buffer (&scratch_size); - -#define ALLOCATE_ARRAY(Type, name, len, on_no_room) \ - Type *name = (Type *) scratch; \ - { \ - unsigned int _consumed = DIV_CEIL ((len) * sizeof (Type), sizeof (*scratch)); \ - if (unlikely (_consumed > scratch_size)) \ - { \ - on_no_room; \ - assert (0); \ - } \ - scratch += _consumed; \ - scratch_size -= _consumed; \ - } - - ALLOCATE_ARRAY (UniChar, pchars, buffer->len * 2, /*nothing*/); - unsigned int chars_len = 0; - for (unsigned int i = 0; i < buffer->len; i++) { - hb_codepoint_t c = buffer->info[i].codepoint; - if (likely (c <= 0xFFFFu)) - pchars[chars_len++] = c; - else if (unlikely (c > 0x10FFFFu)) - pchars[chars_len++] = 0xFFFDu; - else { - pchars[chars_len++] = 0xD800u + ((c - 0x10000u) >> 10); - pchars[chars_len++] = 0xDC00u + ((c - 0x10000u) & ((1u << 10) - 1)); - } - } - - ALLOCATE_ARRAY (unsigned int, log_clusters, chars_len, /*nothing*/); - chars_len = 0; - for (unsigned int i = 0; i < buffer->len; i++) - { - hb_codepoint_t c = buffer->info[i].codepoint; - unsigned int cluster = buffer->info[i].cluster; - log_clusters[chars_len++] = cluster; - if (hb_in_range (c, 0x10000u, 0x10FFFFu)) - log_clusters[chars_len++] = cluster; /* Surrogates. */ - } - -#define FAIL(...) \ - HB_STMT_START { \ - DEBUG_MSG (CORETEXT, nullptr, __VA_ARGS__); \ - ret = false; \ - goto fail; \ - } HB_STMT_END; - - bool ret = true; - CFStringRef string_ref = nullptr; - CTLineRef line = nullptr; - - if (0) - { -resize_and_retry: - DEBUG_MSG (CORETEXT, buffer, "Buffer resize"); - /* string_ref uses the scratch-buffer for backing store, and line references - * string_ref (via attr_string). We must release those before resizing buffer. */ - assert (string_ref); - assert (line); - CFRelease (string_ref); - CFRelease (line); - string_ref = nullptr; - line = nullptr; - - /* Get previous start-of-scratch-area, that we use later for readjusting - * our existing scratch arrays. */ - unsigned int old_scratch_used; - hb_buffer_t::scratch_buffer_t *old_scratch; - old_scratch = buffer->get_scratch_buffer (&old_scratch_used); - old_scratch_used = scratch - old_scratch; - - if (unlikely (!buffer->ensure (buffer->allocated * 2))) - FAIL ("Buffer resize failed"); - - /* Adjust scratch, pchars, and log_cluster arrays. This is ugly, but really the - * cleanest way to do without completely restructuring the rest of this shaper. */ - scratch = buffer->get_scratch_buffer (&scratch_size); - pchars = reinterpret_cast (((char *) scratch + ((char *) pchars - (char *) old_scratch))); - log_clusters = reinterpret_cast (((char *) scratch + ((char *) log_clusters - (char *) old_scratch))); - scratch += old_scratch_used; - scratch_size -= old_scratch_used; - } - { - string_ref = CFStringCreateWithCharactersNoCopy (nullptr, - pchars, chars_len, - kCFAllocatorNull); - if (unlikely (!string_ref)) - FAIL ("CFStringCreateWithCharactersNoCopy failed"); - - /* Create an attributed string, populate it, and create a line from it, then release attributed string. */ - { - CFMutableAttributedStringRef attr_string = CFAttributedStringCreateMutable (kCFAllocatorDefault, - chars_len); - if (unlikely (!attr_string)) - FAIL ("CFAttributedStringCreateMutable failed"); - CFAttributedStringReplaceString (attr_string, CFRangeMake (0, 0), string_ref); - if (HB_DIRECTION_IS_VERTICAL (buffer->props.direction)) - { - CFAttributedStringSetAttribute (attr_string, CFRangeMake (0, chars_len), - kCTVerticalFormsAttributeName, kCFBooleanTrue); - } - - if (buffer->props.language) - { -/* What's the iOS equivalent of this check? - * The symbols was introduced in iOS 7.0. - * At any rate, our fallback is safe and works fine. */ -#if MAC_OS_X_VERSION_MIN_REQUIRED < 1090 -# define kCTLanguageAttributeName CFSTR ("NSLanguage") -#endif - CFStringRef lang = CFStringCreateWithCStringNoCopy (kCFAllocatorDefault, - hb_language_to_string (buffer->props.language), - kCFStringEncodingUTF8, - kCFAllocatorNull); - if (unlikely (!lang)) - { - CFRelease (attr_string); - FAIL ("CFStringCreateWithCStringNoCopy failed"); - } - CFAttributedStringSetAttribute (attr_string, CFRangeMake (0, chars_len), - kCTLanguageAttributeName, lang); - CFRelease (lang); - } - CFAttributedStringSetAttribute (attr_string, CFRangeMake (0, chars_len), - kCTFontAttributeName, ct_font); - - if (num_features && range_records.len) - { - unsigned int start = 0; - range_record_t *last_range = &range_records[0]; - for (unsigned int k = 0; k < chars_len; k++) - { - range_record_t *range = last_range; - while (log_clusters[k] < range->index_first) - range--; - while (log_clusters[k] > range->index_last) - range++; - if (range != last_range) - { - if (last_range->font) - CFAttributedStringSetAttribute (attr_string, CFRangeMake (start, k - start), - kCTFontAttributeName, last_range->font); - - start = k; - } - - last_range = range; - } - if (start != chars_len && last_range->font) - CFAttributedStringSetAttribute (attr_string, CFRangeMake (start, chars_len - start), - kCTFontAttributeName, last_range->font); - } - /* Enable/disable kern if requested. - * - * Note: once kern is disabled, reenabling it doesn't currently seem to work in CoreText. - */ - if (num_features) - { - unsigned int zeroint = 0; - CFNumberRef zero = CFNumberCreate (kCFAllocatorDefault, kCFNumberIntType, &zeroint); - for (unsigned int i = 0; i < num_features; i++) - { - const hb_feature_t &feature = features[i]; - if (feature.tag == HB_TAG('k','e','r','n') && - feature.start < chars_len && feature.start < feature.end) - { - CFRange feature_range = CFRangeMake (feature.start, - MIN (feature.end, chars_len) - feature.start); - if (feature.value) - CFAttributedStringRemoveAttribute (attr_string, feature_range, kCTKernAttributeName); - else - CFAttributedStringSetAttribute (attr_string, feature_range, kCTKernAttributeName, zero); - } - } - CFRelease (zero); - } - - int level = HB_DIRECTION_IS_FORWARD (buffer->props.direction) ? 0 : 1; - CFNumberRef level_number = CFNumberCreate (kCFAllocatorDefault, kCFNumberIntType, &level); -#if MAC_OS_X_VERSION_MIN_REQUIRED < 1060 - extern const CFStringRef kCTTypesetterOptionForcedEmbeddingLevel; -#endif - CFDictionaryRef options = CFDictionaryCreate (kCFAllocatorDefault, - (const void **) &kCTTypesetterOptionForcedEmbeddingLevel, - (const void **) &level_number, - 1, - &kCFTypeDictionaryKeyCallBacks, - &kCFTypeDictionaryValueCallBacks); - CFRelease (level_number); - if (unlikely (!options)) - { - CFRelease (attr_string); - FAIL ("CFDictionaryCreate failed"); - } - - CTTypesetterRef typesetter = CTTypesetterCreateWithAttributedStringAndOptions (attr_string, options); - CFRelease (options); - CFRelease (attr_string); - if (unlikely (!typesetter)) - FAIL ("CTTypesetterCreateWithAttributedStringAndOptions failed"); - - line = CTTypesetterCreateLine (typesetter, CFRangeMake(0, 0)); - CFRelease (typesetter); - if (unlikely (!line)) - FAIL ("CTTypesetterCreateLine failed"); - } - - CFArrayRef glyph_runs = CTLineGetGlyphRuns (line); - unsigned int num_runs = CFArrayGetCount (glyph_runs); - DEBUG_MSG (CORETEXT, nullptr, "Num runs: %d", num_runs); - - buffer->len = 0; - uint32_t status_and = ~0, status_or = 0; - double advances_so_far = 0; - /* For right-to-left runs, CoreText returns the glyphs positioned such that - * any trailing whitespace is to the left of (0,0). Adjust coordinate system - * to fix for that. Test with any RTL string with trailing spaces. - * https://crbug.com/469028 - */ - if (HB_DIRECTION_IS_BACKWARD (buffer->props.direction)) - { - advances_so_far -= CTLineGetTrailingWhitespaceWidth (line); - if (HB_DIRECTION_IS_VERTICAL (buffer->props.direction)) - advances_so_far = -advances_so_far; - } - - const CFRange range_all = CFRangeMake (0, 0); - - for (unsigned int i = 0; i < num_runs; i++) - { - CTRunRef run = static_cast(CFArrayGetValueAtIndex (glyph_runs, i)); - CTRunStatus run_status = CTRunGetStatus (run); - status_or |= run_status; - status_and &= run_status; - DEBUG_MSG (CORETEXT, run, "CTRunStatus: %x", run_status); - double run_advance = CTRunGetTypographicBounds (run, range_all, nullptr, nullptr, nullptr); - if (HB_DIRECTION_IS_VERTICAL (buffer->props.direction)) - run_advance = -run_advance; - DEBUG_MSG (CORETEXT, run, "Run advance: %g", run_advance); - - /* CoreText does automatic font fallback (AKA "cascading") for characters - * not supported by the requested font, and provides no way to turn it off, - * so we must detect if the returned run uses a font other than the requested - * one and fill in the buffer with .notdef glyphs instead of random glyph - * indices from a different font. - */ - CFDictionaryRef attributes = CTRunGetAttributes (run); - CTFontRef run_ct_font = static_cast(CFDictionaryGetValue (attributes, kCTFontAttributeName)); - if (!CFEqual (run_ct_font, ct_font)) - { - /* The run doesn't use our main font instance. We have to figure out - * whether font fallback happened, or this is just CoreText giving us - * another CTFont using the same underlying CGFont. CoreText seems - * to do that in a variety of situations, one of which being vertical - * text, but also perhaps for caching reasons. - * - * First, see if it uses any of our subfonts created to set font features... - * - * Next, compare the CGFont to the one we used to create our fonts. - * Even this doesn't work all the time. - * - * Finally, we compare PS names, which I don't think are unique... - * - * Looks like if we really want to be sure here we have to modify the - * font to change the name table, similar to what we do in the uniscribe - * backend. - * - * However, even that wouldn't work if we were passed in the CGFont to - * construct a hb_face to begin with. - * - * See: https://github.com/harfbuzz/harfbuzz/pull/36 - * - * Also see: https://bugs.chromium.org/p/chromium/issues/detail?id=597098 - */ - bool matched = false; - for (unsigned int i = 0; i < range_records.len; i++) - if (range_records[i].font && CFEqual (run_ct_font, range_records[i].font)) - { - matched = true; - break; - } - if (!matched) - { - CGFontRef run_cg_font = CTFontCopyGraphicsFont (run_ct_font, nullptr); - if (run_cg_font) - { - matched = CFEqual (run_cg_font, cg_font); - CFRelease (run_cg_font); - } - } - if (!matched) - { - CFStringRef font_ps_name = CTFontCopyName (ct_font, kCTFontPostScriptNameKey); - CFStringRef run_ps_name = CTFontCopyName (run_ct_font, kCTFontPostScriptNameKey); - CFComparisonResult result = CFStringCompare (run_ps_name, font_ps_name, 0); - CFRelease (run_ps_name); - CFRelease (font_ps_name); - if (result == kCFCompareEqualTo) - matched = true; - } - if (!matched) - { - CFRange range = CTRunGetStringRange (run); - DEBUG_MSG (CORETEXT, run, "Run used fallback font: %ld..%ld", - range.location, range.location + range.length); - if (!buffer->ensure_inplace (buffer->len + range.length)) - goto resize_and_retry; - hb_glyph_info_t *info = buffer->info + buffer->len; - - hb_codepoint_t notdef = 0; - hb_direction_t dir = buffer->props.direction; - hb_position_t x_advance, y_advance, x_offset, y_offset; - hb_font_get_glyph_advance_for_direction (font, notdef, dir, &x_advance, &y_advance); - hb_font_get_glyph_origin_for_direction (font, notdef, dir, &x_offset, &y_offset); - hb_position_t advance = x_advance + y_advance; - x_offset = -x_offset; - y_offset = -y_offset; - - unsigned int old_len = buffer->len; - for (CFIndex j = range.location; j < range.location + range.length; j++) - { - UniChar ch = CFStringGetCharacterAtIndex (string_ref, j); - if (hb_in_range (ch, 0xDC00u, 0xDFFFu) && range.location < j) - { - ch = CFStringGetCharacterAtIndex (string_ref, j - 1); - if (hb_in_range (ch, 0xD800u, 0xDBFFu)) - /* This is the second of a surrogate pair. Don't need .notdef - * for this one. */ - continue; - } - if (buffer->unicode->is_default_ignorable (ch)) - continue; - - info->codepoint = notdef; - info->cluster = log_clusters[j]; - - info->mask = advance; - info->var1.i32 = x_offset; - info->var2.i32 = y_offset; - - info++; - buffer->len++; - } - if (HB_DIRECTION_IS_BACKWARD (buffer->props.direction)) - buffer->reverse_range (old_len, buffer->len); - advances_so_far += run_advance; - continue; - } - } - - unsigned int num_glyphs = CTRunGetGlyphCount (run); - if (num_glyphs == 0) - continue; - - if (!buffer->ensure_inplace (buffer->len + num_glyphs)) - goto resize_and_retry; - - hb_glyph_info_t *run_info = buffer->info + buffer->len; - - /* Testing used to indicate that CTRunGetGlyphsPtr, etc (almost?) always - * succeed, and so copying data to our own buffer will be rare. Reports - * have it that this changed in OS X 10.10 Yosemite, and nullptr is returned - * frequently. At any rate, we can test that codepath by setting USE_PTR - * to false. */ - -#define USE_PTR true - -#define SCRATCH_SAVE() \ - unsigned int scratch_size_saved = scratch_size; \ - hb_buffer_t::scratch_buffer_t *scratch_saved = scratch - -#define SCRATCH_RESTORE() \ - scratch_size = scratch_size_saved; \ - scratch = scratch_saved; - - { /* Setup glyphs */ - SCRATCH_SAVE(); - const CGGlyph* glyphs = USE_PTR ? CTRunGetGlyphsPtr (run) : nullptr; - if (!glyphs) { - ALLOCATE_ARRAY (CGGlyph, glyph_buf, num_glyphs, goto resize_and_retry); - CTRunGetGlyphs (run, range_all, glyph_buf); - glyphs = glyph_buf; - } - const CFIndex* string_indices = USE_PTR ? CTRunGetStringIndicesPtr (run) : nullptr; - if (!string_indices) { - ALLOCATE_ARRAY (CFIndex, index_buf, num_glyphs, goto resize_and_retry); - CTRunGetStringIndices (run, range_all, index_buf); - string_indices = index_buf; - } - hb_glyph_info_t *info = run_info; - for (unsigned int j = 0; j < num_glyphs; j++) - { - info->codepoint = glyphs[j]; - info->cluster = log_clusters[string_indices[j]]; - info++; - } - SCRATCH_RESTORE(); - } - { - /* Setup positions. - * Note that CoreText does not return advances for glyphs. As such, - * for all but last glyph, we use the delta position to next glyph as - * advance (in the advance direction only), and for last glyph we set - * whatever is needed to make the whole run's advance add up. */ - SCRATCH_SAVE(); - const CGPoint* positions = USE_PTR ? CTRunGetPositionsPtr (run) : nullptr; - if (!positions) { - ALLOCATE_ARRAY (CGPoint, position_buf, num_glyphs, goto resize_and_retry); - CTRunGetPositions (run, range_all, position_buf); - positions = position_buf; - } - hb_glyph_info_t *info = run_info; - if (HB_DIRECTION_IS_HORIZONTAL (buffer->props.direction)) - { - hb_position_t x_offset = (positions[0].x - advances_so_far) * x_mult; - for (unsigned int j = 0; j < num_glyphs; j++) - { - double advance; - if (likely (j + 1 < num_glyphs)) - advance = positions[j + 1].x - positions[j].x; - else /* last glyph */ - advance = run_advance - (positions[j].x - positions[0].x); - info->mask = advance * x_mult; - info->var1.i32 = x_offset; - info->var2.i32 = positions[j].y * y_mult; - info++; - } - } - else - { - hb_position_t y_offset = (positions[0].y - advances_so_far) * y_mult; - for (unsigned int j = 0; j < num_glyphs; j++) - { - double advance; - if (likely (j + 1 < num_glyphs)) - advance = positions[j + 1].y - positions[j].y; - else /* last glyph */ - advance = run_advance - (positions[j].y - positions[0].y); - info->mask = advance * y_mult; - info->var1.i32 = positions[j].x * x_mult; - info->var2.i32 = y_offset; - info++; - } - } - SCRATCH_RESTORE(); - advances_so_far += run_advance; - } -#undef SCRATCH_RESTORE -#undef SCRATCH_SAVE -#undef USE_PTR -#undef ALLOCATE_ARRAY - - buffer->len += num_glyphs; - } - - /* Mac OS 10.6 doesn't have kCTTypesetterOptionForcedEmbeddingLevel, - * or if it does, it doesn't respect it. So we get runs with wrong - * directions. As such, disable the assert... It wouldn't crash, but - * cursoring will be off... - * - * https://crbug.com/419769 - */ - if (0) - { - /* Make sure all runs had the expected direction. */ - bool backward = HB_DIRECTION_IS_BACKWARD (buffer->props.direction); - assert (bool (status_and & kCTRunStatusRightToLeft) == backward); - assert (bool (status_or & kCTRunStatusRightToLeft) == backward); - } - - buffer->clear_positions (); - - unsigned int count = buffer->len; - hb_glyph_info_t *info = buffer->info; - hb_glyph_position_t *pos = buffer->pos; - if (HB_DIRECTION_IS_HORIZONTAL (buffer->props.direction)) - for (unsigned int i = 0; i < count; i++) - { - pos->x_advance = info->mask; - pos->x_offset = info->var1.i32; - pos->y_offset = info->var2.i32; - - info++, pos++; - } - else - for (unsigned int i = 0; i < count; i++) - { - pos->y_advance = info->mask; - pos->x_offset = info->var1.i32; - pos->y_offset = info->var2.i32; - - info++, pos++; - } - - /* Fix up clusters so that we never return out-of-order indices; - * if core text has reordered glyphs, we'll merge them to the - * beginning of the reordered cluster. CoreText is nice enough - * to tell us whenever it has produced nonmonotonic results... - * Note that we assume the input clusters were nonmonotonic to - * begin with. - * - * This does *not* mean we'll form the same clusters as Uniscribe - * or the native OT backend, only that the cluster indices will be - * monotonic in the output buffer. */ - if (count > 1 && (status_or & kCTRunStatusNonMonotonic)) - { - hb_glyph_info_t *info = buffer->info; - if (HB_DIRECTION_IS_FORWARD (buffer->props.direction)) - { - unsigned int cluster = info[count - 1].cluster; - for (unsigned int i = count - 1; i > 0; i--) - { - cluster = MIN (cluster, info[i - 1].cluster); - info[i - 1].cluster = cluster; - } - } - else - { - unsigned int cluster = info[0].cluster; - for (unsigned int i = 1; i < count; i++) - { - cluster = MIN (cluster, info[i].cluster); - info[i].cluster = cluster; - } - } - } - } - - buffer->unsafe_to_break_all (); - -#undef FAIL - -fail: - if (string_ref) - CFRelease (string_ref); - if (line) - CFRelease (line); - - for (unsigned int i = 0; i < range_records.len; i++) - if (range_records[i].font) - CFRelease (range_records[i].font); - - return ret; -} - - -/* - * AAT shaper - */ - -HB_SHAPER_DATA_ENSURE_DEFINE(coretext_aat, face) -HB_SHAPER_DATA_ENSURE_DEFINE(coretext_aat, font) - -/* - * shaper face data - */ - -struct hb_coretext_aat_face_data_t {}; - -hb_coretext_aat_face_data_t * -_hb_coretext_aat_shaper_face_data_create (hb_face_t *face) -{ - static const hb_tag_t tags[] = {HB_CORETEXT_TAG_MORX, HB_CORETEXT_TAG_MORT, HB_CORETEXT_TAG_KERX}; - - for (unsigned int i = 0; i < ARRAY_LENGTH (tags); i++) - { - hb_blob_t *blob = face->reference_table (tags[i]); - if (hb_blob_get_length (blob)) - { - hb_blob_destroy (blob); - return hb_coretext_shaper_face_data_ensure (face) ? (hb_coretext_aat_face_data_t *) HB_SHAPER_DATA_SUCCEEDED : nullptr; - } - hb_blob_destroy (blob); - } - - return nullptr; -} - -void -_hb_coretext_aat_shaper_face_data_destroy (hb_coretext_aat_face_data_t *data HB_UNUSED) -{ -} - - -/* - * shaper font data - */ - -struct hb_coretext_aat_font_data_t {}; - -hb_coretext_aat_font_data_t * -_hb_coretext_aat_shaper_font_data_create (hb_font_t *font) -{ - return hb_coretext_shaper_font_data_ensure (font) ? (hb_coretext_aat_font_data_t *) HB_SHAPER_DATA_SUCCEEDED : nullptr; -} - -void -_hb_coretext_aat_shaper_font_data_destroy (hb_coretext_aat_font_data_t *data HB_UNUSED) -{ -} - - -/* - * shaper shape_plan data - */ - -struct hb_coretext_aat_shape_plan_data_t {}; - -hb_coretext_aat_shape_plan_data_t * -_hb_coretext_aat_shaper_shape_plan_data_create (hb_shape_plan_t *shape_plan HB_UNUSED, - const hb_feature_t *user_features HB_UNUSED, - unsigned int num_user_features HB_UNUSED, - const int *coords HB_UNUSED, - unsigned int num_coords HB_UNUSED) -{ - return (hb_coretext_aat_shape_plan_data_t *) HB_SHAPER_DATA_SUCCEEDED; -} - -void -_hb_coretext_aat_shaper_shape_plan_data_destroy (hb_coretext_aat_shape_plan_data_t *data HB_UNUSED) -{ -} - - -/* - * shaper - */ - -hb_bool_t -_hb_coretext_aat_shape (hb_shape_plan_t *shape_plan, - hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features) -{ - return _hb_coretext_shape (shape_plan, font, buffer, features, num_features); -} diff --git a/harfbuzz-1.9.0/src/hb-coretext.h b/harfbuzz-1.9.0/src/hb-coretext.h deleted file mode 100644 index 4b0a6f01b..000000000 --- a/harfbuzz-1.9.0/src/hb-coretext.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright © 2012 Mozilla Foundation. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Mozilla Author(s): Jonathan Kew - */ - -#ifndef HB_CORETEXT_H -#define HB_CORETEXT_H - -#include "hb.h" - -#include -#if TARGET_OS_IPHONE -# include -# include -#else -# include -#endif - -HB_BEGIN_DECLS - - -#define HB_CORETEXT_TAG_MORT HB_TAG('m','o','r','t') -#define HB_CORETEXT_TAG_MORX HB_TAG('m','o','r','x') -#define HB_CORETEXT_TAG_KERX HB_TAG('k','e','r','x') - - -HB_EXTERN hb_face_t * -hb_coretext_face_create (CGFontRef cg_font); - -HB_EXTERN hb_font_t * -hb_coretext_font_create (CTFontRef ct_font); - - -HB_EXTERN CGFontRef -hb_coretext_face_get_cg_font (hb_face_t *face); - -HB_EXTERN CTFontRef -hb_coretext_font_get_ct_font (hb_font_t *font); - - -HB_END_DECLS - -#endif /* HB_CORETEXT_H */ diff --git a/harfbuzz-1.9.0/src/hb-deprecated.h b/harfbuzz-1.9.0/src/hb-deprecated.h deleted file mode 100644 index eac7efb42..000000000 --- a/harfbuzz-1.9.0/src/hb-deprecated.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright © 2013 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_H_IN -#error "Include instead." -#endif - -#ifndef HB_DEPRECATED_H -#define HB_DEPRECATED_H - -#include "hb-common.h" -#include "hb-unicode.h" -#include "hb-font.h" -#include "hb-set.h" - -HB_BEGIN_DECLS - -#ifndef HB_DISABLE_DEPRECATED - -#define HB_SCRIPT_CANADIAN_ABORIGINAL HB_SCRIPT_CANADIAN_SYLLABICS - -#define HB_BUFFER_FLAGS_DEFAULT HB_BUFFER_FLAG_DEFAULT -#define HB_BUFFER_SERIALIZE_FLAGS_DEFAULT HB_BUFFER_SERIALIZE_FLAG_DEFAULT - -typedef hb_bool_t (*hb_font_get_glyph_func_t) (hb_font_t *font, void *font_data, - hb_codepoint_t unicode, hb_codepoint_t variation_selector, - hb_codepoint_t *glyph, - void *user_data); - -HB_EXTERN void -hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs, - hb_font_get_glyph_func_t func, - void *user_data, hb_destroy_func_t destroy); - -HB_EXTERN void -hb_set_invert (hb_set_t *set); - -#endif - -HB_END_DECLS - -#endif /* HB_DEPRECATED_H */ diff --git a/harfbuzz-1.9.0/src/hb-directwrite.cc b/harfbuzz-1.9.0/src/hb-directwrite.cc deleted file mode 100644 index 35197c238..000000000 --- a/harfbuzz-1.9.0/src/hb-directwrite.cc +++ /dev/null @@ -1,910 +0,0 @@ -/* - * Copyright © 2015-2018 Ebrahim Byagowi - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#include "hb.hh" -#define HB_SHAPER directwrite -#include "hb-shaper-impl.hh" - -#include - -#include "hb-directwrite.h" - - -HB_SHAPER_DATA_ENSURE_DEFINE (directwrite, face) -HB_SHAPER_DATA_ENSURE_DEFINE (directwrite, font) - - -/* - * hb-directwrite uses new/delete syntatically but as we let users - * to override malloc/free, we will redefine new/delete so users - * won't need to do that by their own. - */ -void* operator new (size_t size) { return malloc (size); } -void* operator new [] (size_t size) { return malloc (size); } -void operator delete (void* pointer) { free (pointer); } -void operator delete [] (void* pointer) { free (pointer); } - - -/* - * DirectWrite font stream helpers - */ - -// This is a font loader which provides only one font (unlike its original design). -// For a better implementation which was also source of this -// and DWriteFontFileStream, have a look at to NativeFontResourceDWrite.cpp in Mozilla -class DWriteFontFileLoader : public IDWriteFontFileLoader -{ -private: - IDWriteFontFileStream *mFontFileStream; -public: - DWriteFontFileLoader (IDWriteFontFileStream *fontFileStream) - { - mFontFileStream = fontFileStream; - } - - // IUnknown interface - IFACEMETHOD (QueryInterface) (IID const& iid, OUT void** ppObject) { return S_OK; } - IFACEMETHOD_ (ULONG, AddRef) () { return 1; } - IFACEMETHOD_ (ULONG, Release) () { return 1; } - - // IDWriteFontFileLoader methods - virtual HRESULT STDMETHODCALLTYPE CreateStreamFromKey (void const* fontFileReferenceKey, - uint32_t fontFileReferenceKeySize, - OUT IDWriteFontFileStream** fontFileStream) - { - *fontFileStream = mFontFileStream; - return S_OK; - } -}; - -class DWriteFontFileStream : public IDWriteFontFileStream -{ -private: - uint8_t *mData; - uint32_t mSize; -public: - DWriteFontFileStream (uint8_t *aData, uint32_t aSize) - { - mData = aData; - mSize = aSize; - } - - // IUnknown interface - IFACEMETHOD (QueryInterface) (IID const& iid, OUT void** ppObject) { return S_OK; } - IFACEMETHOD_ (ULONG, AddRef) () { return 1; } - IFACEMETHOD_ (ULONG, Release) () { return 1; } - - // IDWriteFontFileStream methods - virtual HRESULT STDMETHODCALLTYPE ReadFileFragment (void const** fragmentStart, - UINT64 fileOffset, - UINT64 fragmentSize, - OUT void** fragmentContext) - { - // We are required to do bounds checking. - if (fileOffset + fragmentSize > mSize) - return E_FAIL; - - // truncate the 64 bit fileOffset to size_t sized index into mData - size_t index = static_cast (fileOffset); - - // We should be alive for the duration of this. - *fragmentStart = &mData[index]; - *fragmentContext = nullptr; - return S_OK; - } - - virtual void STDMETHODCALLTYPE ReleaseFileFragment (void* fragmentContext) { } - - virtual HRESULT STDMETHODCALLTYPE GetFileSize (OUT UINT64* fileSize) - { - *fileSize = mSize; - return S_OK; - } - - virtual HRESULT STDMETHODCALLTYPE GetLastWriteTime (OUT UINT64* lastWriteTime) - { - return E_NOTIMPL; - } -}; - - -/* -* shaper face data -*/ - -struct hb_directwrite_face_data_t -{ - IDWriteFactory *dwriteFactory; - IDWriteFontFile *fontFile; - IDWriteFontFileStream *fontFileStream; - IDWriteFontFileLoader *fontFileLoader; - IDWriteFontFace *fontFace; - hb_blob_t *faceBlob; -}; - -hb_directwrite_face_data_t * -_hb_directwrite_shaper_face_data_create (hb_face_t *face) -{ - hb_directwrite_face_data_t *data = new hb_directwrite_face_data_t; - if (unlikely (!data)) - return nullptr; - - // TODO: factory and fontFileLoader should be cached separately - IDWriteFactory* dwriteFactory; - DWriteCreateFactory ( - DWRITE_FACTORY_TYPE_SHARED, - __uuidof (IDWriteFactory), - (IUnknown**) &dwriteFactory - ); - - HRESULT hr; - hb_blob_t *blob = hb_face_reference_blob (face); - DWriteFontFileStream *fontFileStream = new DWriteFontFileStream ( - (uint8_t *) hb_blob_get_data (blob, nullptr), - hb_blob_get_length (blob)); - - DWriteFontFileLoader *fontFileLoader = new DWriteFontFileLoader (fontFileStream); - dwriteFactory->RegisterFontFileLoader (fontFileLoader); - - IDWriteFontFile *fontFile; - uint64_t fontFileKey = 0; - hr = dwriteFactory->CreateCustomFontFileReference (&fontFileKey, sizeof (fontFileKey), - fontFileLoader, &fontFile); - -#define FAIL(...) \ - HB_STMT_START { \ - DEBUG_MSG (DIRECTWRITE, nullptr, __VA_ARGS__); \ - return nullptr; \ - } HB_STMT_END; - - if (FAILED (hr)) - FAIL ("Failed to load font file from data!"); - - BOOL isSupported; - DWRITE_FONT_FILE_TYPE fileType; - DWRITE_FONT_FACE_TYPE faceType; - uint32_t numberOfFaces; - hr = fontFile->Analyze (&isSupported, &fileType, &faceType, &numberOfFaces); - if (FAILED (hr) || !isSupported) - FAIL ("Font file is not supported."); - -#undef FAIL - - IDWriteFontFace *fontFace; - dwriteFactory->CreateFontFace (faceType, 1, &fontFile, 0, - DWRITE_FONT_SIMULATIONS_NONE, &fontFace); - - data->dwriteFactory = dwriteFactory; - data->fontFile = fontFile; - data->fontFileStream = fontFileStream; - data->fontFileLoader = fontFileLoader; - data->fontFace = fontFace; - data->faceBlob = blob; - - return data; -} - -void -_hb_directwrite_shaper_face_data_destroy (hb_directwrite_face_data_t *data) -{ - if (data->fontFace) - data->fontFace->Release (); - if (data->fontFile) - data->fontFile->Release (); - if (data->dwriteFactory) - { - if (data->fontFileLoader) - data->dwriteFactory->UnregisterFontFileLoader (data->fontFileLoader); - data->dwriteFactory->Release (); - } - if (data->fontFileLoader) - delete data->fontFileLoader; - if (data->fontFileStream) - delete data->fontFileStream; - if (data->faceBlob) - hb_blob_destroy (data->faceBlob); - if (data) - delete data; -} - - -/* - * shaper font data - */ - -struct hb_directwrite_font_data_t -{ -}; - -hb_directwrite_font_data_t * -_hb_directwrite_shaper_font_data_create (hb_font_t *font) -{ - if (unlikely (!hb_directwrite_shaper_face_data_ensure (font->face))) return nullptr; - - hb_directwrite_font_data_t *data = new hb_directwrite_font_data_t; - if (unlikely (!data)) - return nullptr; - - return data; -} - -void -_hb_directwrite_shaper_font_data_destroy (hb_directwrite_font_data_t *data) -{ - delete data; -} - - -/* - * shaper shape_plan data - */ - -struct hb_directwrite_shape_plan_data_t {}; - -hb_directwrite_shape_plan_data_t * -_hb_directwrite_shaper_shape_plan_data_create (hb_shape_plan_t *shape_plan HB_UNUSED, - const hb_feature_t *user_features HB_UNUSED, - unsigned int num_user_features HB_UNUSED, - const int *coords HB_UNUSED, - unsigned int num_coords HB_UNUSED) -{ - return (hb_directwrite_shape_plan_data_t *) HB_SHAPER_DATA_SUCCEEDED; -} - -void -_hb_directwrite_shaper_shape_plan_data_destroy (hb_directwrite_shape_plan_data_t *data HB_UNUSED) -{ -} - -// Most of TextAnalysis is originally written by Bas Schouten for Mozilla project -// but now is relicensed to MIT for HarfBuzz use -class TextAnalysis - : public IDWriteTextAnalysisSource, public IDWriteTextAnalysisSink -{ -public: - - IFACEMETHOD (QueryInterface) (IID const& iid, OUT void** ppObject) { return S_OK; } - IFACEMETHOD_ (ULONG, AddRef) () { return 1; } - IFACEMETHOD_ (ULONG, Release) () { return 1; } - - // A single contiguous run of characters containing the same analysis - // results. - struct Run - { - uint32_t mTextStart; // starting text position of this run - uint32_t mTextLength; // number of contiguous code units covered - uint32_t mGlyphStart; // starting glyph in the glyphs array - uint32_t mGlyphCount; // number of glyphs associated with this run - // text - DWRITE_SCRIPT_ANALYSIS mScript; - uint8_t mBidiLevel; - bool mIsSideways; - - inline bool ContainsTextPosition (uint32_t aTextPosition) const - { - return aTextPosition >= mTextStart && - aTextPosition < mTextStart + mTextLength; - } - - Run *nextRun; - }; - -public: - TextAnalysis (const wchar_t* text, - uint32_t textLength, - const wchar_t* localeName, - DWRITE_READING_DIRECTION readingDirection) - : mText (text) - , mTextLength (textLength) - , mLocaleName (localeName) - , mReadingDirection (readingDirection) - , mCurrentRun (nullptr) { }; - - ~TextAnalysis () - { - // delete runs, except mRunHead which is part of the TextAnalysis object - for (Run *run = mRunHead.nextRun; run;) - { - Run *origRun = run; - run = run->nextRun; - delete origRun; - } - } - - STDMETHODIMP GenerateResults (IDWriteTextAnalyzer* textAnalyzer, - Run **runHead) - { - // Analyzes the text using the script analyzer and returns - // the result as a series of runs. - - HRESULT hr = S_OK; - - // Initially start out with one result that covers the entire range. - // This result will be subdivided by the analysis processes. - mRunHead.mTextStart = 0; - mRunHead.mTextLength = mTextLength; - mRunHead.mBidiLevel = - (mReadingDirection == DWRITE_READING_DIRECTION_RIGHT_TO_LEFT); - mRunHead.nextRun = nullptr; - mCurrentRun = &mRunHead; - - // Call each of the analyzers in sequence, recording their results. - if (SUCCEEDED (hr = textAnalyzer->AnalyzeScript (this, 0, mTextLength, this))) - *runHead = &mRunHead; - - return hr; - } - - // IDWriteTextAnalysisSource implementation - - IFACEMETHODIMP GetTextAtPosition (uint32_t textPosition, - OUT wchar_t const** textString, - OUT uint32_t* textLength) - { - if (textPosition >= mTextLength) - { - // No text at this position, valid query though. - *textString = nullptr; - *textLength = 0; - } - else - { - *textString = mText + textPosition; - *textLength = mTextLength - textPosition; - } - return S_OK; - } - - IFACEMETHODIMP GetTextBeforePosition (uint32_t textPosition, - OUT wchar_t const** textString, - OUT uint32_t* textLength) - { - if (textPosition == 0 || textPosition > mTextLength) - { - // Either there is no text before here (== 0), or this - // is an invalid position. The query is considered valid though. - *textString = nullptr; - *textLength = 0; - } - else - { - *textString = mText; - *textLength = textPosition; - } - return S_OK; - } - - IFACEMETHODIMP_ (DWRITE_READING_DIRECTION) - GetParagraphReadingDirection () { return mReadingDirection; } - - IFACEMETHODIMP GetLocaleName (uint32_t textPosition, - uint32_t* textLength, - wchar_t const** localeName) - { - return S_OK; - } - - IFACEMETHODIMP - GetNumberSubstitution (uint32_t textPosition, - OUT uint32_t* textLength, - OUT IDWriteNumberSubstitution** numberSubstitution) - { - // We do not support number substitution. - *numberSubstitution = nullptr; - *textLength = mTextLength - textPosition; - - return S_OK; - } - - // IDWriteTextAnalysisSink implementation - - IFACEMETHODIMP - SetScriptAnalysis (uint32_t textPosition, - uint32_t textLength, - DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis) - { - SetCurrentRun (textPosition); - SplitCurrentRun (textPosition); - while (textLength > 0) - { - Run *run = FetchNextRun (&textLength); - run->mScript = *scriptAnalysis; - } - - return S_OK; - } - - IFACEMETHODIMP - SetLineBreakpoints (uint32_t textPosition, - uint32_t textLength, - const DWRITE_LINE_BREAKPOINT* lineBreakpoints) { return S_OK; } - - IFACEMETHODIMP SetBidiLevel (uint32_t textPosition, - uint32_t textLength, - uint8_t explicitLevel, - uint8_t resolvedLevel) { return S_OK; } - - IFACEMETHODIMP - SetNumberSubstitution (uint32_t textPosition, - uint32_t textLength, - IDWriteNumberSubstitution* numberSubstitution) { return S_OK; } - -protected: - Run *FetchNextRun (IN OUT uint32_t* textLength) - { - // Used by the sink setters, this returns a reference to the next run. - // Position and length are adjusted to now point after the current run - // being returned. - - Run *origRun = mCurrentRun; - // Split the tail if needed (the length remaining is less than the - // current run's size). - if (*textLength < mCurrentRun->mTextLength) - SplitCurrentRun (mCurrentRun->mTextStart + *textLength); - else - // Just advance the current run. - mCurrentRun = mCurrentRun->nextRun; - *textLength -= origRun->mTextLength; - - // Return a reference to the run that was just current. - return origRun; - } - - void SetCurrentRun (uint32_t textPosition) - { - // Move the current run to the given position. - // Since the analyzers generally return results in a forward manner, - // this will usually just return early. If not, find the - // corresponding run for the text position. - - if (mCurrentRun && mCurrentRun->ContainsTextPosition (textPosition)) - return; - - for (Run *run = &mRunHead; run; run = run->nextRun) - if (run->ContainsTextPosition (textPosition)) - { - mCurrentRun = run; - return; - } - assert (0); // We should always be able to find the text position in one of our runs - } - - void SplitCurrentRun (uint32_t splitPosition) - { - if (!mCurrentRun) - { - assert (0); // SplitCurrentRun called without current run - // Shouldn't be calling this when no current run is set! - return; - } - // Split the current run. - if (splitPosition <= mCurrentRun->mTextStart) - { - // No need to split, already the start of a run - // or before it. Usually the first. - return; - } - Run *newRun = new Run; - - *newRun = *mCurrentRun; - - // Insert the new run in our linked list. - newRun->nextRun = mCurrentRun->nextRun; - mCurrentRun->nextRun = newRun; - - // Adjust runs' text positions and lengths. - uint32_t splitPoint = splitPosition - mCurrentRun->mTextStart; - newRun->mTextStart += splitPoint; - newRun->mTextLength -= splitPoint; - mCurrentRun->mTextLength = splitPoint; - mCurrentRun = newRun; - } - -protected: - // Input - // (weak references are fine here, since this class is a transient - // stack-based helper that doesn't need to copy data) - uint32_t mTextLength; - const wchar_t* mText; - const wchar_t* mLocaleName; - DWRITE_READING_DIRECTION mReadingDirection; - - // Current processing state. - Run *mCurrentRun; - - // Output is a list of runs starting here - Run mRunHead; -}; - -static inline uint16_t hb_uint16_swap (const uint16_t v) -{ return (v >> 8) | (v << 8); } -static inline uint32_t hb_uint32_swap (const uint32_t v) -{ return (hb_uint16_swap (v) << 16) | hb_uint16_swap (v >> 16); } - -/* - * shaper - */ - -static hb_bool_t -_hb_directwrite_shape_full (hb_shape_plan_t *shape_plan, - hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features, - float lineWidth) -{ - hb_face_t *face = font->face; - hb_directwrite_face_data_t *face_data = HB_SHAPER_DATA_GET (face); - hb_directwrite_font_data_t *font_data = HB_SHAPER_DATA_GET (font); - IDWriteFactory *dwriteFactory = face_data->dwriteFactory; - IDWriteFontFace *fontFace = face_data->fontFace; - - IDWriteTextAnalyzer* analyzer; - dwriteFactory->CreateTextAnalyzer (&analyzer); - - unsigned int scratch_size; - hb_buffer_t::scratch_buffer_t *scratch = buffer->get_scratch_buffer (&scratch_size); -#define ALLOCATE_ARRAY(Type, name, len) \ - Type *name = (Type *) scratch; \ - { \ - unsigned int _consumed = DIV_CEIL ((len) * sizeof (Type), sizeof (*scratch)); \ - assert (_consumed <= scratch_size); \ - scratch += _consumed; \ - scratch_size -= _consumed; \ - } - -#define utf16_index() var1.u32 - - ALLOCATE_ARRAY (wchar_t, textString, buffer->len * 2); - - unsigned int chars_len = 0; - for (unsigned int i = 0; i < buffer->len; i++) - { - hb_codepoint_t c = buffer->info[i].codepoint; - buffer->info[i].utf16_index () = chars_len; - if (likely (c <= 0xFFFFu)) - textString[chars_len++] = c; - else if (unlikely (c > 0x10FFFFu)) - textString[chars_len++] = 0xFFFDu; - else - { - textString[chars_len++] = 0xD800u + ((c - 0x10000u) >> 10); - textString[chars_len++] = 0xDC00u + ((c - 0x10000u) & ((1u << 10) - 1)); - } - } - - ALLOCATE_ARRAY (WORD, log_clusters, chars_len); - /* Need log_clusters to assign features. */ - chars_len = 0; - for (unsigned int i = 0; i < buffer->len; i++) - { - hb_codepoint_t c = buffer->info[i].codepoint; - unsigned int cluster = buffer->info[i].cluster; - log_clusters[chars_len++] = cluster; - if (hb_in_range (c, 0x10000u, 0x10FFFFu)) - log_clusters[chars_len++] = cluster; /* Surrogates. */ - } - - // TODO: Handle TEST_DISABLE_OPTIONAL_LIGATURES - - DWRITE_READING_DIRECTION readingDirection = buffer->props.direction ? - DWRITE_READING_DIRECTION_RIGHT_TO_LEFT : - DWRITE_READING_DIRECTION_LEFT_TO_RIGHT; - - /* - * There's an internal 16-bit limit on some things inside the analyzer, - * but we never attempt to shape a word longer than 64K characters - * in a single gfxShapedWord, so we cannot exceed that limit. - */ - uint32_t textLength = buffer->len; - - TextAnalysis analysis (textString, textLength, nullptr, readingDirection); - TextAnalysis::Run *runHead; - HRESULT hr; - hr = analysis.GenerateResults (analyzer, &runHead); - -#define FAIL(...) \ - HB_STMT_START { \ - DEBUG_MSG (DIRECTWRITE, nullptr, __VA_ARGS__); \ - return false; \ - } HB_STMT_END; - - if (FAILED (hr)) - FAIL ("Analyzer failed to generate results."); - - uint32_t maxGlyphCount = 3 * textLength / 2 + 16; - uint32_t glyphCount; - bool isRightToLeft = HB_DIRECTION_IS_BACKWARD (buffer->props.direction); - - const wchar_t localeName[20] = {0}; - if (buffer->props.language != nullptr) - { - mbstowcs ((wchar_t*) localeName, - hb_language_to_string (buffer->props.language), 20); - } - - // TODO: it does work but doesn't care about ranges - DWRITE_TYPOGRAPHIC_FEATURES typographic_features; - typographic_features.featureCount = num_features; - if (num_features) - { - typographic_features.features = new DWRITE_FONT_FEATURE[num_features]; - for (unsigned int i = 0; i < num_features; ++i) - { - typographic_features.features[i].nameTag = (DWRITE_FONT_FEATURE_TAG) - hb_uint32_swap (features[i].tag); - typographic_features.features[i].parameter = features[i].value; - } - } - const DWRITE_TYPOGRAPHIC_FEATURES* dwFeatures = - (const DWRITE_TYPOGRAPHIC_FEATURES*) &typographic_features; - const uint32_t featureRangeLengths[] = { textLength }; - // - - uint16_t* clusterMap = new uint16_t[textLength]; - DWRITE_SHAPING_TEXT_PROPERTIES* textProperties = - new DWRITE_SHAPING_TEXT_PROPERTIES[textLength]; -retry_getglyphs: - uint16_t* glyphIndices = new uint16_t[maxGlyphCount]; - DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProperties = - new DWRITE_SHAPING_GLYPH_PROPERTIES[maxGlyphCount]; - - hr = analyzer->GetGlyphs (textString, textLength, fontFace, false, - isRightToLeft, &runHead->mScript, localeName, nullptr, &dwFeatures, - featureRangeLengths, 1, maxGlyphCount, clusterMap, textProperties, glyphIndices, - glyphProperties, &glyphCount); - - if (unlikely (hr == HRESULT_FROM_WIN32 (ERROR_INSUFFICIENT_BUFFER))) - { - delete [] glyphIndices; - delete [] glyphProperties; - - maxGlyphCount *= 2; - - goto retry_getglyphs; - } - if (FAILED (hr)) - FAIL ("Analyzer failed to get glyphs."); - - float* glyphAdvances = new float[maxGlyphCount]; - DWRITE_GLYPH_OFFSET* glyphOffsets = new DWRITE_GLYPH_OFFSET[maxGlyphCount]; - - /* The -2 in the following is to compensate for possible - * alignment needed after the WORD array. sizeof (WORD) == 2. */ - unsigned int glyphs_size = (scratch_size * sizeof (int) - 2) - / (sizeof (WORD) + - sizeof (DWRITE_SHAPING_GLYPH_PROPERTIES) + - sizeof (int) + - sizeof (DWRITE_GLYPH_OFFSET) + - sizeof (uint32_t)); - ALLOCATE_ARRAY (uint32_t, vis_clusters, glyphs_size); - -#undef ALLOCATE_ARRAY - - int fontEmSize = font->face->get_upem (); - if (fontEmSize < 0) - fontEmSize = -fontEmSize; - - if (fontEmSize < 0) - fontEmSize = -fontEmSize; - double x_mult = (double) font->x_scale / fontEmSize; - double y_mult = (double) font->y_scale / fontEmSize; - - hr = analyzer->GetGlyphPlacements (textString, - clusterMap, textProperties, textLength, glyphIndices, - glyphProperties, glyphCount, fontFace, fontEmSize, - false, isRightToLeft, &runHead->mScript, localeName, - &dwFeatures, featureRangeLengths, 1, - glyphAdvances, glyphOffsets); - - if (FAILED (hr)) - FAIL ("Analyzer failed to get glyph placements."); - - IDWriteTextAnalyzer1* analyzer1; - analyzer->QueryInterface (&analyzer1); - - if (analyzer1 && lineWidth) - { - - DWRITE_JUSTIFICATION_OPPORTUNITY* justificationOpportunities = - new DWRITE_JUSTIFICATION_OPPORTUNITY[maxGlyphCount]; - hr = analyzer1->GetJustificationOpportunities (fontFace, fontEmSize, - runHead->mScript, textLength, glyphCount, textString, clusterMap, - glyphProperties, justificationOpportunities); - - if (FAILED (hr)) - FAIL ("Analyzer failed to get justification opportunities."); - - float* justifiedGlyphAdvances = new float[maxGlyphCount]; - DWRITE_GLYPH_OFFSET* justifiedGlyphOffsets = new DWRITE_GLYPH_OFFSET[glyphCount]; - hr = analyzer1->JustifyGlyphAdvances (lineWidth, glyphCount, justificationOpportunities, - glyphAdvances, glyphOffsets, justifiedGlyphAdvances, justifiedGlyphOffsets); - - if (FAILED (hr)) - FAIL ("Analyzer failed to get justified glyph advances."); - - DWRITE_SCRIPT_PROPERTIES scriptProperties; - hr = analyzer1->GetScriptProperties (runHead->mScript, &scriptProperties); - if (FAILED (hr)) - FAIL ("Analyzer failed to get script properties."); - uint32_t justificationCharacter = scriptProperties.justificationCharacter; - - // if a script justificationCharacter is not space, it can have GetJustifiedGlyphs - if (justificationCharacter != 32) - { - uint16_t* modifiedClusterMap = new uint16_t[textLength]; - retry_getjustifiedglyphs: - uint16_t* modifiedGlyphIndices = new uint16_t[maxGlyphCount]; - float* modifiedGlyphAdvances = new float[maxGlyphCount]; - DWRITE_GLYPH_OFFSET* modifiedGlyphOffsets = - new DWRITE_GLYPH_OFFSET[maxGlyphCount]; - uint32_t actualGlyphsCount; - hr = analyzer1->GetJustifiedGlyphs (fontFace, fontEmSize, runHead->mScript, - textLength, glyphCount, maxGlyphCount, clusterMap, glyphIndices, - glyphAdvances, justifiedGlyphAdvances, justifiedGlyphOffsets, - glyphProperties, &actualGlyphsCount, modifiedClusterMap, modifiedGlyphIndices, - modifiedGlyphAdvances, modifiedGlyphOffsets); - - if (hr == HRESULT_FROM_WIN32 (ERROR_INSUFFICIENT_BUFFER)) - { - maxGlyphCount = actualGlyphsCount; - delete [] modifiedGlyphIndices; - delete [] modifiedGlyphAdvances; - delete [] modifiedGlyphOffsets; - - maxGlyphCount = actualGlyphsCount; - - goto retry_getjustifiedglyphs; - } - if (FAILED (hr)) - FAIL ("Analyzer failed to get justified glyphs."); - - delete [] clusterMap; - delete [] glyphIndices; - delete [] glyphAdvances; - delete [] glyphOffsets; - - glyphCount = actualGlyphsCount; - clusterMap = modifiedClusterMap; - glyphIndices = modifiedGlyphIndices; - glyphAdvances = modifiedGlyphAdvances; - glyphOffsets = modifiedGlyphOffsets; - - delete [] justifiedGlyphAdvances; - delete [] justifiedGlyphOffsets; - } - else - { - delete [] glyphAdvances; - delete [] glyphOffsets; - - glyphAdvances = justifiedGlyphAdvances; - glyphOffsets = justifiedGlyphOffsets; - } - - delete [] justificationOpportunities; - - } - - /* Ok, we've got everything we need, now compose output buffer, - * very, *very*, carefully! */ - - /* Calculate visual-clusters. That's what we ship. */ - for (unsigned int i = 0; i < glyphCount; i++) - vis_clusters[i] = -1; - for (unsigned int i = 0; i < buffer->len; i++) - { - uint32_t *p = - &vis_clusters[log_clusters[buffer->info[i].utf16_index ()]]; - *p = MIN (*p, buffer->info[i].cluster); - } - for (unsigned int i = 1; i < glyphCount; i++) - if (vis_clusters[i] == -1) - vis_clusters[i] = vis_clusters[i - 1]; - -#undef utf16_index - - if (unlikely (!buffer->ensure (glyphCount))) - FAIL ("Buffer in error"); - -#undef FAIL - - /* Set glyph infos */ - buffer->len = 0; - for (unsigned int i = 0; i < glyphCount; i++) - { - hb_glyph_info_t *info = &buffer->info[buffer->len++]; - - info->codepoint = glyphIndices[i]; - info->cluster = vis_clusters[i]; - - /* The rest is crap. Let's store position info there for now. */ - info->mask = glyphAdvances[i]; - info->var1.i32 = glyphOffsets[i].advanceOffset; - info->var2.i32 = glyphOffsets[i].ascenderOffset; - } - - /* Set glyph positions */ - buffer->clear_positions (); - for (unsigned int i = 0; i < glyphCount; i++) - { - hb_glyph_info_t *info = &buffer->info[i]; - hb_glyph_position_t *pos = &buffer->pos[i]; - - /* TODO vertical */ - pos->x_advance = x_mult * (int32_t) info->mask; - pos->x_offset = - x_mult * (isRightToLeft ? -info->var1.i32 : info->var1.i32); - pos->y_offset = y_mult * info->var2.i32; - } - - if (isRightToLeft) - hb_buffer_reverse (buffer); - - delete [] clusterMap; - delete [] glyphIndices; - delete [] textProperties; - delete [] glyphProperties; - delete [] glyphAdvances; - delete [] glyphOffsets; - - if (num_features) - delete [] typographic_features.features; - - /* Wow, done! */ - return true; -} - -hb_bool_t -_hb_directwrite_shape (hb_shape_plan_t *shape_plan, - hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features) -{ - return _hb_directwrite_shape_full (shape_plan, font, buffer, - features, num_features, 0); -} - -/* - * Public [experimental] API - */ - -hb_bool_t -hb_directwrite_shape_experimental_width (hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features, - float width) -{ - static const char *shapers = "directwrite"; - hb_shape_plan_t *shape_plan = hb_shape_plan_create_cached (font->face, - &buffer->props, features, num_features, &shapers); - hb_bool_t res = _hb_directwrite_shape_full (shape_plan, font, buffer, - features, num_features, width); - - buffer->unsafe_to_break_all (); - - return res; -} diff --git a/harfbuzz-1.9.0/src/hb-dsalgs.hh b/harfbuzz-1.9.0/src/hb-dsalgs.hh deleted file mode 100644 index 7e06ff170..000000000 --- a/harfbuzz-1.9.0/src/hb-dsalgs.hh +++ /dev/null @@ -1,619 +0,0 @@ -/* - * Copyright © 2017 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_DSALGS_HH -#define HB_DSALGS_HH - -#include "hb.hh" - - -/* Void! For when we need a expression-type of void. */ -typedef const struct _hb_void_t *hb_void_t; -#define HB_VOID ((const _hb_void_t *) nullptr) - - -/* - * Bithacks. - */ - -/* Return the number of 1 bits in v. */ -template -static inline HB_CONST_FUNC unsigned int -hb_popcount (T v) -{ -#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) && defined(__OPTIMIZE__) - if (sizeof (T) <= sizeof (unsigned int)) - return __builtin_popcount (v); - - if (sizeof (T) <= sizeof (unsigned long)) - return __builtin_popcountl (v); - - if (sizeof (T) <= sizeof (unsigned long long)) - return __builtin_popcountll (v); -#endif - - if (sizeof (T) <= 4) - { - /* "HACKMEM 169" */ - uint32_t y; - y = (v >> 1) &033333333333; - y = v - y - ((y >>1) & 033333333333); - return (((y + (y >> 3)) & 030707070707) % 077); - } - - if (sizeof (T) == 8) - { - unsigned int shift = 32; - return hb_popcount ((uint32_t) v) + hb_popcount ((uint32_t) (v >> shift)); - } - - if (sizeof (T) == 16) - { - unsigned int shift = 64; - return hb_popcount ((uint64_t) v) + hb_popcount ((uint64_t) (v >> shift)); - } - - assert (0); - return 0; /* Shut up stupid compiler. */ -} - -/* Returns the number of bits needed to store number */ -template -static inline HB_CONST_FUNC unsigned int -hb_bit_storage (T v) -{ - if (unlikely (!v)) return 0; - -#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__) - if (sizeof (T) <= sizeof (unsigned int)) - return sizeof (unsigned int) * 8 - __builtin_clz (v); - - if (sizeof (T) <= sizeof (unsigned long)) - return sizeof (unsigned long) * 8 - __builtin_clzl (v); - - if (sizeof (T) <= sizeof (unsigned long long)) - return sizeof (unsigned long long) * 8 - __builtin_clzll (v); -#endif - -#if (defined(_MSC_VER) && _MSC_VER >= 1500) || defined(__MINGW32__) - if (sizeof (T) <= sizeof (unsigned int)) - { - unsigned long where; - _BitScanReverse (&where, v); - return 1 + where; - } -# if _WIN64 - if (sizeof (T) <= 8) - { - unsigned long where; - _BitScanReverse64 (&where, v); - return 1 + where; - } -# endif -#endif - - if (sizeof (T) <= 4) - { - /* "bithacks" */ - const unsigned int b[] = {0x2, 0xC, 0xF0, 0xFF00, 0xFFFF0000}; - const unsigned int S[] = {1, 2, 4, 8, 16}; - unsigned int r = 0; - for (int i = 4; i >= 0; i--) - if (v & b[i]) - { - v >>= S[i]; - r |= S[i]; - } - return r + 1; - } - if (sizeof (T) <= 8) - { - /* "bithacks" */ - const uint64_t b[] = {0x2ULL, 0xCULL, 0xF0ULL, 0xFF00ULL, 0xFFFF0000ULL, 0xFFFFFFFF00000000ULL}; - const unsigned int S[] = {1, 2, 4, 8, 16, 32}; - unsigned int r = 0; - for (int i = 5; i >= 0; i--) - if (v & b[i]) - { - v >>= S[i]; - r |= S[i]; - } - return r + 1; - } - if (sizeof (T) == 16) - { - unsigned int shift = 64; - return (v >> shift) ? hb_bit_storage ((uint64_t) (v >> shift)) + shift : - hb_bit_storage ((uint64_t) v); - } - - assert (0); - return 0; /* Shut up stupid compiler. */ -} - -/* Returns the number of zero bits in the least significant side of v */ -template -static inline HB_CONST_FUNC unsigned int -hb_ctz (T v) -{ - if (unlikely (!v)) return 0; - -#if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__) - if (sizeof (T) <= sizeof (unsigned int)) - return __builtin_ctz (v); - - if (sizeof (T) <= sizeof (unsigned long)) - return __builtin_ctzl (v); - - if (sizeof (T) <= sizeof (unsigned long long)) - return __builtin_ctzll (v); -#endif - -#if (defined(_MSC_VER) && _MSC_VER >= 1500) || defined(__MINGW32__) - if (sizeof (T) <= sizeof (unsigned int)) - { - unsigned long where; - _BitScanForward (&where, v); - return where; - } -# if _WIN64 - if (sizeof (T) <= 8) - { - unsigned long where; - _BitScanForward64 (&where, v); - return where; - } -# endif -#endif - - if (sizeof (T) <= 4) - { - /* "bithacks" */ - unsigned int c = 32; - v &= - (int32_t) v; - if (v) c--; - if (v & 0x0000FFFF) c -= 16; - if (v & 0x00FF00FF) c -= 8; - if (v & 0x0F0F0F0F) c -= 4; - if (v & 0x33333333) c -= 2; - if (v & 0x55555555) c -= 1; - return c; - } - if (sizeof (T) <= 8) - { - /* "bithacks" */ - unsigned int c = 64; - v &= - (int64_t) (v); - if (v) c--; - if (v & 0x00000000FFFFFFFFULL) c -= 32; - if (v & 0x0000FFFF0000FFFFULL) c -= 16; - if (v & 0x00FF00FF00FF00FFULL) c -= 8; - if (v & 0x0F0F0F0F0F0F0F0FULL) c -= 4; - if (v & 0x3333333333333333ULL) c -= 2; - if (v & 0x5555555555555555ULL) c -= 1; - return c; - } - if (sizeof (T) == 16) - { - unsigned int shift = 64; - return (uint64_t) v ? hb_bit_storage ((uint64_t) v) : - hb_bit_storage ((uint64_t) (v >> shift)) + shift; - } - - assert (0); - return 0; /* Shut up stupid compiler. */ -} - - -/* - * Tiny stuff. - */ - -/* ASCII tag/character handling */ -static inline bool ISALPHA (unsigned char c) -{ return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); } -static inline bool ISALNUM (unsigned char c) -{ return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9'); } -static inline bool ISSPACE (unsigned char c) -{ return c == ' ' || c =='\f'|| c =='\n'|| c =='\r'|| c =='\t'|| c =='\v'; } -static inline unsigned char TOUPPER (unsigned char c) -{ return (c >= 'a' && c <= 'z') ? c - 'a' + 'A' : c; } -static inline unsigned char TOLOWER (unsigned char c) -{ return (c >= 'A' && c <= 'Z') ? c - 'A' + 'a' : c; } - -#undef MIN -template -static inline Type MIN (const Type &a, const Type &b) { return a < b ? a : b; } - -#undef MAX -template -static inline Type MAX (const Type &a, const Type &b) { return a > b ? a : b; } - -static inline unsigned int DIV_CEIL (const unsigned int a, unsigned int b) -{ return (a + (b - 1)) / b; } - - -#undef ARRAY_LENGTH -template -static inline unsigned int ARRAY_LENGTH (const Type (&)[n]) { return n; } -/* A const version, but does not detect erratically being called on pointers. */ -#define ARRAY_LENGTH_CONST(__array) ((signed int) (sizeof (__array) / sizeof (__array[0]))) - -static inline bool -hb_unsigned_mul_overflows (unsigned int count, unsigned int size) -{ - return (size > 0) && (count >= ((unsigned int) -1) / size); -} - -static inline unsigned int -hb_ceil_to_4 (unsigned int v) -{ - return ((v - 1) | 3) + 1; -} - -template class hb_assert_unsigned_t; -template <> class hb_assert_unsigned_t {}; -template <> class hb_assert_unsigned_t {}; -template <> class hb_assert_unsigned_t {}; -template <> class hb_assert_unsigned_t {}; - -template static inline bool -hb_in_range (T u, T lo, T hi) -{ - /* The sizeof() is here to force template instantiation. - * I'm sure there are better ways to do this but can't think of - * one right now. Declaring a variable won't work as HB_UNUSED - * is unusable on some platforms and unused types are less likely - * to generate a warning than unused variables. */ - static_assert ((sizeof (hb_assert_unsigned_t) >= 0), ""); - - /* The casts below are important as if T is smaller than int, - * the subtract results will become a signed int! */ - return (T)(u - lo) <= (T)(hi - lo); -} -template static inline bool -hb_in_ranges (T u, T lo1, T hi1, T lo2, T hi2) -{ - return hb_in_range (u, lo1, hi1) || hb_in_range (u, lo2, hi2); -} -template static inline bool -hb_in_ranges (T u, T lo1, T hi1, T lo2, T hi2, T lo3, T hi3) -{ - return hb_in_range (u, lo1, hi1) || hb_in_range (u, lo2, hi2) || hb_in_range (u, lo3, hi3); -} - - -/* - * Sort and search. - */ - -static inline void * -hb_bsearch_r (const void *key, const void *base, - size_t nmemb, size_t size, - int (*compar)(const void *_key, const void *_item, void *_arg), - void *arg) -{ - int min = 0, max = (int) nmemb - 1; - while (min <= max) - { - int mid = (min + max) / 2; - const void *p = (const void *) (((const char *) base) + (mid * size)); - int c = compar (key, p, arg); - if (c < 0) - max = mid - 1; - else if (c > 0) - min = mid + 1; - else - return (void *) p; - } - return nullptr; -} - - -/* From https://github.com/noporpoise/sort_r */ - -/* Isaac Turner 29 April 2014 Public Domain */ - -/* - -hb_sort_r function to be exported. - -Parameters: - base is the array to be sorted - nel is the number of elements in the array - width is the size in bytes of each element of the array - compar is the comparison function - arg is a pointer to be passed to the comparison function - -void hb_sort_r(void *base, size_t nel, size_t width, - int (*compar)(const void *_a, const void *_b, void *_arg), - void *arg); -*/ - - -/* swap a, b iff a>b */ -/* __restrict is same as restrict but better support on old machines */ -static int sort_r_cmpswap(char *__restrict a, char *__restrict b, size_t w, - int (*compar)(const void *_a, const void *_b, - void *_arg), - void *arg) -{ - char tmp, *end = a+w; - if(compar(a, b, arg) > 0) { - for(; a < end; a++, b++) { tmp = *a; *a = *b; *b = tmp; } - return 1; - } - return 0; -} - -/* Note: quicksort is not stable, equivalent values may be swapped */ -static inline void sort_r_simple(void *base, size_t nel, size_t w, - int (*compar)(const void *_a, const void *_b, - void *_arg), - void *arg) -{ - char *b = (char *)base, *end = b + nel*w; - if(nel < 7) { - /* Insertion sort for arbitrarily small inputs */ - char *pi, *pj; - for(pi = b+w; pi < end; pi += w) { - for(pj = pi; pj > b && sort_r_cmpswap(pj-w,pj,w,compar,arg); pj -= w) {} - } - } - else - { - /* nel > 6; Quicksort */ - - /* Use median of first, middle and last items as pivot */ - char *x, *y, *xend, ch; - char *pl, *pr; - char *last = b+w*(nel-1), *tmp; - char *l[3]; - l[0] = b; - l[1] = b+w*(nel/2); - l[2] = last; - - if(compar(l[0],l[1],arg) > 0) { tmp=l[0]; l[0]=l[1]; l[1]=tmp; } - if(compar(l[1],l[2],arg) > 0) { - tmp=l[1]; l[1]=l[2]; l[2]=tmp; /* swap(l[1],l[2]) */ - if(compar(l[0],l[1],arg) > 0) { tmp=l[0]; l[0]=l[1]; l[1]=tmp; } - } - - /* swap l[id], l[2] to put pivot as last element */ - for(x = l[1], y = last, xend = x+w; x static inline void -hb_stable_sort (T *array, unsigned int len, int(*compar)(const T *, const T *), T2 *array2) -{ - for (unsigned int i = 1; i < len; i++) - { - unsigned int j = i; - while (j && compar (&array[j - 1], &array[i]) > 0) - j--; - if (i == j) - continue; - /* Move item i to occupy place for item j, shift what's in between. */ - { - T t = array[i]; - memmove (&array[j + 1], &array[j], (i - j) * sizeof (T)); - array[j] = t; - } - if (array2) - { - T2 t = array2[i]; - memmove (&array2[j + 1], &array2[j], (i - j) * sizeof (T2)); - array2[j] = t; - } - } -} - -template static inline void -hb_stable_sort (T *array, unsigned int len, int(*compar)(const T *, const T *)) -{ - hb_stable_sort (array, len, compar, (int *) nullptr); -} - -static inline hb_bool_t -hb_codepoint_parse (const char *s, unsigned int len, int base, hb_codepoint_t *out) -{ - /* Pain because we don't know whether s is nul-terminated. */ - char buf[64]; - len = MIN (ARRAY_LENGTH (buf) - 1, len); - strncpy (buf, s, len); - buf[len] = '\0'; - - char *end; - errno = 0; - unsigned long v = strtoul (buf, &end, base); - if (errno) return false; - if (*end) return false; - *out = v; - return true; -} - - -template -struct hb_auto_t : Type -{ - hb_auto_t (void) { Type::init (); } - /* Explicitly allow the following only for pointer and references, - * to avoid any accidental copies. - * - * Apparently if we template for all types, then gcc seems to - * capture a reference argument in the type, but clang doesn't, - * causing unwanted copies and bugs that come with it. Ideally - * we should use C++11-style rvalue reference &&t1. */ - template explicit hb_auto_t (T1 *t1) { Type::init (t1); } - template explicit hb_auto_t (T1 &t1) { Type::init (t1); } - ~hb_auto_t (void) { Type::fini (); } - private: /* Hide */ - void init (void) {} - void fini (void) {} -}; - -struct hb_bytes_t -{ - inline hb_bytes_t (void) : bytes (nullptr), len (0) {} - inline hb_bytes_t (const char *bytes_, unsigned int len_) : bytes (bytes_), len (len_) {} - inline hb_bytes_t (const void *bytes_, unsigned int len_) : bytes ((const char *) bytes_), len (len_) {} - - inline void free (void) { ::free ((void *) bytes); bytes = nullptr; len = 0; } - - inline int cmp (const hb_bytes_t &a) const - { - if (len != a.len) - return (int) a.len - (int) len; - - return memcmp (a.bytes, bytes, len); - } - static inline int cmp (const void *pa, const void *pb) - { - hb_bytes_t *a = (hb_bytes_t *) pa; - hb_bytes_t *b = (hb_bytes_t *) pb; - return b->cmp (*a); - } - - const char *bytes; - unsigned int len; -}; - - -struct HbOpOr -{ - static const bool passthru_left = true; - static const bool passthru_right = true; - template static void process (T &o, const T &a, const T &b) { o = a | b; } -}; -struct HbOpAnd -{ - static const bool passthru_left = false; - static const bool passthru_right = false; - template static void process (T &o, const T &a, const T &b) { o = a & b; } -}; -struct HbOpMinus -{ - static const bool passthru_left = true; - static const bool passthru_right = false; - template static void process (T &o, const T &a, const T &b) { o = a & ~b; } -}; -struct HbOpXor -{ - static const bool passthru_left = true; - static const bool passthru_right = true; - template static void process (T &o, const T &a, const T &b) { o = a ^ b; } -}; - - -/* Compiler-assisted vectorization. */ - -/* Type behaving similar to vectorized vars defined using __attribute__((vector_size(...))), - * using vectorized operations if HB_VECTOR_SIZE is set to **bit** numbers (eg 128). - * Define that to 0 to disable. */ -template -struct hb_vector_size_t -{ - elt_t& operator [] (unsigned int i) { return u.v[i]; } - const elt_t& operator [] (unsigned int i) const { return u.v[i]; } - - template - inline hb_vector_size_t process (const hb_vector_size_t &o) const - { - hb_vector_size_t r; -#if HB_VECTOR_SIZE - if (HB_VECTOR_SIZE && 0 == (byte_size * 8) % HB_VECTOR_SIZE) - for (unsigned int i = 0; i < ARRAY_LENGTH (u.vec); i++) - Op::process (r.u.vec[i], u.vec[i], o.u.vec[i]); - else -#endif - for (unsigned int i = 0; i < ARRAY_LENGTH (u.v); i++) - Op::process (r.u.v[i], u.v[i], o.u.v[i]); - return r; - } - inline hb_vector_size_t operator | (const hb_vector_size_t &o) const - { return process (o); } - inline hb_vector_size_t operator & (const hb_vector_size_t &o) const - { return process (o); } - inline hb_vector_size_t operator ^ (const hb_vector_size_t &o) const - { return process (o); } - inline hb_vector_size_t operator ~ () const - { - hb_vector_size_t r; -#if HB_VECTOR_SIZE && 0 - if (HB_VECTOR_SIZE && 0 == (byte_size * 8) % HB_VECTOR_SIZE) - for (unsigned int i = 0; i < ARRAY_LENGTH (u.vec); i++) - r.u.vec[i] = ~u.vec[i]; - else -#endif - for (unsigned int i = 0; i < ARRAY_LENGTH (u.v); i++) - r.u.v[i] = ~u.v[i]; - return r; - } - - private: - static_assert (byte_size / sizeof (elt_t) * sizeof (elt_t) == byte_size, ""); - union { - elt_t v[byte_size / sizeof (elt_t)]; -#if HB_VECTOR_SIZE - hb_vector_size_impl_t vec[byte_size / sizeof (hb_vector_size_impl_t)]; -#endif - } u; -}; - - -#endif /* HB_DSALGS_HH */ diff --git a/harfbuzz-1.9.0/src/hb-face.hh b/harfbuzz-1.9.0/src/hb-face.hh deleted file mode 100644 index f90453dbd..000000000 --- a/harfbuzz-1.9.0/src/hb-face.hh +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright © 2009 Red Hat, Inc. - * Copyright © 2011 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_FACE_HH -#define HB_FACE_HH - -#include "hb.hh" - -#include "hb-shaper.hh" -#include "hb-shape-plan.hh" - - -/* - * hb_face_t - */ - -struct hb_face_t -{ - hb_object_header_t header; - ASSERT_POD (); - - hb_bool_t immutable; - - hb_reference_table_func_t reference_table_func; - void *user_data; - hb_destroy_func_t destroy; - - unsigned int index; /* Face index in a collection, zero-based. */ - mutable unsigned int upem; /* Units-per-EM. */ - mutable unsigned int num_glyphs; /* Number of glyphs. */ - - struct hb_shaper_data_t shaper_data; /* Various shaper data. */ - - /* Cache */ - struct plan_node_t - { - hb_shape_plan_t *shape_plan; - plan_node_t *next; - }; - hb_atomic_ptr_t shape_plans; - - inline hb_blob_t *reference_table (hb_tag_t tag) const - { - hb_blob_t *blob; - - if (unlikely (!reference_table_func)) - return hb_blob_get_empty (); - - blob = reference_table_func (/*XXX*/const_cast (this), tag, user_data); - if (unlikely (!blob)) - return hb_blob_get_empty (); - - return blob; - } - - inline HB_PURE_FUNC unsigned int get_upem (void) const - { - if (unlikely (!upem)) - load_upem (); - return upem; - } - - inline unsigned int get_num_glyphs (void) const - { - if (unlikely (num_glyphs == (unsigned int) -1)) - load_num_glyphs (); - return num_glyphs; - } - - private: - HB_INTERNAL void load_upem (void) const; - HB_INTERNAL void load_num_glyphs (void) const; -}; -DECLARE_NULL_INSTANCE (hb_face_t); - -#define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS -#define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_PROTOTYPE(shaper, face); -#include "hb-shaper-list.hh" -#undef HB_SHAPER_IMPLEMENT -#undef HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS - - -#endif /* HB_FACE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-font.cc b/harfbuzz-1.9.0/src/hb-font.cc deleted file mode 100644 index bc831dd53..000000000 --- a/harfbuzz-1.9.0/src/hb-font.cc +++ /dev/null @@ -1,1971 +0,0 @@ -/* - * Copyright © 2009 Red Hat, Inc. - * Copyright © 2012 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#include "hb.hh" - -#include "hb-font.hh" -#include "hb-machinery.hh" - - -/* - * hb_font_funcs_t - */ - -static hb_bool_t -hb_font_get_font_h_extents_nil (hb_font_t *font HB_UNUSED, - void *font_data HB_UNUSED, - hb_font_extents_t *metrics, - void *user_data HB_UNUSED) -{ - memset (metrics, 0, sizeof (*metrics)); - return false; -} -static hb_bool_t -hb_font_get_font_h_extents_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_font_extents_t *metrics, - void *user_data HB_UNUSED) -{ - hb_bool_t ret = font->parent->get_font_h_extents (metrics); - if (ret) { - metrics->ascender = font->parent_scale_y_distance (metrics->ascender); - metrics->descender = font->parent_scale_y_distance (metrics->descender); - metrics->line_gap = font->parent_scale_y_distance (metrics->line_gap); - } - return ret; -} - -static hb_bool_t -hb_font_get_font_v_extents_nil (hb_font_t *font HB_UNUSED, - void *font_data HB_UNUSED, - hb_font_extents_t *metrics, - void *user_data HB_UNUSED) -{ - memset (metrics, 0, sizeof (*metrics)); - return false; -} -static hb_bool_t -hb_font_get_font_v_extents_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_font_extents_t *metrics, - void *user_data HB_UNUSED) -{ - hb_bool_t ret = font->parent->get_font_v_extents (metrics); - if (ret) { - metrics->ascender = font->parent_scale_x_distance (metrics->ascender); - metrics->descender = font->parent_scale_x_distance (metrics->descender); - metrics->line_gap = font->parent_scale_x_distance (metrics->line_gap); - } - return ret; -} - -static hb_bool_t -hb_font_get_nominal_glyph_nil (hb_font_t *font HB_UNUSED, - void *font_data HB_UNUSED, - hb_codepoint_t unicode, - hb_codepoint_t *glyph, - void *user_data HB_UNUSED) -{ - *glyph = 0; - return false; -} -static hb_bool_t -hb_font_get_nominal_glyph_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t unicode, - hb_codepoint_t *glyph, - void *user_data HB_UNUSED) -{ - return font->parent->get_nominal_glyph (unicode, glyph); -} - -static hb_bool_t -hb_font_get_variation_glyph_nil (hb_font_t *font HB_UNUSED, - void *font_data HB_UNUSED, - hb_codepoint_t unicode, - hb_codepoint_t variation_selector, - hb_codepoint_t *glyph, - void *user_data HB_UNUSED) -{ - *glyph = 0; - return false; -} -static hb_bool_t -hb_font_get_variation_glyph_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t unicode, - hb_codepoint_t variation_selector, - hb_codepoint_t *glyph, - void *user_data HB_UNUSED) -{ - return font->parent->get_variation_glyph (unicode, variation_selector, glyph); -} - - -static hb_position_t -hb_font_get_glyph_h_advance_nil (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t glyph HB_UNUSED, - void *user_data HB_UNUSED) -{ - return font->x_scale; -} -static hb_position_t -hb_font_get_glyph_h_advance_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t glyph, - void *user_data HB_UNUSED) -{ - return font->parent_scale_x_distance (font->parent->get_glyph_h_advance (glyph)); -} - -static hb_position_t -hb_font_get_glyph_v_advance_nil (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t glyph HB_UNUSED, - void *user_data HB_UNUSED) -{ - /* TODO use font_extents.ascender+descender */ - return font->y_scale; -} -static hb_position_t -hb_font_get_glyph_v_advance_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t glyph, - void *user_data HB_UNUSED) -{ - return font->parent_scale_y_distance (font->parent->get_glyph_v_advance (glyph)); -} - -#define hb_font_get_glyph_h_advances_nil hb_font_get_glyph_h_advances_default -static void -hb_font_get_glyph_h_advances_default (hb_font_t* font, - void* font_data HB_UNUSED, - unsigned int count, - hb_codepoint_t *first_glyph, - unsigned int glyph_stride, - hb_position_t *first_advance, - unsigned int advance_stride, - void *user_data HB_UNUSED) -{ - if (font->has_glyph_h_advance_func ()) - { - for (unsigned int i = 0; i < count; i++) - { - *first_advance = font->get_glyph_h_advance (*first_glyph); - first_glyph = &StructAtOffset (first_glyph, glyph_stride); - first_advance = &StructAtOffset (first_advance, advance_stride); - } - return; - } - - font->parent->get_glyph_h_advances (count, - first_glyph, glyph_stride, - first_advance, advance_stride); - for (unsigned int i = 0; i < count; i++) - { - *first_advance = font->parent_scale_x_distance (*first_advance); - first_advance = &StructAtOffset (first_advance, advance_stride); - } -} - -#define hb_font_get_glyph_v_advances_nil hb_font_get_glyph_v_advances_default -static void -hb_font_get_glyph_v_advances_default (hb_font_t* font, - void* font_data HB_UNUSED, - unsigned int count, - hb_codepoint_t *first_glyph, - unsigned int glyph_stride, - hb_position_t *first_advance, - unsigned int advance_stride, - void *user_data HB_UNUSED) -{ - if (font->has_glyph_v_advance_func ()) - { - for (unsigned int i = 0; i < count; i++) - { - *first_advance = font->get_glyph_v_advance (*first_glyph); - first_glyph = &StructAtOffset (first_glyph, glyph_stride); - first_advance = &StructAtOffset (first_advance, advance_stride); - } - return; - } - - font->parent->get_glyph_v_advances (count, - first_glyph, glyph_stride, - first_advance, advance_stride); - for (unsigned int i = 0; i < count; i++) - { - *first_advance = font->parent_scale_y_distance (*first_advance); - first_advance = &StructAtOffset (first_advance, advance_stride); - } -} - -static hb_bool_t -hb_font_get_glyph_h_origin_nil (hb_font_t *font HB_UNUSED, - void *font_data HB_UNUSED, - hb_codepoint_t glyph, - hb_position_t *x, - hb_position_t *y, - void *user_data HB_UNUSED) -{ - *x = *y = 0; - return true; -} -static hb_bool_t -hb_font_get_glyph_h_origin_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t glyph, - hb_position_t *x, - hb_position_t *y, - void *user_data HB_UNUSED) -{ - hb_bool_t ret = font->parent->get_glyph_h_origin (glyph, x, y); - if (ret) - font->parent_scale_position (x, y); - return ret; -} - -static hb_bool_t -hb_font_get_glyph_v_origin_nil (hb_font_t *font HB_UNUSED, - void *font_data HB_UNUSED, - hb_codepoint_t glyph, - hb_position_t *x, - hb_position_t *y, - void *user_data HB_UNUSED) -{ - *x = *y = 0; - return false; -} -static hb_bool_t -hb_font_get_glyph_v_origin_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t glyph, - hb_position_t *x, - hb_position_t *y, - void *user_data HB_UNUSED) -{ - hb_bool_t ret = font->parent->get_glyph_v_origin (glyph, x, y); - if (ret) - font->parent_scale_position (x, y); - return ret; -} - -static hb_position_t -hb_font_get_glyph_h_kerning_nil (hb_font_t *font HB_UNUSED, - void *font_data HB_UNUSED, - hb_codepoint_t left_glyph, - hb_codepoint_t right_glyph, - void *user_data HB_UNUSED) -{ - return 0; -} -static hb_position_t -hb_font_get_glyph_h_kerning_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t left_glyph, - hb_codepoint_t right_glyph, - void *user_data HB_UNUSED) -{ - return font->parent_scale_x_distance (font->parent->get_glyph_h_kerning (left_glyph, right_glyph)); -} - -static hb_position_t -hb_font_get_glyph_v_kerning_nil (hb_font_t *font HB_UNUSED, - void *font_data HB_UNUSED, - hb_codepoint_t top_glyph, - hb_codepoint_t bottom_glyph, - void *user_data HB_UNUSED) -{ - return 0; -} -static hb_position_t -hb_font_get_glyph_v_kerning_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t top_glyph, - hb_codepoint_t bottom_glyph, - void *user_data HB_UNUSED) -{ - return font->parent_scale_y_distance (font->parent->get_glyph_v_kerning (top_glyph, bottom_glyph)); -} - -static hb_bool_t -hb_font_get_glyph_extents_nil (hb_font_t *font HB_UNUSED, - void *font_data HB_UNUSED, - hb_codepoint_t glyph, - hb_glyph_extents_t *extents, - void *user_data HB_UNUSED) -{ - memset (extents, 0, sizeof (*extents)); - return false; -} -static hb_bool_t -hb_font_get_glyph_extents_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t glyph, - hb_glyph_extents_t *extents, - void *user_data HB_UNUSED) -{ - hb_bool_t ret = font->parent->get_glyph_extents (glyph, extents); - if (ret) { - font->parent_scale_position (&extents->x_bearing, &extents->y_bearing); - font->parent_scale_distance (&extents->width, &extents->height); - } - return ret; -} - -static hb_bool_t -hb_font_get_glyph_contour_point_nil (hb_font_t *font HB_UNUSED, - void *font_data HB_UNUSED, - hb_codepoint_t glyph, - unsigned int point_index, - hb_position_t *x, - hb_position_t *y, - void *user_data HB_UNUSED) -{ - *x = *y = 0; - return false; -} -static hb_bool_t -hb_font_get_glyph_contour_point_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t glyph, - unsigned int point_index, - hb_position_t *x, - hb_position_t *y, - void *user_data HB_UNUSED) -{ - hb_bool_t ret = font->parent->get_glyph_contour_point (glyph, point_index, x, y); - if (ret) - font->parent_scale_position (x, y); - return ret; -} - -static hb_bool_t -hb_font_get_glyph_name_nil (hb_font_t *font HB_UNUSED, - void *font_data HB_UNUSED, - hb_codepoint_t glyph, - char *name, unsigned int size, - void *user_data HB_UNUSED) -{ - if (size) *name = '\0'; - return false; -} -static hb_bool_t -hb_font_get_glyph_name_default (hb_font_t *font, - void *font_data HB_UNUSED, - hb_codepoint_t glyph, - char *name, unsigned int size, - void *user_data HB_UNUSED) -{ - return font->parent->get_glyph_name (glyph, name, size); -} - -static hb_bool_t -hb_font_get_glyph_from_name_nil (hb_font_t *font HB_UNUSED, - void *font_data HB_UNUSED, - const char *name, int len, /* -1 means nul-terminated */ - hb_codepoint_t *glyph, - void *user_data HB_UNUSED) -{ - *glyph = 0; - return false; -} -static hb_bool_t -hb_font_get_glyph_from_name_default (hb_font_t *font, - void *font_data HB_UNUSED, - const char *name, int len, /* -1 means nul-terminated */ - hb_codepoint_t *glyph, - void *user_data HB_UNUSED) -{ - return font->parent->get_glyph_from_name (name, len, glyph); -} - -DEFINE_NULL_INSTANCE (hb_font_funcs_t) = -{ - HB_OBJECT_HEADER_STATIC, - - true, /* immutable */ - - { -#define HB_FONT_FUNC_IMPLEMENT(name) nullptr, - HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - }, - { -#define HB_FONT_FUNC_IMPLEMENT(name) nullptr, - HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - }, - { - { -#define HB_FONT_FUNC_IMPLEMENT(name) hb_font_get_##name##_nil, - HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - } - } -}; - -static const hb_font_funcs_t _hb_font_funcs_default = { - HB_OBJECT_HEADER_STATIC, - - true, /* immutable */ - - { -#define HB_FONT_FUNC_IMPLEMENT(name) nullptr, - HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - }, - { -#define HB_FONT_FUNC_IMPLEMENT(name) nullptr, - HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - }, - { - { -#define HB_FONT_FUNC_IMPLEMENT(name) hb_font_get_##name##_default, - HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - } - } -}; - - -/** - * hb_font_funcs_create: (Xconstructor) - * - * - * - * Return value: (transfer full): - * - * Since: 0.9.2 - **/ -hb_font_funcs_t * -hb_font_funcs_create (void) -{ - hb_font_funcs_t *ffuncs; - - if (!(ffuncs = hb_object_create ())) - return hb_font_funcs_get_empty (); - - ffuncs->get = _hb_font_funcs_default.get; - - return ffuncs; -} - -/** - * hb_font_funcs_get_empty: - * - * - * - * Return value: (transfer full): - * - * Since: 0.9.2 - **/ -hb_font_funcs_t * -hb_font_funcs_get_empty (void) -{ - return const_cast (&_hb_font_funcs_default); -} - -/** - * hb_font_funcs_reference: (skip) - * @ffuncs: font functions. - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_font_funcs_t * -hb_font_funcs_reference (hb_font_funcs_t *ffuncs) -{ - return hb_object_reference (ffuncs); -} - -/** - * hb_font_funcs_destroy: (skip) - * @ffuncs: font functions. - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_funcs_destroy (hb_font_funcs_t *ffuncs) -{ - if (!hb_object_destroy (ffuncs)) return; - -#define HB_FONT_FUNC_IMPLEMENT(name) if (ffuncs->destroy.name) \ - ffuncs->destroy.name (ffuncs->user_data.name); - HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - - free (ffuncs); -} - -/** - * hb_font_funcs_set_user_data: (skip) - * @ffuncs: font functions. - * @key: - * @data: - * @destroy: - * @replace: - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_funcs_set_user_data (hb_font_funcs_t *ffuncs, - hb_user_data_key_t *key, - void * data, - hb_destroy_func_t destroy, - hb_bool_t replace) -{ - return hb_object_set_user_data (ffuncs, key, data, destroy, replace); -} - -/** - * hb_font_funcs_get_user_data: (skip) - * @ffuncs: font functions. - * @key: - * - * - * - * Return value: (transfer none): - * - * Since: 0.9.2 - **/ -void * -hb_font_funcs_get_user_data (hb_font_funcs_t *ffuncs, - hb_user_data_key_t *key) -{ - return hb_object_get_user_data (ffuncs, key); -} - - -/** - * hb_font_funcs_make_immutable: - * @ffuncs: font functions. - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs) -{ - if (unlikely (hb_object_is_inert (ffuncs))) - return; - - ffuncs->immutable = true; -} - -/** - * hb_font_funcs_is_immutable: - * @ffuncs: font functions. - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_funcs_is_immutable (hb_font_funcs_t *ffuncs) -{ - return ffuncs->immutable; -} - - -#define HB_FONT_FUNC_IMPLEMENT(name) \ - \ -void \ -hb_font_funcs_set_##name##_func (hb_font_funcs_t *ffuncs, \ - hb_font_get_##name##_func_t func, \ - void *user_data, \ - hb_destroy_func_t destroy) \ -{ \ - if (ffuncs->immutable) { \ - if (destroy) \ - destroy (user_data); \ - return; \ - } \ - \ - if (ffuncs->destroy.name) \ - ffuncs->destroy.name (ffuncs->user_data.name); \ - \ - if (func) { \ - ffuncs->get.f.name = func; \ - ffuncs->user_data.name = user_data; \ - ffuncs->destroy.name = destroy; \ - } else { \ - ffuncs->get.f.name = hb_font_get_##name##_default; \ - ffuncs->user_data.name = nullptr; \ - ffuncs->destroy.name = nullptr; \ - } \ -} - -HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - -bool -hb_font_t::has_func (unsigned int i) -{ - return (this->klass->get.array[i] != _hb_font_funcs_default.get.array[i]) || - (parent && parent != &_hb_Null_hb_font_t && parent->has_func (i)); -} - -/* Public getters */ - -/** - * hb_font_get_h_extents: - * @font: a font. - * @extents: (out): - * - * - * - * Return value: - * - * Since: 1.1.3 - **/ -hb_bool_t -hb_font_get_h_extents (hb_font_t *font, - hb_font_extents_t *extents) -{ - return font->get_font_h_extents (extents); -} - -/** - * hb_font_get_v_extents: - * @font: a font. - * @extents: (out): - * - * - * - * Return value: - * - * Since: 1.1.3 - **/ -hb_bool_t -hb_font_get_v_extents (hb_font_t *font, - hb_font_extents_t *extents) -{ - return font->get_font_v_extents (extents); -} - -/** - * hb_font_get_glyph: - * @font: a font. - * @unicode: - * @variation_selector: - * @glyph: (out): - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_get_glyph (hb_font_t *font, - hb_codepoint_t unicode, hb_codepoint_t variation_selector, - hb_codepoint_t *glyph) -{ - if (unlikely (variation_selector)) - return font->get_variation_glyph (unicode, variation_selector, glyph); - return font->get_nominal_glyph (unicode, glyph); -} - -/** - * hb_font_get_nominal_glyph: - * @font: a font. - * @unicode: - * @glyph: (out): - * - * - * - * Return value: - * - * Since: 1.2.3 - **/ -hb_bool_t -hb_font_get_nominal_glyph (hb_font_t *font, - hb_codepoint_t unicode, - hb_codepoint_t *glyph) -{ - return font->get_nominal_glyph (unicode, glyph); -} - -/** - * hb_font_get_variation_glyph: - * @font: a font. - * @unicode: - * @variation_selector: - * @glyph: (out): - * - * - * - * Return value: - * - * Since: 1.2.3 - **/ -hb_bool_t -hb_font_get_variation_glyph (hb_font_t *font, - hb_codepoint_t unicode, hb_codepoint_t variation_selector, - hb_codepoint_t *glyph) -{ - return font->get_variation_glyph (unicode, variation_selector, glyph); -} - -/** - * hb_font_get_glyph_h_advance: - * @font: a font. - * @glyph: - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_position_t -hb_font_get_glyph_h_advance (hb_font_t *font, - hb_codepoint_t glyph) -{ - return font->get_glyph_h_advance (glyph); -} - -/** - * hb_font_get_glyph_v_advance: - * @font: a font. - * @glyph: - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_position_t -hb_font_get_glyph_v_advance (hb_font_t *font, - hb_codepoint_t glyph) -{ - return font->get_glyph_v_advance (glyph); -} - -/** - * hb_font_get_glyph_h_advances: - * @font: a font. - * - * - * - * Since: 1.8.6 - **/ -void -hb_font_get_glyph_h_advances (hb_font_t* font, - unsigned count, - hb_codepoint_t *first_glyph, - unsigned glyph_stride, - hb_position_t *first_advance, - unsigned advance_stride) -{ - font->get_glyph_h_advances (count, first_glyph, glyph_stride, first_advance, advance_stride); -} -/** - * hb_font_get_glyph_v_advances: - * @font: a font. - * - * - * - * Since: 1.8.6 - **/ -void -hb_font_get_glyph_v_advances (hb_font_t* font, - unsigned count, - hb_codepoint_t *first_glyph, - unsigned glyph_stride, - hb_position_t *first_advance, - unsigned advance_stride) -{ - font->get_glyph_v_advances (count, first_glyph, glyph_stride, first_advance, advance_stride); -} - -/** - * hb_font_get_glyph_h_origin: - * @font: a font. - * @glyph: - * @x: (out): - * @y: (out): - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_get_glyph_h_origin (hb_font_t *font, - hb_codepoint_t glyph, - hb_position_t *x, hb_position_t *y) -{ - return font->get_glyph_h_origin (glyph, x, y); -} - -/** - * hb_font_get_glyph_v_origin: - * @font: a font. - * @glyph: - * @x: (out): - * @y: (out): - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_get_glyph_v_origin (hb_font_t *font, - hb_codepoint_t glyph, - hb_position_t *x, hb_position_t *y) -{ - return font->get_glyph_v_origin (glyph, x, y); -} - -/** - * hb_font_get_glyph_h_kerning: - * @font: a font. - * @left_glyph: - * @right_glyph: - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_position_t -hb_font_get_glyph_h_kerning (hb_font_t *font, - hb_codepoint_t left_glyph, hb_codepoint_t right_glyph) -{ - return font->get_glyph_h_kerning (left_glyph, right_glyph); -} - -/** - * hb_font_get_glyph_v_kerning: - * @font: a font. - * @top_glyph: - * @bottom_glyph: - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_position_t -hb_font_get_glyph_v_kerning (hb_font_t *font, - hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph) -{ - return font->get_glyph_v_kerning (top_glyph, bottom_glyph); -} - -/** - * hb_font_get_glyph_extents: - * @font: a font. - * @glyph: - * @extents: (out): - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_get_glyph_extents (hb_font_t *font, - hb_codepoint_t glyph, - hb_glyph_extents_t *extents) -{ - return font->get_glyph_extents (glyph, extents); -} - -/** - * hb_font_get_glyph_contour_point: - * @font: a font. - * @glyph: - * @point_index: - * @x: (out): - * @y: (out): - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_get_glyph_contour_point (hb_font_t *font, - hb_codepoint_t glyph, unsigned int point_index, - hb_position_t *x, hb_position_t *y) -{ - return font->get_glyph_contour_point (glyph, point_index, x, y); -} - -/** - * hb_font_get_glyph_name: - * @font: a font. - * @glyph: - * @name: (array length=size): - * @size: - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_get_glyph_name (hb_font_t *font, - hb_codepoint_t glyph, - char *name, unsigned int size) -{ - return font->get_glyph_name (glyph, name, size); -} - -/** - * hb_font_get_glyph_from_name: - * @font: a font. - * @name: (array length=len): - * @len: - * @glyph: (out): - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_get_glyph_from_name (hb_font_t *font, - const char *name, int len, /* -1 means nul-terminated */ - hb_codepoint_t *glyph) -{ - return font->get_glyph_from_name (name, len, glyph); -} - - -/* A bit higher-level, and with fallback */ - -/** - * hb_font_get_extents_for_direction: - * @font: a font. - * @direction: - * @extents: - * - * - * - * Since: 1.1.3 - **/ -void -hb_font_get_extents_for_direction (hb_font_t *font, - hb_direction_t direction, - hb_font_extents_t *extents) -{ - return font->get_extents_for_direction (direction, extents); -} -/** - * hb_font_get_glyph_advance_for_direction: - * @font: a font. - * @glyph: - * @direction: - * @x: (out): - * @y: (out): - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_get_glyph_advance_for_direction (hb_font_t *font, - hb_codepoint_t glyph, - hb_direction_t direction, - hb_position_t *x, hb_position_t *y) -{ - return font->get_glyph_advance_for_direction (glyph, direction, x, y); -} -/** - * hb_font_get_glyph_advances_for_direction: - * @font: a font. - * @direction: - * - * - * - * Since: 1.8.6 - **/ -HB_EXTERN void -hb_font_get_glyph_advances_for_direction (hb_font_t* font, - hb_direction_t direction, - unsigned count, - hb_codepoint_t *first_glyph, - unsigned glyph_stride, - hb_position_t *first_advance, - unsigned advance_stride) -{ - font->get_glyph_advances_for_direction (direction, count, first_glyph, glyph_stride, first_advance, advance_stride); -} - -/** - * hb_font_get_glyph_origin_for_direction: - * @font: a font. - * @glyph: - * @direction: - * @x: (out): - * @y: (out): - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_get_glyph_origin_for_direction (hb_font_t *font, - hb_codepoint_t glyph, - hb_direction_t direction, - hb_position_t *x, hb_position_t *y) -{ - return font->get_glyph_origin_for_direction (glyph, direction, x, y); -} - -/** - * hb_font_add_glyph_origin_for_direction: - * @font: a font. - * @glyph: - * @direction: - * @x: (out): - * @y: (out): - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_add_glyph_origin_for_direction (hb_font_t *font, - hb_codepoint_t glyph, - hb_direction_t direction, - hb_position_t *x, hb_position_t *y) -{ - return font->add_glyph_origin_for_direction (glyph, direction, x, y); -} - -/** - * hb_font_subtract_glyph_origin_for_direction: - * @font: a font. - * @glyph: - * @direction: - * @x: (out): - * @y: (out): - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_subtract_glyph_origin_for_direction (hb_font_t *font, - hb_codepoint_t glyph, - hb_direction_t direction, - hb_position_t *x, hb_position_t *y) -{ - return font->subtract_glyph_origin_for_direction (glyph, direction, x, y); -} - -/** - * hb_font_get_glyph_kerning_for_direction: - * @font: a font. - * @first_glyph: - * @second_glyph: - * @direction: - * @x: (out): - * @y: (out): - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_get_glyph_kerning_for_direction (hb_font_t *font, - hb_codepoint_t first_glyph, hb_codepoint_t second_glyph, - hb_direction_t direction, - hb_position_t *x, hb_position_t *y) -{ - return font->get_glyph_kerning_for_direction (first_glyph, second_glyph, direction, x, y); -} - -/** - * hb_font_get_glyph_extents_for_origin: - * @font: a font. - * @glyph: - * @direction: - * @extents: (out): - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_get_glyph_extents_for_origin (hb_font_t *font, - hb_codepoint_t glyph, - hb_direction_t direction, - hb_glyph_extents_t *extents) -{ - return font->get_glyph_extents_for_origin (glyph, direction, extents); -} - -/** - * hb_font_get_glyph_contour_point_for_origin: - * @font: a font. - * @glyph: - * @point_index: - * @direction: - * @x: (out): - * @y: (out): - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_get_glyph_contour_point_for_origin (hb_font_t *font, - hb_codepoint_t glyph, unsigned int point_index, - hb_direction_t direction, - hb_position_t *x, hb_position_t *y) -{ - return font->get_glyph_contour_point_for_origin (glyph, point_index, direction, x, y); -} - -/* Generates gidDDD if glyph has no name. */ -/** - * hb_font_glyph_to_string: - * @font: a font. - * @glyph: - * @s: (array length=size): - * @size: - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_glyph_to_string (hb_font_t *font, - hb_codepoint_t glyph, - char *s, unsigned int size) -{ - font->glyph_to_string (glyph, s, size); -} - -/* Parses gidDDD and uniUUUU strings automatically. */ -/** - * hb_font_glyph_from_string: - * @font: a font. - * @s: (array length=len) (element-type uint8_t): - * @len: - * @glyph: (out): - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_glyph_from_string (hb_font_t *font, - const char *s, int len, /* -1 means nul-terminated */ - hb_codepoint_t *glyph) -{ - return font->glyph_from_string (s, len, glyph); -} - - -/* - * hb_font_t - */ - -DEFINE_NULL_INSTANCE (hb_font_t) = -{ - HB_OBJECT_HEADER_STATIC, - - true, /* immutable */ - - nullptr, /* parent */ - const_cast (&_hb_Null_hb_face_t), - - 1000, /* x_scale */ - 1000, /* y_scale */ - - 0, /* x_ppem */ - 0, /* y_ppem */ - 0, /* ptem */ - - 0, /* num_coords */ - nullptr, /* coords */ - - const_cast (&_hb_Null_hb_font_funcs_t), /* klass */ - nullptr, /* user_data */ - nullptr, /* destroy */ - - { -#define HB_SHAPER_IMPLEMENT(shaper) HB_ATOMIC_PTR_INIT (HB_SHAPER_DATA_INVALID), -#include "hb-shaper-list.hh" -#undef HB_SHAPER_IMPLEMENT - } -}; - - -/** - * hb_font_create: (Xconstructor) - * @face: a face. - * - * - * - * Return value: (transfer full): - * - * Since: 0.9.2 - **/ -hb_font_t * -hb_font_create (hb_face_t *face) -{ - hb_font_t *font; - - if (unlikely (!face)) - face = hb_face_get_empty (); - if (!(font = hb_object_create ())) - return hb_font_get_empty (); - - hb_face_make_immutable (face); - font->parent = hb_font_get_empty (); - font->face = hb_face_reference (face); - font->klass = hb_font_funcs_get_empty (); - - font->x_scale = font->y_scale = hb_face_get_upem (face); - - return font; -} - -/** - * hb_font_create_sub_font: - * @parent: parent font. - * - * - * - * Return value: (transfer full): - * - * Since: 0.9.2 - **/ -hb_font_t * -hb_font_create_sub_font (hb_font_t *parent) -{ - if (unlikely (!parent)) - parent = hb_font_get_empty (); - - hb_font_t *font = hb_font_create (parent->face); - - if (unlikely (hb_object_is_inert (font))) - return font; - - font->parent = hb_font_reference (parent); - - font->x_scale = parent->x_scale; - font->y_scale = parent->y_scale; - font->x_ppem = parent->x_ppem; - font->y_ppem = parent->y_ppem; - font->ptem = parent->ptem; - - font->num_coords = parent->num_coords; - if (!font->num_coords) - font->coords = nullptr; - else - { - unsigned int size = parent->num_coords * sizeof (parent->coords[0]); - font->coords = (int *) malloc (size); - if (unlikely (!font->coords)) - font->num_coords = 0; - else - memcpy (font->coords, parent->coords, size); - } - - return font; -} - -/** - * hb_font_get_empty: - * - * - * - * Return value: (transfer full) - * - * Since: 0.9.2 - **/ -hb_font_t * -hb_font_get_empty (void) -{ - return const_cast (&Null(hb_font_t)); -} - -/** - * hb_font_reference: (skip) - * @font: a font. - * - * - * - * Return value: (transfer full): - * - * Since: 0.9.2 - **/ -hb_font_t * -hb_font_reference (hb_font_t *font) -{ - return hb_object_reference (font); -} - -/** - * hb_font_destroy: (skip) - * @font: a font. - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_destroy (hb_font_t *font) -{ - if (!hb_object_destroy (font)) return; - -#define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_DESTROY(shaper, font); -#include "hb-shaper-list.hh" -#undef HB_SHAPER_IMPLEMENT - - if (font->destroy) - font->destroy (font->user_data); - - hb_font_destroy (font->parent); - hb_face_destroy (font->face); - hb_font_funcs_destroy (font->klass); - - free (font->coords); - - free (font); -} - -/** - * hb_font_set_user_data: (skip) - * @font: a font. - * @key: - * @data: - * @destroy: - * @replace: - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_set_user_data (hb_font_t *font, - hb_user_data_key_t *key, - void * data, - hb_destroy_func_t destroy, - hb_bool_t replace) -{ - return hb_object_set_user_data (font, key, data, destroy, replace); -} - -/** - * hb_font_get_user_data: (skip) - * @font: a font. - * @key: - * - * - * - * Return value: (transfer none): - * - * Since: 0.9.2 - **/ -void * -hb_font_get_user_data (hb_font_t *font, - hb_user_data_key_t *key) -{ - return hb_object_get_user_data (font, key); -} - -/** - * hb_font_make_immutable: - * @font: a font. - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_make_immutable (hb_font_t *font) -{ - if (unlikely (hb_object_is_inert (font))) - return; - - if (font->parent) - hb_font_make_immutable (font->parent); - - font->immutable = true; -} - -/** - * hb_font_is_immutable: - * @font: a font. - * - * - * - * Return value: - * - * Since: 0.9.2 - **/ -hb_bool_t -hb_font_is_immutable (hb_font_t *font) -{ - return font->immutable; -} - -/** - * hb_font_set_parent: - * @font: a font. - * @parent: new parent. - * - * Sets parent font of @font. - * - * Since: 1.0.5 - **/ -void -hb_font_set_parent (hb_font_t *font, - hb_font_t *parent) -{ - if (font->immutable) - return; - - if (!parent) - parent = hb_font_get_empty (); - - hb_font_t *old = font->parent; - - font->parent = hb_font_reference (parent); - - hb_font_destroy (old); -} - -/** - * hb_font_get_parent: - * @font: a font. - * - * - * - * Return value: (transfer none): - * - * Since: 0.9.2 - **/ -hb_font_t * -hb_font_get_parent (hb_font_t *font) -{ - return font->parent; -} - -/** - * hb_font_set_face: - * @font: a font. - * @face: new face. - * - * Sets font-face of @font. - * - * Since: 1.4.3 - **/ -void -hb_font_set_face (hb_font_t *font, - hb_face_t *face) -{ - if (font->immutable) - return; - - if (unlikely (!face)) - face = hb_face_get_empty (); - - hb_face_t *old = font->face; - - font->face = hb_face_reference (face); - - hb_face_destroy (old); -} - -/** - * hb_font_get_face: - * @font: a font. - * - * - * - * Return value: (transfer none): - * - * Since: 0.9.2 - **/ -hb_face_t * -hb_font_get_face (hb_font_t *font) -{ - return font->face; -} - - -/** - * hb_font_set_funcs: - * @font: a font. - * @klass: (closure font_data) (destroy destroy) (scope notified): - * @font_data: - * @destroy: - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_set_funcs (hb_font_t *font, - hb_font_funcs_t *klass, - void *font_data, - hb_destroy_func_t destroy) -{ - if (font->immutable) { - if (destroy) - destroy (font_data); - return; - } - - if (font->destroy) - font->destroy (font->user_data); - - if (!klass) - klass = hb_font_funcs_get_empty (); - - hb_font_funcs_reference (klass); - hb_font_funcs_destroy (font->klass); - font->klass = klass; - font->user_data = font_data; - font->destroy = destroy; -} - -/** - * hb_font_set_funcs_data: - * @font: a font. - * @font_data: (destroy destroy) (scope notified): - * @destroy: - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_set_funcs_data (hb_font_t *font, - void *font_data, - hb_destroy_func_t destroy) -{ - /* Destroy user_data? */ - if (font->immutable) { - if (destroy) - destroy (font_data); - return; - } - - if (font->destroy) - font->destroy (font->user_data); - - font->user_data = font_data; - font->destroy = destroy; -} - - -/** - * hb_font_set_scale: - * @font: a font. - * @x_scale: - * @y_scale: - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_set_scale (hb_font_t *font, - int x_scale, - int y_scale) -{ - if (font->immutable) - return; - - font->x_scale = x_scale; - font->y_scale = y_scale; -} - -/** - * hb_font_get_scale: - * @font: a font. - * @x_scale: (out): - * @y_scale: (out): - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_get_scale (hb_font_t *font, - int *x_scale, - int *y_scale) -{ - if (x_scale) *x_scale = font->x_scale; - if (y_scale) *y_scale = font->y_scale; -} - -/** - * hb_font_set_ppem: - * @font: a font. - * @x_ppem: - * @y_ppem: - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_set_ppem (hb_font_t *font, - unsigned int x_ppem, - unsigned int y_ppem) -{ - if (font->immutable) - return; - - font->x_ppem = x_ppem; - font->y_ppem = y_ppem; -} - -/** - * hb_font_get_ppem: - * @font: a font. - * @x_ppem: (out): - * @y_ppem: (out): - * - * - * - * Since: 0.9.2 - **/ -void -hb_font_get_ppem (hb_font_t *font, - unsigned int *x_ppem, - unsigned int *y_ppem) -{ - if (x_ppem) *x_ppem = font->x_ppem; - if (y_ppem) *y_ppem = font->y_ppem; -} - -/** - * hb_font_set_ptem: - * @font: a font. - * @ptem: - * - * Sets "point size" of the font. - * - * Since: 1.6.0 - **/ -void -hb_font_set_ptem (hb_font_t *font, float ptem) -{ - if (font->immutable) - return; - - font->ptem = ptem; -} - -/** - * hb_font_get_ptem: - * @font: a font. - * - * Gets the "point size" of the font. A value of 0 means unset. - * - * Return value: Point size. - * - * Since: 0.9.2 - **/ -float -hb_font_get_ptem (hb_font_t *font) -{ - return font->ptem; -} - -/* - * Variations - */ - -static void -_hb_font_adopt_var_coords_normalized (hb_font_t *font, - int *coords, /* 2.14 normalized */ - unsigned int coords_length) -{ - free (font->coords); - - font->coords = coords; - font->num_coords = coords_length; -} - -/** - * hb_font_set_variations: - * - * Since: 1.4.2 - */ -void -hb_font_set_variations (hb_font_t *font, - const hb_variation_t *variations, - unsigned int variations_length) -{ - if (font->immutable) - return; - - if (!variations_length) - { - hb_font_set_var_coords_normalized (font, nullptr, 0); - return; - } - - unsigned int coords_length = hb_ot_var_get_axis_count (font->face); - - int *normalized = coords_length ? (int *) calloc (coords_length, sizeof (int)) : nullptr; - if (unlikely (coords_length && !normalized)) - return; - - hb_ot_var_normalize_variations (font->face, - variations, variations_length, - normalized, coords_length); - _hb_font_adopt_var_coords_normalized (font, normalized, coords_length); -} - -/** - * hb_font_set_var_coords_design: - * - * Since: 1.4.2 - */ -void -hb_font_set_var_coords_design (hb_font_t *font, - const float *coords, - unsigned int coords_length) -{ - if (font->immutable) - return; - - int *normalized = coords_length ? (int *) calloc (coords_length, sizeof (int)) : nullptr; - if (unlikely (coords_length && !normalized)) - return; - - hb_ot_var_normalize_coords (font->face, coords_length, coords, normalized); - _hb_font_adopt_var_coords_normalized (font, normalized, coords_length); -} - -/** - * hb_font_set_var_coords_normalized: - * - * Since: 1.4.2 - */ -void -hb_font_set_var_coords_normalized (hb_font_t *font, - const int *coords, /* 2.14 normalized */ - unsigned int coords_length) -{ - if (font->immutable) - return; - - int *copy = coords_length ? (int *) calloc (coords_length, sizeof (coords[0])) : nullptr; - if (unlikely (coords_length && !copy)) - return; - - if (coords_length) - memcpy (copy, coords, coords_length * sizeof (coords[0])); - - _hb_font_adopt_var_coords_normalized (font, copy, coords_length); -} - -/** - * hb_font_get_var_coords_normalized: - * - * Return value is valid as long as variation coordinates of the font - * are not modified. - * - * Since: 1.4.2 - */ -const int * -hb_font_get_var_coords_normalized (hb_font_t *font, - unsigned int *length) -{ - if (length) - *length = font->num_coords; - - return font->coords; -} - - -#ifndef HB_DISABLE_DEPRECATED - -/* - * Deprecated get_glyph_func(): - */ - -struct hb_trampoline_closure_t -{ - void *user_data; - hb_destroy_func_t destroy; - unsigned int ref_count; -}; - -template -struct hb_trampoline_t -{ - hb_trampoline_closure_t closure; /* Must be first. */ - FuncType func; -}; - -template -static hb_trampoline_t * -trampoline_create (FuncType func, - void *user_data, - hb_destroy_func_t destroy) -{ - typedef hb_trampoline_t trampoline_t; - - trampoline_t *trampoline = (trampoline_t *) calloc (1, sizeof (trampoline_t)); - - if (unlikely (!trampoline)) - return nullptr; - - trampoline->closure.user_data = user_data; - trampoline->closure.destroy = destroy; - trampoline->closure.ref_count = 1; - trampoline->func = func; - - return trampoline; -} - -static void -trampoline_reference (hb_trampoline_closure_t *closure) -{ - closure->ref_count++; -} - -static void -trampoline_destroy (void *user_data) -{ - hb_trampoline_closure_t *closure = (hb_trampoline_closure_t *) user_data; - - if (--closure->ref_count) - return; - - if (closure->destroy) - closure->destroy (closure->user_data); - free (closure); -} - -typedef hb_trampoline_t hb_font_get_glyph_trampoline_t; - -static hb_bool_t -hb_font_get_nominal_glyph_trampoline (hb_font_t *font, - void *font_data, - hb_codepoint_t unicode, - hb_codepoint_t *glyph, - void *user_data) -{ - hb_font_get_glyph_trampoline_t *trampoline = (hb_font_get_glyph_trampoline_t *) user_data; - return trampoline->func (font, font_data, unicode, 0, glyph, trampoline->closure.user_data); -} - -static hb_bool_t -hb_font_get_variation_glyph_trampoline (hb_font_t *font, - void *font_data, - hb_codepoint_t unicode, - hb_codepoint_t variation_selector, - hb_codepoint_t *glyph, - void *user_data) -{ - hb_font_get_glyph_trampoline_t *trampoline = (hb_font_get_glyph_trampoline_t *) user_data; - return trampoline->func (font, font_data, unicode, variation_selector, glyph, trampoline->closure.user_data); -} - -/** - * hb_font_funcs_set_glyph_func: - * @ffuncs: font functions. - * @func: (closure user_data) (destroy destroy) (scope notified): - * @user_data: - * @destroy: - * - * Deprecated. Use hb_font_funcs_set_nominal_glyph_func() and - * hb_font_funcs_set_variation_glyph_func() instead. - * - * Since: 0.9.2 - * Deprecated: 1.2.3 - **/ -void -hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs, - hb_font_get_glyph_func_t func, - void *user_data, hb_destroy_func_t destroy) -{ - hb_font_get_glyph_trampoline_t *trampoline; - - trampoline = trampoline_create (func, user_data, destroy); - if (unlikely (!trampoline)) - { - if (destroy) - destroy (user_data); - return; - } - - hb_font_funcs_set_nominal_glyph_func (ffuncs, - hb_font_get_nominal_glyph_trampoline, - trampoline, - trampoline_destroy); - - trampoline_reference (&trampoline->closure); - hb_font_funcs_set_variation_glyph_func (ffuncs, - hb_font_get_variation_glyph_trampoline, - trampoline, - trampoline_destroy); -} - -#endif /* HB_DISABLE_DEPRECATED */ diff --git a/harfbuzz-1.9.0/src/hb-font.hh b/harfbuzz-1.9.0/src/hb-font.hh deleted file mode 100644 index 4c8d0aeec..000000000 --- a/harfbuzz-1.9.0/src/hb-font.hh +++ /dev/null @@ -1,604 +0,0 @@ -/* - * Copyright © 2009 Red Hat, Inc. - * Copyright © 2011 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_FONT_HH -#define HB_FONT_HH - -#include "hb.hh" - -#include "hb-face.hh" -#include "hb-shaper.hh" - - -/* - * hb_font_funcs_t - */ - -#define HB_FONT_FUNCS_IMPLEMENT_CALLBACKS \ - HB_FONT_FUNC_IMPLEMENT (font_h_extents) \ - HB_FONT_FUNC_IMPLEMENT (font_v_extents) \ - HB_FONT_FUNC_IMPLEMENT (nominal_glyph) \ - HB_FONT_FUNC_IMPLEMENT (variation_glyph) \ - HB_FONT_FUNC_IMPLEMENT (glyph_h_advance) \ - HB_FONT_FUNC_IMPLEMENT (glyph_v_advance) \ - HB_FONT_FUNC_IMPLEMENT (glyph_h_advances) \ - HB_FONT_FUNC_IMPLEMENT (glyph_v_advances) \ - HB_FONT_FUNC_IMPLEMENT (glyph_h_origin) \ - HB_FONT_FUNC_IMPLEMENT (glyph_v_origin) \ - HB_FONT_FUNC_IMPLEMENT (glyph_h_kerning) \ - HB_FONT_FUNC_IMPLEMENT (glyph_v_kerning) \ - HB_FONT_FUNC_IMPLEMENT (glyph_extents) \ - HB_FONT_FUNC_IMPLEMENT (glyph_contour_point) \ - HB_FONT_FUNC_IMPLEMENT (glyph_name) \ - HB_FONT_FUNC_IMPLEMENT (glyph_from_name) \ - /* ^--- Add new callbacks here */ - -struct hb_font_funcs_t -{ - hb_object_header_t header; - ASSERT_POD (); - - hb_bool_t immutable; - - struct { -#define HB_FONT_FUNC_IMPLEMENT(name) void *name; - HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - } user_data; - - struct { -#define HB_FONT_FUNC_IMPLEMENT(name) hb_destroy_func_t name; - HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - } destroy; - - /* Don't access these directly. Call font->get_*() instead. */ - union get_t { - struct get_funcs_t { -#define HB_FONT_FUNC_IMPLEMENT(name) hb_font_get_##name##_func_t name; - HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - } f; - void (*array[0 -#define HB_FONT_FUNC_IMPLEMENT(name) +1 - HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - ]) (void); - } get; -}; -DECLARE_NULL_INSTANCE (hb_font_funcs_t); - - -/* - * hb_font_t - */ - -struct hb_font_t -{ - hb_object_header_t header; - ASSERT_POD (); - - hb_bool_t immutable; - - hb_font_t *parent; - hb_face_t *face; - - int x_scale; - int y_scale; - - unsigned int x_ppem; - unsigned int y_ppem; - - float ptem; - - /* Font variation coordinates. */ - unsigned int num_coords; - int *coords; - - hb_font_funcs_t *klass; - void *user_data; - hb_destroy_func_t destroy; - - struct hb_shaper_data_t shaper_data; - - - /* Convert from font-space to user-space */ - inline int dir_scale (hb_direction_t direction) - { return HB_DIRECTION_IS_VERTICAL(direction) ? y_scale : x_scale; } - inline hb_position_t em_scale_x (int16_t v) { return em_scale (v, x_scale); } - inline hb_position_t em_scale_y (int16_t v) { return em_scale (v, y_scale); } - inline hb_position_t em_scalef_x (float v) { return em_scalef (v, this->x_scale); } - inline hb_position_t em_scalef_y (float v) { return em_scalef (v, this->y_scale); } - inline float em_fscale_x (int16_t v) { return em_fscale (v, x_scale); } - inline float em_fscale_y (int16_t v) { return em_fscale (v, y_scale); } - inline hb_position_t em_scale_dir (int16_t v, hb_direction_t direction) - { return em_scale (v, dir_scale (direction)); } - - /* Convert from parent-font user-space to our user-space */ - inline hb_position_t parent_scale_x_distance (hb_position_t v) { - if (unlikely (parent && parent->x_scale != x_scale)) - return (hb_position_t) (v * (int64_t) this->x_scale / this->parent->x_scale); - return v; - } - inline hb_position_t parent_scale_y_distance (hb_position_t v) { - if (unlikely (parent && parent->y_scale != y_scale)) - return (hb_position_t) (v * (int64_t) this->y_scale / this->parent->y_scale); - return v; - } - inline hb_position_t parent_scale_x_position (hb_position_t v) { - return parent_scale_x_distance (v); - } - inline hb_position_t parent_scale_y_position (hb_position_t v) { - return parent_scale_y_distance (v); - } - - inline void parent_scale_distance (hb_position_t *x, hb_position_t *y) { - *x = parent_scale_x_distance (*x); - *y = parent_scale_y_distance (*y); - } - inline void parent_scale_position (hb_position_t *x, hb_position_t *y) { - *x = parent_scale_x_position (*x); - *y = parent_scale_y_position (*y); - } - - - /* Public getters */ - - HB_INTERNAL bool has_func (unsigned int i); - - /* has_* ... */ -#define HB_FONT_FUNC_IMPLEMENT(name) \ - bool \ - has_##name##_func (void) \ - { \ - hb_font_funcs_t *funcs = this->klass; \ - unsigned int i = offsetof (hb_font_funcs_t::get_t::get_funcs_t, name) / sizeof (funcs->get.array[0]); \ - return has_func (i); \ - } - HB_FONT_FUNCS_IMPLEMENT_CALLBACKS -#undef HB_FONT_FUNC_IMPLEMENT - - inline hb_bool_t get_font_h_extents (hb_font_extents_t *extents) - { - memset (extents, 0, sizeof (*extents)); - return klass->get.f.font_h_extents (this, user_data, - extents, - klass->user_data.font_h_extents); - } - inline hb_bool_t get_font_v_extents (hb_font_extents_t *extents) - { - memset (extents, 0, sizeof (*extents)); - return klass->get.f.font_v_extents (this, user_data, - extents, - klass->user_data.font_v_extents); - } - - inline bool has_glyph (hb_codepoint_t unicode) - { - hb_codepoint_t glyph; - return get_nominal_glyph (unicode, &glyph); - } - - inline hb_bool_t get_nominal_glyph (hb_codepoint_t unicode, - hb_codepoint_t *glyph) - { - *glyph = 0; - return klass->get.f.nominal_glyph (this, user_data, - unicode, glyph, - klass->user_data.nominal_glyph); - } - - inline hb_bool_t get_variation_glyph (hb_codepoint_t unicode, hb_codepoint_t variation_selector, - hb_codepoint_t *glyph) - { - *glyph = 0; - return klass->get.f.variation_glyph (this, user_data, - unicode, variation_selector, glyph, - klass->user_data.variation_glyph); - } - - inline hb_position_t get_glyph_h_advance (hb_codepoint_t glyph) - { - return klass->get.f.glyph_h_advance (this, user_data, - glyph, - klass->user_data.glyph_h_advance); - } - - inline hb_position_t get_glyph_v_advance (hb_codepoint_t glyph) - { - return klass->get.f.glyph_v_advance (this, user_data, - glyph, - klass->user_data.glyph_v_advance); - } - - inline void get_glyph_h_advances (unsigned int count, - hb_codepoint_t *first_glyph, - unsigned int glyph_stride, - hb_position_t *first_advance, - unsigned int advance_stride) - { - return klass->get.f.glyph_h_advances (this, user_data, - count, - first_glyph, glyph_stride, - first_advance, advance_stride, - klass->user_data.glyph_h_advances); - } - - inline void get_glyph_v_advances (unsigned int count, - hb_codepoint_t *first_glyph, - unsigned int glyph_stride, - hb_position_t *first_advance, - unsigned int advance_stride) - { - return klass->get.f.glyph_v_advances (this, user_data, - count, - first_glyph, glyph_stride, - first_advance, advance_stride, - klass->user_data.glyph_v_advances); - } - - inline hb_bool_t get_glyph_h_origin (hb_codepoint_t glyph, - hb_position_t *x, hb_position_t *y) - { - *x = *y = 0; - return klass->get.f.glyph_h_origin (this, user_data, - glyph, x, y, - klass->user_data.glyph_h_origin); - } - - inline hb_bool_t get_glyph_v_origin (hb_codepoint_t glyph, - hb_position_t *x, hb_position_t *y) - { - *x = *y = 0; - return klass->get.f.glyph_v_origin (this, user_data, - glyph, x, y, - klass->user_data.glyph_v_origin); - } - - inline hb_position_t get_glyph_h_kerning (hb_codepoint_t left_glyph, hb_codepoint_t right_glyph) - { - return klass->get.f.glyph_h_kerning (this, user_data, - left_glyph, right_glyph, - klass->user_data.glyph_h_kerning); - } - - inline hb_position_t get_glyph_v_kerning (hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph) - { - return klass->get.f.glyph_v_kerning (this, user_data, - top_glyph, bottom_glyph, - klass->user_data.glyph_v_kerning); - } - - inline hb_bool_t get_glyph_extents (hb_codepoint_t glyph, - hb_glyph_extents_t *extents) - { - memset (extents, 0, sizeof (*extents)); - return klass->get.f.glyph_extents (this, user_data, - glyph, - extents, - klass->user_data.glyph_extents); - } - - inline hb_bool_t get_glyph_contour_point (hb_codepoint_t glyph, unsigned int point_index, - hb_position_t *x, hb_position_t *y) - { - *x = *y = 0; - return klass->get.f.glyph_contour_point (this, user_data, - glyph, point_index, - x, y, - klass->user_data.glyph_contour_point); - } - - inline hb_bool_t get_glyph_name (hb_codepoint_t glyph, - char *name, unsigned int size) - { - if (size) *name = '\0'; - return klass->get.f.glyph_name (this, user_data, - glyph, - name, size, - klass->user_data.glyph_name); - } - - inline hb_bool_t get_glyph_from_name (const char *name, int len, /* -1 means nul-terminated */ - hb_codepoint_t *glyph) - { - *glyph = 0; - if (len == -1) len = strlen (name); - return klass->get.f.glyph_from_name (this, user_data, - name, len, - glyph, - klass->user_data.glyph_from_name); - } - - - /* A bit higher-level, and with fallback */ - - inline void get_h_extents_with_fallback (hb_font_extents_t *extents) - { - if (!get_font_h_extents (extents)) - { - extents->ascender = y_scale * .8; - extents->descender = extents->ascender - y_scale; - extents->line_gap = 0; - } - } - inline void get_v_extents_with_fallback (hb_font_extents_t *extents) - { - if (!get_font_v_extents (extents)) - { - extents->ascender = x_scale / 2; - extents->descender = extents->ascender - x_scale; - extents->line_gap = 0; - } - } - - inline void get_extents_for_direction (hb_direction_t direction, - hb_font_extents_t *extents) - { - if (likely (HB_DIRECTION_IS_HORIZONTAL (direction))) - get_h_extents_with_fallback (extents); - else - get_v_extents_with_fallback (extents); - } - - inline void get_glyph_advance_for_direction (hb_codepoint_t glyph, - hb_direction_t direction, - hb_position_t *x, hb_position_t *y) - { - *x = *y = 0; - if (likely (HB_DIRECTION_IS_HORIZONTAL (direction))) - *x = get_glyph_h_advance (glyph); - else - *y = get_glyph_v_advance (glyph); - } - inline void get_glyph_advances_for_direction (hb_direction_t direction, - unsigned count, - hb_codepoint_t *first_glyph, - unsigned glyph_stride, - hb_position_t *first_advance, - unsigned advance_stride) - { - if (likely (HB_DIRECTION_IS_HORIZONTAL (direction))) - get_glyph_h_advances (count, first_glyph, glyph_stride, first_advance, advance_stride); - else - get_glyph_v_advances (count, first_glyph, glyph_stride, first_advance, advance_stride); - } - - inline void guess_v_origin_minus_h_origin (hb_codepoint_t glyph, - hb_position_t *x, hb_position_t *y) - { - *x = get_glyph_h_advance (glyph) / 2; - - /* TODO cache this somehow?! */ - hb_font_extents_t extents; - get_h_extents_with_fallback (&extents); - *y = extents.ascender; - } - - inline void get_glyph_h_origin_with_fallback (hb_codepoint_t glyph, - hb_position_t *x, hb_position_t *y) - { - if (!get_glyph_h_origin (glyph, x, y) && - get_glyph_v_origin (glyph, x, y)) - { - hb_position_t dx, dy; - guess_v_origin_minus_h_origin (glyph, &dx, &dy); - *x -= dx; *y -= dy; - } - } - inline void get_glyph_v_origin_with_fallback (hb_codepoint_t glyph, - hb_position_t *x, hb_position_t *y) - { - if (!get_glyph_v_origin (glyph, x, y) && - get_glyph_h_origin (glyph, x, y)) - { - hb_position_t dx, dy; - guess_v_origin_minus_h_origin (glyph, &dx, &dy); - *x += dx; *y += dy; - } - } - - inline void get_glyph_origin_for_direction (hb_codepoint_t glyph, - hb_direction_t direction, - hb_position_t *x, hb_position_t *y) - { - if (likely (HB_DIRECTION_IS_HORIZONTAL (direction))) - get_glyph_h_origin_with_fallback (glyph, x, y); - else - get_glyph_v_origin_with_fallback (glyph, x, y); - } - - inline void add_glyph_h_origin (hb_codepoint_t glyph, - hb_position_t *x, hb_position_t *y) - { - hb_position_t origin_x, origin_y; - - get_glyph_h_origin_with_fallback (glyph, &origin_x, &origin_y); - - *x += origin_x; - *y += origin_y; - } - inline void add_glyph_v_origin (hb_codepoint_t glyph, - hb_position_t *x, hb_position_t *y) - { - hb_position_t origin_x, origin_y; - - get_glyph_v_origin_with_fallback (glyph, &origin_x, &origin_y); - - *x += origin_x; - *y += origin_y; - } - inline void add_glyph_origin_for_direction (hb_codepoint_t glyph, - hb_direction_t direction, - hb_position_t *x, hb_position_t *y) - { - hb_position_t origin_x, origin_y; - - get_glyph_origin_for_direction (glyph, direction, &origin_x, &origin_y); - - *x += origin_x; - *y += origin_y; - } - - inline void subtract_glyph_h_origin (hb_codepoint_t glyph, - hb_position_t *x, hb_position_t *y) - { - hb_position_t origin_x, origin_y; - - get_glyph_h_origin_with_fallback (glyph, &origin_x, &origin_y); - - *x -= origin_x; - *y -= origin_y; - } - inline void subtract_glyph_v_origin (hb_codepoint_t glyph, - hb_position_t *x, hb_position_t *y) - { - hb_position_t origin_x, origin_y; - - get_glyph_v_origin_with_fallback (glyph, &origin_x, &origin_y); - - *x -= origin_x; - *y -= origin_y; - } - inline void subtract_glyph_origin_for_direction (hb_codepoint_t glyph, - hb_direction_t direction, - hb_position_t *x, hb_position_t *y) - { - hb_position_t origin_x, origin_y; - - get_glyph_origin_for_direction (glyph, direction, &origin_x, &origin_y); - - *x -= origin_x; - *y -= origin_y; - } - - inline void get_glyph_kerning_for_direction (hb_codepoint_t first_glyph, hb_codepoint_t second_glyph, - hb_direction_t direction, - hb_position_t *x, hb_position_t *y) - { - if (likely (HB_DIRECTION_IS_HORIZONTAL (direction))) { - *x = get_glyph_h_kerning (first_glyph, second_glyph); - *y = 0; - } else { - *x = 0; - *y = get_glyph_v_kerning (first_glyph, second_glyph); - } - } - - inline hb_bool_t get_glyph_extents_for_origin (hb_codepoint_t glyph, - hb_direction_t direction, - hb_glyph_extents_t *extents) - { - hb_bool_t ret = get_glyph_extents (glyph, extents); - - if (ret) - subtract_glyph_origin_for_direction (glyph, direction, &extents->x_bearing, &extents->y_bearing); - - return ret; - } - - inline hb_bool_t get_glyph_contour_point_for_origin (hb_codepoint_t glyph, unsigned int point_index, - hb_direction_t direction, - hb_position_t *x, hb_position_t *y) - { - hb_bool_t ret = get_glyph_contour_point (glyph, point_index, x, y); - - if (ret) - subtract_glyph_origin_for_direction (glyph, direction, x, y); - - return ret; - } - - /* Generates gidDDD if glyph has no name. */ - inline void - glyph_to_string (hb_codepoint_t glyph, - char *s, unsigned int size) - { - if (get_glyph_name (glyph, s, size)) return; - - if (size && snprintf (s, size, "gid%u", glyph) < 0) - *s = '\0'; - } - - /* Parses gidDDD and uniUUUU strings automatically. */ - inline hb_bool_t - glyph_from_string (const char *s, int len, /* -1 means nul-terminated */ - hb_codepoint_t *glyph) - { - if (get_glyph_from_name (s, len, glyph)) return true; - - if (len == -1) len = strlen (s); - - /* Straight glyph index. */ - if (hb_codepoint_parse (s, len, 10, glyph)) - return true; - - if (len > 3) - { - /* gidDDD syntax for glyph indices. */ - if (0 == strncmp (s, "gid", 3) && - hb_codepoint_parse (s + 3, len - 3, 10, glyph)) - return true; - - /* uniUUUU and other Unicode character indices. */ - hb_codepoint_t unichar; - if (0 == strncmp (s, "uni", 3) && - hb_codepoint_parse (s + 3, len - 3, 16, &unichar) && - get_nominal_glyph (unichar, glyph)) - return true; - } - - return false; - } - - inline hb_position_t em_scale (int16_t v, int scale) - { - int upem = face->get_upem (); - int64_t scaled = v * (int64_t) scale; - scaled += scaled >= 0 ? upem/2 : -upem/2; /* Round. */ - return (hb_position_t) (scaled / upem); - } - inline hb_position_t em_scalef (float v, int scale) - { - return (hb_position_t) round (v * scale / face->get_upem ()); - } - inline float em_fscale (int16_t v, int scale) - { - return (float) v * scale / face->get_upem (); - } -}; -DECLARE_NULL_INSTANCE (hb_font_t); - -#define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS -#define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_PROTOTYPE(shaper, font); -#include "hb-shaper-list.hh" -#undef HB_SHAPER_IMPLEMENT -#undef HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS - - -#endif /* HB_FONT_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ft.cc b/harfbuzz-1.9.0/src/hb-ft.cc deleted file mode 100644 index 5d6abb29d..000000000 --- a/harfbuzz-1.9.0/src/hb-ft.cc +++ /dev/null @@ -1,796 +0,0 @@ -/* - * Copyright © 2009 Red Hat, Inc. - * Copyright © 2009 Keith Stribley - * Copyright © 2015 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#include "hb.hh" - -#include "hb-ft.h" - -#include "hb-font.hh" -#include "hb-machinery.hh" - -#include FT_ADVANCES_H -#include FT_MULTIPLE_MASTERS_H -#include FT_TRUETYPE_TABLES_H - - -/* TODO: - * - * In general, this file does a fine job of what it's supposed to do. - * There are, however, things that need more work: - * - * - I remember seeing FT_Get_Advance() without the NO_HINTING flag to be buggy. - * Have not investigated. - * - * - FreeType works in 26.6 mode. Clients can decide to use that mode, and everything - * would work fine. However, we also abuse this API for performing in font-space, - * but don't pass the correct flags to FreeType. We just abuse the no-hinting mode - * for that, such that no rounding etc happens. As such, we don't set ppem, and - * pass NO_HINTING as load_flags. Would be much better to use NO_SCALE, and scale - * ourselves, like we do in uniscribe, etc. - * - * - We don't handle / allow for emboldening / obliqueing. - * - * - In the future, we should add constructors to create fonts in font space? - * - * - FT_Load_Glyph() is extremely costly. Do something about it? - */ - - -struct hb_ft_font_t -{ - FT_Face ft_face; - int load_flags; - bool symbol; /* Whether selected cmap is symbol cmap. */ - bool unref; /* Whether to destroy ft_face when done. */ -}; - -static hb_ft_font_t * -_hb_ft_font_create (FT_Face ft_face, bool symbol, bool unref) -{ - hb_ft_font_t *ft_font = (hb_ft_font_t *) calloc (1, sizeof (hb_ft_font_t)); - - if (unlikely (!ft_font)) - return nullptr; - - ft_font->ft_face = ft_face; - ft_font->symbol = symbol; - ft_font->unref = unref; - - ft_font->load_flags = FT_LOAD_DEFAULT | FT_LOAD_NO_HINTING; - - return ft_font; -} - -static void -_hb_ft_face_destroy (void *data) -{ - FT_Done_Face ((FT_Face) data); -} - -static void -_hb_ft_font_destroy (void *data) -{ - hb_ft_font_t *ft_font = (hb_ft_font_t *) data; - - if (ft_font->unref) - _hb_ft_face_destroy (ft_font->ft_face); - - free (ft_font); -} - -/** - * hb_ft_font_set_load_flags: - * @font: - * @load_flags: - * - * - * - * Since: 1.0.5 - **/ -void -hb_ft_font_set_load_flags (hb_font_t *font, int load_flags) -{ - if (font->immutable) - return; - - if (font->destroy != (hb_destroy_func_t) _hb_ft_font_destroy) - return; - - hb_ft_font_t *ft_font = (hb_ft_font_t *) font->user_data; - - ft_font->load_flags = load_flags; -} - -/** - * hb_ft_font_get_load_flags: - * @font: - * - * - * - * Return value: - * Since: 1.0.5 - **/ -int -hb_ft_font_get_load_flags (hb_font_t *font) -{ - if (font->destroy != (hb_destroy_func_t) _hb_ft_font_destroy) - return 0; - - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font->user_data; - - return ft_font->load_flags; -} - -FT_Face -hb_ft_font_get_face (hb_font_t *font) -{ - if (font->destroy != (hb_destroy_func_t) _hb_ft_font_destroy) - return nullptr; - - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font->user_data; - - return ft_font->ft_face; -} - - - -static hb_bool_t -hb_ft_get_nominal_glyph (hb_font_t *font HB_UNUSED, - void *font_data, - hb_codepoint_t unicode, - hb_codepoint_t *glyph, - void *user_data HB_UNUSED) -{ - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; - unsigned int g = FT_Get_Char_Index (ft_font->ft_face, unicode); - - if (unlikely (!g)) - { - if (unlikely (ft_font->symbol) && unicode <= 0x00FFu) - { - /* For symbol-encoded OpenType fonts, we duplicate the - * U+F000..F0FF range at U+0000..U+00FF. That's what - * Windows seems to do, and that's hinted about at: - * https://docs.microsoft.com/en-us/typography/opentype/spec/recom - * under "Non-Standard (Symbol) Fonts". */ - g = FT_Get_Char_Index (ft_font->ft_face, 0xF000u + unicode); - if (!g) - return false; - } - else - return false; - } - - *glyph = g; - return true; -} - -static hb_bool_t -hb_ft_get_variation_glyph (hb_font_t *font HB_UNUSED, - void *font_data, - hb_codepoint_t unicode, - hb_codepoint_t variation_selector, - hb_codepoint_t *glyph, - void *user_data HB_UNUSED) -{ - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; - unsigned int g = FT_Face_GetCharVariantIndex (ft_font->ft_face, unicode, variation_selector); - - if (unlikely (!g)) - return false; - - *glyph = g; - return true; -} - -static hb_position_t -hb_ft_get_glyph_h_advance (hb_font_t *font, - void *font_data, - hb_codepoint_t glyph, - void *user_data HB_UNUSED) -{ - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; - FT_Fixed v; - - if (unlikely (FT_Get_Advance (ft_font->ft_face, glyph, ft_font->load_flags, &v))) - return 0; - - if (font->x_scale < 0) - v = -v; - - return (v + (1<<9)) >> 10; -} - -static hb_position_t -hb_ft_get_glyph_v_advance (hb_font_t *font, - void *font_data, - hb_codepoint_t glyph, - void *user_data HB_UNUSED) -{ - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; - FT_Fixed v; - - if (unlikely (FT_Get_Advance (ft_font->ft_face, glyph, ft_font->load_flags | FT_LOAD_VERTICAL_LAYOUT, &v))) - return 0; - - if (font->y_scale < 0) - v = -v; - - /* Note: FreeType's vertical metrics grows downward while other FreeType coordinates - * have a Y growing upward. Hence the extra negation. */ - return (-v + (1<<9)) >> 10; -} - -static hb_bool_t -hb_ft_get_glyph_v_origin (hb_font_t *font, - void *font_data, - hb_codepoint_t glyph, - hb_position_t *x, - hb_position_t *y, - void *user_data HB_UNUSED) -{ - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; - FT_Face ft_face = ft_font->ft_face; - - if (unlikely (FT_Load_Glyph (ft_face, glyph, ft_font->load_flags))) - return false; - - /* Note: FreeType's vertical metrics grows downward while other FreeType coordinates - * have a Y growing upward. Hence the extra negation. */ - *x = ft_face->glyph->metrics.horiBearingX - ft_face->glyph->metrics.vertBearingX; - *y = ft_face->glyph->metrics.horiBearingY - (-ft_face->glyph->metrics.vertBearingY); - - if (font->x_scale < 0) - *x = -*x; - if (font->y_scale < 0) - *y = -*y; - - return true; -} - -static hb_position_t -hb_ft_get_glyph_h_kerning (hb_font_t *font, - void *font_data, - hb_codepoint_t left_glyph, - hb_codepoint_t right_glyph, - void *user_data HB_UNUSED) -{ - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; - FT_Vector kerningv; - - FT_Kerning_Mode mode = font->x_ppem ? FT_KERNING_DEFAULT : FT_KERNING_UNFITTED; - if (FT_Get_Kerning (ft_font->ft_face, left_glyph, right_glyph, mode, &kerningv)) - return 0; - - return kerningv.x; -} - -static hb_bool_t -hb_ft_get_glyph_extents (hb_font_t *font, - void *font_data, - hb_codepoint_t glyph, - hb_glyph_extents_t *extents, - void *user_data HB_UNUSED) -{ - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; - FT_Face ft_face = ft_font->ft_face; - - if (unlikely (FT_Load_Glyph (ft_face, glyph, ft_font->load_flags))) - return false; - - extents->x_bearing = ft_face->glyph->metrics.horiBearingX; - extents->y_bearing = ft_face->glyph->metrics.horiBearingY; - extents->width = ft_face->glyph->metrics.width; - extents->height = -ft_face->glyph->metrics.height; - if (font->x_scale < 0) - { - extents->x_bearing = -extents->x_bearing; - extents->width = -extents->width; - } - if (font->y_scale < 0) - { - extents->y_bearing = -extents->y_bearing; - extents->height = -extents->height; - } - return true; -} - -static hb_bool_t -hb_ft_get_glyph_contour_point (hb_font_t *font HB_UNUSED, - void *font_data, - hb_codepoint_t glyph, - unsigned int point_index, - hb_position_t *x, - hb_position_t *y, - void *user_data HB_UNUSED) -{ - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; - FT_Face ft_face = ft_font->ft_face; - - if (unlikely (FT_Load_Glyph (ft_face, glyph, ft_font->load_flags))) - return false; - - if (unlikely (ft_face->glyph->format != FT_GLYPH_FORMAT_OUTLINE)) - return false; - - if (unlikely (point_index >= (unsigned int) ft_face->glyph->outline.n_points)) - return false; - - *x = ft_face->glyph->outline.points[point_index].x; - *y = ft_face->glyph->outline.points[point_index].y; - - return true; -} - -static hb_bool_t -hb_ft_get_glyph_name (hb_font_t *font HB_UNUSED, - void *font_data, - hb_codepoint_t glyph, - char *name, unsigned int size, - void *user_data HB_UNUSED) -{ - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; - - hb_bool_t ret = !FT_Get_Glyph_Name (ft_font->ft_face, glyph, name, size); - if (ret && (size && !*name)) - ret = false; - - return ret; -} - -static hb_bool_t -hb_ft_get_glyph_from_name (hb_font_t *font HB_UNUSED, - void *font_data, - const char *name, int len, /* -1 means nul-terminated */ - hb_codepoint_t *glyph, - void *user_data HB_UNUSED) -{ - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; - FT_Face ft_face = ft_font->ft_face; - - if (len < 0) - *glyph = FT_Get_Name_Index (ft_face, (FT_String *) name); - else { - /* Make a nul-terminated version. */ - char buf[128]; - len = MIN (len, (int) sizeof (buf) - 1); - strncpy (buf, name, len); - buf[len] = '\0'; - *glyph = FT_Get_Name_Index (ft_face, buf); - } - - if (*glyph == 0) - { - /* Check whether the given name was actually the name of glyph 0. */ - char buf[128]; - if (!FT_Get_Glyph_Name(ft_face, 0, buf, sizeof (buf)) && - len < 0 ? !strcmp (buf, name) : !strncmp (buf, name, len)) - return true; - } - - return *glyph != 0; -} - -static hb_bool_t -hb_ft_get_font_h_extents (hb_font_t *font HB_UNUSED, - void *font_data, - hb_font_extents_t *metrics, - void *user_data HB_UNUSED) -{ - const hb_ft_font_t *ft_font = (const hb_ft_font_t *) font_data; - FT_Face ft_face = ft_font->ft_face; - metrics->ascender = ft_face->size->metrics.ascender; - metrics->descender = ft_face->size->metrics.descender; - metrics->line_gap = ft_face->size->metrics.height - (ft_face->size->metrics.ascender - ft_face->size->metrics.descender); - if (font->y_scale < 0) - { - metrics->ascender = -metrics->ascender; - metrics->descender = -metrics->descender; - metrics->line_gap = -metrics->line_gap; - } - return true; -} - -#ifdef HB_USE_ATEXIT -static void free_static_ft_funcs (void); -#endif - -static struct hb_ft_font_funcs_lazy_loader_t : hb_font_funcs_lazy_loader_t -{ - static inline hb_font_funcs_t *create (void) - { - hb_font_funcs_t *funcs = hb_font_funcs_create (); - - hb_font_funcs_set_font_h_extents_func (funcs, hb_ft_get_font_h_extents, nullptr, nullptr); - //hb_font_funcs_set_font_v_extents_func (funcs, hb_ft_get_font_v_extents, nullptr, nullptr); - hb_font_funcs_set_nominal_glyph_func (funcs, hb_ft_get_nominal_glyph, nullptr, nullptr); - hb_font_funcs_set_variation_glyph_func (funcs, hb_ft_get_variation_glyph, nullptr, nullptr); - hb_font_funcs_set_glyph_h_advance_func (funcs, hb_ft_get_glyph_h_advance, nullptr, nullptr); - hb_font_funcs_set_glyph_v_advance_func (funcs, hb_ft_get_glyph_v_advance, nullptr, nullptr); - //hb_font_funcs_set_glyph_h_origin_func (funcs, hb_ft_get_glyph_h_origin, nullptr, nullptr); - hb_font_funcs_set_glyph_v_origin_func (funcs, hb_ft_get_glyph_v_origin, nullptr, nullptr); - hb_font_funcs_set_glyph_h_kerning_func (funcs, hb_ft_get_glyph_h_kerning, nullptr, nullptr); - //hb_font_funcs_set_glyph_v_kerning_func (funcs, hb_ft_get_glyph_v_kerning, nullptr, nullptr); - hb_font_funcs_set_glyph_extents_func (funcs, hb_ft_get_glyph_extents, nullptr, nullptr); - hb_font_funcs_set_glyph_contour_point_func (funcs, hb_ft_get_glyph_contour_point, nullptr, nullptr); - hb_font_funcs_set_glyph_name_func (funcs, hb_ft_get_glyph_name, nullptr, nullptr); - hb_font_funcs_set_glyph_from_name_func (funcs, hb_ft_get_glyph_from_name, nullptr, nullptr); - - hb_font_funcs_make_immutable (funcs); - -#ifdef HB_USE_ATEXIT - atexit (free_static_ft_funcs); -#endif - - return funcs; - } -} static_ft_funcs; - -#ifdef HB_USE_ATEXIT -static -void free_static_ft_funcs (void) -{ - static_ft_funcs.free_instance (); -} -#endif - -static hb_font_funcs_t * -_hb_ft_get_font_funcs (void) -{ - return static_ft_funcs.get_unconst (); -} - -static void -_hb_ft_font_set_funcs (hb_font_t *font, FT_Face ft_face, bool unref) -{ - bool symbol = ft_face->charmap && ft_face->charmap->encoding == FT_ENCODING_MS_SYMBOL; - - hb_font_set_funcs (font, - _hb_ft_get_font_funcs (), - _hb_ft_font_create (ft_face, symbol, unref), - _hb_ft_font_destroy); -} - - -static hb_blob_t * -reference_table (hb_face_t *face HB_UNUSED, hb_tag_t tag, void *user_data) -{ - FT_Face ft_face = (FT_Face) user_data; - FT_Byte *buffer; - FT_ULong length = 0; - FT_Error error; - - /* Note: FreeType like HarfBuzz uses the NONE tag for fetching the entire blob */ - - error = FT_Load_Sfnt_Table (ft_face, tag, 0, nullptr, &length); - if (error) - return nullptr; - - buffer = (FT_Byte *) malloc (length); - if (!buffer) - return nullptr; - - error = FT_Load_Sfnt_Table (ft_face, tag, 0, buffer, &length); - if (error) - { - free (buffer); - return nullptr; - } - - return hb_blob_create ((const char *) buffer, length, - HB_MEMORY_MODE_WRITABLE, - buffer, free); -} - -/** - * hb_ft_face_create: - * @ft_face: (destroy destroy) (scope notified): - * @destroy: - * - * - * - * Return value: (transfer full): - * Since: 0.9.2 - **/ -hb_face_t * -hb_ft_face_create (FT_Face ft_face, - hb_destroy_func_t destroy) -{ - hb_face_t *face; - - if (!ft_face->stream->read) { - hb_blob_t *blob; - - blob = hb_blob_create ((const char *) ft_face->stream->base, - (unsigned int) ft_face->stream->size, - HB_MEMORY_MODE_READONLY, - ft_face, destroy); - face = hb_face_create (blob, ft_face->face_index); - hb_blob_destroy (blob); - } else { - face = hb_face_create_for_tables (reference_table, ft_face, destroy); - } - - hb_face_set_index (face, ft_face->face_index); - hb_face_set_upem (face, ft_face->units_per_EM); - - return face; -} - -/** - * hb_ft_face_create_referenced: - * @ft_face: - * - * - * - * Return value: (transfer full): - * Since: 0.9.38 - **/ -hb_face_t * -hb_ft_face_create_referenced (FT_Face ft_face) -{ - FT_Reference_Face (ft_face); - return hb_ft_face_create (ft_face, _hb_ft_face_destroy); -} - -static void -hb_ft_face_finalize (FT_Face ft_face) -{ - hb_face_destroy ((hb_face_t *) ft_face->generic.data); -} - -/** - * hb_ft_face_create_cached: - * @ft_face: - * - * - * - * Return value: (transfer full): - * Since: 0.9.2 - **/ -hb_face_t * -hb_ft_face_create_cached (FT_Face ft_face) -{ - if (unlikely (!ft_face->generic.data || ft_face->generic.finalizer != (FT_Generic_Finalizer) hb_ft_face_finalize)) - { - if (ft_face->generic.finalizer) - ft_face->generic.finalizer (ft_face); - - ft_face->generic.data = hb_ft_face_create (ft_face, nullptr); - ft_face->generic.finalizer = (FT_Generic_Finalizer) hb_ft_face_finalize; - } - - return hb_face_reference ((hb_face_t *) ft_face->generic.data); -} - - -/** - * hb_ft_font_create: - * @ft_face: (destroy destroy) (scope notified): - * @destroy: - * - * - * - * Return value: (transfer full): - * Since: 0.9.2 - **/ -hb_font_t * -hb_ft_font_create (FT_Face ft_face, - hb_destroy_func_t destroy) -{ - hb_font_t *font; - hb_face_t *face; - - face = hb_ft_face_create (ft_face, destroy); - font = hb_font_create (face); - hb_face_destroy (face); - _hb_ft_font_set_funcs (font, ft_face, false); - hb_ft_font_changed (font); - return font; -} - -void -hb_ft_font_changed (hb_font_t *font) -{ - if (font->destroy != (hb_destroy_func_t) _hb_ft_font_destroy) - return; - - hb_ft_font_t *ft_font = (hb_ft_font_t *) font->user_data; - FT_Face ft_face = ft_font->ft_face; - - hb_font_set_scale (font, - (int) (((uint64_t) ft_face->size->metrics.x_scale * (uint64_t) ft_face->units_per_EM + (1u<<15)) >> 16), - (int) (((uint64_t) ft_face->size->metrics.y_scale * (uint64_t) ft_face->units_per_EM + (1u<<15)) >> 16)); -#if 0 /* hb-ft works in no-hinting model */ - hb_font_set_ppem (font, - ft_face->size->metrics.x_ppem, - ft_face->size->metrics.y_ppem); -#endif - -#ifdef HAVE_FT_GET_VAR_BLEND_COORDINATES - FT_MM_Var *mm_var = nullptr; - if (!FT_Get_MM_Var (ft_face, &mm_var)) - { - FT_Fixed *ft_coords = (FT_Fixed *) calloc (mm_var->num_axis, sizeof (FT_Fixed)); - int *coords = (int *) calloc (mm_var->num_axis, sizeof (int)); - if (coords && ft_coords) - { - if (!FT_Get_Var_Blend_Coordinates (ft_face, mm_var->num_axis, ft_coords)) - { - bool nonzero = false; - - for (unsigned int i = 0; i < mm_var->num_axis; ++i) - { - coords[i] = ft_coords[i] >>= 2; - nonzero = nonzero || coords[i]; - } - - if (nonzero) - hb_font_set_var_coords_normalized (font, coords, mm_var->num_axis); - else - hb_font_set_var_coords_normalized (font, nullptr, 0); - } - } - free (coords); - free (ft_coords); -#ifdef HAVE_FT_DONE_MM_VAR - FT_Done_MM_Var (ft_face->glyph->library, mm_var); -#else - free (mm_var); -#endif - } -#endif -} - -/** - * hb_ft_font_create_referenced: - * @ft_face: - * - * - * - * Return value: (transfer full): - * Since: 0.9.38 - **/ -hb_font_t * -hb_ft_font_create_referenced (FT_Face ft_face) -{ - FT_Reference_Face (ft_face); - return hb_ft_font_create (ft_face, _hb_ft_face_destroy); -} - -#ifdef HB_USE_ATEXIT -static void free_static_ft_library (void); -#endif - -static struct hb_ft_library_lazy_loader_t : hb_lazy_loader_t::value, - hb_ft_library_lazy_loader_t> -{ - static inline FT_Library create (void) - { - FT_Library l; - if (FT_Init_FreeType (&l)) - return nullptr; - -#ifdef HB_USE_ATEXIT - atexit (free_static_ft_library); -#endif - - return l; - } - static inline void destroy (FT_Library l) - { - FT_Done_FreeType (l); - } - static inline FT_Library get_null (void) - { - return nullptr; - } -} static_ft_library; - -#ifdef HB_USE_ATEXIT -static -void free_static_ft_library (void) -{ - static_ft_library.free_instance (); -} -#endif - -static FT_Library -get_ft_library (void) -{ - return static_ft_library.get_unconst (); -} - -static void -_release_blob (FT_Face ft_face) -{ - hb_blob_destroy ((hb_blob_t *) ft_face->generic.data); -} - -void -hb_ft_font_set_funcs (hb_font_t *font) -{ - hb_blob_t *blob = hb_face_reference_blob (font->face); - unsigned int blob_length; - const char *blob_data = hb_blob_get_data (blob, &blob_length); - if (unlikely (!blob_length)) - DEBUG_MSG (FT, font, "Font face has empty blob"); - - FT_Face ft_face = nullptr; - FT_Error err = FT_New_Memory_Face (get_ft_library (), - (const FT_Byte *) blob_data, - blob_length, - hb_face_get_index (font->face), - &ft_face); - - if (unlikely (err)) { - hb_blob_destroy (blob); - DEBUG_MSG (FT, font, "Font face FT_New_Memory_Face() failed"); - return; - } - - if (FT_Select_Charmap (ft_face, FT_ENCODING_UNICODE)) - FT_Select_Charmap (ft_face, FT_ENCODING_MS_SYMBOL); - - FT_Set_Char_Size (ft_face, - abs (font->x_scale), abs (font->y_scale), - 0, 0); -#if 0 - font->x_ppem * 72 * 64 / font->x_scale, - font->y_ppem * 72 * 64 / font->y_scale); -#endif - if (font->x_scale < 0 || font->y_scale < 0) - { - FT_Matrix matrix = { font->x_scale < 0 ? -1 : +1, 0, - 0, font->y_scale < 0 ? -1 : +1}; - FT_Set_Transform (ft_face, &matrix, nullptr); - } - -#ifdef HAVE_FT_SET_VAR_BLEND_COORDINATES - unsigned int num_coords; - const int *coords = hb_font_get_var_coords_normalized (font, &num_coords); - if (num_coords) - { - FT_Fixed *ft_coords = (FT_Fixed *) calloc (num_coords, sizeof (FT_Fixed)); - if (ft_coords) - { - for (unsigned int i = 0; i < num_coords; i++) - ft_coords[i] = coords[i] << 2; - FT_Set_Var_Blend_Coordinates (ft_face, num_coords, ft_coords); - free (ft_coords); - } - } -#endif - - ft_face->generic.data = blob; - ft_face->generic.finalizer = (FT_Generic_Finalizer) _release_blob; - - _hb_ft_font_set_funcs (font, ft_face, true); - hb_ft_font_set_load_flags (font, FT_LOAD_DEFAULT | FT_LOAD_NO_HINTING); -} diff --git a/harfbuzz-1.9.0/src/hb-iter.hh b/harfbuzz-1.9.0/src/hb-iter.hh deleted file mode 100644 index 6fd6aed79..000000000 --- a/harfbuzz-1.9.0/src/hb-iter.hh +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright © 2018 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_ITER_HH -#define HB_ITER_HH - -#include "hb.hh" - - -/* Unified iterator object. - * - * The goal of this template is to make the same iterator interface - * available to all types, and make it very easy and compact to use. - * Iterator objects are small, light-weight, objects that can be - * copied by value. If the collection / object being iterated on - * is writable, then the iterator points to lvalues, otherwise it - * returns rvalues. - * - * The way to declare, initialize, and use iterators, eg.: - * - * Iter s (src); - * Iter t (dst); - * for (; s && t; s++, t++) - * *s = *t; - */ - -template -struct Iter; - -#if 0 -template -struct Iter -{ - explicit inline Iter (const T &c); -}; -#endif - -template -struct Iter -{ - /* Type of items. */ - typedef T Value; - - /* Constructors. */ - inline Iter (T *array_, int length_) : - array (array_), length (MAX (length_, 0)) {} - template - explicit inline Iter (T (&array_)[length_]) : - array (array_), length (length_) {} - - /* Emptiness. */ - explicit_operator inline operator bool (void) const { return bool (length); } - - /* Current item. */ - inline T &operator * (void) - { - if (unlikely (!length)) return CrapOrNull(T); - return *array; - } - inline T &operator -> (void) - { - return (operator *); - } - - /* Next. */ - inline Iter & operator ++ (void) - { - if (unlikely (!length)) return *this; - array++; - length--; - return *this; - } - /* Might return void, or a copy of pre-increment iterator. */ - inline void operator ++ (int) - { - if (unlikely (!length)) return; - array++; - length--; - } - - /* Some iterators might implement len(). */ - inline unsigned int len (void) const { return length; } - - /* Some iterators might implement fast-forward. - * Only implement it if it's constant-time. */ - inline void operator += (unsigned int n) - { - n = MIN (n, length); - array += n; - length -= n; - } - - /* Some iterators might implement random-access. - * Only implement it if it's constant-time. */ - inline Iter & operator [] (unsigned int i) - { - if (unlikely (i >= length)) return CrapOrNull(T); - return array[i]; - } - - private: - T *array; - unsigned int length; -}; - -/* XXX Remove - * Just to test these compile. */ -static inline void -m (void) -{ - const int src[10] = {}; - int dst[20]; - - Iter s (src); - Iter s2 (src, 5); - Iter t (dst); - - s2 = s; - - for (; s && t; ++s, ++t) - { - *t = *s; - } -} - -#endif /* HB_ITER_HH */ diff --git a/harfbuzz-1.9.0/src/hb-machinery.hh b/harfbuzz-1.9.0/src/hb-machinery.hh deleted file mode 100644 index 62f490721..000000000 --- a/harfbuzz-1.9.0/src/hb-machinery.hh +++ /dev/null @@ -1,907 +0,0 @@ -/* - * Copyright © 2007,2008,2009,2010 Red Hat, Inc. - * Copyright © 2012,2018 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_MACHINERY_HH -#define HB_MACHINERY_HH - -#include "hb.hh" -#include "hb-blob.hh" - -#include "hb-iter.hh" -#include "hb-vector.hh" - - -/* - * Casts - */ - -/* Cast to struct T, reference to reference */ -template -static inline const Type& CastR(const TObject &X) -{ return reinterpret_cast (X); } -template -static inline Type& CastR(TObject &X) -{ return reinterpret_cast (X); } - -/* Cast to struct T, pointer to pointer */ -template -static inline const Type* CastP(const TObject *X) -{ return reinterpret_cast (X); } -template -static inline Type* CastP(TObject *X) -{ return reinterpret_cast (X); } - -/* StructAtOffset(P,Ofs) returns the struct T& that is placed at memory - * location pointed to by P plus Ofs bytes. */ -template -static inline const Type& StructAtOffset(const void *P, unsigned int offset) -{ return * reinterpret_cast ((const char *) P + offset); } -template -static inline Type& StructAtOffset(void *P, unsigned int offset) -{ return * reinterpret_cast ((char *) P + offset); } - -/* StructAfter(X) returns the struct T& that is placed after X. - * Works with X of variable size also. X must implement get_size() */ -template -static inline const Type& StructAfter(const TObject &X) -{ return StructAtOffset(&X, X.get_size()); } -template -static inline Type& StructAfter(TObject &X) -{ return StructAtOffset(&X, X.get_size()); } - - -/* - * Size checking - */ - -/* Check _assertion in a method environment */ -#define _DEFINE_INSTANCE_ASSERTION1(_line, _assertion) \ - inline void _instance_assertion_on_line_##_line (void) const \ - { \ - static_assert ((_assertion), ""); \ - ASSERT_INSTANCE_POD (*this); /* Make sure it's POD. */ \ - } -# define _DEFINE_INSTANCE_ASSERTION0(_line, _assertion) _DEFINE_INSTANCE_ASSERTION1 (_line, _assertion) -# define DEFINE_INSTANCE_ASSERTION(_assertion) _DEFINE_INSTANCE_ASSERTION0 (__LINE__, _assertion) - -/* Check that _code compiles in a method environment */ -#define _DEFINE_COMPILES_ASSERTION1(_line, _code) \ - inline void _compiles_assertion_on_line_##_line (void) const \ - { _code; } -# define _DEFINE_COMPILES_ASSERTION0(_line, _code) _DEFINE_COMPILES_ASSERTION1 (_line, _code) -# define DEFINE_COMPILES_ASSERTION(_code) _DEFINE_COMPILES_ASSERTION0 (__LINE__, _code) - - -#define DEFINE_SIZE_STATIC(size) \ - DEFINE_INSTANCE_ASSERTION (sizeof (*this) == (size)); \ - enum { static_size = (size) }; \ - enum { min_size = (size) }; \ - inline unsigned int get_size (void) const { return (size); } - -#define DEFINE_SIZE_UNION(size, _member) \ - DEFINE_INSTANCE_ASSERTION (0*sizeof(this->u._member.static_size) + sizeof(this->u._member) == (size)); \ - static const unsigned int min_size = (size) - -#define DEFINE_SIZE_MIN(size) \ - DEFINE_INSTANCE_ASSERTION (sizeof (*this) >= (size)); \ - static const unsigned int min_size = (size) - -#define DEFINE_SIZE_ARRAY(size, array) \ - DEFINE_INSTANCE_ASSERTION (sizeof (*this) == (size) + VAR * sizeof (array[0])); \ - DEFINE_COMPILES_ASSERTION ((void) array[0].static_size) \ - enum { min_size = (size) }; \ - -#define DEFINE_SIZE_ARRAY_SIZED(size, array) \ - DEFINE_SIZE_ARRAY(size, array); \ - inline unsigned int get_size (void) const { return (size - array[0].min_size + array.get_size ()); } - -#define DEFINE_SIZE_ARRAY2(size, array1, array2) \ - DEFINE_INSTANCE_ASSERTION (sizeof (*this) == (size) + sizeof (this->array1[0]) + sizeof (this->array2[0])); \ - DEFINE_COMPILES_ASSERTION ((void) array1[0].static_size; (void) array2[0].static_size) \ - static const unsigned int min_size = (size) - - -/* - * Dispatch - */ - -template -struct hb_dispatch_context_t -{ - enum { max_debug_depth = MaxDebugDepth }; - typedef Return return_t; - template - inline bool may_dispatch (const T *obj, const F *format) { return true; } - static return_t no_dispatch_return_value (void) { return Context::default_return_value (); } -}; - - -/* - * Sanitize - * - * - * === Introduction === - * - * The sanitize machinery is at the core of our zero-cost font loading. We - * mmap() font file into memory and create a blob out of it. Font subtables - * are returned as a readonly sub-blob of the main font blob. These table - * blobs are then sanitized before use, to ensure invalid memory access does - * not happen. The toplevel sanitize API use is like, eg. to load the 'head' - * table: - * - * hb_blob_t *head_blob = hb_sanitize_context_t ().reference_table (face); - * - * The blob then can be converted to a head table struct with: - * - * const head *head_table = head_blob->as (); - * - * What the reference_table does is, to call hb_face_reference_table() to load - * the table blob, sanitize it and return either the sanitized blob, or empty - * blob if sanitization failed. The blob->as() function returns the null - * object of its template type argument if the blob is empty. Otherwise, it - * just casts the blob contents to the desired type. - * - * Sanitizing a blob of data with a type T works as follows (with minor - * simplification): - * - * - Cast blob content to T*, call sanitize() method of it, - * - If sanitize succeeded, return blob. - * - Otherwise, if blob is not writable, try making it writable, - * or copy if cannot be made writable in-place, - * - Call sanitize() again. Return blob if sanitize succeeded. - * - Return empty blob otherwise. - * - * - * === The sanitize() contract === - * - * The sanitize() method of each object type shall return true if it's safe to - * call other methods of the object, and false otherwise. - * - * Note that what sanitize() checks for might align with what the specification - * describes as valid table data, but does not have to be. In particular, we - * do NOT want to be pedantic and concern ourselves with validity checks that - * are irrelevant to our use of the table. On the contrary, we want to be - * lenient with error handling and accept invalid data to the extent that it - * does not impose extra burden on us. - * - * Based on the sanitize contract, one can see that what we check for depends - * on how we use the data in other table methods. Ie. if other table methods - * assume that offsets do NOT point out of the table data block, then that's - * something sanitize() must check for (GSUB/GPOS/GDEF/etc work this way). On - * the other hand, if other methods do such checks themselves, then sanitize() - * does not have to bother with them (glyf/local work this way). The choice - * depends on the table structure and sanitize() performance. For example, to - * check glyf/loca offsets in sanitize() would cost O(num-glyphs). We try hard - * to avoid such costs during font loading. By postponing such checks to the - * actual glyph loading, we reduce the sanitize cost to O(1) and total runtime - * cost to O(used-glyphs). As such, this is preferred. - * - * The same argument can be made re GSUB/GPOS/GDEF, but there, the table - * structure is so complicated that by checking all offsets at sanitize() time, - * we make the code much simpler in other methods, as offsets and referenced - * objectes do not need to be validated at each use site. - */ - -/* This limits sanitizing time on really broken fonts. */ -#ifndef HB_SANITIZE_MAX_EDITS -#define HB_SANITIZE_MAX_EDITS 32 -#endif -#ifndef HB_SANITIZE_MAX_OPS_FACTOR -#define HB_SANITIZE_MAX_OPS_FACTOR 8 -#endif -#ifndef HB_SANITIZE_MAX_OPS_MIN -#define HB_SANITIZE_MAX_OPS_MIN 16384 -#endif - -struct hb_sanitize_context_t : - hb_dispatch_context_t -{ - inline hb_sanitize_context_t (void) : - debug_depth (0), - start (nullptr), end (nullptr), - writable (false), edit_count (0), max_ops (0), - blob (nullptr), - num_glyphs (65536), - num_glyphs_set (false) {} - - inline const char *get_name (void) { return "SANITIZE"; } - template - inline bool may_dispatch (const T *obj, const F *format) - { return format->sanitize (this); } - template - inline return_t dispatch (const T &obj) { return obj.sanitize (this); } - static return_t default_return_value (void) { return true; } - static return_t no_dispatch_return_value (void) { return false; } - bool stop_sublookup_iteration (const return_t r) const { return !r; } - - inline void init (hb_blob_t *b) - { - this->blob = hb_blob_reference (b); - this->writable = false; - } - - inline void set_num_glyphs (unsigned int num_glyphs_) - { - num_glyphs = num_glyphs_; - num_glyphs_set = true; - } - inline unsigned int get_num_glyphs (void) { return num_glyphs; } - - inline void start_processing (void) - { - this->start = this->blob->data; - this->end = this->start + this->blob->length; - assert (this->start <= this->end); /* Must not overflow. */ - this->max_ops = MAX ((unsigned int) (this->end - this->start) * HB_SANITIZE_MAX_OPS_FACTOR, - (unsigned) HB_SANITIZE_MAX_OPS_MIN); - this->edit_count = 0; - this->debug_depth = 0; - - DEBUG_MSG_LEVEL (SANITIZE, start, 0, +1, - "start [%p..%p] (%lu bytes)", - this->start, this->end, - (unsigned long) (this->end - this->start)); - } - - inline void end_processing (void) - { - DEBUG_MSG_LEVEL (SANITIZE, this->start, 0, -1, - "end [%p..%p] %u edit requests", - this->start, this->end, this->edit_count); - - hb_blob_destroy (this->blob); - this->blob = nullptr; - this->start = this->end = nullptr; - } - - inline bool check_range (const void *base, unsigned int len) const - { - const char *p = (const char *) base; - bool ok = this->max_ops-- > 0 && - this->start <= p && - p <= this->end && - (unsigned int) (this->end - p) >= len; - - DEBUG_MSG_LEVEL (SANITIZE, p, this->debug_depth+1, 0, - "check_range [%p..%p] (%d bytes) in [%p..%p] -> %s", - p, p + len, len, - this->start, this->end, - ok ? "OK" : "OUT-OF-RANGE"); - - return likely (ok); - } - - inline bool check_array (const void *base, unsigned int record_size, unsigned int len) const - { - const char *p = (const char *) base; - bool overflows = hb_unsigned_mul_overflows (len, record_size); - unsigned int array_size = record_size * len; - bool ok = !overflows && this->check_range (base, array_size); - - DEBUG_MSG_LEVEL (SANITIZE, p, this->debug_depth+1, 0, - "check_array [%p..%p] (%d*%d=%d bytes) in [%p..%p] -> %s", - p, p + (record_size * len), record_size, len, (unsigned int) array_size, - this->start, this->end, - overflows ? "OVERFLOWS" : ok ? "OK" : "OUT-OF-RANGE"); - - return likely (ok); - } - - template - inline bool check_struct (const Type *obj) const - { - return likely (this->check_range (obj, obj->min_size)); - } - - inline bool may_edit (const void *base, unsigned int len) - { - if (this->edit_count >= HB_SANITIZE_MAX_EDITS) - return false; - - const char *p = (const char *) base; - this->edit_count++; - - DEBUG_MSG_LEVEL (SANITIZE, p, this->debug_depth+1, 0, - "may_edit(%u) [%p..%p] (%d bytes) in [%p..%p] -> %s", - this->edit_count, - p, p + len, len, - this->start, this->end, - this->writable ? "GRANTED" : "DENIED"); - - return this->writable; - } - - template - inline bool try_set (const Type *obj, const ValueType &v) { - if (this->may_edit (obj, obj->static_size)) { - const_cast (obj)->set (v); - return true; - } - return false; - } - - template - inline hb_blob_t *sanitize_blob (hb_blob_t *blob) - { - bool sane; - - init (blob); - - retry: - DEBUG_MSG_FUNC (SANITIZE, start, "start"); - - start_processing (); - - if (unlikely (!start)) - { - end_processing (); - return blob; - } - - Type *t = CastP (const_cast (start)); - - sane = t->sanitize (this); - if (sane) - { - if (edit_count) - { - DEBUG_MSG_FUNC (SANITIZE, start, "passed first round with %d edits; going for second round", edit_count); - - /* sanitize again to ensure no toe-stepping */ - edit_count = 0; - sane = t->sanitize (this); - if (edit_count) { - DEBUG_MSG_FUNC (SANITIZE, start, "requested %d edits in second round; FAILLING", edit_count); - sane = false; - } - } - } - else - { - if (edit_count && !writable) { - start = hb_blob_get_data_writable (blob, nullptr); - end = start + blob->length; - - if (start) - { - writable = true; - /* ok, we made it writable by relocating. try again */ - DEBUG_MSG_FUNC (SANITIZE, start, "retry"); - goto retry; - } - } - } - - end_processing (); - - DEBUG_MSG_FUNC (SANITIZE, start, sane ? "PASSED" : "FAILED"); - if (sane) - { - hb_blob_make_immutable (blob); - return blob; - } - else - { - hb_blob_destroy (blob); - return hb_blob_get_empty (); - } - } - - template - inline hb_blob_t *reference_table (const hb_face_t *face, hb_tag_t tableTag = Type::tableTag) - { - if (!num_glyphs_set) - set_num_glyphs (hb_face_get_glyph_count (face)); - return sanitize_blob (hb_face_reference_table (face, tableTag)); - } - - mutable unsigned int debug_depth; - const char *start, *end; - private: - bool writable; - unsigned int edit_count; - mutable int max_ops; - hb_blob_t *blob; - unsigned int num_glyphs; - bool num_glyphs_set; -}; - - -/* - * Serialize - */ - -struct hb_serialize_context_t -{ - inline hb_serialize_context_t (void *start_, unsigned int size) - { - this->start = (char *) start_; - this->end = this->start + size; - reset (); - } - - inline void reset (void) - { - this->ran_out_of_room = false; - this->head = this->start; - this->debug_depth = 0; - } - - inline bool err (bool e) { return this->ran_out_of_room = this->ran_out_of_room || e; } - - /* To be called around main operation. */ - template - inline Type *start_serialize (void) - { - DEBUG_MSG_LEVEL (SERIALIZE, this->start, 0, +1, - "start [%p..%p] (%lu bytes)", - this->start, this->end, - (unsigned long) (this->end - this->start)); - - return start_embed (); - } - inline void end_serialize (void) - { - DEBUG_MSG_LEVEL (SERIALIZE, this->start, 0, -1, - "end [%p..%p] serialized %d bytes; %s", - this->start, this->end, - (int) (this->head - this->start), - this->ran_out_of_room ? "RAN OUT OF ROOM" : "did not ran out of room"); - } - - inline unsigned int length (void) const { return this->head - this->start; } - - inline void align (unsigned int alignment) - { - unsigned int l = length () % alignment; - if (l) - allocate_size (alignment - l); - } - - template - inline Type *start_embed (void) const - { - Type *ret = reinterpret_cast (this->head); - return ret; - } - - template - inline Type *allocate_size (unsigned int size) - { - if (unlikely (this->ran_out_of_room || this->end - this->head < ptrdiff_t (size))) { - this->ran_out_of_room = true; - return nullptr; - } - memset (this->head, 0, size); - char *ret = this->head; - this->head += size; - return reinterpret_cast (ret); - } - - template - inline Type *allocate_min (void) - { - return this->allocate_size (Type::min_size); - } - - template - inline Type *embed (const Type &obj) - { - unsigned int size = obj.get_size (); - Type *ret = this->allocate_size (size); - if (unlikely (!ret)) return nullptr; - memcpy (ret, &obj, size); - return ret; - } - - template - inline Type *extend_min (Type &obj) - { - unsigned int size = obj.min_size; - assert (this->start <= (char *) &obj && (char *) &obj <= this->head && (char *) &obj + size >= this->head); - if (unlikely (!this->allocate_size (((char *) &obj) + size - this->head))) return nullptr; - return reinterpret_cast (&obj); - } - - template - inline Type *extend (Type &obj) - { - unsigned int size = obj.get_size (); - assert (this->start < (char *) &obj && (char *) &obj <= this->head && (char *) &obj + size >= this->head); - if (unlikely (!this->allocate_size (((char *) &obj) + size - this->head))) return nullptr; - return reinterpret_cast (&obj); - } - - /* Output routines. */ - template - inline Type *copy (void) const - { - assert (!this->ran_out_of_room); - unsigned int len = this->head - this->start; - void *p = malloc (len); - if (p) - memcpy (p, this->start, len); - return reinterpret_cast (p); - } - inline hb_bytes_t copy_bytes (void) const - { - assert (!this->ran_out_of_room); - unsigned int len = this->head - this->start; - void *p = malloc (len); - if (p) - memcpy (p, this->start, len); - else - return hb_bytes_t (); - return hb_bytes_t (p, len); - } - inline hb_blob_t *copy_blob (void) const - { - assert (!this->ran_out_of_room); - return hb_blob_create (this->start, - this->head - this->start, - HB_MEMORY_MODE_DUPLICATE, - nullptr, nullptr); - } - - public: - unsigned int debug_depth; - char *start, *end, *head; - bool ran_out_of_room; -}; - - -/* - * Supplier - */ - -template -struct Supplier -{ - inline Supplier (const Type *array, unsigned int len_, unsigned int stride_=sizeof (Type)) - { - head = array; - len = len_; - stride = stride_; - } - inline Supplier (const hb_vector_t *v) - { - head = v->arrayZ; - len = v->len; - stride = sizeof (Type); - } - - inline const Type operator [] (unsigned int i) const - { - if (unlikely (i >= len)) return Type (); - return * (const Type *) (const void *) ((const char *) head + stride * i); - } - - inline Supplier & operator += (unsigned int count) - { - if (unlikely (count > len)) - count = len; - len -= count; - head = (const Type *) (const void *) ((const char *) head + stride * count); - return *this; - } - - private: - inline Supplier (const Supplier &); /* Disallow copy */ - inline Supplier& operator= (const Supplier &); /* Disallow copy */ - - unsigned int len; - unsigned int stride; - const Type *head; -}; - - -/* - * Big-endian integers. - */ - -template struct BEInt; - -template -struct BEInt -{ - public: - inline void set (Type V) - { - v = V; - } - inline operator Type (void) const - { - return v; - } - private: uint8_t v; -}; -template -struct BEInt -{ - public: - inline void set (Type V) - { - v[0] = (V >> 8) & 0xFF; - v[1] = (V ) & 0xFF; - } - inline operator Type (void) const - { - return (v[0] << 8) - + (v[1] ); - } - private: uint8_t v[2]; -}; -template -struct BEInt -{ - public: - inline void set (Type V) - { - v[0] = (V >> 16) & 0xFF; - v[1] = (V >> 8) & 0xFF; - v[2] = (V ) & 0xFF; - } - inline operator Type (void) const - { - return (v[0] << 16) - + (v[1] << 8) - + (v[2] ); - } - private: uint8_t v[3]; -}; -template -struct BEInt -{ - public: - inline void set (Type V) - { - v[0] = (V >> 24) & 0xFF; - v[1] = (V >> 16) & 0xFF; - v[2] = (V >> 8) & 0xFF; - v[3] = (V ) & 0xFF; - } - inline operator Type (void) const - { - return (v[0] << 24) - + (v[1] << 16) - + (v[2] << 8) - + (v[3] ); - } - private: uint8_t v[4]; -}; - - -/* - * Lazy loaders. - */ - -template -struct hb_data_wrapper_t -{ - static_assert (WheresData > 0, ""); - - inline Data * get_data (void) const - { - return *(((Data **) (void *) this) - WheresData); - } - - template - inline Stored * call_create (void) const - { - Data *data = this->get_data (); - return likely (data) ? Subclass::create (data) : nullptr; - } -}; -template <> -struct hb_data_wrapper_t -{ - template - inline Stored * call_create (void) const - { - return Funcs::create (); - } -}; - -template struct hb_non_void_t { typedef T1 value; }; -template struct hb_non_void_t { typedef T2 value; }; - -template -struct hb_lazy_loader_t : hb_data_wrapper_t -{ - typedef typename hb_non_void_t - >::value Funcs; - - inline void init0 (void) {} /* Init, when memory is already set to 0. No-op for us. */ - inline void init (void) { instance.set_relaxed (nullptr); } - inline void fini (void) - { - do_destroy (instance.get ()); - } - inline void free_instance (void) - { - retry: - Stored *p = instance.get (); - if (unlikely (p && !this->instance.cmpexch (p, nullptr))) - goto retry; - do_destroy (p); - } - - inline Stored * do_create (void) const - { - Stored *p = this->template call_create (); - if (unlikely (!p)) - p = const_cast (Funcs::get_null ()); - return p; - } - static inline void do_destroy (Stored *p) - { - if (p && p != Funcs::get_null ()) - Funcs::destroy (p); - } - - inline const Returned * operator -> (void) const { return get (); } - inline const Returned & operator * (void) const { return *get (); } - - inline Data * get_data (void) const - { - return *(((Data **) this) - WheresData); - } - - inline Stored * get_stored (void) const - { - retry: - Stored *p = this->instance.get (); - if (unlikely (!p)) - { - p = do_create (); - if (unlikely (!this->instance.cmpexch (nullptr, p))) - { - do_destroy (p); - goto retry; - } - } - return p; - } - inline Stored * get_stored_relaxed (void) const - { - return this->instance.get_relaxed (); - } - - inline void set_stored (Stored *instance_) - { - /* This *must* be called when there are no other threads accessing. - * However, to make TSan, etc, happy, we using cmpexch. */ - retry: - Stored *p = this->instance.get (); - if (unlikely (!this->instance.cmpexch (p, instance_))) - goto retry; - do_destroy (p); - } - - inline const Returned * get (void) const { return Funcs::convert (get_stored ()); } - inline const Returned * get_relaxed (void) const { return Funcs::convert (get_stored_relaxed ()); } - inline Returned * get_unconst (void) const { return const_cast (Funcs::convert (get_stored ())); } - - /* To be possibly overloaded by subclasses. */ - static inline Returned* convert (Stored *p) { return p; } - - /* By default null/init/fini the object. */ - static inline const Stored* get_null (void) { return &Null(Stored); } - static inline Stored *create (Data *data) - { - Stored *p = (Stored *) calloc (1, sizeof (Stored)); - if (likely (p)) - p->init (data); - return p; - } - static inline Stored *create (void) - { - Stored *p = (Stored *) calloc (1, sizeof (Stored)); - if (likely (p)) - p->init (); - return p; - } - static inline void destroy (Stored *p) - { - p->fini (); - free (p); - } - - private: - /* Must only have one pointer. */ - hb_atomic_ptr_t instance; -}; - -/* Specializations. */ - -template -struct hb_face_lazy_loader_t : hb_lazy_loader_t, - hb_face_t, WheresFace> {}; - -template -struct hb_table_lazy_loader_t : hb_lazy_loader_t, - hb_face_t, WheresFace, - hb_blob_t> -{ - static inline hb_blob_t *create (hb_face_t *face) - { - return hb_sanitize_context_t ().reference_table (face); - } - static inline void destroy (hb_blob_t *p) - { - hb_blob_destroy (p); - } - static inline const hb_blob_t *get_null (void) - { - return hb_blob_get_empty (); - } - static inline const T* convert (const hb_blob_t *blob) - { - return blob->as (); - } - - inline hb_blob_t* get_blob (void) const - { - return this->get_stored (); - } -}; - -template -struct hb_font_funcs_lazy_loader_t : hb_lazy_loader_t -{ - static inline void destroy (hb_font_funcs_t *p) - { - hb_font_funcs_destroy (p); - } - static inline const hb_font_funcs_t *get_null (void) - { - return hb_font_funcs_get_empty (); - } -}; -template -struct hb_unicode_funcs_lazy_loader_t : hb_lazy_loader_t -{ - static inline void destroy (hb_unicode_funcs_t *p) - { - hb_unicode_funcs_destroy (p); - } - static inline const hb_unicode_funcs_t *get_null (void) - { - return hb_unicode_funcs_get_empty (); - } -}; - - -#endif /* HB_MACHINERY_HH */ diff --git a/harfbuzz-1.9.0/src/hb-map.hh b/harfbuzz-1.9.0/src/hb-map.hh deleted file mode 100644 index 21898a7a6..000000000 --- a/harfbuzz-1.9.0/src/hb-map.hh +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright © 2018 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_MAP_HH -#define HB_MAP_HH - -#include "hb.hh" - - -template -inline uint32_t Hash (const T &v) -{ - /* Knuth's multiplicative method: */ - return (uint32_t) v * 2654435761u; -} - - -/* - * hb_map_t - */ - -struct hb_map_t -{ - struct item_t - { - hb_codepoint_t key; - hb_codepoint_t value; - - inline bool is_unused (void) const { return key == INVALID; } - inline bool is_tombstone (void) const { return key != INVALID && value == INVALID; } - }; - - hb_object_header_t header; - bool successful; /* Allocations successful */ - unsigned int population; /* Not including tombstones. */ - unsigned int occupancy; /* Including tombstones. */ - unsigned int mask; - unsigned int prime; - item_t *items; - - inline void init_shallow (void) - { - successful = true; - population = occupancy = 0; - mask = 0; - prime = 0; - items = nullptr; - } - inline void init (void) - { - hb_object_init (this); - init_shallow (); - } - inline void fini_shallow (void) - { - free (items); - } - inline void fini (void) - { - hb_object_fini (this); - fini_shallow (); - } - - inline bool resize (void) - { - if (unlikely (!successful)) return false; - - unsigned int power = hb_bit_storage (population * 2 + 8); - unsigned int new_size = 1u << power; - item_t *new_items = (item_t *) malloc ((size_t) new_size * sizeof (item_t)); - if (unlikely (!new_items)) - { - successful = false; - return false; - } - memset (new_items, 0xFF, (size_t) new_size * sizeof (item_t)); - - unsigned int old_size = mask + 1; - item_t *old_items = items; - - /* Switch to new, empty, array. */ - population = occupancy = 0; - mask = new_size - 1; - prime = prime_for (power); - items = new_items; - - /* Insert back old items. */ - if (old_items) - for (unsigned int i = 0; i < old_size; i++) - if (old_items[i].key != INVALID && old_items[i].value != INVALID) - set (old_items[i].key, old_items[i].value); - - free (old_items); - - return true; - } - - inline void set (hb_codepoint_t key, hb_codepoint_t value) - { - if (unlikely (!successful)) return; - if (unlikely (key == INVALID)) return; - if ((occupancy + occupancy / 2) >= mask && !resize ()) return; - unsigned int i = bucket_for (key); - - if (value == INVALID && items[i].key != key) - return; /* Trying to delete non-existent key. */ - - if (!items[i].is_unused ()) - { - occupancy--; - if (items[i].is_tombstone ()) - population--; - } - - items[i].key = key; - items[i].value = value; - - occupancy++; - if (!items[i].is_tombstone ()) - population++; - - } - inline hb_codepoint_t get (hb_codepoint_t key) const - { - if (unlikely (!items)) return INVALID; - unsigned int i = bucket_for (key); - return items[i].key == key ? items[i].value : INVALID; - } - - inline void del (hb_codepoint_t key) - { - set (key, INVALID); - } - inline bool has (hb_codepoint_t key) const - { - return get (key) != INVALID; - } - - inline hb_codepoint_t operator [] (unsigned int key) const - { return get (key); } - - static const hb_codepoint_t INVALID = HB_MAP_VALUE_INVALID; - - inline void clear (void) - { - memset (items, 0xFF, ((size_t) mask + 1) * sizeof (item_t)); - population = occupancy = 0; - } - - inline bool is_empty (void) const - { - return population != 0; - } - - inline unsigned int get_population () const - { - return population; - } - - protected: - - inline unsigned int bucket_for (hb_codepoint_t key) const - { - unsigned int i = Hash (key) % prime; - unsigned int step = 0; - unsigned int tombstone = INVALID; - while (!items[i].is_unused ()) - { - if (items[i].key == key) - return i; - if (tombstone == INVALID && items[i].is_tombstone ()) - tombstone = i; - i = (i + ++step) & mask; - } - return tombstone == INVALID ? i : tombstone; - } - - static inline unsigned int prime_for (unsigned int shift) - { - /* Following comment and table copied from glib. */ - /* Each table size has an associated prime modulo (the first prime - * lower than the table size) used to find the initial bucket. Probing - * then works modulo 2^n. The prime modulo is necessary to get a - * good distribution with poor hash functions. - */ - /* Not declaring static to make all kinds of compilers happy... */ - /*static*/ const unsigned int prime_mod [32] = - { - 1, /* For 1 << 0 */ - 2, - 3, - 7, - 13, - 31, - 61, - 127, - 251, - 509, - 1021, - 2039, - 4093, - 8191, - 16381, - 32749, - 65521, /* For 1 << 16 */ - 131071, - 262139, - 524287, - 1048573, - 2097143, - 4194301, - 8388593, - 16777213, - 33554393, - 67108859, - 134217689, - 268435399, - 536870909, - 1073741789, - 2147483647 /* For 1 << 31 */ - }; - - if (unlikely (shift >= ARRAY_LENGTH (prime_mod))) - return prime_mod[ARRAY_LENGTH (prime_mod) - 1]; - - return prime_mod[shift]; - } -}; - - -#endif /* HB_MAP_HH */ diff --git a/harfbuzz-1.9.0/src/hb-null.hh b/harfbuzz-1.9.0/src/hb-null.hh deleted file mode 100644 index 7128f0a94..000000000 --- a/harfbuzz-1.9.0/src/hb-null.hh +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright © 2018 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_NULL_HH -#define HB_NULL_HH - -#include "hb.hh" - - -/* - * Static pools - */ - -/* Global nul-content Null pool. Enlarge as necessary. */ - -#define HB_NULL_POOL_SIZE 264 - -extern HB_INTERNAL -hb_vector_size_impl_t const _hb_NullPool[(HB_NULL_POOL_SIZE + sizeof (hb_vector_size_impl_t) - 1) / sizeof (hb_vector_size_impl_t)]; - -/* Generic nul-content Null objects. */ -template -static inline Type const & Null (void) { - static_assert (sizeof (Type) <= HB_NULL_POOL_SIZE, "Increase HB_NULL_POOL_SIZE."); - return *reinterpret_cast (_hb_NullPool); -} -#define Null(Type) Null() - -/* Specializaitons for arbitrary-content Null objects expressed in bytes. */ -#define DECLARE_NULL_NAMESPACE_BYTES(Namespace, Type) \ - } /* Close namespace. */ \ - extern HB_INTERNAL const unsigned char _hb_Null_##Namespace##_##Type[Namespace::Type::min_size]; \ - template <> \ - /*static*/ inline const Namespace::Type& Null (void) { \ - return *reinterpret_cast (_hb_Null_##Namespace##_##Type); \ - } \ - namespace Namespace { \ - static_assert (true, "Just so we take semicolon after.") -#define DEFINE_NULL_NAMESPACE_BYTES(Namespace, Type) \ - const unsigned char _hb_Null_##Namespace##_##Type[Namespace::Type::min_size] - -/* Specializaitons for arbitrary-content Null objects expressed as struct initializer. */ -#define DECLARE_NULL_INSTANCE(Type) \ - extern HB_INTERNAL const Type _hb_Null_##Type; \ - template <> \ - /*static*/ inline const Type& Null (void) { \ - return _hb_Null_##Type; \ - } \ -static_assert (true, "Just so we take semicolon after.") -#define DEFINE_NULL_INSTANCE(Type) \ - const Type _hb_Null_##Type - -/* Specializaiton to disallow Null objects. */ -#define DECLARE_NULL_DISALLOW(Type) \ - template <> inline const Type& Null (void) -#define DECLARE_NULL_NAMSPACE_DISALLOW(Namespace, Type) \ - } /* Close namespace. */ \ - template <> \ - /*static*/ inline const Namespace::Type& Null (void) { \ - extern void *_hb_undefined; \ - return *reinterpret_cast (_hb_undefined); \ - } \ - namespace Namespace { \ - static_assert (true, "Just so we take semicolon after.") - -/* Global writable pool. Enlarge as necessary. */ - -/* To be fully correct, CrapPool must be thread_local. However, we do not rely on CrapPool - * for correct operation. It only exist to catch and divert program logic bugs instead of - * causing bad memory access. So, races there are not actually introducing incorrectness - * in the code. Has ~12kb binary size overhead to have it, also clang build fails with it. */ -extern HB_INTERNAL -/*thread_local*/ hb_vector_size_impl_t _hb_CrapPool[(HB_NULL_POOL_SIZE + sizeof (hb_vector_size_impl_t) - 1) / sizeof (hb_vector_size_impl_t)]; - -/* CRAP pool: Common Region for Access Protection. */ -template -static inline Type& Crap (void) { - static_assert (sizeof (Type) <= HB_NULL_POOL_SIZE, "Increase HB_NULL_POOL_SIZE."); - Type *obj = reinterpret_cast (_hb_CrapPool); - *obj = Null(Type); - return *obj; -} -#define Crap(Type) Crap() - -template -struct CrapOrNull { - static inline Type & get (void) { return Crap(Type); } -}; -template -struct CrapOrNull { - static inline Type const & get (void) { return Null(Type); } -}; -#define CrapOrNull(Type) CrapOrNull::get () - - -#endif /* HB_NULL_HH */ diff --git a/harfbuzz-1.9.0/src/hb-open-file.hh b/harfbuzz-1.9.0/src/hb-open-file.hh deleted file mode 100644 index d3b748602..000000000 --- a/harfbuzz-1.9.0/src/hb-open-file.hh +++ /dev/null @@ -1,567 +0,0 @@ -/* - * Copyright © 2007,2008,2009 Red Hat, Inc. - * Copyright © 2012 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_OPEN_FILE_HH -#define HB_OPEN_FILE_HH - -#include "hb-open-type.hh" -#include "hb-ot-head-table.hh" - - -namespace OT { - - -/* - * - * The OpenType Font File - * - */ - - -/* - * Organization of an OpenType Font - */ - -struct OpenTypeFontFile; -struct OffsetTable; -struct TTCHeader; - - -typedef struct TableRecord -{ - int cmp (Tag t) const - { return -t.cmp (tag); } - - static int cmp (const void *pa, const void *pb) - { - const TableRecord *a = (const TableRecord *) pa; - const TableRecord *b = (const TableRecord *) pb; - return b->cmp (a->tag); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - Tag tag; /* 4-byte identifier. */ - CheckSum checkSum; /* CheckSum for this table. */ - Offset32 offset; /* Offset from beginning of TrueType font - * file. */ - HBUINT32 length; /* Length of this table. */ - public: - DEFINE_SIZE_STATIC (16); -} OpenTypeTable; - -typedef struct OffsetTable -{ - friend struct OpenTypeFontFile; - - inline unsigned int get_table_count (void) const - { return tables.len; } - inline const TableRecord& get_table (unsigned int i) const - { - return tables[i]; - } - inline unsigned int get_table_tags (unsigned int start_offset, - unsigned int *table_count, /* IN/OUT */ - hb_tag_t *table_tags /* OUT */) const - { - if (table_count) - { - if (start_offset >= tables.len) - *table_count = 0; - else - *table_count = MIN (*table_count, tables.len - start_offset); - - const TableRecord *sub_tables = tables.arrayZ + start_offset; - unsigned int count = *table_count; - for (unsigned int i = 0; i < count; i++) - table_tags[i] = sub_tables[i].tag; - } - return tables.len; - } - inline bool find_table_index (hb_tag_t tag, unsigned int *table_index) const - { - Tag t; - t.set (tag); - /* Linear-search for small tables to work around fonts with unsorted - * table list. */ - int i = tables.len < 64 ? tables.lsearch (t) : tables.bsearch (t); - if (table_index) - *table_index = i == -1 ? (unsigned) Index::NOT_FOUND_INDEX : (unsigned) i; - return i != -1; - } - inline const TableRecord& get_table_by_tag (hb_tag_t tag) const - { - unsigned int table_index; - find_table_index (tag, &table_index); - return get_table (table_index); - } - - public: - - inline bool serialize (hb_serialize_context_t *c, - hb_tag_t sfnt_tag, - Supplier &tags, - Supplier &blobs, - unsigned int table_count) - { - TRACE_SERIALIZE (this); - /* Alloc 12 for the OTHeader. */ - if (unlikely (!c->extend_min (*this))) return_trace (false); - /* Write sfntVersion (bytes 0..3). */ - sfnt_version.set (sfnt_tag); - /* Take space for numTables, searchRange, entrySelector, RangeShift - * and the TableRecords themselves. */ - if (unlikely (!tables.serialize (c, table_count))) return_trace (false); - - const char *dir_end = (const char *) c->head; - HBUINT32 *checksum_adjustment = nullptr; - - /* Write OffsetTables, alloc for and write actual table blobs. */ - for (unsigned int i = 0; i < table_count; i++) - { - TableRecord &rec = tables.arrayZ[i]; - hb_blob_t *blob = blobs[i]; - rec.tag.set (tags[i]); - rec.length.set (hb_blob_get_length (blob)); - rec.offset.serialize (c, this); - - /* Allocate room for the table and copy it. */ - char *start = (char *) c->allocate_size (rec.length); - if (unlikely (!start)) {return false;} - - memcpy (start, hb_blob_get_data (blob, nullptr), rec.length); - - /* 4-byte allignment. */ - c->align (4); - const char *end = (const char *) c->head; - - if (tags[i] == HB_OT_TAG_head && end - start >= head::static_size) - { - head *h = (head *) start; - checksum_adjustment = &h->checkSumAdjustment; - checksum_adjustment->set (0); - } - - rec.checkSum.set_for_data (start, end - start); - } - tags += table_count; - blobs += table_count; - - tables.qsort (); - - if (checksum_adjustment) - { - CheckSum checksum; - - /* The following line is a slower version of the following block. */ - //checksum.set_for_data (this, (const char *) c->head - (const char *) this); - checksum.set_for_data (this, dir_end - (const char *) this); - for (unsigned int i = 0; i < table_count; i++) - { - TableRecord &rec = tables.arrayZ[i]; - checksum.set (checksum + rec.checkSum); - } - - checksum_adjustment->set (0xB1B0AFBAu - checksum); - } - - return_trace (true); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && tables.sanitize (c)); - } - - protected: - Tag sfnt_version; /* '\0\001\0\00' if TrueType / 'OTTO' if CFF */ - BinSearchArrayOf - tables; - public: - DEFINE_SIZE_ARRAY (12, tables); -} OpenTypeFontFace; - - -/* - * TrueType Collections - */ - -struct TTCHeaderVersion1 -{ - friend struct TTCHeader; - - inline unsigned int get_face_count (void) const { return table.len; } - inline const OpenTypeFontFace& get_face (unsigned int i) const { return this+table[i]; } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (table.sanitize (c, this)); - } - - protected: - Tag ttcTag; /* TrueType Collection ID string: 'ttcf' */ - FixedVersion<>version; /* Version of the TTC Header (1.0), - * 0x00010000u */ - LArrayOf > - table; /* Array of offsets to the OffsetTable for each font - * from the beginning of the file */ - public: - DEFINE_SIZE_ARRAY (12, table); -}; - -struct TTCHeader -{ - friend struct OpenTypeFontFile; - - private: - - inline unsigned int get_face_count (void) const - { - switch (u.header.version.major) { - case 2: /* version 2 is compatible with version 1 */ - case 1: return u.version1.get_face_count (); - default:return 0; - } - } - inline const OpenTypeFontFace& get_face (unsigned int i) const - { - switch (u.header.version.major) { - case 2: /* version 2 is compatible with version 1 */ - case 1: return u.version1.get_face (i); - default:return Null(OpenTypeFontFace); - } - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (unlikely (!u.header.version.sanitize (c))) return_trace (false); - switch (u.header.version.major) { - case 2: /* version 2 is compatible with version 1 */ - case 1: return_trace (u.version1.sanitize (c)); - default:return_trace (true); - } - } - - protected: - union { - struct { - Tag ttcTag; /* TrueType Collection ID string: 'ttcf' */ - FixedVersion<>version; /* Version of the TTC Header (1.0 or 2.0), - * 0x00010000u or 0x00020000u */ - } header; - TTCHeaderVersion1 version1; - } u; -}; - -/* - * Mac Resource Fork - */ - -struct ResourceRefItem -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - // actual data sanitization is done on ResourceForkHeader sanitizer - return_trace (likely (c->check_struct (this))); - } - - HBINT16 id; /* Resource ID, is really should be signed? */ - HBINT16 nameOffset; /* Offset from beginning of resource name list - * to resource name, minus means there is no */ - HBUINT8 attr; /* Resource attributes */ - HBUINT24 dataOffset; /* Offset from beginning of resource data to - * data for this resource */ - HBUINT32 reserved; /* Reserved for handle to resource */ - public: - DEFINE_SIZE_STATIC (12); -}; - -struct ResourceTypeItem -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - // RefList sanitization is done on ResourceMap sanitizer - return_trace (likely (c->check_struct (this))); - } - - inline unsigned int get_resource_count () const - { - return numRes + 1; - } - - inline bool is_sfnt () const - { - return type == HB_TAG ('s','f','n','t'); - } - - inline const ResourceRefItem& get_ref_item (const void *base, - unsigned int i) const - { - return (base+refList)[i]; - } - - protected: - Tag type; /* Resource type */ - HBUINT16 numRes; /* Number of resource this type in map minus 1 */ - OffsetTo > - refList; /* Offset from beginning of resource type list - * to reference list for this type */ - public: - DEFINE_SIZE_STATIC (8); -}; - -struct ResourceMap -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (unlikely (!c->check_struct (this))) - return_trace (false); - for (unsigned int i = 0; i < get_types_count (); ++i) - { - const ResourceTypeItem& type = get_type (i); - if (unlikely (!type.sanitize (c))) - return_trace (false); - for (unsigned int j = 0; j < type.get_resource_count (); ++j) - if (unlikely (!get_ref_item (type, j).sanitize (c))) - return_trace (false); - } - return_trace (true); - } - - inline const ResourceTypeItem& get_type (unsigned int i) const - { - // Why offset from the second byte of the object? I'm not sure - return ((&reserved[2])+typeList)[i]; - } - - inline unsigned int get_types_count () const - { - return nTypes + 1; - } - - inline const ResourceRefItem &get_ref_item (const ResourceTypeItem &type, - unsigned int i) const - { - return type.get_ref_item (&(this+typeList), i); - } - - inline const PString& get_name (const ResourceRefItem &item, - unsigned int i) const - { - if (item.nameOffset == -1) - return Null (PString); - - return StructAtOffset (this, nameList + item.nameOffset); - } - - protected: - HBUINT8 reserved[16]; /* Reserved for copy of resource header */ - LOffsetTo - reserved1; /* Reserved for handle to next resource map */ - HBUINT16 reserved2; /* Reserved for file reference number */ - HBUINT16 attr; /* Resource fork attribute */ - OffsetTo > - typeList; /* Offset from beginning of map to - * resource type list */ - HBUINT16 nameList; /* Offset from beginning of map to - * resource name list */ - HBUINT16 nTypes; /* Number of types in the map minus 1 */ - public: - DEFINE_SIZE_STATIC (30); -}; - -struct ResourceForkHeader -{ - inline unsigned int get_face_count () const - { - const ResourceMap &resource_map = this+map; - for (unsigned int i = 0; i < resource_map.get_types_count (); ++i) - { - const ResourceTypeItem& type = resource_map.get_type (i); - if (type.is_sfnt ()) - return type.get_resource_count (); - } - return 0; - } - - inline const LArrayOf& get_data (const ResourceTypeItem& type, - unsigned int idx) const - { - const ResourceMap &resource_map = this+map; - unsigned int offset = dataOffset; - offset += resource_map.get_ref_item (type, idx).dataOffset; - return StructAtOffset > (this, offset); - } - - inline const OpenTypeFontFace& get_face (unsigned int idx) const - { - const ResourceMap &resource_map = this+map; - for (unsigned int i = 0; i < resource_map.get_types_count (); ++i) - { - const ResourceTypeItem& type = resource_map.get_type (i); - if (type.is_sfnt () && idx < type.get_resource_count ()) - return (OpenTypeFontFace&) get_data (type, idx).arrayZ; - } - return Null (OpenTypeFontFace); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (unlikely (!c->check_struct (this))) - return_trace (false); - - const ResourceMap &resource_map = this+map; - if (unlikely (!resource_map.sanitize (c))) - return_trace (false); - - for (unsigned int i = 0; i < resource_map.get_types_count (); ++i) - { - const ResourceTypeItem& type = resource_map.get_type (i); - for (unsigned int j = 0; j < type.get_resource_count (); ++j) - { - const LArrayOf& data = get_data (type, j); - if (unlikely (!(data.sanitize (c) && - ((OpenTypeFontFace&) data.arrayZ).sanitize (c)))) - return_trace (false); - } - } - - return_trace (true); - } - - protected: - HBUINT32 dataOffset; /* Offset from beginning of resource fork - * to resource data */ - LOffsetTo - map; /* Offset from beginning of resource fork - * to resource map */ - HBUINT32 dataLen; /* Length of resource data */ - HBUINT32 mapLen; /* Length of resource map */ - public: - DEFINE_SIZE_STATIC (16); -}; - -/* - * OpenType Font File - */ - -struct OpenTypeFontFile -{ - enum { - CFFTag = HB_TAG ('O','T','T','O'), /* OpenType with Postscript outlines */ - TrueTypeTag = HB_TAG ( 0 , 1 , 0 , 0 ), /* OpenType with TrueType outlines */ - TTCTag = HB_TAG ('t','t','c','f'), /* TrueType Collection */ - DFontTag = HB_TAG ( 0 , 0 , 1 , 0 ), /* DFont Mac Resource Fork */ - TrueTag = HB_TAG ('t','r','u','e'), /* Obsolete Apple TrueType */ - Typ1Tag = HB_TAG ('t','y','p','1') /* Obsolete Apple Type1 font in SFNT container */ - }; - - inline hb_tag_t get_tag (void) const { return u.tag; } - - inline unsigned int get_face_count (void) const - { - switch (u.tag) { - case CFFTag: /* All the non-collection tags */ - case TrueTag: - case Typ1Tag: - case TrueTypeTag: return 1; - case TTCTag: return u.ttcHeader.get_face_count (); -// case DFontTag: return u.rfHeader.get_face_count (); - default: return 0; - } - } - inline const OpenTypeFontFace& get_face (unsigned int i) const - { - switch (u.tag) { - /* Note: for non-collection SFNT data we ignore index. This is because - * Apple dfont container is a container of SFNT's. So each SFNT is a - * non-TTC, but the index is more than zero. */ - case CFFTag: /* All the non-collection tags */ - case TrueTag: - case Typ1Tag: - case TrueTypeTag: return u.fontFace; - case TTCTag: return u.ttcHeader.get_face (i); -// case DFontTag: return u.rfHeader.get_face (i); - default: return Null(OpenTypeFontFace); - } - } - - inline bool serialize_single (hb_serialize_context_t *c, - hb_tag_t sfnt_tag, - Supplier &tags, - Supplier &blobs, - unsigned int table_count) - { - TRACE_SERIALIZE (this); - assert (sfnt_tag != TTCTag); - if (unlikely (!c->extend_min (*this))) return_trace (false); - return_trace (u.fontFace.serialize (c, sfnt_tag, tags, blobs, table_count)); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (unlikely (!u.tag.sanitize (c))) return_trace (false); - switch (u.tag) { - case CFFTag: /* All the non-collection tags */ - case TrueTag: - case Typ1Tag: - case TrueTypeTag: return_trace (u.fontFace.sanitize (c)); - case TTCTag: return_trace (u.ttcHeader.sanitize (c)); -// case DFontTag: return_trace (u.rfHeader.sanitize (c)); - default: return_trace (true); - } - } - - protected: - union { - Tag tag; /* 4-byte identifier. */ - OpenTypeFontFace fontFace; - TTCHeader ttcHeader; - ResourceForkHeader rfHeader; - } u; - public: - DEFINE_SIZE_UNION (4, tag); -}; - - -} /* namespace OT */ - - -#endif /* HB_OPEN_FILE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-open-type.hh b/harfbuzz-1.9.0/src/hb-open-type.hh deleted file mode 100644 index ef18163fa..000000000 --- a/harfbuzz-1.9.0/src/hb-open-type.hh +++ /dev/null @@ -1,673 +0,0 @@ -/* - * Copyright © 2007,2008,2009,2010 Red Hat, Inc. - * Copyright © 2012 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_OPEN_TYPE_HH -#define HB_OPEN_TYPE_HH - -#include "hb.hh" -#include "hb-blob.hh" -#include "hb-face.hh" -#include "hb-machinery.hh" -#include "hb-subset.hh" - - -namespace OT { - - -/* - * - * The OpenType Font File: Data Types - */ - - -/* "The following data types are used in the OpenType font file. - * All OpenType fonts use Motorola-style byte ordering (Big Endian):" */ - -/* - * Int types - */ - -/* Integer types in big-endian order and no alignment requirement */ -template -struct IntType -{ - inline void set (Type i) { v.set (i); } - inline operator Type(void) const { return v; } - inline bool operator == (const IntType &o) const { return (Type) v == (Type) o.v; } - inline bool operator != (const IntType &o) const { return !(*this == o); } - static inline int cmp (const IntType *a, const IntType *b) { return b->cmp (*a); } - template - inline int cmp (Type2 a) const - { - Type b = v; - if (sizeof (Type) < sizeof (int) && sizeof (Type2) < sizeof (int)) - return (int) a - (int) b; - else - return a < b ? -1 : a == b ? 0 : +1; - } - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this))); - } - protected: - BEInt v; - public: - DEFINE_SIZE_STATIC (Size); -}; - -typedef IntType HBUINT8; /* 8-bit unsigned integer. */ -typedef IntType HBINT8; /* 8-bit signed integer. */ -typedef IntType HBUINT16; /* 16-bit unsigned integer. */ -typedef IntType HBINT16; /* 16-bit signed integer. */ -typedef IntType HBUINT32; /* 32-bit unsigned integer. */ -typedef IntType HBINT32; /* 32-bit signed integer. */ -typedef IntType HBUINT24; /* 24-bit unsigned integer. */ - -/* 16-bit signed integer (HBINT16) that describes a quantity in FUnits. */ -typedef HBINT16 FWORD; - -/* 16-bit unsigned integer (HBUINT16) that describes a quantity in FUnits. */ -typedef HBUINT16 UFWORD; - -/* 16-bit signed fixed number with the low 14 bits of fraction (2.14). */ -struct F2DOT14 : HBINT16 -{ - // 16384 means 1<<14 - inline float to_float (void) const { return ((int32_t) v) / 16384.f; } - inline void set_float (float f) { v.set (round (f * 16384.f)); } - public: - DEFINE_SIZE_STATIC (2); -}; - -/* 32-bit signed fixed-point number (16.16). */ -struct Fixed : HBINT32 -{ - // 65536 means 1<<16 - inline float to_float (void) const { return ((int32_t) v) / 65536.f; } - inline void set_float (float f) { v.set (round (f * 65536.f)); } - public: - DEFINE_SIZE_STATIC (4); -}; - -/* Date represented in number of seconds since 12:00 midnight, January 1, - * 1904. The value is represented as a signed 64-bit integer. */ -struct LONGDATETIME -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this))); - } - protected: - HBINT32 major; - HBUINT32 minor; - public: - DEFINE_SIZE_STATIC (8); -}; - -/* Array of four uint8s (length = 32 bits) used to identify a script, language - * system, feature, or baseline */ -struct Tag : HBUINT32 -{ - /* What the char* converters return is NOT nul-terminated. Print using "%.4s" */ - inline operator const char* (void) const { return reinterpret_cast (&this->v); } - inline operator char* (void) { return reinterpret_cast (&this->v); } - public: - DEFINE_SIZE_STATIC (4); -}; - -/* Glyph index number, same as uint16 (length = 16 bits) */ -typedef HBUINT16 GlyphID; - -/* Name-table index, same as uint16 (length = 16 bits) */ -typedef HBUINT16 NameID; - -/* Script/language-system/feature index */ -struct Index : HBUINT16 { - enum { NOT_FOUND_INDEX = 0xFFFFu }; -}; -DECLARE_NULL_NAMESPACE_BYTES (OT, Index); - -/* Offset, Null offset = 0 */ -template -struct Offset : Type -{ - inline bool is_null (void) const { return 0 == *this; } - - inline void *serialize (hb_serialize_context_t *c, const void *base) - { - void *t = c->start_embed (); - this->set ((char *) t - (char *) base); /* TODO(serialize) Overflow? */ - return t; - } - - public: - DEFINE_SIZE_STATIC (sizeof(Type)); -}; - -typedef Offset Offset16; -typedef Offset Offset32; - - -/* CheckSum */ -struct CheckSum : HBUINT32 -{ - /* This is reference implementation from the spec. */ - static inline uint32_t CalcTableChecksum (const HBUINT32 *Table, uint32_t Length) - { - uint32_t Sum = 0L; - assert (0 == (Length & 3)); - const HBUINT32 *EndPtr = Table + Length / HBUINT32::static_size; - - while (Table < EndPtr) - Sum += *Table++; - return Sum; - } - - /* Note: data should be 4byte aligned and have 4byte padding at the end. */ - inline void set_for_data (const void *data, unsigned int length) - { set (CalcTableChecksum ((const HBUINT32 *) data, length)); } - - public: - DEFINE_SIZE_STATIC (4); -}; - - -/* - * Version Numbers - */ - -template -struct FixedVersion -{ - inline uint32_t to_int (void) const { return (major << (sizeof(FixedType) * 8)) + minor; } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - FixedType major; - FixedType minor; - public: - DEFINE_SIZE_STATIC (2 * sizeof(FixedType)); -}; - - -/* - * Template subclasses of Offset that do the dereferencing. - * Use: (base+offset) - */ - -template -struct OffsetTo : Offset -{ - inline const Type& operator () (const void *base) const - { - unsigned int offset = *this; - if (unlikely (!offset)) return Null(Type); - return StructAtOffset (base, offset); - } - inline Type& operator () (void *base) const - { - unsigned int offset = *this; - if (unlikely (!offset)) return Crap(Type); - return StructAtOffset (base, offset); - } - - inline Type& serialize (hb_serialize_context_t *c, const void *base) - { - return * (Type *) Offset::serialize (c, base); - } - - template - inline void serialize_subset (hb_subset_context_t *c, const T &src, const void *base) - { - if (&src == &Null(T)) - { - this->set (0); - return; - } - serialize (c->serializer, base); - if (!src.subset (c)) - this->set (0); - } - - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - if (unlikely (!c->check_struct (this))) return_trace (false); - unsigned int offset = *this; - if (unlikely (!offset)) return_trace (true); - if (unlikely (!c->check_range (base, offset))) return_trace (false); - const Type &obj = StructAtOffset (base, offset); - return_trace (likely (obj.sanitize (c)) || neuter (c)); - } - template - inline bool sanitize (hb_sanitize_context_t *c, const void *base, T user_data) const - { - TRACE_SANITIZE (this); - if (unlikely (!c->check_struct (this))) return_trace (false); - unsigned int offset = *this; - if (unlikely (!offset)) return_trace (true); - if (unlikely (!c->check_range (base, offset))) return_trace (false); - const Type &obj = StructAtOffset (base, offset); - return_trace (likely (obj.sanitize (c, user_data)) || neuter (c)); - } - - /* Set the offset to Null */ - inline bool neuter (hb_sanitize_context_t *c) const { - return c->try_set (this, 0); - } - DEFINE_SIZE_STATIC (sizeof(OffsetType)); -}; -template struct LOffsetTo : OffsetTo {}; -template -static inline const Type& operator + (const Base &base, const OffsetTo &offset) { return offset (base); } -template -static inline Type& operator + (Base &base, OffsetTo &offset) { return offset (base); } - - -/* - * Array Types - */ - -/* TODO Use it in ArrayOf, HeadlessArrayOf, and other places around the code base?? */ -template -struct UnsizedArrayOf -{ - inline const Type& operator [] (unsigned int i) const { return arrayZ[i]; } - inline Type& operator [] (unsigned int i) { return arrayZ[i]; } - - inline bool sanitize (hb_sanitize_context_t *c, unsigned int count) const - { - TRACE_SANITIZE (this); - if (unlikely (!sanitize_shallow (c, count))) return_trace (false); - - /* Note: for structs that do not reference other structs, - * we do not need to call their sanitize() as we already did - * a bound check on the aggregate array size. We just include - * a small unreachable expression to make sure the structs - * pointed to do have a simple sanitize(), ie. they do not - * reference other structs via offsets. - */ - (void) (false && arrayZ[0].sanitize (c)); - - return_trace (true); - } - inline bool sanitize (hb_sanitize_context_t *c, unsigned int count, const void *base) const - { - TRACE_SANITIZE (this); - if (unlikely (!sanitize_shallow (c, count))) return_trace (false); - for (unsigned int i = 0; i < count; i++) - if (unlikely (!arrayZ[i].sanitize (c, base))) - return_trace (false); - return_trace (true); - } - template - inline bool sanitize (hb_sanitize_context_t *c, unsigned int count, const void *base, T user_data) const - { - TRACE_SANITIZE (this); - if (unlikely (!sanitize_shallow (c, count))) return_trace (false); - for (unsigned int i = 0; i < count; i++) - if (unlikely (!arrayZ[i].sanitize (c, base, user_data))) - return_trace (false); - return_trace (true); - } - - inline bool sanitize_shallow (hb_sanitize_context_t *c, unsigned int count) const - { - TRACE_SANITIZE (this); - return_trace (c->check_array (arrayZ, arrayZ[0].static_size, count)); - } - - public: - Type arrayZ[VAR]; - public: - DEFINE_SIZE_ARRAY (0, arrayZ); -}; - -/* Unsized array of offset's */ -template -struct UnsizedOffsetArrayOf : UnsizedArrayOf > {}; - -/* Unsized array of offsets relative to the beginning of the array itself. */ -template -struct UnsizedOffsetListOf : UnsizedOffsetArrayOf -{ - inline const Type& operator [] (unsigned int i) const - { - return this+this->arrayZ[i]; - } - - inline bool sanitize (hb_sanitize_context_t *c, unsigned int count) const - { - TRACE_SANITIZE (this); - return_trace ((UnsizedOffsetArrayOf::sanitize (c, count, this))); - } - template - inline bool sanitize (hb_sanitize_context_t *c, unsigned int count, T user_data) const - { - TRACE_SANITIZE (this); - return_trace ((UnsizedOffsetArrayOf::sanitize (c, count, this, user_data))); - } -}; - -/* An array with a number of elements. */ -template -struct ArrayOf -{ - const Type *sub_array (unsigned int start_offset, unsigned int *pcount /* IN/OUT */) const - { - unsigned int count = len; - if (unlikely (start_offset > count)) - count = 0; - else - count -= start_offset; - count = MIN (count, *pcount); - *pcount = count; - return arrayZ + start_offset; - } - - inline const Type& operator [] (unsigned int i) const - { - if (unlikely (i >= len)) return Null(Type); - return arrayZ[i]; - } - inline Type& operator [] (unsigned int i) - { - if (unlikely (i >= len)) return Crap(Type); - return arrayZ[i]; - } - inline unsigned int get_size (void) const - { return len.static_size + len * Type::static_size; } - - inline bool serialize (hb_serialize_context_t *c, - unsigned int items_len) - { - TRACE_SERIALIZE (this); - if (unlikely (!c->extend_min (*this))) return_trace (false); - len.set (items_len); /* TODO(serialize) Overflow? */ - if (unlikely (!c->extend (*this))) return_trace (false); - return_trace (true); - } - inline bool serialize (hb_serialize_context_t *c, - Supplier &items, - unsigned int items_len) - { - TRACE_SERIALIZE (this); - if (unlikely (!serialize (c, items_len))) return_trace (false); - for (unsigned int i = 0; i < items_len; i++) - arrayZ[i] = items[i]; - items += items_len; - return_trace (true); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (unlikely (!sanitize_shallow (c))) return_trace (false); - - /* Note: for structs that do not reference other structs, - * we do not need to call their sanitize() as we already did - * a bound check on the aggregate array size. We just include - * a small unreachable expression to make sure the structs - * pointed to do have a simple sanitize(), ie. they do not - * reference other structs via offsets. - */ - (void) (false && arrayZ[0].sanitize (c)); - - return_trace (true); - } - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - if (unlikely (!sanitize_shallow (c))) return_trace (false); - unsigned int count = len; - for (unsigned int i = 0; i < count; i++) - if (unlikely (!arrayZ[i].sanitize (c, base))) - return_trace (false); - return_trace (true); - } - template - inline bool sanitize (hb_sanitize_context_t *c, const void *base, T user_data) const - { - TRACE_SANITIZE (this); - if (unlikely (!sanitize_shallow (c))) return_trace (false); - unsigned int count = len; - for (unsigned int i = 0; i < count; i++) - if (unlikely (!arrayZ[i].sanitize (c, base, user_data))) - return_trace (false); - return_trace (true); - } - - template - inline int lsearch (const SearchType &x) const - { - unsigned int count = len; - for (unsigned int i = 0; i < count; i++) - if (!this->arrayZ[i].cmp (x)) - return i; - return -1; - } - - inline void qsort (void) - { - ::qsort (arrayZ, len, sizeof (Type), Type::cmp); - } - - private: - inline bool sanitize_shallow (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (len.sanitize (c) && c->check_array (arrayZ, Type::static_size, len)); - } - - public: - LenType len; - Type arrayZ[VAR]; - public: - DEFINE_SIZE_ARRAY (sizeof (LenType), arrayZ); -}; -template struct LArrayOf : ArrayOf {}; -typedef ArrayOf PString; - -/* Array of Offset's */ -template -struct OffsetArrayOf : ArrayOf > {}; - -/* Array of offsets relative to the beginning of the array itself. */ -template -struct OffsetListOf : OffsetArrayOf -{ - inline const Type& operator [] (unsigned int i) const - { - if (unlikely (i >= this->len)) return Null(Type); - return this+this->arrayZ[i]; - } - inline const Type& operator [] (unsigned int i) - { - if (unlikely (i >= this->len)) return Crap(Type); - return this+this->arrayZ[i]; - } - - inline bool subset (hb_subset_context_t *c) const - { - TRACE_SUBSET (this); - struct OffsetListOf *out = c->serializer->embed (*this); - if (unlikely (!out)) return_trace (false); - unsigned int count = this->len; - for (unsigned int i = 0; i < count; i++) - out->arrayZ[i].serialize_subset (c, (*this)[i], out); - return_trace (true); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (OffsetArrayOf::sanitize (c, this)); - } - template - inline bool sanitize (hb_sanitize_context_t *c, T user_data) const - { - TRACE_SANITIZE (this); - return_trace (OffsetArrayOf::sanitize (c, this, user_data)); - } -}; - -/* An array starting at second element. */ -template -struct HeadlessArrayOf -{ - inline const Type& operator [] (unsigned int i) const - { - if (unlikely (i >= len || !i)) return Null(Type); - return arrayZ[i-1]; - } - inline Type& operator [] (unsigned int i) - { - if (unlikely (i >= len || !i)) return Crap(Type); - return arrayZ[i-1]; - } - inline unsigned int get_size (void) const - { return len.static_size + (len ? len - 1 : 0) * Type::static_size; } - - inline bool serialize (hb_serialize_context_t *c, - Supplier &items, - unsigned int items_len) - { - TRACE_SERIALIZE (this); - if (unlikely (!c->extend_min (*this))) return_trace (false); - len.set (items_len); /* TODO(serialize) Overflow? */ - if (unlikely (!items_len)) return_trace (true); - if (unlikely (!c->extend (*this))) return_trace (false); - for (unsigned int i = 0; i < items_len - 1; i++) - arrayZ[i] = items[i]; - items += items_len - 1; - return_trace (true); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (unlikely (!sanitize_shallow (c))) return_trace (false); - - /* Note: for structs that do not reference other structs, - * we do not need to call their sanitize() as we already did - * a bound check on the aggregate array size. We just include - * a small unreachable expression to make sure the structs - * pointed to do have a simple sanitize(), ie. they do not - * reference other structs via offsets. - */ - (void) (false && arrayZ[0].sanitize (c)); - - return_trace (true); - } - - private: - inline bool sanitize_shallow (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (len.sanitize (c) && - (!len || c->check_array (arrayZ, Type::static_size, len - 1))); - } - - public: - LenType len; - Type arrayZ[VAR]; - public: - DEFINE_SIZE_ARRAY (sizeof (LenType), arrayZ); -}; - -/* An array with sorted elements. Supports binary searching. */ -template -struct SortedArrayOf : ArrayOf -{ - template - inline int bsearch (const SearchType &x) const - { - /* Hand-coded bsearch here since this is in the hot inner loop. */ - const Type *arr = this->arrayZ; - int min = 0, max = (int) this->len - 1; - while (min <= max) - { - int mid = (min + max) / 2; - int c = arr[mid].cmp (x); - if (c < 0) - max = mid - 1; - else if (c > 0) - min = mid + 1; - else - return mid; - } - return -1; - } -}; - -/* Binary-search arrays */ -struct BinSearchHeader -{ - inline operator uint32_t (void) const { return len; } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - inline void set (unsigned int v) - { - len.set (v); - assert (len == v); - entrySelector.set (MAX (1u, hb_bit_storage (v)) - 1); - searchRange.set (16 * (1u << entrySelector)); - rangeShift.set (v * 16 > searchRange - ? 16 * v - searchRange - : 0); - } - - protected: - HBUINT16 len; - HBUINT16 searchRange; - HBUINT16 entrySelector; - HBUINT16 rangeShift; - - public: - DEFINE_SIZE_STATIC (8); -}; - -template -struct BinSearchArrayOf : SortedArrayOf {}; - - -} /* namespace OT */ - - -#endif /* HB_OPEN_TYPE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-cmap-table.hh b/harfbuzz-1.9.0/src/hb-ot-cmap-table.hh deleted file mode 100644 index e6876d12c..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-cmap-table.hh +++ /dev/null @@ -1,1185 +0,0 @@ -/* - * Copyright © 2014 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_OT_CMAP_TABLE_HH -#define HB_OT_CMAP_TABLE_HH - -#include "hb-open-type.hh" -#include "hb-set.hh" - -/* - * cmap -- Character to Glyph Index Mapping - * https://docs.microsoft.com/en-us/typography/opentype/spec/cmap - */ -#define HB_OT_TAG_cmap HB_TAG('c','m','a','p') - -namespace OT { - - -struct CmapSubtableFormat0 -{ - inline bool get_glyph (hb_codepoint_t codepoint, hb_codepoint_t *glyph) const - { - hb_codepoint_t gid = codepoint < 256 ? glyphIdArray[codepoint] : 0; - if (!gid) - return false; - *glyph = gid; - return true; - } - inline void collect_unicodes (hb_set_t *out) const - { - for (unsigned int i = 0; i < 256; i++) - if (glyphIdArray[i]) - out->add (i); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - protected: - HBUINT16 format; /* Format number is set to 0. */ - HBUINT16 length; /* Byte length of this subtable. */ - HBUINT16 language; /* Ignore. */ - HBUINT8 glyphIdArray[256];/* An array that maps character - * code to glyph index values. */ - public: - DEFINE_SIZE_STATIC (6 + 256); -}; - -struct CmapSubtableFormat4 -{ - struct segment_plan - { - HBUINT16 start_code; - HBUINT16 end_code; - bool use_delta; - }; - - bool serialize (hb_serialize_context_t *c, - const hb_subset_plan_t *plan, - const hb_vector_t &segments) - { - TRACE_SERIALIZE (this); - - if (unlikely (!c->extend_min (*this))) return_trace (false); - - this->format.set (4); - this->length.set (get_sub_table_size (segments)); - - this->segCountX2.set (segments.len * 2); - this->entrySelector.set (MAX (1u, hb_bit_storage (segments.len)) - 1); - this->searchRange.set (2 * (1u << this->entrySelector)); - this->rangeShift.set (segments.len * 2 > this->searchRange - ? 2 * segments.len - this->searchRange - : 0); - - HBUINT16 *end_count = c->allocate_size (HBUINT16::static_size * segments.len); - c->allocate_size (HBUINT16::static_size); // 2 bytes of padding. - HBUINT16 *start_count = c->allocate_size (HBUINT16::static_size * segments.len); - HBINT16 *id_delta = c->allocate_size (HBUINT16::static_size * segments.len); - HBUINT16 *id_range_offset = c->allocate_size (HBUINT16::static_size * segments.len); - - if (id_range_offset == nullptr) - return_trace (false); - - for (unsigned int i = 0; i < segments.len; i++) - { - end_count[i].set (segments[i].end_code); - start_count[i].set (segments[i].start_code); - if (segments[i].use_delta) - { - hb_codepoint_t cp = segments[i].start_code; - hb_codepoint_t start_gid = 0; - if (unlikely (!plan->new_gid_for_codepoint (cp, &start_gid) && cp != 0xFFFF)) - return_trace (false); - id_delta[i].set (start_gid - segments[i].start_code); - } else { - id_delta[i].set (0); - unsigned int num_codepoints = segments[i].end_code - segments[i].start_code + 1; - HBUINT16 *glyph_id_array = c->allocate_size (HBUINT16::static_size * num_codepoints); - if (glyph_id_array == nullptr) - return_trace (false); - // From the cmap spec: - // - // id_range_offset[i]/2 - // + (cp - segments[i].start_code) - // + (id_range_offset + i) - // = - // glyph_id_array + (cp - segments[i].start_code) - // - // So, solve for id_range_offset[i]: - // - // id_range_offset[i] - // = - // 2 * (glyph_id_array - id_range_offset - i) - id_range_offset[i].set (2 * ( - glyph_id_array - id_range_offset - i)); - for (unsigned int j = 0; j < num_codepoints; j++) - { - hb_codepoint_t cp = segments[i].start_code + j; - hb_codepoint_t new_gid; - if (unlikely (!plan->new_gid_for_codepoint (cp, &new_gid))) - return_trace (false); - glyph_id_array[j].set (new_gid); - } - } - } - - return_trace (true); - } - - static inline size_t get_sub_table_size (const hb_vector_t &segments) - { - size_t segment_size = 0; - for (unsigned int i = 0; i < segments.len; i++) - { - // Parallel array entries - segment_size += - 2 // end count - + 2 // start count - + 2 // delta - + 2; // range offset - - if (!segments[i].use_delta) - // Add bytes for the glyph index array entries for this segment. - segment_size += (segments[i].end_code - segments[i].start_code + 1) * 2; - } - - return min_size - + 2 // Padding - + segment_size; - } - - static inline bool create_sub_table_plan (const hb_subset_plan_t *plan, - hb_vector_t *segments) - { - segment_plan *segment = nullptr; - hb_codepoint_t last_gid = 0; - - hb_codepoint_t cp = HB_SET_VALUE_INVALID; - while (plan->unicodes->next (&cp)) { - hb_codepoint_t new_gid; - if (unlikely (!plan->new_gid_for_codepoint (cp, &new_gid))) - { - DEBUG_MSG(SUBSET, nullptr, "Unable to find new gid for %04x", cp); - return false; - } - - if (cp > 0xFFFF) { - // We are now outside of unicode BMP, stop adding to this cmap. - break; - } - - if (!segment - || cp != segment->end_code + 1u) - { - segment = segments->push (); - segment->start_code.set (cp); - segment->end_code.set (cp); - segment->use_delta = true; - } else { - segment->end_code.set (cp); - if (last_gid + 1u != new_gid) - // gid's are not consecutive in this segment so delta - // cannot be used. - segment->use_delta = false; - } - - last_gid = new_gid; - } - - // There must be a final entry with end_code == 0xFFFF. Check if we need to add one. - if (segment == nullptr || segment->end_code != 0xFFFF) - { - segment = segments->push (); - segment->start_code.set (0xFFFF); - segment->end_code.set (0xFFFF); - segment->use_delta = true; - } - - return true; - } - - struct accelerator_t - { - inline void init (const CmapSubtableFormat4 *subtable) - { - segCount = subtable->segCountX2 / 2; - endCount = subtable->values; - startCount = endCount + segCount + 1; - idDelta = startCount + segCount; - idRangeOffset = idDelta + segCount; - glyphIdArray = idRangeOffset + segCount; - glyphIdArrayLength = (subtable->length - 16 - 8 * segCount) / 2; - } - inline void fini (void) {} - - inline bool get_glyph (hb_codepoint_t codepoint, hb_codepoint_t *glyph) const - { - /* Custom two-array bsearch. */ - int min = 0, max = (int) this->segCount - 1; - const HBUINT16 *startCount = this->startCount; - const HBUINT16 *endCount = this->endCount; - unsigned int i; - while (min <= max) - { - int mid = (min + max) / 2; - if (codepoint < startCount[mid]) - max = mid - 1; - else if (codepoint > endCount[mid]) - min = mid + 1; - else - { - i = mid; - goto found; - } - } - return false; - - found: - hb_codepoint_t gid; - unsigned int rangeOffset = this->idRangeOffset[i]; - if (rangeOffset == 0) - gid = codepoint + this->idDelta[i]; - else - { - /* Somebody has been smoking... */ - unsigned int index = rangeOffset / 2 + (codepoint - this->startCount[i]) + i - this->segCount; - if (unlikely (index >= this->glyphIdArrayLength)) - return false; - gid = this->glyphIdArray[index]; - if (unlikely (!gid)) - return false; - gid += this->idDelta[i]; - } - gid &= 0xFFFFu; - if (!gid) - return false; - *glyph = gid; - return true; - } - static inline bool get_glyph_func (const void *obj, hb_codepoint_t codepoint, hb_codepoint_t *glyph) - { - return ((const accelerator_t *) obj)->get_glyph (codepoint, glyph); - } - inline void collect_unicodes (hb_set_t *out) const - { - unsigned int count = this->segCount; - if (count && this->startCount[count - 1] == 0xFFFFu) - count--; /* Skip sentinel segment. */ - for (unsigned int i = 0; i < count; i++) - { - unsigned int rangeOffset = this->idRangeOffset[i]; - if (rangeOffset == 0) - out->add_range (this->startCount[i], this->endCount[i]); - else - { - for (hb_codepoint_t codepoint = this->startCount[i]; - codepoint <= this->endCount[i]; - codepoint++) - { - unsigned int index = rangeOffset / 2 + (codepoint - this->startCount[i]) + i - this->segCount; - if (unlikely (index >= this->glyphIdArrayLength)) - break; - hb_codepoint_t gid = this->glyphIdArray[index]; - if (unlikely (!gid)) - continue; - out->add (codepoint); - } - } - } - } - - const HBUINT16 *endCount; - const HBUINT16 *startCount; - const HBUINT16 *idDelta; - const HBUINT16 *idRangeOffset; - const HBUINT16 *glyphIdArray; - unsigned int segCount; - unsigned int glyphIdArrayLength; - }; - - inline bool get_glyph (hb_codepoint_t codepoint, hb_codepoint_t *glyph) const - { - hb_auto_t accel (this); - return accel.get_glyph_func (&accel, codepoint, glyph); - } - inline void collect_unicodes (hb_set_t *out) const - { - hb_auto_t accel (this); - accel.collect_unicodes (out); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (unlikely (!c->check_struct (this))) - return_trace (false); - - if (unlikely (!c->check_range (this, length))) - { - /* Some broken fonts have too long of a "length" value. - * If that is the case, just change the value to truncate - * the subtable at the end of the blob. */ - uint16_t new_length = (uint16_t) MIN ((uintptr_t) 65535, - (uintptr_t) (c->end - - (char *) this)); - if (!c->try_set (&length, new_length)) - return_trace (false); - } - - return_trace (16 + 4 * (unsigned int) segCountX2 <= length); - } - - - - protected: - HBUINT16 format; /* Format number is set to 4. */ - HBUINT16 length; /* This is the length in bytes of the - * subtable. */ - HBUINT16 language; /* Ignore. */ - HBUINT16 segCountX2; /* 2 x segCount. */ - HBUINT16 searchRange; /* 2 * (2**floor(log2(segCount))) */ - HBUINT16 entrySelector; /* log2(searchRange/2) */ - HBUINT16 rangeShift; /* 2 x segCount - searchRange */ - - HBUINT16 values[VAR]; -#if 0 - HBUINT16 endCount[segCount]; /* End characterCode for each segment, - * last=0xFFFFu. */ - HBUINT16 reservedPad; /* Set to 0. */ - HBUINT16 startCount[segCount]; /* Start character code for each segment. */ - HBINT16 idDelta[segCount]; /* Delta for all character codes in segment. */ - HBUINT16 idRangeOffset[segCount];/* Offsets into glyphIdArray or 0 */ - HBUINT16 glyphIdArray[VAR]; /* Glyph index array (arbitrary length) */ -#endif - - public: - DEFINE_SIZE_ARRAY (14, values); -}; - -struct CmapSubtableLongGroup -{ - friend struct CmapSubtableFormat12; - friend struct CmapSubtableFormat13; - template - friend struct CmapSubtableLongSegmented; - friend struct cmap; - - int cmp (hb_codepoint_t codepoint) const - { - if (codepoint < startCharCode) return -1; - if (codepoint > endCharCode) return +1; - return 0; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - private: - HBUINT32 startCharCode; /* First character code in this group. */ - HBUINT32 endCharCode; /* Last character code in this group. */ - HBUINT32 glyphID; /* Glyph index; interpretation depends on - * subtable format. */ - public: - DEFINE_SIZE_STATIC (12); -}; - -template -struct CmapSubtableTrimmed -{ - inline bool get_glyph (hb_codepoint_t codepoint, hb_codepoint_t *glyph) const - { - /* Rely on our implicit array bound-checking. */ - hb_codepoint_t gid = glyphIdArray[codepoint - startCharCode]; - if (!gid) - return false; - *glyph = gid; - return true; - } - inline void collect_unicodes (hb_set_t *out) const - { - hb_codepoint_t start = startCharCode; - unsigned int count = glyphIdArray.len; - for (unsigned int i = 0; i < count; i++) - if (glyphIdArray[i]) - out->add (start + i); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && glyphIdArray.sanitize (c)); - } - - protected: - UINT formatReserved; /* Subtable format and (maybe) padding. */ - UINT length; /* Byte length of this subtable. */ - UINT language; /* Ignore. */ - UINT startCharCode; /* First character code covered. */ - ArrayOf - glyphIdArray; /* Array of glyph index values for character - * codes in the range. */ - public: - DEFINE_SIZE_ARRAY (5 * sizeof (UINT), glyphIdArray); -}; - -struct CmapSubtableFormat6 : CmapSubtableTrimmed {}; -struct CmapSubtableFormat10 : CmapSubtableTrimmed {}; - -template -struct CmapSubtableLongSegmented -{ - friend struct cmap; - - inline bool get_glyph (hb_codepoint_t codepoint, hb_codepoint_t *glyph) const - { - int i = groups.bsearch (codepoint); - if (i == -1) - return false; - hb_codepoint_t gid = T::group_get_glyph (groups[i], codepoint); - if (!gid) - return false; - *glyph = gid; - return true; - } - - inline void collect_unicodes (hb_set_t *out) const - { - for (unsigned int i = 0; i < this->groups.len; i++) { - out->add_range (this->groups[i].startCharCode, - MIN ((hb_codepoint_t) this->groups[i].endCharCode, - (hb_codepoint_t) HB_UNICODE_MAX)); - } - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && groups.sanitize (c)); - } - - inline bool serialize (hb_serialize_context_t *c, - const hb_vector_t &group_data) - { - TRACE_SERIALIZE (this); - if (unlikely (!c->extend_min (*this))) return_trace (false); - Supplier supplier (group_data.arrayZ, group_data.len); - if (unlikely (!groups.serialize (c, supplier, group_data.len))) return_trace (false); - return true; - } - - protected: - HBUINT16 format; /* Subtable format; set to 12. */ - HBUINT16 reserved; /* Reserved; set to 0. */ - HBUINT32 length; /* Byte length of this subtable. */ - HBUINT32 language; /* Ignore. */ - SortedArrayOf - groups; /* Groupings. */ - public: - DEFINE_SIZE_ARRAY (16, groups); -}; - -struct CmapSubtableFormat12 : CmapSubtableLongSegmented -{ - static inline hb_codepoint_t group_get_glyph (const CmapSubtableLongGroup &group, - hb_codepoint_t u) - { return group.glyphID + (u - group.startCharCode); } - - - bool serialize (hb_serialize_context_t *c, - const hb_vector_t &groups) - { - if (unlikely (!c->extend_min (*this))) return false; - - this->format.set (12); - this->reserved.set (0); - this->length.set (get_sub_table_size (groups)); - - return CmapSubtableLongSegmented::serialize (c, groups); - } - - static inline size_t get_sub_table_size (const hb_vector_t &groups) - { - return 16 + 12 * groups.len; - } - - static inline bool create_sub_table_plan (const hb_subset_plan_t *plan, - hb_vector_t *groups) - { - CmapSubtableLongGroup *group = nullptr; - - hb_codepoint_t cp = HB_SET_VALUE_INVALID; - while (plan->unicodes->next (&cp)) { - hb_codepoint_t new_gid; - if (unlikely (!plan->new_gid_for_codepoint (cp, &new_gid))) - { - DEBUG_MSG(SUBSET, nullptr, "Unable to find new gid for %04x", cp); - return false; - } - - if (!group || !_is_gid_consecutive (group, cp, new_gid)) - { - group = groups->push (); - group->startCharCode.set (cp); - group->endCharCode.set (cp); - group->glyphID.set (new_gid); - } else - { - group->endCharCode.set (cp); - } - } - - DEBUG_MSG(SUBSET, nullptr, "cmap"); - for (unsigned int i = 0; i < groups->len; i++) { - CmapSubtableLongGroup& group = (*groups)[i]; - DEBUG_MSG(SUBSET, nullptr, " %d: U+%04X-U+%04X, gid %d-%d", i, (uint32_t) group.startCharCode, (uint32_t) group.endCharCode, (uint32_t) group.glyphID, (uint32_t) group.glyphID + ((uint32_t) group.endCharCode - (uint32_t) group.startCharCode)); - } - - return true; - } - - private: - static inline bool _is_gid_consecutive (CmapSubtableLongGroup *group, - hb_codepoint_t cp, - hb_codepoint_t new_gid) - { - return (cp - 1 == group->endCharCode) && - new_gid == group->glyphID + (cp - group->startCharCode); - } - -}; - -struct CmapSubtableFormat13 : CmapSubtableLongSegmented -{ - static inline hb_codepoint_t group_get_glyph (const CmapSubtableLongGroup &group, - hb_codepoint_t u HB_UNUSED) - { return group.glyphID; } -}; - -typedef enum -{ - GLYPH_VARIANT_NOT_FOUND = 0, - GLYPH_VARIANT_FOUND = 1, - GLYPH_VARIANT_USE_DEFAULT = 2 -} glyph_variant_t; - -struct UnicodeValueRange -{ - inline int cmp (const hb_codepoint_t &codepoint) const - { - if (codepoint < startUnicodeValue) return -1; - if (codepoint > startUnicodeValue + additionalCount) return +1; - return 0; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - HBUINT24 startUnicodeValue; /* First value in this range. */ - HBUINT8 additionalCount; /* Number of additional values in this - * range. */ - public: - DEFINE_SIZE_STATIC (4); -}; - -struct DefaultUVS : SortedArrayOf -{ - inline void collect_unicodes (hb_set_t *out) const - { - unsigned int count = len; - for (unsigned int i = 0; i < count; i++) - { - hb_codepoint_t first = arrayZ[i].startUnicodeValue; - hb_codepoint_t last = MIN ((hb_codepoint_t) (first + arrayZ[i].additionalCount), - (hb_codepoint_t) HB_UNICODE_MAX); - out->add_range (first, last); - } - } - - public: - DEFINE_SIZE_ARRAY (4, arrayZ); -}; - -struct UVSMapping -{ - inline int cmp (const hb_codepoint_t &codepoint) const - { - return unicodeValue.cmp (codepoint); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - HBUINT24 unicodeValue; /* Base Unicode value of the UVS */ - GlyphID glyphID; /* Glyph ID of the UVS */ - public: - DEFINE_SIZE_STATIC (5); -}; - -struct NonDefaultUVS : SortedArrayOf -{ - inline void collect_unicodes (hb_set_t *out) const - { - unsigned int count = len; - for (unsigned int i = 0; i < count; i++) - out->add (arrayZ[i].glyphID); - } - - public: - DEFINE_SIZE_ARRAY (4, arrayZ); -}; - -struct VariationSelectorRecord -{ - inline glyph_variant_t get_glyph (hb_codepoint_t codepoint, - hb_codepoint_t *glyph, - const void *base) const - { - int i; - const DefaultUVS &defaults = base+defaultUVS; - i = defaults.bsearch (codepoint); - if (i != -1) - return GLYPH_VARIANT_USE_DEFAULT; - const NonDefaultUVS &nonDefaults = base+nonDefaultUVS; - i = nonDefaults.bsearch (codepoint); - if (i != -1 && nonDefaults[i].glyphID) - { - *glyph = nonDefaults[i].glyphID; - return GLYPH_VARIANT_FOUND; - } - return GLYPH_VARIANT_NOT_FOUND; - } - - inline void collect_unicodes (hb_set_t *out, const void *base) const - { - (base+defaultUVS).collect_unicodes (out); - (base+nonDefaultUVS).collect_unicodes (out); - } - - inline int cmp (const hb_codepoint_t &variation_selector) const - { - return varSelector.cmp (variation_selector); - } - - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - defaultUVS.sanitize (c, base) && - nonDefaultUVS.sanitize (c, base)); - } - - HBUINT24 varSelector; /* Variation selector. */ - LOffsetTo - defaultUVS; /* Offset to Default UVS Table. May be 0. */ - LOffsetTo - nonDefaultUVS; /* Offset to Non-Default UVS Table. May be 0. */ - public: - DEFINE_SIZE_STATIC (11); -}; - -struct CmapSubtableFormat14 -{ - inline glyph_variant_t get_glyph_variant (hb_codepoint_t codepoint, - hb_codepoint_t variation_selector, - hb_codepoint_t *glyph) const - { - return record[record.bsearch (variation_selector)].get_glyph (codepoint, glyph, this); - } - - inline void collect_variation_selectors (hb_set_t *out) const - { - unsigned int count = record.len; - for (unsigned int i = 0; i < count; i++) - out->add (record.arrayZ[i].varSelector); - } - inline void collect_variation_unicodes (hb_codepoint_t variation_selector, - hb_set_t *out) const - { - record[record.bsearch (variation_selector)].collect_unicodes (out, this); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - record.sanitize (c, this)); - } - - protected: - HBUINT16 format; /* Format number is set to 14. */ - HBUINT32 length; /* Byte length of this subtable. */ - SortedArrayOf - record; /* Variation selector records; sorted - * in increasing order of `varSelector'. */ - public: - DEFINE_SIZE_ARRAY (10, record); -}; - -struct CmapSubtable -{ - /* Note: We intentionally do NOT implement subtable formats 2 and 8. */ - - inline bool get_glyph (hb_codepoint_t codepoint, - hb_codepoint_t *glyph) const - { - switch (u.format) { - case 0: return u.format0 .get_glyph (codepoint, glyph); - case 4: return u.format4 .get_glyph (codepoint, glyph); - case 6: return u.format6 .get_glyph (codepoint, glyph); - case 10: return u.format10.get_glyph (codepoint, glyph); - case 12: return u.format12.get_glyph (codepoint, glyph); - case 13: return u.format13.get_glyph (codepoint, glyph); - case 14: - default: return false; - } - } - inline void collect_unicodes (hb_set_t *out) const - { - switch (u.format) { - case 0: u.format0 .collect_unicodes (out); return; - case 4: u.format4 .collect_unicodes (out); return; - case 6: u.format6 .collect_unicodes (out); return; - case 10: u.format10.collect_unicodes (out); return; - case 12: u.format12.collect_unicodes (out); return; - case 13: u.format13.collect_unicodes (out); return; - case 14: - default: return; - } - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (!u.format.sanitize (c)) return_trace (false); - switch (u.format) { - case 0: return_trace (u.format0 .sanitize (c)); - case 4: return_trace (u.format4 .sanitize (c)); - case 6: return_trace (u.format6 .sanitize (c)); - case 10: return_trace (u.format10.sanitize (c)); - case 12: return_trace (u.format12.sanitize (c)); - case 13: return_trace (u.format13.sanitize (c)); - case 14: return_trace (u.format14.sanitize (c)); - default:return_trace (true); - } - } - - public: - union { - HBUINT16 format; /* Format identifier */ - CmapSubtableFormat0 format0; - CmapSubtableFormat4 format4; - CmapSubtableFormat6 format6; - CmapSubtableFormat10 format10; - CmapSubtableFormat12 format12; - CmapSubtableFormat13 format13; - CmapSubtableFormat14 format14; - } u; - public: - DEFINE_SIZE_UNION (2, format); -}; - - -struct EncodingRecord -{ - inline int cmp (const EncodingRecord &other) const - { - int ret; - ret = platformID.cmp (other.platformID); - if (ret) return ret; - ret = encodingID.cmp (other.encodingID); - if (ret) return ret; - return 0; - } - - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - subtable.sanitize (c, base)); - } - - HBUINT16 platformID; /* Platform ID. */ - HBUINT16 encodingID; /* Platform-specific encoding ID. */ - LOffsetTo - subtable; /* Byte offset from beginning of table to the subtable for this encoding. */ - public: - DEFINE_SIZE_STATIC (8); -}; - -struct cmap -{ - static const hb_tag_t tableTag = HB_OT_TAG_cmap; - - struct subset_plan - { - subset_plan(void) - { - format4_segments.init(); - format12_groups.init(); - } - - ~subset_plan(void) - { - format4_segments.fini(); - format12_groups.fini(); - } - - inline size_t final_size() const - { - return 4 // header - + 8 * 3 // 3 EncodingRecord - + CmapSubtableFormat4::get_sub_table_size (this->format4_segments) - + CmapSubtableFormat12::get_sub_table_size (this->format12_groups); - } - - // Format 4 - hb_vector_t format4_segments; - // Format 12 - hb_vector_t format12_groups; - }; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - likely (version == 0) && - encodingRecord.sanitize (c, this)); - } - - inline bool _create_plan (const hb_subset_plan_t *plan, - subset_plan *cmap_plan) const - { - if (unlikely( !CmapSubtableFormat4::create_sub_table_plan (plan, &cmap_plan->format4_segments))) - return false; - - return CmapSubtableFormat12::create_sub_table_plan (plan, &cmap_plan->format12_groups); - } - - inline bool _subset (const hb_subset_plan_t *plan, - const subset_plan &cmap_subset_plan, - size_t dest_sz, - void *dest) const - { - hb_serialize_context_t c (dest, dest_sz); - - cmap *table = c.start_serialize (); - if (unlikely (!c.extend_min (*table))) - { - return false; - } - - table->version.set (0); - - if (unlikely (!table->encodingRecord.serialize (&c, /* numTables */ 3))) - return false; - - // TODO(grieger): Convert the below to a for loop - - // Format 4, Plat 0 Encoding Record - EncodingRecord &format4_plat0_rec = table->encodingRecord[0]; - format4_plat0_rec.platformID.set (0); // Unicode - format4_plat0_rec.encodingID.set (3); - - // Format 4, Plat 3 Encoding Record - EncodingRecord &format4_plat3_rec = table->encodingRecord[1]; - format4_plat3_rec.platformID.set (3); // Windows - format4_plat3_rec.encodingID.set (1); // Unicode BMP - - // Format 12 Encoding Record - EncodingRecord &format12_rec = table->encodingRecord[2]; - format12_rec.platformID.set (3); // Windows - format12_rec.encodingID.set (10); // Unicode UCS-4 - - // Write out format 4 sub table - { - CmapSubtable &subtable = format4_plat0_rec.subtable.serialize (&c, table); - format4_plat3_rec.subtable.set (format4_plat0_rec.subtable); - subtable.u.format.set (4); - - CmapSubtableFormat4 &format4 = subtable.u.format4; - if (unlikely (!format4.serialize (&c, plan, cmap_subset_plan.format4_segments))) - return false; - } - - // Write out format 12 sub table. - { - CmapSubtable &subtable = format12_rec.subtable.serialize (&c, table); - subtable.u.format.set (12); - - CmapSubtableFormat12 &format12 = subtable.u.format12; - if (unlikely (!format12.serialize (&c, cmap_subset_plan.format12_groups))) - return false; - } - - c.end_serialize (); - - return true; - } - - inline bool subset (hb_subset_plan_t *plan) const - { - subset_plan cmap_subset_plan; - - if (unlikely (!_create_plan (plan, &cmap_subset_plan))) - { - DEBUG_MSG(SUBSET, nullptr, "Failed to generate a cmap subsetting plan."); - return false; - } - - // We now know how big our blob needs to be - size_t dest_sz = cmap_subset_plan.final_size(); - void *dest = malloc (dest_sz); - if (unlikely (!dest)) { - DEBUG_MSG(SUBSET, nullptr, "Unable to alloc %lu for cmap subset output", (unsigned long) dest_sz); - return false; - } - - if (unlikely (!_subset (plan, cmap_subset_plan, dest_sz, dest))) - { - DEBUG_MSG(SUBSET, nullptr, "Failed to perform subsetting of cmap."); - free (dest); - return false; - } - - // all done, write the blob into dest - hb_blob_t *cmap_prime = hb_blob_create ((const char *)dest, - dest_sz, - HB_MEMORY_MODE_READONLY, - dest, - free); - bool result = plan->add_table (HB_OT_TAG_cmap, cmap_prime); - hb_blob_destroy (cmap_prime); - return result; - } - - const CmapSubtable *find_best_subtable (bool *symbol = nullptr) const - { - if (symbol) *symbol = false; - - const CmapSubtable *subtable; - - /* 32-bit subtables. */ - if ((subtable = this->find_subtable (3, 10))) return subtable; - if ((subtable = this->find_subtable (0, 6))) return subtable; - if ((subtable = this->find_subtable (0, 4))) return subtable; - - /* 16-bit subtables. */ - if ((subtable = this->find_subtable (3, 1))) return subtable; - if ((subtable = this->find_subtable (0, 3))) return subtable; - if ((subtable = this->find_subtable (0, 2))) return subtable; - if ((subtable = this->find_subtable (0, 1))) return subtable; - if ((subtable = this->find_subtable (0, 0))) return subtable; - - /* Symbol subtable. */ - if ((subtable = this->find_subtable (3, 0))) - { - if (symbol) *symbol = true; - return subtable; - } - - /* Meh. */ - return &Null(CmapSubtable); - } - - struct accelerator_t - { - inline void init (hb_face_t *face) - { - this->blob = hb_sanitize_context_t().reference_table (face); - const cmap *table = this->blob->as (); - const CmapSubtableFormat14 *subtable_uvs = nullptr; - bool symbol; - subtable = table->find_best_subtable (&symbol); - - /* UVS subtable. */ - if (!subtable_uvs) - { - const CmapSubtable *st = table->find_subtable (0, 5); - if (st && st->u.format == 14) - subtable_uvs = &st->u.format14; - } - /* Meh. */ - if (!subtable_uvs) subtable_uvs = &Null(CmapSubtableFormat14); - - this->subtable_uvs = subtable_uvs; - - this->get_glyph_data = subtable; - if (unlikely (symbol)) - { - this->get_glyph_func = get_glyph_from_symbol; - } else { - switch (subtable->u.format) { - /* Accelerate format 4 and format 12. */ - default: - this->get_glyph_func = get_glyph_from; - break; - case 12: - this->get_glyph_func = get_glyph_from; - break; - case 4: - { - this->format4_accel.init (&subtable->u.format4); - this->get_glyph_data = &this->format4_accel; - this->get_glyph_func = this->format4_accel.get_glyph_func; - } - break; - } - } - } - - inline void fini (void) - { - hb_blob_destroy (this->blob); - } - - inline bool get_nominal_glyph (hb_codepoint_t unicode, - hb_codepoint_t *glyph) const - { - return this->get_glyph_func (this->get_glyph_data, unicode, glyph); - } - - inline bool get_variation_glyph (hb_codepoint_t unicode, - hb_codepoint_t variation_selector, - hb_codepoint_t *glyph) const - { - switch (this->subtable_uvs->get_glyph_variant (unicode, - variation_selector, - glyph)) - { - case GLYPH_VARIANT_NOT_FOUND: return false; - case GLYPH_VARIANT_FOUND: return true; - case GLYPH_VARIANT_USE_DEFAULT: break; - } - - return get_nominal_glyph (unicode, glyph); - } - - inline void collect_unicodes (hb_set_t *out) const - { - subtable->collect_unicodes (out); - } - inline void collect_variation_selectors (hb_set_t *out) const - { - subtable_uvs->collect_variation_selectors (out); - } - inline void collect_variation_unicodes (hb_codepoint_t variation_selector, - hb_set_t *out) const - { - subtable_uvs->collect_variation_unicodes (variation_selector, out); - } - - protected: - typedef bool (*hb_cmap_get_glyph_func_t) (const void *obj, - hb_codepoint_t codepoint, - hb_codepoint_t *glyph); - - template - static inline bool get_glyph_from (const void *obj, - hb_codepoint_t codepoint, - hb_codepoint_t *glyph) - { - const Type *typed_obj = (const Type *) obj; - return typed_obj->get_glyph (codepoint, glyph); - } - - template - static inline bool get_glyph_from_symbol (const void *obj, - hb_codepoint_t codepoint, - hb_codepoint_t *glyph) - { - const Type *typed_obj = (const Type *) obj; - if (likely (typed_obj->get_glyph (codepoint, glyph))) - return true; - - if (codepoint <= 0x00FFu) - { - /* For symbol-encoded OpenType fonts, we duplicate the - * U+F000..F0FF range at U+0000..U+00FF. That's what - * Windows seems to do, and that's hinted about at: - * https://docs.microsoft.com/en-us/typography/opentype/spec/recom - * under "Non-Standard (Symbol) Fonts". */ - return typed_obj->get_glyph (0xF000u + codepoint, glyph); - } - - return false; - } - - private: - const CmapSubtable *subtable; - const CmapSubtableFormat14 *subtable_uvs; - - hb_cmap_get_glyph_func_t get_glyph_func; - const void *get_glyph_data; - - CmapSubtableFormat4::accelerator_t format4_accel; - - hb_blob_t *blob; - }; - - protected: - - inline const CmapSubtable *find_subtable (unsigned int platform_id, - unsigned int encoding_id) const - { - EncodingRecord key; - key.platformID.set (platform_id); - key.encodingID.set (encoding_id); - - int result = encodingRecord.bsearch (key); - if (result == -1 || !encodingRecord[result].subtable) - return nullptr; - - return &(this+encodingRecord[result].subtable); - } - - protected: - HBUINT16 version; /* Table version number (0). */ - SortedArrayOf - encodingRecord; /* Encoding tables. */ - public: - DEFINE_SIZE_ARRAY (4, encodingRecord); -}; - -struct cmap_accelerator_t : cmap::accelerator_t {}; - -} /* namespace OT */ - - -#endif /* HB_OT_CMAP_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-color-cbdt-table.hh b/harfbuzz-1.9.0/src/hb-ot-color-cbdt-table.hh deleted file mode 100644 index 8bedf2224..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-color-cbdt-table.hh +++ /dev/null @@ -1,540 +0,0 @@ -/* - * Copyright © 2016 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Seigo Nonaka - */ - -#ifndef HB_OT_COLOR_CBDT_TABLE_HH -#define HB_OT_COLOR_CBDT_TABLE_HH - -#include "hb-open-type.hh" - -/* - * CBLC -- Color Bitmap Location - * https://docs.microsoft.com/en-us/typography/opentype/spec/cblc - * https://docs.microsoft.com/en-us/typography/opentype/spec/eblc - * CBDT -- Color Bitmap Data - * https://docs.microsoft.com/en-us/typography/opentype/spec/cbdt - * https://docs.microsoft.com/en-us/typography/opentype/spec/ebdt - */ -#define HB_OT_TAG_CBLC HB_TAG('C','B','L','C') -#define HB_OT_TAG_CBDT HB_TAG('C','B','D','T') - - -namespace OT { - -struct SmallGlyphMetrics -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - inline void get_extents (hb_glyph_extents_t *extents) const - { - extents->x_bearing = bearingX; - extents->y_bearing = bearingY; - extents->width = width; - extents->height = -height; - } - - HBUINT8 height; - HBUINT8 width; - HBINT8 bearingX; - HBINT8 bearingY; - HBUINT8 advance; - public: - DEFINE_SIZE_STATIC(5); -}; - -struct BigGlyphMetrics : SmallGlyphMetrics -{ - HBINT8 vertBearingX; - HBINT8 vertBearingY; - HBUINT8 vertAdvance; - public: - DEFINE_SIZE_STATIC(8); -}; - -struct SBitLineMetrics -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - HBINT8 ascender; - HBINT8 decender; - HBUINT8 widthMax; - HBINT8 caretSlopeNumerator; - HBINT8 caretSlopeDenominator; - HBINT8 caretOffset; - HBINT8 minOriginSB; - HBINT8 minAdvanceSB; - HBINT8 maxBeforeBL; - HBINT8 minAfterBL; - HBINT8 padding1; - HBINT8 padding2; - public: - DEFINE_SIZE_STATIC(12); -}; - - -/* - * Index Subtables. - */ - -struct IndexSubtableHeader -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - HBUINT16 indexFormat; - HBUINT16 imageFormat; - HBUINT32 imageDataOffset; - public: - DEFINE_SIZE_STATIC(8); -}; - -template -struct IndexSubtableFormat1Or3 -{ - inline bool sanitize (hb_sanitize_context_t *c, unsigned int glyph_count) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - c->check_array (offsetArrayZ, offsetArrayZ[0].static_size, glyph_count + 1)); - } - - bool get_image_data (unsigned int idx, - unsigned int *offset, - unsigned int *length) const - { - if (unlikely (offsetArrayZ[idx + 1] <= offsetArrayZ[idx])) - return false; - - *offset = header.imageDataOffset + offsetArrayZ[idx]; - *length = offsetArrayZ[idx + 1] - offsetArrayZ[idx]; - return true; - } - - IndexSubtableHeader header; - Offset offsetArrayZ[VAR]; - public: - DEFINE_SIZE_ARRAY(8, offsetArrayZ); -}; - -struct IndexSubtableFormat1 : IndexSubtableFormat1Or3 {}; -struct IndexSubtableFormat3 : IndexSubtableFormat1Or3 {}; - -struct IndexSubtable -{ - inline bool sanitize (hb_sanitize_context_t *c, unsigned int glyph_count) const - { - TRACE_SANITIZE (this); - if (!u.header.sanitize (c)) return_trace (false); - switch (u.header.indexFormat) { - case 1: return_trace (u.format1.sanitize (c, glyph_count)); - case 3: return_trace (u.format3.sanitize (c, glyph_count)); - default:return_trace (true); - } - } - - inline bool get_extents (hb_glyph_extents_t *extents) const - { - switch (u.header.indexFormat) { - case 2: case 5: /* TODO */ - case 1: case 3: case 4: /* Variable-metrics formats do not have metrics here. */ - default:return (false); - } - } - - bool get_image_data (unsigned int idx, - unsigned int *offset, - unsigned int *length, - unsigned int *format) const - { - *format = u.header.imageFormat; - switch (u.header.indexFormat) { - case 1: return u.format1.get_image_data (idx, offset, length); - case 3: return u.format3.get_image_data (idx, offset, length); - default: return false; - } - } - - protected: - union { - IndexSubtableHeader header; - IndexSubtableFormat1 format1; - IndexSubtableFormat3 format3; - /* TODO: Format 2, 4, 5. */ - } u; - public: - DEFINE_SIZE_UNION (8, header); -}; - -struct IndexSubtableRecord -{ - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - firstGlyphIndex <= lastGlyphIndex && - offsetToSubtable.sanitize (c, this, lastGlyphIndex - firstGlyphIndex + 1)); - } - - inline bool get_extents (hb_glyph_extents_t *extents) const - { - return (this+offsetToSubtable).get_extents (extents); - } - - bool get_image_data (unsigned int gid, - unsigned int *offset, - unsigned int *length, - unsigned int *format) const - { - if (gid < firstGlyphIndex || gid > lastGlyphIndex) - { - return false; - } - return (this+offsetToSubtable).get_image_data (gid - firstGlyphIndex, - offset, length, format); - } - - GlyphID firstGlyphIndex; - GlyphID lastGlyphIndex; - LOffsetTo offsetToSubtable; - public: - DEFINE_SIZE_STATIC(8); -}; - -struct IndexSubtableArray -{ - friend struct CBDT; - - inline bool sanitize (hb_sanitize_context_t *c, unsigned int count) const - { - TRACE_SANITIZE (this); - if (unlikely (!c->check_array (&indexSubtablesZ, indexSubtablesZ[0].static_size, count))) - return_trace (false); - for (unsigned int i = 0; i < count; i++) - if (unlikely (!indexSubtablesZ[i].sanitize (c, this))) - return_trace (false); - return_trace (true); - } - - public: - const IndexSubtableRecord* find_table (hb_codepoint_t glyph, unsigned int numTables) const - { - for (unsigned int i = 0; i < numTables; ++i) - { - unsigned int firstGlyphIndex = indexSubtablesZ[i].firstGlyphIndex; - unsigned int lastGlyphIndex = indexSubtablesZ[i].lastGlyphIndex; - if (firstGlyphIndex <= glyph && glyph <= lastGlyphIndex) { - return &indexSubtablesZ[i]; - } - } - return nullptr; - } - - protected: - IndexSubtableRecord indexSubtablesZ[VAR]; - public: - DEFINE_SIZE_ARRAY(0, indexSubtablesZ); -}; - -struct BitmapSizeTable -{ - friend struct CBLC; - friend struct CBDT; - - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - indexSubtableArrayOffset.sanitize (c, base, numberOfIndexSubtables) && - c->check_range (&(base+indexSubtableArrayOffset), indexTablesSize) && - horizontal.sanitize (c) && - vertical.sanitize (c)); - } - - const IndexSubtableRecord *find_table (hb_codepoint_t glyph, const void *base) const - { - return (base+indexSubtableArrayOffset).find_table (glyph, numberOfIndexSubtables); - } - - protected: - LOffsetTo - indexSubtableArrayOffset; - HBUINT32 indexTablesSize; - HBUINT32 numberOfIndexSubtables; - HBUINT32 colorRef; - SBitLineMetrics horizontal; - SBitLineMetrics vertical; - GlyphID startGlyphIndex; - GlyphID endGlyphIndex; - HBUINT8 ppemX; - HBUINT8 ppemY; - HBUINT8 bitDepth; - HBINT8 flags; - public: - DEFINE_SIZE_STATIC(48); -}; - - -/* - * Glyph Bitmap Data Formats. - */ - -struct GlyphBitmapDataFormat17 -{ - SmallGlyphMetrics glyphMetrics; - LArrayOf data; - public: - DEFINE_SIZE_ARRAY(9, data); -}; - -struct GlyphBitmapDataFormat18 -{ - BigGlyphMetrics glyphMetrics; - LArrayOf data; - public: - DEFINE_SIZE_ARRAY(12, data); -}; - -struct GlyphBitmapDataFormat19 -{ - LArrayOf data; - public: - DEFINE_SIZE_ARRAY(4, data); -}; - -struct CBLC -{ - friend struct CBDT; - - static const hb_tag_t tableTag = HB_OT_TAG_CBLC; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - likely (version.major == 2 || version.major == 3) && - sizeTables.sanitize (c, this)); - } - - protected: - const IndexSubtableRecord *find_table (hb_codepoint_t glyph, - unsigned int *x_ppem, unsigned int *y_ppem) const - { - /* TODO: Make it possible to select strike. */ - - unsigned int count = sizeTables.len; - for (uint32_t i = 0; i < count; ++i) - { - unsigned int startGlyphIndex = sizeTables.arrayZ[i].startGlyphIndex; - unsigned int endGlyphIndex = sizeTables.arrayZ[i].endGlyphIndex; - if (startGlyphIndex <= glyph && glyph <= endGlyphIndex) - { - *x_ppem = sizeTables[i].ppemX; - *y_ppem = sizeTables[i].ppemY; - return sizeTables[i].find_table (glyph, this); - } - } - - return nullptr; - } - - protected: - FixedVersion<> version; - LArrayOf sizeTables; - public: - DEFINE_SIZE_ARRAY(8, sizeTables); -}; - -struct CBDT -{ - static const hb_tag_t tableTag = HB_OT_TAG_CBDT; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - likely (version.major == 2 || version.major == 3)); - } - - struct accelerator_t - { - inline void init (hb_face_t *face) - { - upem = hb_face_get_upem (face); - - cblc_blob = hb_sanitize_context_t().reference_table (face); - cbdt_blob = hb_sanitize_context_t().reference_table (face); - cbdt_len = hb_blob_get_length (cbdt_blob); - - if (hb_blob_get_length (cblc_blob) == 0) { - cblc = nullptr; - cbdt = nullptr; - return; /* Not a bitmap font. */ - } - cblc = cblc_blob->as (); - cbdt = cbdt_blob->as (); - - } - - inline void fini (void) - { - hb_blob_destroy (this->cblc_blob); - hb_blob_destroy (this->cbdt_blob); - } - - inline bool get_extents (hb_codepoint_t glyph, hb_glyph_extents_t *extents) const - { - unsigned int x_ppem = upem, y_ppem = upem; /* TODO Use font ppem if available. */ - - if (!cblc) - return false; // Not a color bitmap font. - - const IndexSubtableRecord *subtable_record = this->cblc->find_table(glyph, &x_ppem, &y_ppem); - if (!subtable_record || !x_ppem || !y_ppem) - return false; - - if (subtable_record->get_extents (extents)) - return true; - - unsigned int image_offset = 0, image_length = 0, image_format = 0; - if (!subtable_record->get_image_data (glyph, &image_offset, &image_length, &image_format)) - return false; - - { - if (unlikely (image_offset > cbdt_len || cbdt_len - image_offset < image_length)) - return false; - - switch (image_format) - { - case 17: { - if (unlikely (image_length < GlyphBitmapDataFormat17::min_size)) - return false; - - const GlyphBitmapDataFormat17& glyphFormat17 = - StructAtOffset (this->cbdt, image_offset); - glyphFormat17.glyphMetrics.get_extents (extents); - } - break; - default: - // TODO: Support other image formats. - return false; - } - } - - /* Convert to the font units. */ - extents->x_bearing *= upem / (float) x_ppem; - extents->y_bearing *= upem / (float) y_ppem; - extents->width *= upem / (float) x_ppem; - extents->height *= upem / (float) y_ppem; - - return true; - } - - inline void dump (void (*callback) (const uint8_t* data, unsigned int length, - unsigned int group, unsigned int gid)) const - { - if (!cblc) - return; // Not a color bitmap font. - - for (unsigned int i = 0; i < cblc->sizeTables.len; ++i) - { - const BitmapSizeTable &sizeTable = cblc->sizeTables[i]; - const IndexSubtableArray &subtable_array = cblc+sizeTable.indexSubtableArrayOffset; - for (unsigned int j = 0; j < sizeTable.numberOfIndexSubtables; ++j) - { - const IndexSubtableRecord &subtable_record = subtable_array.indexSubtablesZ[j]; - for (unsigned int gid = subtable_record.firstGlyphIndex; - gid <= subtable_record.lastGlyphIndex; ++gid) - { - unsigned int image_offset = 0, image_length = 0, image_format = 0; - - if (!subtable_record.get_image_data (gid, - &image_offset, &image_length, &image_format)) - continue; - - switch (image_format) - { - case 17: { - const GlyphBitmapDataFormat17& glyphFormat17 = - StructAtOffset (this->cbdt, image_offset); - callback ((const uint8_t *) &glyphFormat17.data.arrayZ, - glyphFormat17.data.len, i, gid); - } - break; - case 18: { - const GlyphBitmapDataFormat18& glyphFormat18 = - StructAtOffset (this->cbdt, image_offset); - callback ((const uint8_t *) &glyphFormat18.data.arrayZ, - glyphFormat18.data.len, i, gid); - } - break; - case 19: { - const GlyphBitmapDataFormat19& glyphFormat19 = - StructAtOffset (this->cbdt, image_offset); - callback ((const uint8_t *) &glyphFormat19.data.arrayZ, - glyphFormat19.data.len, i, gid); - } - break; - default: - continue; - } - } - } - } - } - - private: - hb_blob_t *cblc_blob; - hb_blob_t *cbdt_blob; - const CBLC *cblc; - const CBDT *cbdt; - - unsigned int cbdt_len; - unsigned int upem; - }; - - - protected: - FixedVersion<> version; - HBUINT8 dataZ[VAR]; - public: - DEFINE_SIZE_ARRAY(4, dataZ); -}; - -struct CBDT_accelerator_t : CBDT::accelerator_t {}; - -} /* namespace OT */ - -#endif /* HB_OT_COLOR_CBDT_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-color-colr-table.hh b/harfbuzz-1.9.0/src/hb-ot-color-colr-table.hh deleted file mode 100644 index 070226f18..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-color-colr-table.hh +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright © 2018 Ebrahim Byagowi - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HB_OT_COLOR_COLR_TABLE_HH -#define HB_OT_COLOR_COLR_TABLE_HH - -#include "hb-open-type.hh" - -/* - * COLR -- Color - * https://docs.microsoft.com/en-us/typography/opentype/spec/colr - */ -#define HB_OT_TAG_COLR HB_TAG('C','O','L','R') - - -namespace OT { - - -struct LayerRecord -{ - friend struct COLR; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - protected: - GlyphID glyphid; /* Glyph ID of layer glyph */ - HBUINT16 colorIdx; /* Index value to use with a selected color palette */ - public: - DEFINE_SIZE_STATIC (4); -}; - -struct BaseGlyphRecord -{ - friend struct COLR; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this))); - } - - inline int cmp (hb_codepoint_t g) const { - return g < glyphid ? -1 : g > glyphid ? 1 : 0; - } - - protected: - GlyphID glyphid; /* Glyph ID of reference glyph */ - HBUINT16 firstLayerIdx; /* Index to the layer record */ - HBUINT16 numLayers; /* Number of color layers associated with this glyph */ - public: - DEFINE_SIZE_STATIC (6); -}; - -static int compare_bgr (const void *pa, const void *pb) -{ - const hb_codepoint_t *a = (const hb_codepoint_t *) pa; - const BaseGlyphRecord *b = (const BaseGlyphRecord *) pb; - return b->cmp (*a); -} - -struct COLR -{ - static const hb_tag_t tableTag = HB_OT_TAG_COLR; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && - (this+baseGlyphsZ).sanitize (c, numBaseGlyphs) && - (this+layersZ).sanitize (c, numLayers))); - } - - inline bool get_base_glyph_record (hb_codepoint_t glyph_id, - unsigned int *first_layer /* OUT */, - unsigned int *num_layers /* OUT */) const - { - const BaseGlyphRecord* record; - record = (BaseGlyphRecord *) bsearch (&glyph_id, &(this+baseGlyphsZ), numBaseGlyphs, - sizeof (BaseGlyphRecord), compare_bgr); - if (unlikely (!record)) - return false; - - *first_layer = record->firstLayerIdx; - *num_layers = record->numLayers; - return true; - } - - inline bool get_layer_record (unsigned int record, - hb_codepoint_t *glyph_id /* OUT */, - unsigned int *palette_index /* OUT */) const - { - if (unlikely (record >= numLayers)) - { - *glyph_id = 0; - *palette_index = 0xFFFF; - return false; - } - const LayerRecord &layer = (this+layersZ)[record]; - *glyph_id = layer.glyphid; - *palette_index = layer.colorIdx; - return true; - } - - protected: - HBUINT16 version; /* Table version number */ - HBUINT16 numBaseGlyphs; /* Number of Base Glyph Records */ - LOffsetTo > - baseGlyphsZ; /* Offset to Base Glyph records. */ - LOffsetTo > - layersZ; /* Offset to Layer Records */ - HBUINT16 numLayers; /* Number of Layer Records */ - public: - DEFINE_SIZE_STATIC (14); -}; - -} /* namespace OT */ - - -#endif /* HB_OT_COLOR_COLR_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-color-cpal-table.hh b/harfbuzz-1.9.0/src/hb-ot-color-cpal-table.hh deleted file mode 100644 index 2c9fced09..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-color-cpal-table.hh +++ /dev/null @@ -1,224 +0,0 @@ -/* - * Copyright © 2016 Google, Inc. - * Copyright © 2018 Ebrahim Byagowi - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Sascha Brawer - */ - -#ifndef HB_OT_COLOR_CPAL_TABLE_HH -#define HB_OT_COLOR_CPAL_TABLE_HH - -#include "hb-open-type.hh" - - -/* - * Following parts to be moved to a public header. - */ - -/** - * hb_ot_color_t: - * ARGB data type for holding color values. - * - * Since: REPLACEME - */ -typedef uint32_t hb_ot_color_t; - - -/** - * hb_ot_color_palette_flags_t: - * @HB_OT_COLOR_PALETTE_FLAG_DEFAULT: default indicating that there is nothing special to note about a color palette. - * @HB_OT_COLOR_PALETTE_FLAG_FOR_LIGHT_BACKGROUND: flag indicating that the color palette is suitable for rendering text on light background. - * @HB_OT_COLOR_PALETTE_FLAG_FOR_DARK_BACKGROUND: flag indicating that the color palette is suitable for rendering text on dark background. - * - * Since: REPLACEME - */ -typedef enum { /*< flags >*/ - HB_OT_COLOR_PALETTE_FLAG_DEFAULT = 0x00000000u, - HB_OT_COLOR_PALETTE_FLAG_FOR_LIGHT_BACKGROUND = 0x00000001u, - HB_OT_COLOR_PALETTE_FLAG_FOR_DARK_BACKGROUND = 0x00000002u, -} hb_ot_color_palette_flags_t; - -// HB_EXTERN unsigned int -// hb_ot_color_get_palette_count (hb_face_t *face); - -// HB_EXTERN unsigned int -// hb_ot_color_get_palette_name_id (hb_face_t *face, unsigned int palette); - -// HB_EXTERN hb_ot_color_palette_flags_t -// hb_ot_color_get_palette_flags (hb_face_t *face, unsigned int palette); - -// HB_EXTERN unsigned int -// hb_ot_color_get_palette_colors (hb_face_t *face, -// unsigned int palette, /* default=0 */ -// unsigned int start_offset, -// unsigned int *color_count /* IN/OUT */, -// hb_ot_color_t *colors /* OUT */); - - - - - -/* - * CPAL -- Color Palette - * https://docs.microsoft.com/en-us/typography/opentype/spec/cpal - */ -#define HB_OT_TAG_CPAL HB_TAG('C','P','A','L') - - -namespace OT { - - -struct CPALV1Tail -{ - friend struct CPAL; - - inline bool - sanitize (hb_sanitize_context_t *c, const void *base, unsigned int palettes) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - (base+paletteFlagsZ).sanitize (c, palettes) && - (base+paletteLabelZ).sanitize (c, palettes) && - (base+paletteEntryLabelZ).sanitize (c, palettes)); - } - - private: - inline hb_ot_color_palette_flags_t - get_palette_flags (const void *base, unsigned int palette) const - { - // range checked at the CPAL caller - return (hb_ot_color_palette_flags_t) (uint32_t) (base+paletteFlagsZ)[palette]; - } - - inline unsigned int - get_palette_name_id (const void *base, unsigned int palette) const - { - // range checked at the CPAL caller - return (base+paletteLabelZ)[palette]; - } - - protected: - LOffsetTo > - paletteFlagsZ; /* Offset from the beginning of CPAL table to - * the Palette Type Array. Set to 0 if no array - * is provided. */ - LOffsetTo > - paletteLabelZ; /* Offset from the beginning of CPAL table to - * the Palette Labels Array. Set to 0 if no - * array is provided. */ - LOffsetTo > - paletteEntryLabelZ; /* Offset from the beginning of CPAL table to - * the Palette Entry Label Array. Set to 0 - * if no array is provided. */ - public: - DEFINE_SIZE_STATIC (12); -}; - -typedef HBUINT32 BGRAColor; - -struct CPAL -{ - static const hb_tag_t tableTag = HB_OT_TAG_CPAL; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (unlikely (!(c->check_struct (this) && // it checks colorRecordIndices also - // see #get_size - (this+colorRecordsZ).sanitize (c, numColorRecords)))) - return_trace (false); - - // Check for indices sanity so no need for doing it runtime - for (unsigned int i = 0; i < numPalettes; ++i) - if (unlikely (colorRecordIndicesZ[i] + numPaletteEntries > numColorRecords)) - return_trace (false); - - // If version is zero, we are done here; otherwise we need to check tail also - if (version == 0) - return_trace (true); - - const CPALV1Tail &v1 = StructAfter (*this); - return_trace (likely (v1.sanitize (c, this, numPalettes))); - } - - inline unsigned int get_size (void) const - { - return min_size + numPalettes * sizeof (HBUINT16); - } - - inline hb_ot_color_palette_flags_t get_palette_flags (unsigned int palette) const - { - if (unlikely (version == 0 || palette >= numPalettes)) - return HB_OT_COLOR_PALETTE_FLAG_DEFAULT; - - const CPALV1Tail& cpal1 = StructAfter (*this); - return cpal1.get_palette_flags (this, palette); - } - - inline unsigned int get_palette_name_id (unsigned int palette) const - { - if (unlikely (version == 0 || palette >= numPalettes)) - return 0xFFFF; - - const CPALV1Tail& cpal1 = StructAfter (*this); - return cpal1.get_palette_name_id (this, palette); - } - - inline unsigned int get_palette_count () const - { - return numPalettes; - } - - inline hb_ot_color_t - get_color_record_argb (unsigned int color_index, unsigned int palette) const - { - if (unlikely (color_index >= numPaletteEntries || palette >= numPalettes)) - return 0; - - // No need for more range check as it is already done on #sanitize - const UnsizedArrayOf& color_records = this+colorRecordsZ; - return color_records[colorRecordIndicesZ[palette] + color_index]; - } - - protected: - HBUINT16 version; /* Table version number */ - /* Version 0 */ - HBUINT16 numPaletteEntries; /* Number of palette entries in each palette. */ - HBUINT16 numPalettes; /* Number of palettes in the table. */ - HBUINT16 numColorRecords; /* Total number of color records, combined for - * all palettes. */ - LOffsetTo > - colorRecordsZ; /* Offset from the beginning of CPAL table to - * the first ColorRecord. */ - UnsizedArrayOf - colorRecordIndicesZ; /* Index of each palette’s first color record in - * the combined color record array. */ -/*CPALV1Tail v1;*/ - public: - DEFINE_SIZE_ARRAY (12, colorRecordIndicesZ); -}; - -} /* namespace OT */ - - -#endif /* HB_OT_COLOR_CPAL_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-color-sbix-table.hh b/harfbuzz-1.9.0/src/hb-ot-color-sbix-table.hh deleted file mode 100644 index 1b643c77a..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-color-sbix-table.hh +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Copyright © 2018 Ebrahim Byagowi - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HB_OT_COLOR_SBIX_TABLE_HH -#define HB_OT_COLOR_SBIX_TABLE_HH - -#include "hb-open-type.hh" - -/* - * sbix -- Standard Bitmap Graphics - * https://docs.microsoft.com/en-us/typography/opentype/spec/sbix - * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6sbix.html - */ -#define HB_OT_TAG_sbix HB_TAG('s','b','i','x') - - -namespace OT { - - -struct SBIXGlyph -{ - HBINT16 xOffset; /* The horizontal (x-axis) offset from the left - * edge of the graphic to the glyph’s origin. - * That is, the x-coordinate of the point on the - * baseline at the left edge of the glyph. */ - HBINT16 yOffset; /* The vertical (y-axis) offset from the bottom - * edge of the graphic to the glyph’s origin. - * That is, the y-coordinate of the point on the - * baseline at the left edge of the glyph. */ - Tag graphicType; /* Indicates the format of the embedded graphic - * data: one of 'jpg ', 'png ' or 'tiff', or the - * special format 'dupe'. */ - UnsizedArrayOf - data; /* The actual embedded graphic data. The total - * length is inferred from sequential entries in - * the glyphDataOffsets array and the fixed size - * (8 bytes) of the preceding fields. */ - public: - DEFINE_SIZE_ARRAY (8, data); -}; - -struct SBIXStrike -{ - friend struct sbix; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - imageOffsetsZ.sanitize_shallow (c, c->get_num_glyphs () + 1)); - } - - protected: - HBUINT16 ppem; /* The PPEM size for which this strike was designed. */ - HBUINT16 resolution; /* The device pixel density (in PPI) for which this - * strike was designed. (E.g., 96 PPI, 192 PPI.) */ - UnsizedArrayOf > - imageOffsetsZ; /* Offset from the beginning of the strike data header - * to bitmap data for an individual glyph ID. */ - public: - DEFINE_SIZE_STATIC (8); -}; - -struct sbix -{ - static const hb_tag_t tableTag = HB_OT_TAG_sbix; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && strikes.sanitize (c, this))); - } - - struct accelerator_t - { - inline void init (hb_face_t *face) - { - sbix_blob = hb_sanitize_context_t().reference_table (face); - sbix_len = hb_blob_get_length (sbix_blob); - sbix_table = sbix_blob->as (); - } - - inline void fini (void) - { - hb_blob_destroy (sbix_blob); - } - - inline void dump (void (*callback) (const uint8_t* data, unsigned int length, - unsigned int group, unsigned int gid)) const - { - for (unsigned group = 0; group < sbix_table->strikes.len; ++group) - { - const SBIXStrike &strike = sbix_table->strikes[group](sbix_table); - for (unsigned int glyph = 0; glyph < num_glyphs; ++glyph) - if (strike.imageOffsetsZ[glyph + 1] - strike.imageOffsetsZ[glyph] > 0) - { - const SBIXGlyph &sbixGlyph = strike.imageOffsetsZ[glyph]((const void *) &strike); - callback ((const uint8_t*) &sbixGlyph.data, - strike.imageOffsetsZ[glyph + 1] - strike.imageOffsetsZ[glyph] - 8, - group, glyph); - } - } - } - - private: - hb_blob_t *sbix_blob; - const sbix *sbix_table; - - unsigned int sbix_len; - unsigned int num_glyphs; - }; - - protected: - HBUINT16 version; /* Table version number — set to 1 */ - HBUINT16 flags; /* Bit 0: Set to 1. Bit 1: Draw outlines. - * Bits 2 to 15: reserved (set to 0). */ - LArrayOf > - strikes; /* Offsets from the beginning of the 'sbix' - * table to data for each individual bitmap strike. */ - public: - DEFINE_SIZE_ARRAY (8, strikes); -}; - -} /* namespace OT */ - -#endif /* HB_OT_COLOR_SBIX_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-color-svg-table.hh b/harfbuzz-1.9.0/src/hb-ot-color-svg-table.hh deleted file mode 100644 index ad9162f7c..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-color-svg-table.hh +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright © 2018 Ebrahim Byagowi - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -#ifndef HB_OT_COLOR_SVG_TABLE_HH -#define HB_OT_COLOR_SVG_TABLE_HH - -#include "hb-open-type.hh" - -/* - * SVG -- SVG (Scalable Vector Graphics) - * https://docs.microsoft.com/en-us/typography/opentype/spec/svg - */ - -#define HB_OT_TAG_SVG HB_TAG('S','V','G',' ') - - -namespace OT { - - -struct SVGDocumentIndexEntry -{ - friend struct SVG; - - inline bool sanitize (hb_sanitize_context_t *c, const void* base) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - (base+svgDoc).sanitize (c, svgDocLength)); - } - - protected: - HBUINT16 startGlyphID; /* The first glyph ID in the range described by - * this index entry. */ - HBUINT16 endGlyphID; /* The last glyph ID in the range described by - * this index entry. Must be >= startGlyphID. */ - LOffsetTo > - svgDoc; /* Offset from the beginning of the SVG Document Index - * to an SVG document. Must be non-zero. */ - HBUINT32 svgDocLength; /* Length of the SVG document. - * Must be non-zero. */ - public: - DEFINE_SIZE_STATIC (12); -}; - -struct SVGDocumentIndex -{ - friend struct SVG; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - entries.sanitize (c, this)); - } - - protected: - ArrayOf - entries; /* Array of SVG Document Index Entries. */ - public: - DEFINE_SIZE_ARRAY (2, entries); -}; - -struct SVG -{ - static const hb_tag_t tableTag = HB_OT_TAG_SVG; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && - (this+svgDocIndex).sanitize (c))); - } - - struct accelerator_t - { - inline void init (hb_face_t *face) - { - svg_blob = hb_sanitize_context_t().reference_table (face); - svg_len = hb_blob_get_length (svg_blob); - svg = svg_blob->as (); - } - - inline void fini (void) - { - hb_blob_destroy (svg_blob); - } - - inline void - dump (void (*callback) (const uint8_t* data, unsigned int length, - unsigned int start_glyph, unsigned int end_glyph)) const - { - const SVGDocumentIndex &index = svg+svg->svgDocIndex; - const ArrayOf &entries = index.entries; - for (unsigned int i = 0; i < entries.len; ++i) - { - const SVGDocumentIndexEntry &entry = entries[i]; - callback ((const uint8_t*) &entry.svgDoc (&index), entry.svgDocLength, - entry.startGlyphID, entry.endGlyphID); - } - } - - private: - hb_blob_t *svg_blob; - const SVG *svg; - - unsigned int svg_len; - }; - - protected: - HBUINT16 version; /* Table version (starting at 0). */ - LOffsetTo - svgDocIndex; /* Offset (relative to the start of the SVG table) to the - * SVG Documents Index. Must be non-zero. */ - HBUINT32 reserved; /* Set to 0. */ - public: - DEFINE_SIZE_STATIC (10); -}; - -} /* namespace OT */ - - -#endif /* HB_OT_COLOR_SVG_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-color.cc b/harfbuzz-1.9.0/src/hb-ot-color.cc deleted file mode 100644 index 7cdff380e..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-color.cc +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Copyright © 2016 Google, Inc. - * Copyright © 2018 Ebrahim Byagowi - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Sascha Brawer - */ - -#include "hb-open-type.hh" -#include "hb-ot-color-colr-table.hh" -#include "hb-ot-color-cpal-table.hh" -#include "hb-ot.h" - -#include -#include - -#include "hb-ot-layout.hh" -#include "hb-shaper.hh" - -#if 0 -HB_MARK_AS_FLAG_T (hb_ot_color_palette_flags_t) -//HB_SHAPER_DATA_ENSURE_DECLARE(ot, face) Hmm? - - -static inline const OT::COLR& -_get_colr (hb_face_t *face) -{ - if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return Null(OT::COLR); - return *(hb_ot_face_data (face)->colr.get ()); -} - -static inline const OT::CPAL& -_get_cpal (hb_face_t *face) -{ - if (unlikely (!hb_ot_shaper_face_data_ensure (face))) return Null(OT::CPAL); - return *(hb_ot_face_data (face)->cpal.get ()); -} - - -/** - * hb_ot_color_get_palette_count: - * @face: a font face. - * - * Returns: the number of color palettes in @face, or zero if @face has - * no colors. - * - * Since: REPLACEME - */ -unsigned int -hb_ot_color_get_palette_count (hb_face_t *face) -{ - const OT::CPAL& cpal = _get_cpal (face); - return cpal.get_palette_count (); -} - - -/** - * hb_ot_color_get_palette_name_id: - * @face: a font face. - * @palette: the index of the color palette whose name is being requested. - * - * Retrieves the name id of a color palette. For example, a color font can - * have themed palettes like "Spring", "Summer", "Fall", and "Winter". - * - * Returns: an identifier within @face's `name` table. - * If the requested palette has no name, or if @face has no colors, - * or if @palette is not between 0 and hb_ot_color_get_palette_count(), - * the result is 0xFFFF. The implementation does not check whether - * the returned palette name id is actually in @face's `name` table. - * - * Since: REPLACEME - */ -unsigned int -hb_ot_color_get_palette_name_id (hb_face_t *face, unsigned int palette) -{ - const OT::CPAL& cpal = _get_cpal (face); - return cpal.get_palette_name_id (palette); -} - - -/** - * hb_ot_color_get_palette_flags: - * @face: a font face - * @palette: the index of the color palette whose flags are being requested - * - * Returns: the flags for the requested color palette. If @face has no colors, - * or if @palette is not between 0 and hb_ot_color_get_palette_count(), - * the result is #HB_OT_COLOR_PALETTE_FLAG_DEFAULT. - * - * Since: REPLACEME - */ -hb_ot_color_palette_flags_t -hb_ot_color_get_palette_flags (hb_face_t *face, unsigned int palette) -{ - const OT::CPAL& cpal = _get_cpal(face); - return cpal.get_palette_flags (palette); -} - - -/** - * hb_ot_color_get_palette_colors: - * @face: a font face. - * @palette: the index of the color palette whose colors - * are being requested. - * @start_offset: the index of the first color being requested. - * @color_count: (inout) (optional): on input, how many colors - * can be maximally stored into the @colors array; - * on output, how many colors were actually stored. - * @colors: (array length=color_count) (optional): - * an array of #hb_ot_color_t records. After calling - * this function, @colors will be filled with - * the palette colors. If @colors is NULL, the function - * will just return the number of total colors - * without storing any actual colors; this can be used - * for allocating a buffer of suitable size before calling - * hb_ot_color_get_palette_colors() a second time. - * - * Retrieves the colors in a color palette. - * - * Returns: the total number of colors in the palette. All palettes in - * a font have the same number of colors. If @face has no colors, or if - * @palette is not between 0 and hb_ot_color_get_palette_count(), - * the result is zero. - * - * Since: REPLACEME - */ -unsigned int -hb_ot_color_get_palette_colors (hb_face_t *face, - unsigned int palette, /* default=0 */ - unsigned int start_offset, - unsigned int *color_count /* IN/OUT */, - hb_ot_color_t *colors /* OUT */) -{ - const OT::CPAL& cpal = _get_cpal(face); - if (unlikely (palette >= cpal.numPalettes)) - { - if (color_count) *color_count = 0; - return 0; - } - - const OT::ColorRecord* crec = &cpal.offsetFirstColorRecord (&cpal); - crec += cpal.colorRecordIndices[palette]; - - unsigned int num_results = 0; - if (likely (color_count && colors)) - { - for (unsigned int i = start_offset; - i < cpal.numPaletteEntries && num_results < *color_count; ++i) - { - hb_ot_color_t* result = &colors[num_results]; - result->red = crec[i].red; - result->green = crec[i].green; - result->blue = crec[i].blue; - result->alpha = crec[i].alpha; - ++num_results; - } - } - - if (likely (color_count)) *color_count = num_results; - return cpal.numPaletteEntries; -} -#endif diff --git a/harfbuzz-1.9.0/src/hb-ot-face.cc b/harfbuzz-1.9.0/src/hb-ot-face.cc deleted file mode 100644 index 388a59720..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-face.cc +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright © 2018 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#include "hb-ot-face.hh" - -#include "hb-ot-cmap-table.hh" -#include "hb-ot-glyf-table.hh" -#include "hb-ot-hmtx-table.hh" -#include "hb-ot-kern-table.hh" -#include "hb-ot-post-table.hh" -#include "hb-ot-color-cbdt-table.hh" -#include "hb-ot-layout-gdef-table.hh" -#include "hb-ot-layout-gsub-table.hh" -#include "hb-ot-layout-gpos-table.hh" - - -void hb_ot_face_data_t::init0 (hb_face_t *face) -{ - this->face = face; -#define HB_OT_LAYOUT_TABLE(Namespace, Type) Type.init0 (); -#define HB_OT_LAYOUT_ACCELERATOR(Namespace, Type) HB_OT_LAYOUT_TABLE (Namespace, Type) - HB_OT_LAYOUT_TABLES -#undef HB_OT_LAYOUT_ACCELERATOR -#undef HB_OT_LAYOUT_TABLE -} -void hb_ot_face_data_t::fini (void) -{ -#define HB_OT_LAYOUT_TABLE(Namespace, Type) Type.fini (); -#define HB_OT_LAYOUT_ACCELERATOR(Namespace, Type) HB_OT_LAYOUT_TABLE (Namespace, Type) - HB_OT_LAYOUT_TABLES -#undef HB_OT_LAYOUT_ACCELERATOR -#undef HB_OT_LAYOUT_TABLE -} - -hb_ot_face_data_t * -_hb_ot_face_data_create (hb_face_t *face) -{ - hb_ot_face_data_t *data = (hb_ot_face_data_t *) calloc (1, sizeof (hb_ot_face_data_t)); - if (unlikely (!data)) - return nullptr; - - data->init0 (face); - - return data; -} - -void -_hb_ot_face_data_destroy (hb_ot_face_data_t *data) -{ - data->fini (); - free (data); -} - diff --git a/harfbuzz-1.9.0/src/hb-ot-face.hh b/harfbuzz-1.9.0/src/hb-ot-face.hh deleted file mode 100644 index 5ac3538e4..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-face.hh +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright © 2007,2008,2009 Red Hat, Inc. - * Copyright © 2012,2013 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_OT_FACE_HH -#define HB_OT_FACE_HH - -#include "hb.hh" - -#include "hb-machinery.hh" - - -#define hb_ot_face_data(face) ((hb_ot_face_data_t *) face->shaper_data.ot.get_relaxed ()) - - -/* - * hb_ot_face_data_t - */ - -/* Most of these tables are NOT needed for shaping. But we need to hook them *somewhere*. - * This is as good as any place. */ -#define HB_OT_LAYOUT_TABLES \ - /* OpenType shaping. */ \ - HB_OT_LAYOUT_TABLE(OT, JSTF) \ - HB_OT_LAYOUT_TABLE(OT, BASE) \ - /* AAT shaping. */ \ - HB_OT_LAYOUT_TABLE(AAT, morx) \ - HB_OT_LAYOUT_TABLE(AAT, kerx) \ - HB_OT_LAYOUT_TABLE(AAT, ankr) \ - HB_OT_LAYOUT_TABLE(AAT, trak) \ - /* OpenType variations. */ \ - HB_OT_LAYOUT_TABLE(OT, fvar) \ - HB_OT_LAYOUT_TABLE(OT, avar) \ - HB_OT_LAYOUT_TABLE(OT, MVAR) \ - /* OpenType math. */ \ - HB_OT_LAYOUT_TABLE(OT, MATH) \ - /* OpenType fundamentals. */ \ - HB_OT_LAYOUT_ACCELERATOR(OT, GDEF) \ - HB_OT_LAYOUT_ACCELERATOR(OT, GSUB) \ - HB_OT_LAYOUT_ACCELERATOR(OT, GPOS) \ - HB_OT_LAYOUT_ACCELERATOR(OT, cmap) \ - HB_OT_LAYOUT_ACCELERATOR(OT, hmtx) \ - HB_OT_LAYOUT_ACCELERATOR(OT, vmtx) \ - HB_OT_LAYOUT_ACCELERATOR(OT, post) \ - HB_OT_LAYOUT_ACCELERATOR(OT, kern) \ - HB_OT_LAYOUT_ACCELERATOR(OT, glyf) \ - HB_OT_LAYOUT_ACCELERATOR(OT, CBDT) \ - /* */ - -/* Declare tables. */ -#define HB_OT_LAYOUT_TABLE(Namespace, Type) namespace Namespace { struct Type; } -#define HB_OT_LAYOUT_ACCELERATOR(Namespace, Type) HB_OT_LAYOUT_TABLE (Namespace, Type##_accelerator_t) -HB_OT_LAYOUT_TABLES -#undef HB_OT_LAYOUT_ACCELERATOR -#undef HB_OT_LAYOUT_TABLE - -struct hb_ot_face_data_t -{ - HB_INTERNAL void init0 (hb_face_t *face); - HB_INTERNAL void fini (void); - -#define HB_OT_LAYOUT_TABLE_ORDER(Namespace, Type) \ - HB_PASTE (ORDER_, HB_PASTE (Namespace, HB_PASTE (_, Type))) - enum order_t - { - ORDER_ZERO, -#define HB_OT_LAYOUT_TABLE(Namespace, Type) HB_OT_LAYOUT_TABLE_ORDER (Namespace, Type), -#define HB_OT_LAYOUT_ACCELERATOR(Namespace, Type) HB_OT_LAYOUT_TABLE (Namespace, Type) - HB_OT_LAYOUT_TABLES -#undef HB_OT_LAYOUT_ACCELERATOR -#undef HB_OT_LAYOUT_TABLE - }; - - hb_face_t *face; /* MUST be JUST before the lazy loaders. */ -#define HB_OT_LAYOUT_TABLE(Namespace, Type) \ - hb_table_lazy_loader_t Type; -#define HB_OT_LAYOUT_ACCELERATOR(Namespace, Type) \ - hb_face_lazy_loader_t Type; - HB_OT_LAYOUT_TABLES -#undef HB_OT_LAYOUT_ACCELERATOR -#undef HB_OT_LAYOUT_TABLE -}; - - -HB_INTERNAL hb_ot_face_data_t * -_hb_ot_face_data_create (hb_face_t *face); - -HB_INTERNAL void -_hb_ot_face_data_destroy (hb_ot_face_data_t *data); - - -#endif /* HB_OT_FACE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-font.cc b/harfbuzz-1.9.0/src/hb-ot-font.cc deleted file mode 100644 index a4c5584fb..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-font.cc +++ /dev/null @@ -1,237 +0,0 @@ -/* - * Copyright © 2011,2014 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod, Roozbeh Pournader - */ - -#include "hb.hh" - -#include "hb-ot.h" - -#include "hb-font.hh" -#include "hb-machinery.hh" -#include "hb-ot-face.hh" - -#include "hb-ot-cmap-table.hh" -#include "hb-ot-hmtx-table.hh" -#include "hb-ot-kern-table.hh" -#include "hb-ot-post-table.hh" -#include "hb-ot-glyf-table.hh" -#include "hb-ot-color-cbdt-table.hh" - - -static hb_bool_t -hb_ot_get_nominal_glyph (hb_font_t *font HB_UNUSED, - void *font_data, - hb_codepoint_t unicode, - hb_codepoint_t *glyph, - void *user_data HB_UNUSED) - -{ - const hb_ot_face_data_t *ot_font = (const hb_ot_face_data_t *) font_data; - return ot_font->cmap.get_relaxed()->get_nominal_glyph (unicode, glyph); -} - -static hb_bool_t -hb_ot_get_variation_glyph (hb_font_t *font HB_UNUSED, - void *font_data, - hb_codepoint_t unicode, - hb_codepoint_t variation_selector, - hb_codepoint_t *glyph, - void *user_data HB_UNUSED) -{ - const hb_ot_face_data_t *ot_font = (const hb_ot_face_data_t *) font_data; - return ot_font->cmap.get_relaxed ()->get_variation_glyph (unicode, variation_selector, glyph); -} - -static hb_position_t -hb_ot_get_glyph_h_advance (hb_font_t *font, - void *font_data, - hb_codepoint_t glyph, - void *user_data HB_UNUSED) -{ - const hb_ot_face_data_t *ot_font = (const hb_ot_face_data_t *) font_data; - return font->em_scale_x (ot_font->hmtx.get_relaxed ()->get_advance (glyph, font)); -} - -static hb_position_t -hb_ot_get_glyph_v_advance (hb_font_t *font, - void *font_data, - hb_codepoint_t glyph, - void *user_data HB_UNUSED) -{ - const hb_ot_face_data_t *ot_font = (const hb_ot_face_data_t *) font_data; - return font->em_scale_y (-(int) ot_font->vmtx.get_relaxed ()->get_advance (glyph, font)); -} - -static hb_position_t -hb_ot_get_glyph_h_kerning (hb_font_t *font, - void *font_data, - hb_codepoint_t left_glyph, - hb_codepoint_t right_glyph, - void *user_data HB_UNUSED) -{ - const hb_ot_face_data_t *ot_font = (const hb_ot_face_data_t *) font_data; - return font->em_scale_x (ot_font->kern->get_h_kerning (left_glyph, right_glyph)); -} - -static hb_bool_t -hb_ot_get_glyph_extents (hb_font_t *font, - void *font_data, - hb_codepoint_t glyph, - hb_glyph_extents_t *extents, - void *user_data HB_UNUSED) -{ - const hb_ot_face_data_t *ot_font = (const hb_ot_face_data_t *) font_data; - bool ret = ot_font->glyf->get_extents (glyph, extents); - if (!ret) - ret = ot_font->CBDT->get_extents (glyph, extents); - // TODO Hook up side-bearings variations. - extents->x_bearing = font->em_scale_x (extents->x_bearing); - extents->y_bearing = font->em_scale_y (extents->y_bearing); - extents->width = font->em_scale_x (extents->width); - extents->height = font->em_scale_y (extents->height); - return ret; -} - -static hb_bool_t -hb_ot_get_glyph_name (hb_font_t *font HB_UNUSED, - void *font_data, - hb_codepoint_t glyph, - char *name, unsigned int size, - void *user_data HB_UNUSED) -{ - const hb_ot_face_data_t *ot_font = (const hb_ot_face_data_t *) font_data; - return ot_font->post->get_glyph_name (glyph, name, size); -} - -static hb_bool_t -hb_ot_get_glyph_from_name (hb_font_t *font HB_UNUSED, - void *font_data, - const char *name, int len, - hb_codepoint_t *glyph, - void *user_data HB_UNUSED) -{ - const hb_ot_face_data_t *ot_font = (const hb_ot_face_data_t *) font_data; - return ot_font->post->get_glyph_from_name (name, len, glyph); -} - -static hb_bool_t -hb_ot_get_font_h_extents (hb_font_t *font, - void *font_data, - hb_font_extents_t *metrics, - void *user_data HB_UNUSED) -{ - const hb_ot_face_data_t *ot_font = (const hb_ot_face_data_t *) font_data; - metrics->ascender = font->em_scale_y (ot_font->hmtx.get_relaxed ()->ascender); - metrics->descender = font->em_scale_y (ot_font->hmtx.get_relaxed ()->descender); - metrics->line_gap = font->em_scale_y (ot_font->hmtx.get_relaxed ()->line_gap); - // TODO Hook up variations. - return ot_font->hmtx.get_relaxed ()->has_font_extents; -} - -static hb_bool_t -hb_ot_get_font_v_extents (hb_font_t *font, - void *font_data, - hb_font_extents_t *metrics, - void *user_data HB_UNUSED) -{ - const hb_ot_face_data_t *ot_font = (const hb_ot_face_data_t *) font_data; - metrics->ascender = font->em_scale_x (ot_font->vmtx.get_relaxed ()->ascender); - metrics->descender = font->em_scale_x (ot_font->vmtx.get_relaxed ()->descender); - metrics->line_gap = font->em_scale_x (ot_font->vmtx.get_relaxed ()->line_gap); - // TODO Hook up variations. - return ot_font->vmtx.get_relaxed ()->has_font_extents; -} - -#ifdef HB_USE_ATEXIT -static void free_static_ot_funcs (void); -#endif - -static struct hb_ot_font_funcs_lazy_loader_t : hb_font_funcs_lazy_loader_t -{ - static inline hb_font_funcs_t *create (void) - { - hb_font_funcs_t *funcs = hb_font_funcs_create (); - - hb_font_funcs_set_font_h_extents_func (funcs, hb_ot_get_font_h_extents, nullptr, nullptr); - hb_font_funcs_set_font_v_extents_func (funcs, hb_ot_get_font_v_extents, nullptr, nullptr); - hb_font_funcs_set_nominal_glyph_func (funcs, hb_ot_get_nominal_glyph, nullptr, nullptr); - hb_font_funcs_set_variation_glyph_func (funcs, hb_ot_get_variation_glyph, nullptr, nullptr); - hb_font_funcs_set_glyph_h_advance_func (funcs, hb_ot_get_glyph_h_advance, nullptr, nullptr); - hb_font_funcs_set_glyph_v_advance_func (funcs, hb_ot_get_glyph_v_advance, nullptr, nullptr); - //hb_font_funcs_set_glyph_h_origin_func (funcs, hb_ot_get_glyph_h_origin, nullptr, nullptr); - //hb_font_funcs_set_glyph_v_origin_func (funcs, hb_ot_get_glyph_v_origin, nullptr, nullptr); - hb_font_funcs_set_glyph_h_kerning_func (funcs, hb_ot_get_glyph_h_kerning, nullptr, nullptr); - //hb_font_funcs_set_glyph_v_kerning_func (funcs, hb_ot_get_glyph_v_kerning, nullptr, nullptr); - hb_font_funcs_set_glyph_extents_func (funcs, hb_ot_get_glyph_extents, nullptr, nullptr); - //hb_font_funcs_set_glyph_contour_point_func (funcs, hb_ot_get_glyph_contour_point, nullptr, nullptr); - hb_font_funcs_set_glyph_name_func (funcs, hb_ot_get_glyph_name, nullptr, nullptr); - hb_font_funcs_set_glyph_from_name_func (funcs, hb_ot_get_glyph_from_name, nullptr, nullptr); - - hb_font_funcs_make_immutable (funcs); - -#ifdef HB_USE_ATEXIT - atexit (free_static_ot_funcs); -#endif - - return funcs; - } -} static_ot_funcs; - -#ifdef HB_USE_ATEXIT -static -void free_static_ot_funcs (void) -{ - static_ot_funcs.free_instance (); -} -#endif - -static hb_font_funcs_t * -_hb_ot_get_font_funcs (void) -{ - return static_ot_funcs.get_unconst (); -} - - -/** - * hb_ot_font_set_funcs: - * - * Since: 0.9.28 - **/ -void -hb_ot_font_set_funcs (hb_font_t *font) -{ - if (unlikely (!hb_ot_shaper_face_data_ensure (font->face))) return; - hb_ot_face_data_t *ot_font = hb_ot_face_data (font->face); - - /* Load them lazies. We access them with get_relaxed() for performance. */ - ot_font->cmap.get (); - ot_font->hmtx.get (); - ot_font->vmtx.get (); - - hb_font_set_funcs (font, - _hb_ot_get_font_funcs (), - ot_font, - nullptr); -} diff --git a/harfbuzz-1.9.0/src/hb-ot-glyf-table.hh b/harfbuzz-1.9.0/src/hb-ot-glyf-table.hh deleted file mode 100644 index 7c2098360..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-glyf-table.hh +++ /dev/null @@ -1,496 +0,0 @@ -/* - * Copyright © 2015 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_OT_GLYF_TABLE_HH -#define HB_OT_GLYF_TABLE_HH - -#include "hb-open-type.hh" -#include "hb-ot-head-table.hh" -#include "hb-subset-glyf.hh" - -namespace OT { - - -/* - * loca -- Index to Location - * https://docs.microsoft.com/en-us/typography/opentype/spec/loca - */ -#define HB_OT_TAG_loca HB_TAG('l','o','c','a') - - -struct loca -{ - friend struct glyf; - - static const hb_tag_t tableTag = HB_OT_TAG_loca; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (true); - } - - protected: - HBUINT8 dataZ[VAR]; /* Location data. */ - DEFINE_SIZE_ARRAY (0, dataZ); -}; - - -/* - * glyf -- TrueType Glyph Data - * https://docs.microsoft.com/en-us/typography/opentype/spec/glyf - */ -#define HB_OT_TAG_glyf HB_TAG('g','l','y','f') - - -struct glyf -{ - static const hb_tag_t tableTag = HB_OT_TAG_glyf; - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - /* We don't check for anything specific here. The users of the - * struct do all the hard work... */ - return_trace (true); - } - - inline bool subset (hb_subset_plan_t *plan) const - { - hb_blob_t *glyf_prime = nullptr; - hb_blob_t *loca_prime = nullptr; - - bool success = true; - bool use_short_loca = false; - if (hb_subset_glyf_and_loca (plan, &use_short_loca, &glyf_prime, &loca_prime)) { - success = success && plan->add_table (HB_OT_TAG_glyf, glyf_prime); - success = success && plan->add_table (HB_OT_TAG_loca, loca_prime); - success = success && _add_head_and_set_loca_version (plan, use_short_loca); - } else { - success = false; - } - hb_blob_destroy (loca_prime); - hb_blob_destroy (glyf_prime); - - return success; - } - - static bool - _add_head_and_set_loca_version (hb_subset_plan_t *plan, bool use_short_loca) - { - hb_blob_t *head_blob = hb_sanitize_context_t().reference_table (plan->source); - hb_blob_t *head_prime_blob = hb_blob_copy_writable_or_fail (head_blob); - hb_blob_destroy (head_blob); - - if (unlikely (!head_prime_blob)) - return false; - - head *head_prime = (head *) hb_blob_get_data_writable (head_prime_blob, nullptr); - head_prime->indexToLocFormat.set (use_short_loca ? 0 : 1); - bool success = plan->add_table (HB_OT_TAG_head, head_prime_blob); - - hb_blob_destroy (head_prime_blob); - return success; - } - - struct GlyphHeader - { - HBINT16 numberOfContours; /* If the number of contours is - * greater than or equal to zero, - * this is a simple glyph; if negative, - * this is a composite glyph. */ - FWORD xMin; /* Minimum x for coordinate data. */ - FWORD yMin; /* Minimum y for coordinate data. */ - FWORD xMax; /* Maximum x for coordinate data. */ - FWORD yMax; /* Maximum y for coordinate data. */ - - DEFINE_SIZE_STATIC (10); - }; - - struct CompositeGlyphHeader - { - enum composite_glyph_flag_t { - ARG_1_AND_2_ARE_WORDS = 0x0001, - ARGS_ARE_XY_VALUES = 0x0002, - ROUND_XY_TO_GRID = 0x0004, - WE_HAVE_A_SCALE = 0x0008, - MORE_COMPONENTS = 0x0020, - WE_HAVE_AN_X_AND_Y_SCALE = 0x0040, - WE_HAVE_A_TWO_BY_TWO = 0x0080, - WE_HAVE_INSTRUCTIONS = 0x0100, - USE_MY_METRICS = 0x0200, - OVERLAP_COMPOUND = 0x0400, - SCALED_COMPONENT_OFFSET = 0x0800, - UNSCALED_COMPONENT_OFFSET = 0x1000 - }; - - HBUINT16 flags; - HBUINT16 glyphIndex; - - inline unsigned int get_size (void) const - { - unsigned int size = min_size; - if (flags & ARG_1_AND_2_ARE_WORDS) { - // arg1 and 2 are int16 - size += 4; - } else { - // arg1 and 2 are int8 - size += 2; - } - if (flags & WE_HAVE_A_SCALE) { - // One x 16 bit (scale) - size += 2; - } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) { - // Two x 16 bit (xscale, yscale) - size += 4; - } else if (flags & WE_HAVE_A_TWO_BY_TWO) { - // Four x 16 bit (xscale, scale01, scale10, yscale) - size += 8; - } - return size; - } - - struct Iterator - { - const char *glyph_start; - const char *glyph_end; - const CompositeGlyphHeader *current; - - inline bool move_to_next () - { - if (current->flags & CompositeGlyphHeader::MORE_COMPONENTS) - { - const CompositeGlyphHeader *possible = - &StructAfter (*current); - if (!in_range (possible)) - return false; - current = possible; - return true; - } - return false; - } - - inline bool in_range (const CompositeGlyphHeader *composite) const - { - return (const char *) composite >= glyph_start - && ((const char *) composite + CompositeGlyphHeader::min_size) <= glyph_end - && ((const char *) composite + composite->get_size()) <= glyph_end; - } - }; - - static inline bool get_iterator (const char * glyph_data, - unsigned int length, - CompositeGlyphHeader::Iterator *iterator /* OUT */) - { - if (length < GlyphHeader::static_size) - return false; /* Empty glyph; zero extents. */ - - const GlyphHeader &glyph_header = StructAtOffset (glyph_data, 0); - if (glyph_header.numberOfContours < 0) - { - const CompositeGlyphHeader *possible = - &StructAfter (glyph_header); - - iterator->glyph_start = glyph_data; - iterator->glyph_end = (const char *) glyph_data + length; - if (!iterator->in_range (possible)) - return false; - iterator->current = possible; - return true; - } - - return false; - } - - DEFINE_SIZE_MIN (4); - }; - - struct accelerator_t - { - inline void init (hb_face_t *face) - { - memset (this, 0, sizeof (accelerator_t)); - - hb_blob_t *head_blob = hb_sanitize_context_t().reference_table (face); - const head *head_table = head_blob->as (); - if (head_table->indexToLocFormat > 1 || head_table->glyphDataFormat != 0) - { - /* Unknown format. Leave num_glyphs=0, that takes care of disabling us. */ - hb_blob_destroy (head_blob); - return; - } - short_offset = 0 == head_table->indexToLocFormat; - hb_blob_destroy (head_blob); - - loca_blob = hb_sanitize_context_t().reference_table (face); - loca_table = loca_blob->as (); - glyf_blob = hb_sanitize_context_t().reference_table (face); - glyf_table = glyf_blob->as (); - - num_glyphs = MAX (1u, hb_blob_get_length (loca_blob) / (short_offset ? 2 : 4)) - 1; - glyf_len = hb_blob_get_length (glyf_blob); - } - - inline void fini (void) - { - hb_blob_destroy (loca_blob); - hb_blob_destroy (glyf_blob); - } - - /* - * Returns true if the referenced glyph is a valid glyph and a composite glyph. - * If true is returned a pointer to the composite glyph will be written into - * composite. - */ - inline bool get_composite (hb_codepoint_t glyph, - CompositeGlyphHeader::Iterator *composite /* OUT */) const - { - if (unlikely (!num_glyphs)) - return false; - - unsigned int start_offset, end_offset; - if (!get_offsets (glyph, &start_offset, &end_offset)) - return false; /* glyph not found */ - - return CompositeGlyphHeader::get_iterator ((const char*) this->glyf_table + start_offset, - end_offset - start_offset, - composite); - } - - enum simple_glyph_flag_t { - FLAG_X_SHORT = 0x02, - FLAG_Y_SHORT = 0x04, - FLAG_REPEAT = 0x08, - FLAG_X_SAME = 0x10, - FLAG_Y_SAME = 0x20 - }; - - /* based on FontTools _g_l_y_f.py::trim */ - inline bool remove_padding(unsigned int start_offset, - unsigned int *end_offset) const - { - if (*end_offset - start_offset < GlyphHeader::static_size) - return true; - - const char *glyph = ((const char *) glyf_table) + start_offset; - const char * const glyph_end = glyph + (*end_offset - start_offset); - const GlyphHeader &glyph_header = StructAtOffset (glyph, 0); - int16_t num_contours = (int16_t) glyph_header.numberOfContours; - - if (num_contours < 0) - /* Trimming for composites not implemented. - * If removing hints it falls out of that. */ - return true; - else if (num_contours > 0) - { - /* simple glyph w/contours, possibly trimmable */ - glyph += GlyphHeader::static_size + 2 * num_contours; - - if (unlikely (glyph + 2 >= glyph_end)) return false; - uint16_t nCoordinates = (uint16_t) StructAtOffset(glyph - 2, 0) + 1; - uint16_t nInstructions = (uint16_t) StructAtOffset(glyph, 0); - - glyph += 2 + nInstructions; - if (unlikely (glyph + 2 >= glyph_end)) return false; - - unsigned int coordBytes = 0; - unsigned int coordsWithFlags = 0; - while (glyph < glyph_end) - { - uint8_t flag = (uint8_t) *glyph; - glyph++; - - unsigned int repeat = 1; - if (flag & FLAG_REPEAT) - { - if (glyph >= glyph_end) - { - DEBUG_MSG(SUBSET, nullptr, "Bad flag"); - return false; - } - repeat = ((uint8_t) *glyph) + 1; - glyph++; - } - - unsigned int xBytes, yBytes; - xBytes = yBytes = 0; - if (flag & FLAG_X_SHORT) - xBytes = 1; - else if ((flag & FLAG_X_SAME) == 0) - xBytes = 2; - - if (flag & FLAG_Y_SHORT) - yBytes = 1; - else if ((flag & FLAG_Y_SAME) == 0) - yBytes = 2; - - coordBytes += (xBytes + yBytes) * repeat; - coordsWithFlags += repeat; - if (coordsWithFlags >= nCoordinates) - break; - } - - if (coordsWithFlags != nCoordinates) - { - DEBUG_MSG(SUBSET, nullptr, "Expect %d coords to have flags, got flags for %d", nCoordinates, coordsWithFlags); - return false; - } - glyph += coordBytes; - - if (glyph < glyph_end) - *end_offset -= glyph_end - glyph; - } - return true; - } - - inline bool get_offsets (hb_codepoint_t glyph, - unsigned int *start_offset /* OUT */, - unsigned int *end_offset /* OUT */) const - { - if (unlikely (glyph >= num_glyphs)) - return false; - - if (short_offset) - { - const HBUINT16 *offsets = (const HBUINT16 *) loca_table->dataZ; - *start_offset = 2 * offsets[glyph]; - *end_offset = 2 * offsets[glyph + 1]; - } - else - { - const HBUINT32 *offsets = (const HBUINT32 *) loca_table->dataZ; - - *start_offset = offsets[glyph]; - *end_offset = offsets[glyph + 1]; - } - - if (*start_offset > *end_offset || *end_offset > glyf_len) - return false; - - return true; - } - - inline bool get_instruction_offsets(unsigned int start_offset, - unsigned int end_offset, - unsigned int *instruction_start /* OUT */, - unsigned int *instruction_end /* OUT */) const - { - if (end_offset - start_offset < GlyphHeader::static_size) - { - *instruction_start = 0; - *instruction_end = 0; - return true; /* Empty glyph; no instructions. */ - } - const GlyphHeader &glyph_header = StructAtOffset (glyf_table, start_offset); - int16_t num_contours = (int16_t) glyph_header.numberOfContours; - if (num_contours < 0) - { - CompositeGlyphHeader::Iterator composite_it; - if (unlikely (!CompositeGlyphHeader::get_iterator ( - (const char*) this->glyf_table + start_offset, - end_offset - start_offset, &composite_it))) return false; - const CompositeGlyphHeader *last; - do { - last = composite_it.current; - } while (composite_it.move_to_next()); - - if ( (uint16_t) last->flags & CompositeGlyphHeader::WE_HAVE_INSTRUCTIONS) - *instruction_start = ((char *) last - (char *) glyf_table->dataZ) + last->get_size(); - else - *instruction_start = end_offset; - *instruction_end = end_offset; - if (unlikely (*instruction_start > *instruction_end)) - { - DEBUG_MSG(SUBSET, nullptr, "Invalid instruction offset, %d is outside [%d, %d]", *instruction_start, start_offset, end_offset); - return false; - } - } - else - { - unsigned int instruction_length_offset = start_offset + GlyphHeader::static_size + 2 * num_contours; - if (unlikely (instruction_length_offset + 2 > end_offset)) - { - DEBUG_MSG(SUBSET, nullptr, "Glyph size is too short, missing field instructionLength."); - return false; - } - - const HBUINT16 &instruction_length = StructAtOffset (glyf_table, instruction_length_offset); - unsigned int start = instruction_length_offset + 2; - unsigned int end = start + (uint16_t) instruction_length; - if (unlikely (end > end_offset)) // Out of bounds of the current glyph - { - DEBUG_MSG(SUBSET, nullptr, "The instructions array overruns the glyph's boundaries."); - return false; - } - - *instruction_start = start; - *instruction_end = end; - } - return true; - } - - inline bool get_extents (hb_codepoint_t glyph, - hb_glyph_extents_t *extents) const - { - unsigned int start_offset, end_offset; - if (!get_offsets (glyph, &start_offset, &end_offset)) - return false; - - if (end_offset - start_offset < GlyphHeader::static_size) - return true; /* Empty glyph; zero extents. */ - - const GlyphHeader &glyph_header = StructAtOffset (glyf_table, start_offset); - - extents->x_bearing = MIN (glyph_header.xMin, glyph_header.xMax); - extents->y_bearing = MAX (glyph_header.yMin, glyph_header.yMax); - extents->width = MAX (glyph_header.xMin, glyph_header.xMax) - extents->x_bearing; - extents->height = MIN (glyph_header.yMin, glyph_header.yMax) - extents->y_bearing; - - return true; - } - - private: - bool short_offset; - unsigned int num_glyphs; - const loca *loca_table; - const glyf *glyf_table; - hb_blob_t *loca_blob; - hb_blob_t *glyf_blob; - unsigned int glyf_len; - }; - - protected: - HBUINT8 dataZ[VAR]; /* Glyphs data. */ - - DEFINE_SIZE_ARRAY (0, dataZ); -}; - -struct glyf_accelerator_t : glyf::accelerator_t {}; - -} /* namespace OT */ - - -#endif /* HB_OT_GLYF_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-hdmx-table.hh b/harfbuzz-1.9.0/src/hb-ot-hdmx-table.hh deleted file mode 100644 index 87dd6d018..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-hdmx-table.hh +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Copyright © 2018 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Garret Rieger - */ - -#ifndef HB_OT_HDMX_TABLE_HH -#define HB_OT_HDMX_TABLE_HH - -#include "hb-open-type.hh" - -/* - * hdmx -- Horizontal Device Metrics - * https://docs.microsoft.com/en-us/typography/opentype/spec/hdmx - */ -#define HB_OT_TAG_hdmx HB_TAG('h','d','m','x') - - -namespace OT { - - -struct DeviceRecord -{ - struct SubsetView - { - const DeviceRecord *source_device_record; - unsigned int size_device_record; - hb_subset_plan_t *subset_plan; - - inline void init(const DeviceRecord *source_device_record, - unsigned int size_device_record, - hb_subset_plan_t *subset_plan) - { - this->source_device_record = source_device_record; - this->size_device_record = size_device_record; - this->subset_plan = subset_plan; - } - - inline unsigned int len () const - { - return this->subset_plan->glyphs.len; - } - - inline const HBUINT8* operator [] (unsigned int i) const - { - if (unlikely (i >= len())) return nullptr; - hb_codepoint_t gid = this->subset_plan->glyphs [i]; - - const HBUINT8* width = &(this->source_device_record->widths[gid]); - - if (width < ((const HBUINT8 *) this->source_device_record) + size_device_record) - return width; - else - return nullptr; - } - }; - - static inline unsigned int get_size (unsigned int count) - { - unsigned int raw_size = min_size + count * HBUINT8::static_size; - if (raw_size % 4) - /* Align to 32 bits */ - return raw_size + (4 - (raw_size % 4)); - return raw_size; - } - - inline bool serialize (hb_serialize_context_t *c, const SubsetView &subset_view) - { - TRACE_SERIALIZE (this); - - unsigned int size = get_size (subset_view.len()); - if (unlikely (!c->allocate_size (size))) - { - DEBUG_MSG (SUBSET, nullptr, "Couldn't allocate enough space for DeviceRecord: %d.", - size); - return_trace (false); - } - - this->pixel_size.set (subset_view.source_device_record->pixel_size); - this->max_width.set (subset_view.source_device_record->max_width); - - for (unsigned int i = 0; i < subset_view.len(); i++) - { - const HBUINT8 *width = subset_view[i]; - if (!width) - { - DEBUG_MSG(SUBSET, nullptr, "HDMX width for new gid %d is missing.", i); - return_trace (false); - } - widths[i].set (*width); - } - - return_trace (true); - } - - inline bool sanitize (hb_sanitize_context_t *c, unsigned int size_device_record) const - { - TRACE_SANITIZE (this); - return_trace (likely (c->check_struct (this) && - c->check_range (this, size_device_record))); - } - - HBUINT8 pixel_size; /* Pixel size for following widths (as ppem). */ - HBUINT8 max_width; /* Maximum width. */ - HBUINT8 widths[VAR]; /* Array of widths (numGlyphs is from the 'maxp' table). */ - public: - DEFINE_SIZE_ARRAY (2, widths); -}; - - -struct hdmx -{ - static const hb_tag_t tableTag = HB_OT_TAG_hdmx; - - inline unsigned int get_size (void) const - { - return min_size + num_records * size_device_record; - } - - inline const DeviceRecord& operator [] (unsigned int i) const - { - if (unlikely (i >= num_records)) return Null(DeviceRecord); - return StructAtOffset (this->data, i * size_device_record); - } - - inline bool serialize (hb_serialize_context_t *c, const hdmx *source_hdmx, hb_subset_plan_t *plan) - { - TRACE_SERIALIZE (this); - - if (unlikely (!c->extend_min ((*this)))) return_trace (false); - - this->version.set (source_hdmx->version); - this->num_records.set (source_hdmx->num_records); - this->size_device_record.set (DeviceRecord::get_size (plan->glyphs.len)); - - for (unsigned int i = 0; i < source_hdmx->num_records; i++) - { - DeviceRecord::SubsetView subset_view; - subset_view.init (&(*source_hdmx)[i], source_hdmx->size_device_record, plan); - - if (!c->start_embed ()->serialize (c, subset_view)) - return_trace (false); - } - - return_trace (true); - } - - static inline size_t get_subsetted_size (const hdmx *source_hdmx, hb_subset_plan_t *plan) - { - return min_size + source_hdmx->num_records * DeviceRecord::get_size (plan->glyphs.len); - } - - inline bool subset (hb_subset_plan_t *plan) const - { - size_t dest_size = get_subsetted_size (this, plan); - hdmx *dest = (hdmx *) malloc (dest_size); - if (unlikely (!dest)) - { - DEBUG_MSG(SUBSET, nullptr, "Unable to alloc %lu for hdmx subset output.", (unsigned long) dest_size); - return false; - } - - hb_serialize_context_t c (dest, dest_size); - hdmx *hdmx_prime = c.start_serialize (); - if (!hdmx_prime || !hdmx_prime->serialize (&c, this, plan)) - { - free (dest); - DEBUG_MSG(SUBSET, nullptr, "Failed to serialize write new hdmx."); - return false; - } - c.end_serialize (); - - hb_blob_t *hdmx_prime_blob = hb_blob_create ((const char *) dest, - dest_size, - HB_MEMORY_MODE_READONLY, - dest, - free); - bool result = plan->add_table (HB_OT_TAG_hdmx, hdmx_prime_blob); - hb_blob_destroy (hdmx_prime_blob); - - return result; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && version == 0 && - !hb_unsigned_mul_overflows (num_records, size_device_record) && - size_device_record >= DeviceRecord::min_size && - c->check_range (this, get_size())); - } - - protected: - HBUINT16 version; /* Table version number (0) */ - HBUINT16 num_records; /* Number of device records. */ - HBUINT32 size_device_record; /* Size of a device record, 32-bit aligned. */ - HBUINT8 data[VAR]; /* Array of device records. */ - public: - DEFINE_SIZE_ARRAY (8, data); -}; - -} /* namespace OT */ - - -#endif /* HB_OT_HDMX_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-hhea-table.hh b/harfbuzz-1.9.0/src/hb-ot-hhea-table.hh deleted file mode 100644 index 3336cadd4..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-hhea-table.hh +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright © 2011,2012 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_OT_HHEA_TABLE_HH -#define HB_OT_HHEA_TABLE_HH - -#include "hb-open-type.hh" - -/* - * hhea -- Horizontal Header - * https://docs.microsoft.com/en-us/typography/opentype/spec/hhea - * vhea -- Vertical Header - * https://docs.microsoft.com/en-us/typography/opentype/spec/vhea - */ -#define HB_OT_TAG_hhea HB_TAG('h','h','e','a') -#define HB_OT_TAG_vhea HB_TAG('v','h','e','a') - - -namespace OT { - - -template -struct _hea -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && likely (version.major == 1)); - } - - public: - FixedVersion<>version; /* 0x00010000u for version 1.0. */ - FWORD ascender; /* Typographic ascent. */ - FWORD descender; /* Typographic descent. */ - FWORD lineGap; /* Typographic line gap. */ - UFWORD advanceMax; /* Maximum advance width/height value in - * metrics table. */ - FWORD minLeadingBearing; /* Minimum left/top sidebearing value in - * metrics table. */ - FWORD minTrailingBearing; /* Minimum right/bottom sidebearing value; - * calculated as Min(aw - lsb - - * (xMax - xMin)) for horizontal. */ - FWORD maxExtent; /* horizontal: Max(lsb + (xMax - xMin)), - * vertical: minLeadingBearing+(yMax-yMin). */ - HBINT16 caretSlopeRise; /* Used to calculate the slope of the - * cursor (rise/run); 1 for vertical caret, - * 0 for horizontal.*/ - HBINT16 caretSlopeRun; /* 0 for vertical caret, 1 for horizontal. */ - HBINT16 caretOffset; /* The amount by which a slanted - * highlight on a glyph needs - * to be shifted to produce the - * best appearance. Set to 0 for - * non-slanted fonts. */ - HBINT16 reserved1; /* Set to 0. */ - HBINT16 reserved2; /* Set to 0. */ - HBINT16 reserved3; /* Set to 0. */ - HBINT16 reserved4; /* Set to 0. */ - HBINT16 metricDataFormat; /* 0 for current format. */ - HBUINT16 numberOfLongMetrics; /* Number of LongMetric entries in metric - * table. */ - public: - DEFINE_SIZE_STATIC (36); -}; - -struct hhea : _hea { - static const hb_tag_t tableTag = HB_OT_TAG_hhea; -}; -struct vhea : _hea { - static const hb_tag_t tableTag = HB_OT_TAG_vhea; -}; - - -} /* namespace OT */ - - -#endif /* HB_OT_HHEA_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-hmtx-table.hh b/harfbuzz-1.9.0/src/hb-ot-hmtx-table.hh deleted file mode 100644 index 3e4b3bdef..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-hmtx-table.hh +++ /dev/null @@ -1,340 +0,0 @@ -/* - * Copyright © 2011,2012 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod, Roderick Sheeter - */ - -#ifndef HB_OT_HMTX_TABLE_HH -#define HB_OT_HMTX_TABLE_HH - -#include "hb-open-type.hh" -#include "hb-ot-hhea-table.hh" -#include "hb-ot-os2-table.hh" -#include "hb-ot-var-hvar-table.hh" - -/* - * hmtx -- Horizontal Metrics - * https://docs.microsoft.com/en-us/typography/opentype/spec/hmtx - * vmtx -- Vertical Metrics - * https://docs.microsoft.com/en-us/typography/opentype/spec/vmtx - */ -#define HB_OT_TAG_hmtx HB_TAG('h','m','t','x') -#define HB_OT_TAG_vmtx HB_TAG('v','m','t','x') - - -namespace OT { - - -struct LongMetric -{ - UFWORD advance; /* Advance width/height. */ - FWORD lsb; /* Leading (left/top) side bearing. */ - public: - DEFINE_SIZE_STATIC (4); -}; - -template -struct hmtxvmtx -{ - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - /* We don't check for anything specific here. The users of the - * struct do all the hard work... */ - return_trace (true); - } - - - inline bool subset_update_header (hb_subset_plan_t *plan, - unsigned int num_hmetrics) const - { - hb_blob_t *src_blob = hb_sanitize_context_t().reference_table (plan->source, H::tableTag); - hb_blob_t *dest_blob = hb_blob_copy_writable_or_fail(src_blob); - hb_blob_destroy (src_blob); - - if (unlikely (!dest_blob)) { - return false; - } - - unsigned int length; - H *table = (H *) hb_blob_get_data (dest_blob, &length); - table->numberOfLongMetrics.set (num_hmetrics); - - bool result = plan->add_table (H::tableTag, dest_blob); - hb_blob_destroy (dest_blob); - - return result; - } - - inline bool subset (hb_subset_plan_t *plan) const - { - typename T::accelerator_t _mtx; - _mtx.init (plan->source); - - /* All the trailing glyphs with the same advance can use one LongMetric - * and just keep LSB */ - hb_vector_t &gids = plan->glyphs; - unsigned int num_advances = gids.len; - unsigned int last_advance = _mtx.get_advance (gids[num_advances - 1]); - while (num_advances > 1 - && last_advance == _mtx.get_advance (gids[num_advances - 2])) - { - num_advances--; - } - - /* alloc the new table */ - size_t dest_sz = num_advances * 4 - + (gids.len - num_advances) * 2; - void *dest = (void *) malloc (dest_sz); - if (unlikely (!dest)) - { - return false; - } - DEBUG_MSG(SUBSET, nullptr, "%c%c%c%c in src has %d advances, %d lsbs", HB_UNTAG(T::tableTag), _mtx.num_advances, _mtx.num_metrics - _mtx.num_advances); - DEBUG_MSG(SUBSET, nullptr, "%c%c%c%c in dest has %d advances, %d lsbs, %u bytes", HB_UNTAG(T::tableTag), num_advances, gids.len - num_advances, (unsigned int) dest_sz); - - const char *source_table = hb_blob_get_data (_mtx.blob, nullptr); - // Copy everything over - LongMetric * old_metrics = (LongMetric *) source_table; - FWORD *lsbs = (FWORD *) (old_metrics + _mtx.num_advances); - char * dest_pos = (char *) dest; - - bool failed = false; - for (unsigned int i = 0; i < gids.len; i++) - { - /* the last metric or the one for gids[i] */ - LongMetric *src_metric = old_metrics + MIN ((hb_codepoint_t) _mtx.num_advances - 1, gids[i]); - if (gids[i] < _mtx.num_advances) - { - /* src is a LongMetric */ - if (i < num_advances) - { - /* dest is a LongMetric, copy it */ - *((LongMetric *) dest_pos) = *src_metric; - } - else - { - /* dest just lsb */ - *((FWORD *) dest_pos) = src_metric->lsb; - } - } - else - { - if (gids[i] >= _mtx.num_metrics) - { - DEBUG_MSG(SUBSET, nullptr, "gid %d is >= number of source metrics %d", - gids[i], _mtx.num_metrics); - failed = true; - break; - } - FWORD src_lsb = *(lsbs + gids[i] - _mtx.num_advances); - if (i < num_advances) - { - /* dest needs a full LongMetric */ - LongMetric *metric = (LongMetric *)dest_pos; - metric->advance = src_metric->advance; - metric->lsb = src_lsb; - } - else - { - /* dest just needs an lsb */ - *((FWORD *) dest_pos) = src_lsb; - } - } - dest_pos += (i < num_advances ? 4 : 2); - } - _mtx.fini (); - - // Amend header num hmetrics - if (failed || unlikely (!subset_update_header (plan, num_advances))) - { - free (dest); - return false; - } - - hb_blob_t *result = hb_blob_create ((const char *)dest, - dest_sz, - HB_MEMORY_MODE_READONLY, - dest, - free); - bool success = plan->add_table (T::tableTag, result); - hb_blob_destroy (result); - return success; - } - - struct accelerator_t - { - friend struct hmtxvmtx; - - inline void init (hb_face_t *face, - unsigned int default_advance_ = 0) - { - default_advance = default_advance_ ? default_advance_ : hb_face_get_upem (face); - - bool got_font_extents = false; - if (T::os2Tag) - { - hb_blob_t *os2_blob = hb_sanitize_context_t().reference_table (face); - const os2 *os2_table = os2_blob->as (); -#define USE_TYPO_METRICS (1u<<7) - if (0 != (os2_table->fsSelection & USE_TYPO_METRICS)) - { - ascender = os2_table->sTypoAscender; - descender = os2_table->sTypoDescender; - line_gap = os2_table->sTypoLineGap; - got_font_extents = (ascender | descender) != 0; - } - hb_blob_destroy (os2_blob); - } - - hb_blob_t *_hea_blob = hb_sanitize_context_t().reference_table (face); - const H *_hea_table = _hea_blob->as (); - num_advances = _hea_table->numberOfLongMetrics; - if (!got_font_extents) - { - ascender = _hea_table->ascender; - descender = _hea_table->descender; - line_gap = _hea_table->lineGap; - got_font_extents = (ascender | descender) != 0; - } - hb_blob_destroy (_hea_blob); - - has_font_extents = got_font_extents; - - blob = hb_sanitize_context_t().reference_table (face, T::tableTag); - - /* Cap num_metrics() and num_advances() based on table length. */ - unsigned int len = hb_blob_get_length (blob); - if (unlikely (num_advances * 4 > len)) - num_advances = len / 4; - num_metrics = num_advances + (len - 4 * num_advances) / 2; - - /* We MUST set num_metrics to zero if num_advances is zero. - * Our get_advance() depends on that. */ - if (unlikely (!num_advances)) - { - num_metrics = num_advances = 0; - hb_blob_destroy (blob); - blob = hb_blob_get_empty (); - } - table = blob->as (); - - var_blob = hb_sanitize_context_t().reference_table (face, T::variationsTag); - var_table = var_blob->as (); - } - - inline void fini (void) - { - hb_blob_destroy (blob); - hb_blob_destroy (var_blob); - } - - inline unsigned int get_advance (hb_codepoint_t glyph) const - { - if (unlikely (glyph >= num_metrics)) - { - /* If num_metrics is zero, it means we don't have the metrics table - * for this direction: return default advance. Otherwise, it means that the - * glyph index is out of bound: return zero. */ - if (num_metrics) - return 0; - else - return default_advance; - } - - return table->longMetric[MIN (glyph, (uint32_t) num_advances - 1)].advance; - } - - inline unsigned int get_advance (hb_codepoint_t glyph, - hb_font_t *font) const - { - unsigned int advance = get_advance (glyph); - if (likely(glyph < num_metrics)) - { - advance += (font->num_coords ? var_table->get_advance_var (glyph, font->coords, font->num_coords) : 0); // TODO Optimize?! - } - return advance; - } - - public: - bool has_font_extents; - unsigned short ascender; - unsigned short descender; - unsigned short line_gap; - - protected: - unsigned int num_metrics; - unsigned int num_advances; - unsigned int default_advance; - - private: - const hmtxvmtx *table; - hb_blob_t *blob; - const HVARVVAR *var_table; - hb_blob_t *var_blob; - }; - - protected: - LongMetric longMetric[VAR]; /* Paired advance width and leading - * bearing values for each glyph. The - * value numOfHMetrics comes from - * the 'hhea' table. If the font is - * monospaced, only one entry need - * be in the array, but that entry is - * required. The last entry applies to - * all subsequent glyphs. */ -/*FWORD leadingBearingX[VAR];*/ /* Here the advance is assumed - * to be the same as the advance - * for the last entry above. The - * number of entries in this array is - * derived from numGlyphs (from 'maxp' - * table) minus numberOfLongMetrics. - * This generally is used with a run - * of monospaced glyphs (e.g., Kanji - * fonts or Courier fonts). Only one - * run is allowed and it must be at - * the end. This allows a monospaced - * font to vary the side bearing - * values for each glyph. */ - public: - DEFINE_SIZE_ARRAY (0, longMetric); -}; - -struct hmtx : hmtxvmtx { - static const hb_tag_t tableTag = HB_OT_TAG_hmtx; - static const hb_tag_t variationsTag = HB_OT_TAG_HVAR; - static const hb_tag_t os2Tag = HB_OT_TAG_os2; -}; -struct vmtx : hmtxvmtx { - static const hb_tag_t tableTag = HB_OT_TAG_vmtx; - static const hb_tag_t variationsTag = HB_OT_TAG_VVAR; - static const hb_tag_t os2Tag = HB_TAG_NONE; -}; - -struct hmtx_accelerator_t : hmtx::accelerator_t {}; -struct vmtx_accelerator_t : vmtx::accelerator_t {}; - -} /* namespace OT */ - - -#endif /* HB_OT_HMTX_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-kern-table.hh b/harfbuzz-1.9.0/src/hb-ot-kern-table.hh deleted file mode 100644 index 40f94be29..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-kern-table.hh +++ /dev/null @@ -1,398 +0,0 @@ -/* - * Copyright © 2017 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_OT_KERN_TABLE_HH -#define HB_OT_KERN_TABLE_HH - -#include "hb-open-type.hh" - -/* - * kern -- Kerning - * https://docs.microsoft.com/en-us/typography/opentype/spec/kern - * https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6kern.html - */ -#define HB_OT_TAG_kern HB_TAG('k','e','r','n') - - -namespace OT { - - -struct hb_glyph_pair_t -{ - hb_codepoint_t left; - hb_codepoint_t right; -}; - -struct KernPair -{ - inline int get_kerning (void) const - { return value; } - - inline int cmp (const hb_glyph_pair_t &o) const - { - int ret = left.cmp (o.left); - if (ret) return ret; - return right.cmp (o.right); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - protected: - GlyphID left; - GlyphID right; - FWORD value; - public: - DEFINE_SIZE_STATIC (6); -}; - -struct KernSubTableFormat0 -{ - inline int get_kerning (hb_codepoint_t left, hb_codepoint_t right) const - { - hb_glyph_pair_t pair = {left, right}; - int i = pairs.bsearch (pair); - if (i == -1) - return 0; - return pairs[i].get_kerning (); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (pairs.sanitize (c)); - } - - protected: - BinSearchArrayOf pairs; /* Array of kerning pairs. */ - public: - DEFINE_SIZE_ARRAY (8, pairs); -}; - -struct KernClassTable -{ - inline unsigned int get_class (hb_codepoint_t g) const { return classes[g - firstGlyph]; } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (firstGlyph.sanitize (c) && classes.sanitize (c)); - } - - protected: - HBUINT16 firstGlyph; /* First glyph in class range. */ - ArrayOf classes; /* Glyph classes. */ - public: - DEFINE_SIZE_ARRAY (4, classes); -}; - -struct KernSubTableFormat2 -{ - inline int get_kerning (hb_codepoint_t left, hb_codepoint_t right, const char *end) const - { - unsigned int l = (this+leftClassTable).get_class (left); - unsigned int r = (this+rightClassTable).get_class (right); - unsigned int offset = l * rowWidth + r * sizeof (FWORD); - const FWORD *arr = &(this+array); - if (unlikely ((const void *) arr < (const void *) this || (const void *) arr >= (const void *) end)) - return 0; - const FWORD *v = &StructAtOffset (arr, offset); - if (unlikely ((const void *) v < (const void *) arr || (const void *) (v + 1) > (const void *) end)) - return 0; - return *v; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (rowWidth.sanitize (c) && - leftClassTable.sanitize (c, this) && - rightClassTable.sanitize (c, this) && - array.sanitize (c, this)); - } - - protected: - HBUINT16 rowWidth; /* The width, in bytes, of a row in the table. */ - OffsetTo - leftClassTable; /* Offset from beginning of this subtable to - * left-hand class table. */ - OffsetTo - rightClassTable;/* Offset from beginning of this subtable to - * right-hand class table. */ - OffsetTo - array; /* Offset from beginning of this subtable to - * the start of the kerning array. */ - public: - DEFINE_SIZE_MIN (8); -}; - -struct KernSubTable -{ - inline int get_kerning (hb_codepoint_t left, hb_codepoint_t right, const char *end, unsigned int format) const - { - switch (format) { - case 0: return u.format0.get_kerning (left, right); - case 2: return u.format2.get_kerning (left, right, end); - default:return 0; - } - } - - inline bool sanitize (hb_sanitize_context_t *c, unsigned int format) const - { - TRACE_SANITIZE (this); - switch (format) { - case 0: return_trace (u.format0.sanitize (c)); - case 2: return_trace (u.format2.sanitize (c)); - default:return_trace (true); - } - } - - protected: - union { - KernSubTableFormat0 format0; - KernSubTableFormat2 format2; - } u; - public: - DEFINE_SIZE_MIN (0); -}; - - -template -struct KernSubTableWrapper -{ - /* https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern */ - inline const T* thiz (void) const { return static_cast (this); } - - inline bool is_horizontal (void) const - { return (thiz()->coverage & T::COVERAGE_CHECK_FLAGS) == T::COVERAGE_CHECK_HORIZONTAL; } - - inline bool is_override (void) const - { return bool (thiz()->coverage & T::COVERAGE_OVERRIDE_FLAG); } - - inline int get_kerning (hb_codepoint_t left, hb_codepoint_t right, const char *end) const - { return thiz()->subtable.get_kerning (left, right, end, thiz()->format); } - - inline int get_h_kerning (hb_codepoint_t left, hb_codepoint_t right, const char *end) const - { return is_horizontal () ? get_kerning (left, right, end) : 0; } - - inline unsigned int get_size (void) const { return thiz()->length; } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (thiz()) && - thiz()->length >= T::min_size && - c->check_array (thiz(), 1, thiz()->length) && - thiz()->subtable.sanitize (c, thiz()->format)); - } -}; - -template -struct KernTable -{ - /* https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern */ - inline const T* thiz (void) const { return static_cast (this); } - - inline int get_h_kerning (hb_codepoint_t left, hb_codepoint_t right, unsigned int table_length) const - { - int v = 0; - const typename T::SubTableWrapper *st = CastP (thiz()->data); - unsigned int count = thiz()->nTables; - for (unsigned int i = 0; i < count; i++) - { - if (st->is_override ()) - v = 0; - v += st->get_h_kerning (left, right, table_length + (const char *) this); - st = &StructAfter (*st); - } - return v; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (unlikely (!c->check_struct (thiz()) || - thiz()->version != T::VERSION)) - return_trace (false); - - const typename T::SubTableWrapper *st = CastP (thiz()->data); - unsigned int count = thiz()->nTables; - for (unsigned int i = 0; i < count; i++) - { - if (unlikely (!st->sanitize (c))) - return_trace (false); - st = &StructAfter (*st); - } - - return_trace (true); - } -}; - -struct KernOT : KernTable -{ - friend struct KernTable; - - static const uint16_t VERSION = 0x0000u; - - struct SubTableWrapper : KernSubTableWrapper - { - friend struct KernSubTableWrapper; - - enum coverage_flags_t { - COVERAGE_DIRECTION_FLAG = 0x01u, - COVERAGE_MINIMUM_FLAG = 0x02u, - COVERAGE_CROSSSTREAM_FLAG = 0x04u, - COVERAGE_OVERRIDE_FLAG = 0x08u, - - COVERAGE_VARIATION_FLAG = 0x00u, /* Not supported. */ - - COVERAGE_CHECK_FLAGS = 0x07u, - COVERAGE_CHECK_HORIZONTAL = 0x01u - }; - - protected: - HBUINT16 versionZ; /* Unused. */ - HBUINT16 length; /* Length of the subtable (including this header). */ - HBUINT8 format; /* Subtable format. */ - HBUINT8 coverage; /* Coverage bits. */ - KernSubTable subtable; /* Subtable data. */ - public: - DEFINE_SIZE_MIN (6); - }; - - protected: - HBUINT16 version; /* Version--0x0000u */ - HBUINT16 nTables; /* Number of subtables in the kerning table. */ - HBUINT8 data[VAR]; - public: - DEFINE_SIZE_ARRAY (4, data); -}; - -struct KernAAT : KernTable -{ - friend struct KernTable; - - static const uint32_t VERSION = 0x00010000u; - - struct SubTableWrapper : KernSubTableWrapper - { - friend struct KernSubTableWrapper; - - enum coverage_flags_t { - COVERAGE_DIRECTION_FLAG = 0x80u, - COVERAGE_CROSSSTREAM_FLAG = 0x40u, - COVERAGE_VARIATION_FLAG = 0x20u, - - COVERAGE_OVERRIDE_FLAG = 0x00u, /* Not supported. */ - - COVERAGE_CHECK_FLAGS = 0xE0u, - COVERAGE_CHECK_HORIZONTAL = 0x00u - }; - - protected: - HBUINT32 length; /* Length of the subtable (including this header). */ - HBUINT8 coverage; /* Coverage bits. */ - HBUINT8 format; /* Subtable format. */ - HBUINT16 tupleIndex; /* The tuple index (used for variations fonts). - * This value specifies which tuple this subtable covers. */ - KernSubTable subtable; /* Subtable data. */ - public: - DEFINE_SIZE_MIN (8); - }; - - protected: - HBUINT32 version; /* Version--0x00010000u */ - HBUINT32 nTables; /* Number of subtables in the kerning table. */ - HBUINT8 data[VAR]; - public: - DEFINE_SIZE_ARRAY (8, data); -}; - -struct kern -{ - static const hb_tag_t tableTag = HB_OT_TAG_kern; - - inline int get_h_kerning (hb_codepoint_t left, hb_codepoint_t right, unsigned int table_length) const - { - switch (u.major) { - case 0: return u.ot.get_h_kerning (left, right, table_length); - case 1: return u.aat.get_h_kerning (left, right, table_length); - default:return 0; - } - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (!u.major.sanitize (c)) return_trace (false); - switch (u.major) { - case 0: return_trace (u.ot.sanitize (c)); - case 1: return_trace (u.aat.sanitize (c)); - default:return_trace (true); - } - } - - struct accelerator_t - { - inline void init (hb_face_t *face) - { - blob = hb_sanitize_context_t().reference_table (face); - table = blob->as (); - table_length = blob->length; - } - inline void fini (void) - { - hb_blob_destroy (blob); - } - - inline int get_h_kerning (hb_codepoint_t left, hb_codepoint_t right) const - { return table->get_h_kerning (left, right, table_length); } - - private: - hb_blob_t *blob; - const kern *table; - unsigned int table_length; - }; - - protected: - union { - HBUINT16 major; - KernOT ot; - KernAAT aat; - } u; - public: - DEFINE_SIZE_UNION (2, major); -}; - -struct kern_accelerator_t : kern::accelerator_t {}; - -} /* namespace OT */ - - -#endif /* HB_OT_KERN_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-layout-base-table.hh b/harfbuzz-1.9.0/src/hb-ot-layout-base-table.hh deleted file mode 100644 index 449e74550..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-layout-base-table.hh +++ /dev/null @@ -1,629 +0,0 @@ -/* - * Copyright © 2016 Elie Roux - * Copyright © 2018 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_OT_LAYOUT_BASE_TABLE_HH -#define HB_OT_LAYOUT_BASE_TABLE_HH - -#include "hb-open-type.hh" -#include "hb-ot-layout-common.hh" - -namespace OT { - -/* - * BASE -- Baseline - * https://docs.microsoft.com/en-us/typography/opentype/spec/base - */ - - -/* XXX Review this. */ -#define NOT_INDEXED ((unsigned int) -1) - - -struct BaseCoordFormat1 -{ - inline int get_coord (void) const { return coordinate; } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - protected: - HBUINT16 format; /* Format identifier--format = 1 */ - FWORD coordinate; /* X or Y value, in design units */ - public: - DEFINE_SIZE_STATIC (4); -}; - -struct BaseCoordFormat2 -{ - inline int get_coord (void) const - { - /* TODO */ - return coordinate; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - protected: - HBUINT16 format; /* Format identifier--format = 2 */ - FWORD coordinate; /* X or Y value, in design units */ - GlyphID referenceGlyph; /* Glyph ID of control glyph */ - HBUINT16 coordPoint; /* Index of contour point on the - * reference glyph */ - public: - DEFINE_SIZE_STATIC (8); -}; - -struct BaseCoordFormat3 -{ - inline int get_coord (void) const - { - /* TODO */ - return coordinate; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && deviceTable.sanitize (c, this)); - } - - protected: - HBUINT16 format; /* Format identifier--format = 3 */ - FWORD coordinate; /* X or Y value, in design units */ - OffsetTo deviceTable; /* Offset to Device table for X or - * Y value, from beginning of - * BaseCoord table (may be NULL). */ - public: - DEFINE_SIZE_STATIC (6); -}; - -struct BaseCoord -{ - inline int get_coord (void) const - { - /* XXX wire up direction and font. */ - switch (u.format) { - case 1: return u.format1.get_coord (); - case 2: return u.format2.get_coord (); - case 3: return u.format3.get_coord (); - default:return 0; - } - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - if (!u.format.sanitize (c)) return_trace (false); - switch (u.format) { - case 1: return_trace (u.format1.sanitize (c)); - case 2: return_trace (u.format2.sanitize (c)); - case 3: return_trace (u.format3.sanitize (c)); - default:return_trace (false); - } - } - - protected: - union { - HBUINT16 format; - BaseCoordFormat1 format1; - BaseCoordFormat2 format2; - BaseCoordFormat3 format3; - } u; - public: - DEFINE_SIZE_UNION (2, format); -}; - -struct FeatMinMaxRecord -{ - inline int get_min_value (void) const { return (this+minCoord).get_coord(); } - inline int get_max_value (void) const { return (this+maxCoord).get_coord(); } - - inline const Tag& get_tag () const { return tag; } - - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - minCoord.sanitize (c, base) && - maxCoord.sanitize (c, base)); - } - - protected: - Tag tag; /* 4-byte feature identification tag--must - * match feature tag in FeatureList */ - OffsetTo minCoord; /* Offset to BaseCoord table that defines - * the minimum extent value, from beginning - * of MinMax table (may be NULL) */ - OffsetTo maxCoord; /* Offset to BaseCoord table that defines - * the maximum extent value, from beginning - * of MinMax table (may be NULL) */ - public: - DEFINE_SIZE_STATIC (8); - -}; - -struct MinMax -{ - inline unsigned int get_feature_tag_index (Tag featureTableTag) const - { - /* TODO bsearch */ - unsigned int count = featMinMaxRecords.len; - for (unsigned int i = 0; i < count; i++) - { - Tag tag = featMinMaxRecords[i].get_tag (); - int cmp = tag.cmp(featureTableTag); - if (cmp == 0) return i; - if (cmp > 0) return NOT_INDEXED; - } - return NOT_INDEXED; - } - - inline int get_min_value (unsigned int featureTableTagIndex) const - { - if (featureTableTagIndex == NOT_INDEXED) - return (this+minCoord).get_coord(); - return featMinMaxRecords[featureTableTagIndex].get_min_value(); - } - - inline int get_max_value (unsigned int featureTableTagIndex) const - { - if (featureTableTagIndex == NOT_INDEXED) - return (this+maxCoord).get_coord(); - return featMinMaxRecords[featureTableTagIndex].get_max_value(); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - minCoord.sanitize (c, this) && - maxCoord.sanitize (c, this) && - featMinMaxRecords.sanitize (c, this)); - } - - protected: - OffsetTo minCoord; /* Offset to BaseCoord table that defines - * minimum extent value, from the beginning - * of MinMax table (may be NULL) */ - OffsetTo maxCoord; /* Offset to BaseCoord table that defines - * maximum extent value, from the beginning - * of MinMax table (may be NULL) */ - ArrayOf - featMinMaxRecords; /* Array of FeatMinMaxRecords, in alphabetical - * order by featureTableTag */ - public: - DEFINE_SIZE_ARRAY (6, featMinMaxRecords); -}; - -/* TODO... */ -struct BaseLangSysRecord -{ - inline const Tag& get_tag(void) const - { return baseLangSysTag; } - - inline unsigned int get_feature_tag_index (Tag featureTableTag) const - { return (this+minMax).get_feature_tag_index( featureTableTag); } - - inline int get_min_value (unsigned int featureTableTagIndex) const - { return (this+minMax).get_min_value( featureTableTagIndex); } - - inline int get_max_value (unsigned int featureTableTagIndex) const - { return (this+minMax).get_max_value (featureTableTagIndex); } - - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - minMax.sanitize (c, base)); - } - - protected: - Tag baseLangSysTag; - OffsetTo minMax; - public: - DEFINE_SIZE_STATIC (6); - -}; - -struct BaseValues -{ - inline unsigned int get_default_base_tag_index (void) const - { return defaultIndex; } - - inline int get_base_coord (unsigned int baselineTagIndex) const - { - return (this+baseCoords[baselineTagIndex]).get_coord (); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - baseCoords.sanitize (c, this)); - } - - protected: - Index defaultIndex; - OffsetArrayOf baseCoords; - public: - DEFINE_SIZE_ARRAY (4, baseCoords); -}; - -struct BaseScript { - - inline unsigned int get_lang_tag_index (Tag baseLangSysTag) const - { - /* XXX bsearch */ - Tag tag; - int cmp; - unsigned int count = baseLangSysRecords.len; - for (unsigned int i = 0; i < count; i++) - { - tag = baseLangSysRecords[i].get_tag (); - // taking advantage of alphabetical order - cmp = tag.cmp(baseLangSysTag); - if (cmp == 0) return i; - if (cmp > 0) return NOT_INDEXED; - } - return NOT_INDEXED; - } - - inline unsigned int get_feature_tag_index (unsigned int baseLangSysIndex, Tag featureTableTag) const - { - if (baseLangSysIndex == NOT_INDEXED) - { - if (unlikely(defaultMinMax)) return NOT_INDEXED; - return (this+defaultMinMax).get_feature_tag_index (featureTableTag); - } - return baseLangSysRecords[baseLangSysIndex].get_feature_tag_index (featureTableTag); - } - - inline int get_min_value (unsigned int baseLangSysIndex, unsigned int featureTableTagIndex) const - { - if (baseLangSysIndex == NOT_INDEXED) - return (this+defaultMinMax).get_min_value (featureTableTagIndex); - return baseLangSysRecords[baseLangSysIndex].get_max_value (featureTableTagIndex); - } - - inline int get_max_value (unsigned int baseLangSysIndex, unsigned int featureTableTagIndex) const - { - if (baseLangSysIndex == NOT_INDEXED) - return (this+defaultMinMax).get_min_value (featureTableTagIndex); - return baseLangSysRecords[baseLangSysIndex].get_max_value (featureTableTagIndex); - } - - inline unsigned int get_default_base_tag_index (void) const - { return (this+baseValues).get_default_base_tag_index (); } - - inline int get_base_coord (unsigned int baselineTagIndex) const - { return (this+baseValues).get_base_coord (baselineTagIndex); } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - baseValues.sanitize (c, this) && - defaultMinMax.sanitize (c, this) && - baseLangSysRecords.sanitize (c, this)); - } - - protected: - OffsetTo baseValues; - OffsetTo defaultMinMax; - ArrayOf baseLangSysRecords; - - public: - DEFINE_SIZE_ARRAY (6, baseLangSysRecords); -}; - - -struct BaseScriptRecord { - - inline const Tag& get_tag (void) const - { return baseScriptTag; } - - inline unsigned int get_default_base_tag_index(void) const - { return (this+baseScript).get_default_base_tag_index (); } - - inline int get_base_coord(unsigned int baselineTagIndex) const - { return (this+baseScript).get_base_coord (baselineTagIndex); } - - inline unsigned int get_lang_tag_index (Tag baseLangSysTag) const - { return (this+baseScript).get_lang_tag_index (baseLangSysTag); } - - inline unsigned int get_feature_tag_index (unsigned int baseLangSysIndex, Tag featureTableTag) const - { return (this+baseScript).get_feature_tag_index (baseLangSysIndex, featureTableTag); } - - inline int get_max_value (unsigned int baseLangSysIndex, unsigned int featureTableTagIndex) const - { return (this+baseScript).get_max_value (baseLangSysIndex, featureTableTagIndex); } - - inline int get_min_value (unsigned int baseLangSysIndex, unsigned int featureTableTagIndex) const - { return (this+baseScript).get_min_value (baseLangSysIndex, featureTableTagIndex); } - - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - baseScript.sanitize (c, base)); - } - - protected: - Tag baseScriptTag; - OffsetTo baseScript; - - public: - DEFINE_SIZE_STATIC (6); -}; - -struct BaseScriptList { - - inline unsigned int get_base_script_index (Tag baseScriptTag) const - { - /* XXX bsearch? */ - unsigned int count = baseScriptRecords.len; - for (unsigned int i = 0; i < count; i++) - if (baseScriptRecords[i].get_tag() == baseScriptTag) - return i; - return NOT_INDEXED; - } - - inline unsigned int get_default_base_tag_index (unsigned int baseScriptIndex) const - { - return baseScriptRecords[baseScriptIndex].get_default_base_tag_index(); - } - - inline int get_base_coord(unsigned int baseScriptIndex, unsigned int baselineTagIndex) const - { - return baseScriptRecords[baseScriptIndex].get_base_coord(baselineTagIndex); - } - - inline unsigned int get_lang_tag_index (unsigned int baseScriptIndex, Tag baseLangSysTag) const - { - return baseScriptRecords[baseScriptIndex].get_lang_tag_index(baseLangSysTag); - } - - inline unsigned int get_feature_tag_index (unsigned int baseScriptIndex, unsigned int baseLangSysIndex, Tag featureTableTag) const - { - return baseScriptRecords[baseScriptIndex].get_feature_tag_index(baseLangSysIndex, featureTableTag); - } - - inline int get_max_value (unsigned int baseScriptIndex, unsigned int baseLangSysIndex, unsigned int featureTableTagIndex) const - { - return baseScriptRecords[baseScriptIndex].get_max_value(baseLangSysIndex, featureTableTagIndex); - } - - inline int get_min_value (unsigned int baseScriptIndex, unsigned int baseLangSysIndex, unsigned int featureTableTagIndex) const - { - return baseScriptRecords[baseScriptIndex].get_min_value(baseLangSysIndex, featureTableTagIndex); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - baseScriptRecords.sanitize (c, this)); - } - - protected: - ArrayOf baseScriptRecords; - - public: - DEFINE_SIZE_ARRAY (2, baseScriptRecords); -}; - -struct BaseTagList -{ - inline unsigned int get_tag_index (Tag baselineTag) const - { - /* TODO bsearch? */ - unsigned int count = baselineTags.len; - for (unsigned int i = 0; i < count; i++) - if (baselineTags[i] == baselineTag) - return i; - return NOT_INDEXED; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - protected: - SortedArrayOf baselineTags; - - public: - DEFINE_SIZE_ARRAY (2, baselineTags); -}; - -struct Axis -{ - - inline unsigned int get_base_tag_index (Tag baselineTag) const - { - return (this+baseTagList).get_tag_index(baselineTag); - } - - inline unsigned int get_default_base_tag_index_for_script_index (unsigned int baseScriptIndex) const - { - return (this+baseScriptList).get_default_base_tag_index(baseScriptIndex); - } - - inline int get_base_coord (unsigned int baseScriptIndex, unsigned int baselineTagIndex) const - { - return (this+baseScriptList).get_base_coord(baseScriptIndex, baselineTagIndex); - } - - inline unsigned int get_lang_tag_index (unsigned int baseScriptIndex, Tag baseLangSysTag) const - { - return (this+baseScriptList).get_lang_tag_index(baseScriptIndex, baseLangSysTag); - } - - inline unsigned int get_feature_tag_index (unsigned int baseScriptIndex, unsigned int baseLangSysIndex, Tag featureTableTag) const - { - return (this+baseScriptList).get_feature_tag_index(baseScriptIndex, baseLangSysIndex, featureTableTag); - } - - inline int get_max_value (unsigned int baseScriptIndex, unsigned int baseLangSysIndex, unsigned int featureTableTagIndex) const - { - return (this+baseScriptList).get_max_value(baseScriptIndex, baseLangSysIndex, featureTableTagIndex); - } - - inline int get_min_value (unsigned int baseScriptIndex, unsigned int baseLangSysIndex, unsigned int featureTableTagIndex) const - { - return (this+baseScriptList).get_min_value(baseScriptIndex, baseLangSysIndex, featureTableTagIndex); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - baseTagList.sanitize (c, this) && - baseScriptList.sanitize (c, this)); - } - - protected: - OffsetTo baseTagList; - OffsetTo baseScriptList; - - public: - DEFINE_SIZE_STATIC (4); -}; - -struct BASE -{ - static const hb_tag_t tableTag = HB_OT_TAG_BASE; - - inline bool has_v_axis(void) { return vAxis != 0; } - - inline bool has_h_axis(void) { return hAxis != 0; } - - inline unsigned int get_h_base_tag_index (Tag baselineTag) const - { - return (this+hAxis).get_base_tag_index(baselineTag); - } - - inline unsigned int get_h_default_base_tag_index_for_script_index (unsigned int baseScriptIndex) const - { - return (this+hAxis).get_default_base_tag_index_for_script_index(baseScriptIndex); - } - - inline int get_h_base_coord(unsigned int baseScriptIndex, unsigned int baselineTagIndex) const - { - return (this+hAxis).get_base_coord(baseScriptIndex, baselineTagIndex); - } - - inline unsigned int get_v_base_tag_index(Tag baselineTag) const - { - return (this+vAxis).get_base_tag_index(baselineTag); - } - - inline unsigned int get_v_default_base_tag_index_for_script_index (unsigned int baseScriptIndex) const - { - return (this+vAxis).get_default_base_tag_index_for_script_index(baseScriptIndex); - } - - inline int get_v_base_coord(unsigned int baseScriptIndex, unsigned int baselineTagIndex) const - { - return (this+vAxis).get_base_coord(baseScriptIndex, baselineTagIndex); - } - - inline unsigned int get_h_lang_tag_index (unsigned int baseScriptIndex, Tag baseLangSysTag) const - { - return (this+hAxis).get_lang_tag_index (baseScriptIndex, baseLangSysTag); - } - - inline unsigned int get_h_feature_tag_index (unsigned int baseScriptIndex, unsigned int baseLangSysIndex, Tag featureTableTag) const - { - return (this+hAxis).get_feature_tag_index (baseScriptIndex, baseLangSysIndex, featureTableTag); - } - - inline int get_h_max_value (unsigned int baseScriptIndex, unsigned int baseLangSysIndex, unsigned int featureTableTagIndex) const - { - return (this+hAxis).get_max_value (baseScriptIndex, baseLangSysIndex, featureTableTagIndex); - } - - inline int get_h_min_value (unsigned int baseScriptIndex, unsigned int baseLangSysIndex, unsigned int featureTableTagIndex) const - { - return (this+hAxis).get_min_value (baseScriptIndex, baseLangSysIndex, featureTableTagIndex); - } - - inline unsigned int get_v_lang_tag_index (unsigned int baseScriptIndex, Tag baseLangSysTag) const - { - return (this+vAxis).get_lang_tag_index (baseScriptIndex, baseLangSysTag); - } - - inline unsigned int get_v_feature_tag_index (unsigned int baseScriptIndex, unsigned int baseLangSysIndex, Tag featureTableTag) const - { - return (this+vAxis).get_feature_tag_index (baseScriptIndex, baseLangSysIndex, featureTableTag); - } - - inline int get_v_max_value (unsigned int baseScriptIndex, unsigned int baseLangSysIndex, unsigned int featureTableTagIndex) const - { - return (this+vAxis).get_max_value (baseScriptIndex, baseLangSysIndex, featureTableTagIndex); - } - - inline int get_v_min_value (unsigned int baseScriptIndex, unsigned int baseLangSysIndex, unsigned int featureTableTagIndex) const - { - return (this+vAxis).get_min_value (baseScriptIndex, baseLangSysIndex, featureTableTagIndex); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && - likely (version.major == 1) && - hAxis.sanitize (c, this) && - vAxis.sanitize (c, this) && - (version.to_int () < 0x00010001u || varStore.sanitize (c, this))); - } - - protected: - FixedVersion<> version; - OffsetTo hAxis; - OffsetTo vAxis; - LOffsetTo - varStore; /* Offset to the table of Item Variation - * Store--from beginning of BASE - * header (may be NULL). Introduced - * in version 0x00010001. */ - public: - DEFINE_SIZE_MIN (8); -}; - - -} /* namespace OT */ - - -#endif /* HB_OT_LAYOUT_BASE_TABLE_HH */ diff --git a/harfbuzz-1.9.0/src/hb-ot-layout-common.hh b/harfbuzz-1.9.0/src/hb-ot-layout-common.hh deleted file mode 100644 index dd65f3384..000000000 --- a/harfbuzz-1.9.0/src/hb-ot-layout-common.hh +++ /dev/null @@ -1,1971 +0,0 @@ -/* - * Copyright © 2007,2008,2009 Red Hat, Inc. - * Copyright © 2010,2012 Google, Inc. - * - * This is part of HarfBuzz, a text shaping library. - * - * Permission is hereby granted, without written agreement and without - * license or royalty fees, to use, copy, modify, and distribute this - * software and its documentation for any purpose, provided that the - * above copyright notice and the following two paragraphs appear in - * all copies of this software. - * - * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN - * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - * - * Red Hat Author(s): Behdad Esfahbod - * Google Author(s): Behdad Esfahbod - */ - -#ifndef HB_OT_LAYOUT_COMMON_HH -#define HB_OT_LAYOUT_COMMON_HH - -#include "hb.hh" -#include "hb-ot-layout.hh" -#include "hb-open-type.hh" -#include "hb-set.hh" - - -#ifndef HB_MAX_NESTING_LEVEL -#define HB_MAX_NESTING_LEVEL 6 -#endif -#ifndef HB_MAX_CONTEXT_LENGTH -#define HB_MAX_CONTEXT_LENGTH 64 -#endif -#ifndef HB_CLOSURE_MAX_STAGES -/* - * The maximum number of times a lookup can be applied during shaping. - * Used to limit the number of iterations of the closure algorithm. - * This must be larger than the number of times add_pause() is - * called in a collect_features call of any shaper. - */ -#define HB_CLOSURE_MAX_STAGES 32 -#endif - - -namespace OT { - - -#define NOT_COVERED ((unsigned int) -1) - - - -/* - * - * OpenType Layout Common Table Formats - * - */ - - -/* - * Script, ScriptList, LangSys, Feature, FeatureList, Lookup, LookupList - */ - -template -struct Record -{ - inline int cmp (hb_tag_t a) const { - return tag.cmp (a); - } - - struct sanitize_closure_t { - hb_tag_t tag; - const void *list_base; - }; - inline bool sanitize (hb_sanitize_context_t *c, const void *base) const - { - TRACE_SANITIZE (this); - const sanitize_closure_t closure = {tag, base}; - return_trace (c->check_struct (this) && offset.sanitize (c, base, &closure)); - } - - Tag tag; /* 4-byte Tag identifier */ - OffsetTo - offset; /* Offset from beginning of object holding - * the Record */ - public: - DEFINE_SIZE_STATIC (6); -}; - -template -struct RecordArrayOf : SortedArrayOf > -{ - inline const OffsetTo& get_offset (unsigned int i) const - { return (*this)[i].offset; } - inline OffsetTo& get_offset (unsigned int i) - { return (*this)[i].offset; } - inline const Tag& get_tag (unsigned int i) const - { return (*this)[i].tag; } - inline unsigned int get_tags (unsigned int start_offset, - unsigned int *record_count /* IN/OUT */, - hb_tag_t *record_tags /* OUT */) const - { - if (record_count) { - const Record *arr = this->sub_array (start_offset, record_count); - unsigned int count = *record_count; - for (unsigned int i = 0; i < count; i++) - record_tags[i] = arr[i].tag; - } - return this->len; - } - inline bool find_index (hb_tag_t tag, unsigned int *index) const - { - /* If we want to allow non-sorted data, we can lsearch(). */ - int i = this->/*lsearch*/bsearch (tag); - if (i != -1) { - if (index) *index = i; - return true; - } else { - if (index) *index = Index::NOT_FOUND_INDEX; - return false; - } - } -}; - -template -struct RecordListOf : RecordArrayOf -{ - inline const Type& operator [] (unsigned int i) const - { return this+this->get_offset (i); } - - inline bool subset (hb_subset_context_t *c) const - { - TRACE_SUBSET (this); - struct RecordListOf *out = c->serializer->embed (*this); - if (unlikely (!out)) return_trace (false); - unsigned int count = this->len; - for (unsigned int i = 0; i < count; i++) - out->get_offset (i).serialize_subset (c, (*this)[i], out); - return_trace (true); - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (RecordArrayOf::sanitize (c, this)); - } -}; - - -struct RangeRecord -{ - inline int cmp (hb_codepoint_t g) const { - return g < start ? -1 : g <= end ? 0 : +1 ; - } - - inline bool sanitize (hb_sanitize_context_t *c) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this)); - } - - inline bool intersects (const hb_set_t *glyphs) const - { return glyphs->intersects (start, end); } - - template - inline bool add_coverage (set_t *glyphs) const { - return glyphs->add_range (start, end); - } - - GlyphID start; /* First GlyphID in the range */ - GlyphID end; /* Last GlyphID in the range */ - HBUINT16 value; /* Value */ - public: - DEFINE_SIZE_STATIC (6); -}; -DECLARE_NULL_NAMESPACE_BYTES (OT, RangeRecord); - - -struct IndexArray : ArrayOf -{ - inline unsigned int get_indexes (unsigned int start_offset, - unsigned int *_count /* IN/OUT */, - unsigned int *_indexes /* OUT */) const - { - if (_count) { - const HBUINT16 *arr = this->sub_array (start_offset, _count); - unsigned int count = *_count; - for (unsigned int i = 0; i < count; i++) - _indexes[i] = arr[i]; - } - return this->len; - } - - inline void add_indexes_to (hb_set_t* output /* OUT */) const - { - output->add_array (arrayZ, len); - } -}; - - -struct Script; -struct LangSys; -struct Feature; - - -struct LangSys -{ - inline unsigned int get_feature_count (void) const - { return featureIndex.len; } - inline hb_tag_t get_feature_index (unsigned int i) const - { return featureIndex[i]; } - inline unsigned int get_feature_indexes (unsigned int start_offset, - unsigned int *feature_count /* IN/OUT */, - unsigned int *feature_indexes /* OUT */) const - { return featureIndex.get_indexes (start_offset, feature_count, feature_indexes); } - inline void add_feature_indexes_to (hb_set_t *feature_indexes) const - { featureIndex.add_indexes_to (feature_indexes); } - - inline bool has_required_feature (void) const { return reqFeatureIndex != 0xFFFFu; } - inline unsigned int get_required_feature_index (void) const - { - if (reqFeatureIndex == 0xFFFFu) - return Index::NOT_FOUND_INDEX; - return reqFeatureIndex;; - } - - inline bool subset (hb_subset_context_t *c) const - { - TRACE_SUBSET (this); - return_trace (c->serializer->embed (*this)); - } - - inline bool sanitize (hb_sanitize_context_t *c, - const Record::sanitize_closure_t * = nullptr) const - { - TRACE_SANITIZE (this); - return_trace (c->check_struct (this) && featureIndex.sanitize (c)); - } - - Offset16 lookupOrderZ; /* = Null (reserved for an offset to a - * reordering table) */ - HBUINT16 reqFeatureIndex;/* Index of a feature required for this - * language system--if no required features - * = 0xFFFFu */ - IndexArray featureIndex; /* Array of indices into the FeatureList */ - public: - DEFINE_SIZE_ARRAY_SIZED (6, featureIndex); -}; -DECLARE_NULL_NAMESPACE_BYTES (OT, LangSys); - -struct Script -{ - inline unsigned int get_lang_sys_count (void) const - { return langSys.len; } - inline const Tag& get_lang_sys_tag (unsigned int i) const - { return langSys.get_tag (i); } - inline unsigned int get_lang_sys_tags (unsigned int start_offset, - unsigned int *lang_sys_count /* IN/OUT */, - hb_tag_t *lang_sys_tags /* OUT */) const - { return langSys.get_tags (start_offset, lang_sys_count, lang_sys_tags); } - inline const LangSys& get_lang_sys (unsigned int i) const - { - if (i == Index::NOT_FOUND_INDEX) return get_default_lang_sys (); - return this+langSys[i].offset; - } - inline bool find_lang_sys_index (hb_tag_t tag, unsigned int *index) const - { return langSys.find_index (tag, index); } - - inline bool has_default_lang_sys (void) const { return defaultLangSys != 0; } - inline const LangSys& get_default_lang_sys (void) const { return this+defaultLangSys; } - - inline bool subset (hb_subset_context_t *c) const - { - TRACE_SUBSET (this); - struct Script *out = c->serializer->embed (*this); - if (unlikely (!out)) return_trace (false); - out->defaultLangSys.serialize_subset (c, this+defaultLangSys, out); - unsigned int count = langSys.len; - for (unsigned int i = 0; i < count; i++) - out->langSys.arrayZ[i].offset.serialize_subset (c, this+langSys[i].offset, out); - return_trace (true); - } - - inline bool sanitize (hb_sanitize_context_t *c, - const Record