summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2015-09-11 06:48:30 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2015-09-11 06:48:30 +0000
commit9c19cecad3d56b56725b8378d8cf8fcd97c84c7c (patch)
treed86bec53549bea3e7e37fffbc1940aa4f392ef45 /Build
parent8309d3d724c2a6c8981308a9d14c4b26d290f211 (diff)
graphite2 1.3.2
git-svn-id: svn://tug.org/texlive/trunk@38347 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/libs/README2
-rw-r--r--Build/source/libs/graphite2/ChangeLog5
-rw-r--r--Build/source/libs/graphite2/Makefile.am1
-rw-r--r--Build/source/libs/graphite2/Makefile.in13
-rwxr-xr-xBuild/source/libs/graphite2/configure24
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.1/Todo.txt4
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2-PATCHES/ChangeLog (renamed from Build/source/libs/graphite2/graphite2-1.3.1-PATCHES/ChangeLog)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2-PATCHES/TL-Changes (renamed from Build/source/libs/graphite2/graphite2-1.3.1-PATCHES/TL-Changes)2
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/.hg_archival.txt (renamed from Build/source/libs/graphite2/graphite2-1.3.1/.hg_archival.txt)4
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/.hgeol (renamed from Build/source/libs/graphite2/graphite2-1.3.1/.hgeol)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/.hgignore (renamed from Build/source/libs/graphite2/graphite2-1.3.1/.hgignore)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/.hgtags (renamed from Build/source/libs/graphite2/graphite2-1.3.1/.hgtags)1
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/CMakeLists.txt (renamed from Build/source/libs/graphite2/graphite2-1.3.1/CMakeLists.txt)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/COPYING (renamed from Build/source/libs/graphite2/graphite2-1.3.1/COPYING)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/ChangeLog (renamed from Build/source/libs/graphite2/graphite2-1.3.1/ChangeLog)6
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/Graphite.cmake (renamed from Build/source/libs/graphite2/graphite2-1.3.1/Graphite.cmake)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/LICENSE (renamed from Build/source/libs/graphite2/graphite2-1.3.1/LICENSE)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/Todo.txt8
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/graphite2.pc.in (renamed from Build/source/libs/graphite2/graphite2-1.3.1/graphite2.pc.in)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/include/graphite2/Font.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/include/graphite2/Font.h)2
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/include/graphite2/Log.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/include/graphite2/Log.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/include/graphite2/Segment.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/include/graphite2/Segment.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/include/graphite2/Types.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/include/graphite2/Types.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Bidi.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Bidi.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/CMakeLists.txt (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/CMakeLists.txt)1
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/CachedFace.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/CachedFace.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/CmapCache.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/CmapCache.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Code.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Code.cpp)1
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Collider.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Collider.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Decompressor.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Decompressor.cpp)22
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Face.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Face.cpp)6
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/FeatureMap.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/FeatureMap.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/FileFace.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/FileFace.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Font.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Font.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/GlyphCache.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/GlyphCache.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/GlyphFace.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/GlyphFace.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Intervals.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Intervals.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Justifier.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Justifier.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/NameTable.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/NameTable.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Pass.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Pass.cpp)21
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Position.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Position.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/SegCache.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/SegCache.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/SegCacheEntry.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/SegCacheEntry.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/SegCacheStore.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/SegCacheStore.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Segment.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Segment.cpp)59
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Silf.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Silf.cpp)26
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Slot.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Slot.cpp)1
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/Sparse.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/Sparse.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/TtfUtil.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/TtfUtil.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/UtfCodec.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/UtfCodec.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/call_machine.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/call_machine.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/direct_machine.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/direct_machine.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/files.mk (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/files.mk)2
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/gr_char_info.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/gr_char_info.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/gr_face.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/gr_face.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/gr_features.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/gr_features.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/gr_font.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/gr_font.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/gr_logging.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/gr_logging.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/gr_segment.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/gr_segment.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/gr_slot.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/gr_slot.cpp)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Bidi.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Bidi.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/CachedFace.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/CachedFace.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/CharInfo.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/CharInfo.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/CmapCache.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/CmapCache.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Code.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Code.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Collider.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Collider.h)2
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Compression.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Compression.h)13
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Decompressor.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Decompressor.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Endian.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Endian.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Error.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Error.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Face.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Face.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/FeatureMap.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/FeatureMap.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/FeatureVal.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/FeatureVal.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/FileFace.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/FileFace.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Font.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Font.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/GlyphCache.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/GlyphCache.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/GlyphFace.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/GlyphFace.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Intervals.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Intervals.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/List.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/List.h)1
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Machine.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Machine.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Main.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Main.h)4
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/NameTable.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/NameTable.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Pass.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Pass.h)4
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Position.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Position.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Rule.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Rule.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/SegCache.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/SegCache.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/SegCacheEntry.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/SegCacheEntry.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/SegCacheStore.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/SegCacheStore.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Segment.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Segment.h)21
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Silf.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Silf.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Slot.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Slot.h)5
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Sparse.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Sparse.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/TtfTypes.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/TtfTypes.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/TtfUtil.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/TtfUtil.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/UtfCodec.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/UtfCodec.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/bits.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/bits.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/debug.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/debug.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/json.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/json.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/locale2lcid.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/locale2lcid.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/opcode_table.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/opcode_table.h)0
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/inc/opcodes.h (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/inc/opcodes.h)2
-rw-r--r--Build/source/libs/graphite2/graphite2-1.3.2/src/json.cpp (renamed from Build/source/libs/graphite2/graphite2-1.3.1/src/json.cpp)0
-rw-r--r--Build/source/libs/graphite2/version.ac2
103 files changed, 156 insertions, 109 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README
index 06c07be5481..35b7a61343f 100644
--- a/Build/source/libs/README
+++ b/Build/source/libs/README
@@ -21,7 +21,7 @@ gd 2.1.1 - checked 14jan15
gmp 6.0.0 - checked 25mar14
http://ftp.gnu.org/gnu/gmp/
-graphite2 1.3.1 - checked 31aug15
+graphite2 1.3.2 - checked 11sep15
http://sourceforge.net/projects/silgraphite/files/graphite2/
harfbuzz 1.0.3 - checked 2sep15
diff --git a/Build/source/libs/graphite2/ChangeLog b/Build/source/libs/graphite2/ChangeLog
index e20305344ab..d22bca944aa 100644
--- a/Build/source/libs/graphite2/ChangeLog
+++ b/Build/source/libs/graphite2/ChangeLog
@@ -1,3 +1,8 @@
+2015-09-11 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import graphite2-1.3.2.
+ * Makefile.am, version.ac: Adapted.
+
2015-08-31 Peter Breitenlohner <peb@mppmu.mpg.de>
Import graphite2-1.3.1.
diff --git a/Build/source/libs/graphite2/Makefile.am b/Build/source/libs/graphite2/Makefile.am
index c4f4d22e582..4f44d14b813 100644
--- a/Build/source/libs/graphite2/Makefile.am
+++ b/Build/source/libs/graphite2/Makefile.am
@@ -29,7 +29,6 @@ noinst_LIBRARIES = libgraphite2.a
AM_CPPFLAGS = -I$(top_srcdir)/$(GRAPHITE2_SRC) -I$(top_srcdir)/$(GRAPHITE2_INC)
AM_CPPFLAGS += -DGRAPHITE2_STATIC -DGRAPHITE2_CUSTOM_HEADER='<config.h>'
libgraphite2_a_SOURCES = \
- @GRAPHITE2_TREE@/src/Bidi.cpp \
@GRAPHITE2_TREE@/src/CachedFace.cpp \
@GRAPHITE2_TREE@/src/CmapCache.cpp \
@GRAPHITE2_TREE@/src/Code.cpp \
diff --git a/Build/source/libs/graphite2/Makefile.in b/Build/source/libs/graphite2/Makefile.in
index cdaa56406f1..4cef4adff54 100644
--- a/Build/source/libs/graphite2/Makefile.in
+++ b/Build/source/libs/graphite2/Makefile.in
@@ -124,8 +124,7 @@ am__v_AR_0 = @echo " AR " $@;
am__v_AR_1 =
libgraphite2_a_AR = $(AR) $(ARFLAGS)
libgraphite2_a_LIBADD =
-am__libgraphite2_a_SOURCES_DIST = @GRAPHITE2_TREE@/src/Bidi.cpp \
- @GRAPHITE2_TREE@/src/CachedFace.cpp \
+am__libgraphite2_a_SOURCES_DIST = @GRAPHITE2_TREE@/src/CachedFace.cpp \
@GRAPHITE2_TREE@/src/CmapCache.cpp \
@GRAPHITE2_TREE@/src/Code.cpp \
@GRAPHITE2_TREE@/src/Collider.cpp \
@@ -169,8 +168,7 @@ am__dirstamp = $(am__leading_dot)dirstamp
@WITH_FILEFACE_TRUE@ @GRAPHITE2_TREE@/src/FileFace.$(OBJEXT)
@WITH_TRACING_TRUE@am__objects_5 = \
@WITH_TRACING_TRUE@ @GRAPHITE2_TREE@/src/json.$(OBJEXT)
-am_libgraphite2_a_OBJECTS = @GRAPHITE2_TREE@/src/Bidi.$(OBJEXT) \
- @GRAPHITE2_TREE@/src/CachedFace.$(OBJEXT) \
+am_libgraphite2_a_OBJECTS = @GRAPHITE2_TREE@/src/CachedFace.$(OBJEXT) \
@GRAPHITE2_TREE@/src/CmapCache.$(OBJEXT) \
@GRAPHITE2_TREE@/src/Code.$(OBJEXT) \
@GRAPHITE2_TREE@/src/Collider.$(OBJEXT) \
@@ -661,8 +659,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/$(GRAPHITE2_SRC) \
-I$(top_srcdir)/$(GRAPHITE2_INC) -DGRAPHITE2_STATIC \
-DGRAPHITE2_CUSTOM_HEADER='<config.h>' $(am__append_4) \
$(am__append_6) $(am__append_8)
-libgraphite2_a_SOURCES = @GRAPHITE2_TREE@/src/Bidi.cpp \
- @GRAPHITE2_TREE@/src/CachedFace.cpp \
+libgraphite2_a_SOURCES = @GRAPHITE2_TREE@/src/CachedFace.cpp \
@GRAPHITE2_TREE@/src/CmapCache.cpp \
@GRAPHITE2_TREE@/src/Code.cpp \
@GRAPHITE2_TREE@/src/Collider.cpp \
@@ -766,9 +763,6 @@ clean-noinstLIBRARIES:
@GRAPHITE2_TREE@/src/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) @GRAPHITE2_TREE@/src/$(DEPDIR)
@: > @GRAPHITE2_TREE@/src/$(DEPDIR)/$(am__dirstamp)
-@GRAPHITE2_TREE@/src/Bidi.$(OBJEXT): \
- @GRAPHITE2_TREE@/src/$(am__dirstamp) \
- @GRAPHITE2_TREE@/src/$(DEPDIR)/$(am__dirstamp)
@GRAPHITE2_TREE@/src/CachedFace.$(OBJEXT): \
@GRAPHITE2_TREE@/src/$(am__dirstamp) \
@GRAPHITE2_TREE@/src/$(DEPDIR)/$(am__dirstamp)
@@ -896,7 +890,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gr2test-dummy.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gr2test-gr2test.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@@GRAPHITE2_TREE@/src/$(DEPDIR)/Bidi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GRAPHITE2_TREE@/src/$(DEPDIR)/CachedFace.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GRAPHITE2_TREE@/src/$(DEPDIR)/CmapCache.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@GRAPHITE2_TREE@/src/$(DEPDIR)/Code.Po@am__quote@
diff --git a/Build/source/libs/graphite2/configure b/Build/source/libs/graphite2/configure
index 4ce3093aaae..1796a850a9d 100755
--- a/Build/source/libs/graphite2/configure
+++ b/Build/source/libs/graphite2/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for graphite2 (TeX Live) 1.3.1.
+# Generated by GNU Autoconf 2.69 for graphite2 (TeX Live) 1.3.2.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -579,12 +579,12 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='graphite2 (TeX Live)'
PACKAGE_TARNAME='graphite2--tex-live-'
-PACKAGE_VERSION='1.3.1'
-PACKAGE_STRING='graphite2 (TeX Live) 1.3.1'
+PACKAGE_VERSION='1.3.2'
+PACKAGE_STRING='graphite2 (TeX Live) 1.3.2'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="graphite2-1.3.1/graphite2.pc.in"
+ac_unique_file="graphite2-1.3.2/graphite2.pc.in"
ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
@@ -1254,7 +1254,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures graphite2 (TeX Live) 1.3.1 to adapt to many kinds of systems.
+\`configure' configures graphite2 (TeX Live) 1.3.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1321,7 +1321,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of graphite2 (TeX Live) 1.3.1:";;
+ short | recursive ) echo "Configuration of graphite2 (TeX Live) 1.3.2:";;
esac
cat <<\_ACEOF
@@ -1419,7 +1419,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-graphite2 (TeX Live) configure 1.3.1
+graphite2 (TeX Live) configure 1.3.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1558,7 +1558,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by graphite2 (TeX Live) $as_me 1.3.1, which was
+It was created by graphite2 (TeX Live) $as_me 1.3.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3481,7 +3481,7 @@ fi
# Define the identity of the package.
PACKAGE='graphite2--tex-live-'
- VERSION='1.3.1'
+ VERSION='1.3.2'
cat >>confdefs.h <<_ACEOF
@@ -5009,7 +5009,7 @@ $as_echo "#define GRAPHITE2_NTRACING 1" >>confdefs.h
fi
-GRAPHITE2_TREE=graphite2-1.3.1
+GRAPHITE2_TREE=graphite2-1.3.2
ac_config_files="$ac_config_files Makefile include/graphite2/Makefile"
@@ -5577,7 +5577,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by graphite2 (TeX Live) $as_me 1.3.1, which was
+This file was extended by graphite2 (TeX Live) $as_me 1.3.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5643,7 +5643,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-graphite2 (TeX Live) config.status 1.3.1
+graphite2 (TeX Live) config.status 1.3.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/Todo.txt b/Build/source/libs/graphite2/graphite2-1.3.1/Todo.txt
deleted file mode 100644
index 6e8d63c0a09..00000000000
--- a/Build/source/libs/graphite2/graphite2-1.3.1/Todo.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Expected changes to come:
-
-Questions:
-* Do we support glyphid as a slot attribute?
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1-PATCHES/ChangeLog b/Build/source/libs/graphite2/graphite2-1.3.2-PATCHES/ChangeLog
index 8d3061edbaf..8d3061edbaf 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1-PATCHES/ChangeLog
+++ b/Build/source/libs/graphite2/graphite2-1.3.2-PATCHES/ChangeLog
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1-PATCHES/TL-Changes b/Build/source/libs/graphite2/graphite2-1.3.2-PATCHES/TL-Changes
index 7576803aca2..e3aa57cb155 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1-PATCHES/TL-Changes
+++ b/Build/source/libs/graphite2/graphite2-1.3.2-PATCHES/TL-Changes
@@ -1,4 +1,4 @@
-Changes applied to the graphite2-1.3.1/ tree as obtained from:
+Changes applied to the graphite2-1.3.2/ tree as obtained from:
http://sourceforge.net/projects/silgraphite/files/graphite2/
Removed unused dirs:
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/.hg_archival.txt b/Build/source/libs/graphite2/graphite2-1.3.2/.hg_archival.txt
index ae21dbbdead..9945022b1d9 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/.hg_archival.txt
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/.hg_archival.txt
@@ -1,5 +1,5 @@
repo: 999e2033695c3bcf2f65d611737ac9008805bd58
-node: 39207d6bae05dff037c3a6cfba8019cf66c28d56
+node: 0f9edca718496582b5d97fdb3c32c34192b10c37
branch: default
-latesttag: 1.3.1
+latesttag: 1.3.2
latesttagdistance: 1
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/.hgeol b/Build/source/libs/graphite2/graphite2-1.3.2/.hgeol
index 5eb1fc19d0f..5eb1fc19d0f 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/.hgeol
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/.hgeol
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/.hgignore b/Build/source/libs/graphite2/graphite2-1.3.2/.hgignore
index 59c168c2179..59c168c2179 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/.hgignore
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/.hgignore
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/.hgtags b/Build/source/libs/graphite2/graphite2-1.3.2/.hgtags
index e2324445788..a77aa5abf35 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/.hgtags
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/.hgtags
@@ -35,3 +35,4 @@ fb4b0c347a953f6aa656a4e414f8e42e91c00c2b 1.2.0
1c1f050f234665cba946f3f4624baf55e3e54299 1.3.1
1c1f050f234665cba946f3f4624baf55e3e54299 1.3.1
07d926106a065faba719db1829c59ec836ec1ded 1.3.1
+158e147bfb47d9f5b292230a841ff65466c8669d 1.3.2
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/CMakeLists.txt b/Build/source/libs/graphite2/graphite2-1.3.2/CMakeLists.txt
index bb8d75bd63a..bb8d75bd63a 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/CMakeLists.txt
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/CMakeLists.txt
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/COPYING b/Build/source/libs/graphite2/graphite2-1.3.2/COPYING
index d40f2d84587..d40f2d84587 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/COPYING
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/COPYING
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/ChangeLog b/Build/source/libs/graphite2/graphite2-1.3.2/ChangeLog
index 433e564d050..f005fb55e5e 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/ChangeLog
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/ChangeLog
@@ -1,3 +1,9 @@
+1.3.2
+ . Remove full bidi. All segments are assumed to be single directioned.
+ . Bug fixes:
+ . Decompressor corner cases
+ . Various fuzz bugs
+
1.3.1
. Deprecation warning: Full bidi support is about to be deprecated. Make contact
if this impacts you.
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/Graphite.cmake b/Build/source/libs/graphite2/graphite2-1.3.2/Graphite.cmake
index 30980a506c7..30980a506c7 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/Graphite.cmake
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/Graphite.cmake
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/LICENSE b/Build/source/libs/graphite2/graphite2-1.3.2/LICENSE
index 2d2d780e601..2d2d780e601 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/LICENSE
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/LICENSE
diff --git a/Build/source/libs/graphite2/graphite2-1.3.2/Todo.txt b/Build/source/libs/graphite2/graphite2-1.3.2/Todo.txt
new file mode 100644
index 00000000000..c4e680ddeb9
--- /dev/null
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/Todo.txt
@@ -0,0 +1,8 @@
+Expected changes to come:
+* Change regression testing to use binary diffs of fonts instead of font locations
+* Move to github
+* Reduce size of committed test/ tree
+* Remove dead bidi code
+
+Questions:
+* Do we support glyphid as a slot attribute?
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/graphite2.pc.in b/Build/source/libs/graphite2/graphite2-1.3.2/graphite2.pc.in
index a4f19b39ce4..a4f19b39ce4 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/graphite2.pc.in
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/graphite2.pc.in
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/include/graphite2/Font.h b/Build/source/libs/graphite2/graphite2-1.3.2/include/graphite2/Font.h
index 83bb9b35610..ec84bf5cd64 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/include/graphite2/Font.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/include/graphite2/Font.h
@@ -30,7 +30,7 @@
#define GR2_VERSION_MAJOR 1
#define GR2_VERSION_MINOR 3
-#define GR2_VERSION_BUGFIX 1
+#define GR2_VERSION_BUGFIX 2
#ifdef __cplusplus
extern "C"
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/include/graphite2/Log.h b/Build/source/libs/graphite2/graphite2-1.3.2/include/graphite2/Log.h
index d1c6f0fe36f..d1c6f0fe36f 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/include/graphite2/Log.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/include/graphite2/Log.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/include/graphite2/Segment.h b/Build/source/libs/graphite2/graphite2-1.3.2/include/graphite2/Segment.h
index 0c3c49a3acf..0c3c49a3acf 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/include/graphite2/Segment.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/include/graphite2/Segment.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/include/graphite2/Types.h b/Build/source/libs/graphite2/graphite2-1.3.2/include/graphite2/Types.h
index e8e45c1ff8f..e8e45c1ff8f 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/include/graphite2/Types.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/include/graphite2/Types.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Bidi.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Bidi.cpp
index 48ec2ebfcd5..48ec2ebfcd5 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Bidi.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Bidi.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/CMakeLists.txt b/Build/source/libs/graphite2/graphite2-1.3.2/src/CMakeLists.txt
index 47d64567b54..9983e019705 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/CMakeLists.txt
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/CMakeLists.txt
@@ -74,7 +74,6 @@ add_library(graphite2 SHARED
gr_logging.cpp
gr_segment.cpp
gr_slot.cpp
- Bidi.cpp
CachedFace.cpp
CmapCache.cpp
Code.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/CachedFace.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/CachedFace.cpp
index fd599bde8aa..fd599bde8aa 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/CachedFace.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/CachedFace.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/CmapCache.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/CmapCache.cpp
index a945ef23443..a945ef23443 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/CmapCache.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/CmapCache.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Code.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Code.cpp
index e45f825dfae..0cbb9f62e69 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Code.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Code.cpp
@@ -617,6 +617,7 @@ void Machine::Code::decoder::apply_analysis(instr * const code, instr * code_end
*tip = temp_copy;
++code_end;
++tempcount;
+ _code._delete = true;
}
_code._instr_count = code_end - code;
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Collider.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Collider.cpp
index fa8ed0d40a6..fa8ed0d40a6 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Collider.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Collider.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Decompressor.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Decompressor.cpp
index 39bdced3032..ec5dfcdc26f 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Decompressor.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Decompressor.cpp
@@ -65,6 +65,9 @@ bool read_sequence(u8 const * &src, u8 const * const end, u8 const * &literal, u
int lz4::decompress(void const *in, size_t in_size, void *out, size_t out_size)
{
+ if (out_size <= in_size)
+ return -1;
+
u8 const * src = static_cast<u8 const *>(in),
* literal = 0,
* const src_end = src + in_size;
@@ -78,25 +81,26 @@ int lz4::decompress(void const *in, size_t in_size, void *out, size_t out_size)
while (read_sequence(src, src_end, literal, literal_len, match_len, match_dist))
{
- // Copy in literal
- if (unlikely(literal + literal_len + sizeof(unsigned long) > src_end
- || dst + literal_len + sizeof(unsigned long) > dst_end))
+ // Copy in literal. At this point the last full sequence must be at
+ // least MINMATCH + 5 from the end of the output buffer.
+ if (unlikely(literal + align(literal_len) > src_end
+ || dst + align(literal_len) > dst_end - MINMATCH+5))
return -1;
- dst = memcpy_nooverlap(dst, literal, literal_len);
-
+ dst = overrun_copy(dst, literal, literal_len);
+
// Copy, possibly repeating, match from earlier in the
// decoded output.
u8 const * const pcpy = dst - match_dist;
- if (unlikely(pcpy < static_cast<u8*>(out)
- || dst + match_len + MINMATCH + sizeof(unsigned long) > dst_end))
+ if (unlikely(pcpy < static_cast<u8*>(out)
+ || dst + align(match_len + MINMATCH) > dst_end))
return -1;
- dst = memcpy_(dst, pcpy, match_len + MINMATCH);
+ dst = copy(dst, pcpy, match_len + MINMATCH);
}
if (unlikely(literal + literal_len > src_end
|| dst + literal_len > dst_end))
return -1;
- dst = memcpy_nooverlap_surpass(dst, literal, literal_len);
+ dst = fast_copy(dst, literal, literal_len);
return dst - (u8*)out;
}
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Face.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Face.cpp
index 2f6c98a1658..e10f09b248f 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Face.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Face.cpp
@@ -173,8 +173,10 @@ bool Face::runGraphite(Segment *seg, const Silf *aSilf) const
}
#endif
- if ((seg->dir() & 1) != aSilf->dir())
- seg->reverseSlots();
+// if ((seg->dir() & 1) != aSilf->dir())
+// seg->reverseSlots();
+ if ((seg->dir() & 3) == 3 && aSilf->bidiPass() == 0xFF)
+ seg->doMirror(aSilf->aMirror());
bool res = aSilf->runGraphite(seg, 0, aSilf->positionPass(), true);
if (res)
{
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/FeatureMap.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/FeatureMap.cpp
index b8c8405276a..b8c8405276a 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/FeatureMap.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/FeatureMap.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/FileFace.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/FileFace.cpp
index 43aff71a719..43aff71a719 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/FileFace.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/FileFace.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Font.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Font.cpp
index 5cec362bfc6..5cec362bfc6 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Font.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Font.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/GlyphCache.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/GlyphCache.cpp
index d1e2b48fbd7..d1e2b48fbd7 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/GlyphCache.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/GlyphCache.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/GlyphFace.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/GlyphFace.cpp
index 9fc11b2157e..9fc11b2157e 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/GlyphFace.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/GlyphFace.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Intervals.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Intervals.cpp
index 3a252c54fed..3a252c54fed 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Intervals.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Intervals.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Justifier.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Justifier.cpp
index e75d7508f0d..e75d7508f0d 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Justifier.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Justifier.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/NameTable.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/NameTable.cpp
index f83adb09cd8..f83adb09cd8 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/NameTable.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/NameTable.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Pass.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Pass.cpp
index 512d1605399..c1764b350b9 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Pass.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Pass.cpp
@@ -72,7 +72,8 @@ Pass::Pass()
m_numColumns(0),
m_minPreCtxt(0),
m_maxPreCtxt(0),
- m_colThreshold(0)
+ m_colThreshold(0),
+ m_isReverseDir(false)
{
}
@@ -103,6 +104,7 @@ bool Pass::readPass(const byte * const pass_start, size_t pass_length, size_t su
return face.error(e);
m_numCollRuns = flags & 0x7;
m_kernColls = (flags >> 3) & 0x3;
+ m_isReverseDir = (flags >> 5) & 0x1;
m_iMaxLoop = be::read<byte>(p);
if (m_iMaxLoop < 1) m_iMaxLoop = 1;
be::skip<byte>(p,2); // skip maxContext & maxBackup
@@ -226,7 +228,7 @@ bool Pass::readRules(const byte * rule_map, const size_t num_entries,
m_rules = new Rule [m_numRules];
m_codes = new Code [m_numRules*2];
const size_t prog_pool_sz = vm::Machine::Code::estimateCodeDataOut(ac_end - ac_data + rc_end - rc_data);
- m_progs = static_cast<byte *>(malloc(prog_pool_sz));
+ m_progs = gralloc<byte>(prog_pool_sz);
byte * prog_pool_free = m_progs,
* prog_pool_end = m_progs + prog_pool_sz;
if (e.test(!(m_rules && m_codes && m_progs), E_OUTOFMEM)) return face.error(e);
@@ -260,16 +262,16 @@ bool Pass::readRules(const byte * rule_map, const size_t num_entries,
return face.error(e);
}
- // Shrink the program pool
- // TODO: Coverty: 1315808: RESOURCE_LEAK - Resolved
- ptrdiff_t const delta = static_cast<byte *>(realloc(m_progs, prog_pool_free - m_progs)) - m_progs;
- if (delta)
+ byte * moved_progs = static_cast<byte *>(realloc(m_progs, prog_pool_free - m_progs));
+ if (e.test(!moved_progs, E_OUTOFMEM)) return face.error(e);
+
+ if (moved_progs != m_progs)
{
- m_progs += delta;
for (Code * c = m_codes, * const ce = c + m_numRules*2; c != ce; ++c)
{
- c->externalProgramMoved(delta);
+ c->externalProgramMoved(moved_progs - m_progs);
}
+ m_progs = moved_progs;
}
// Load the rule entries map
@@ -377,10 +379,11 @@ bool Pass::readRanges(const byte * ranges, size_t num_ranges, Error &e)
}
-bool Pass::runGraphite(vm::Machine & m, FiniteStateMachine & fsm) const
+bool Pass::runGraphite(vm::Machine & m, FiniteStateMachine & fsm, bool reverse) const
{
Slot *s = m.slotMap().segment.first();
if (!s || !testPassConstraint(m)) return true;
+ if (reverse) m.slotMap().segment.reverseSlots();
if (m_numRules)
{
Slot *currHigh = s->next();
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Position.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Position.cpp
index 17247987591..17247987591 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Position.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Position.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/SegCache.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/SegCache.cpp
index b577efa270a..b577efa270a 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/SegCache.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/SegCache.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/SegCacheEntry.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/SegCacheEntry.cpp
index d35912d5aed..d35912d5aed 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/SegCacheEntry.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/SegCacheEntry.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/SegCacheStore.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/SegCacheStore.cpp
index 236fb707ffa..236fb707ffa 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/SegCacheStore.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/SegCacheStore.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Segment.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Segment.cpp
index 745575217ac..d24dfe4f723 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Segment.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Segment.cpp
@@ -36,7 +36,7 @@ of the License or (at your option) any later version.
#include "inc/Slot.h"
#include "inc/Main.h"
#include "inc/CmapCache.h"
-#include "inc/Bidi.h"
+//#include "inc/Bidi.h"
#include "inc/Collider.h"
#include "graphite2/Segment.h"
@@ -156,12 +156,12 @@ void Segment::appendSlot(int id, int cid, int gid, int iFeats, size_t coffset)
aSlot->originate(id);
aSlot->before(id);
aSlot->after(id);
- uint8 aBidi = m_silf->aBidi();
- if (aBidi != 0xFF)
- {
- unsigned int bAttr = glyphAttr(gid, aBidi);
- aSlot->setBidiClass((bAttr <= 22) * bAttr);
- }
+// uint8 aBidi = m_silf->aBidi();
+// if (aBidi != 0xFF)
+// {
+// unsigned int bAttr = glyphAttr(gid, aBidi);
+// aSlot->setBidiClass((bAttr <= 22) * bAttr);
+// }
if (m_last) m_last->next(aSlot);
aSlot->prev(m_last);
m_last = aSlot;
@@ -322,23 +322,31 @@ void Segment::splice(size_t offset, size_t length, Slot * const startSlot,
// reverse the slots but keep diacritics in their same position after their bases
void Segment::reverseSlots()
{
- if (!m_first) return;
+ m_dir = m_dir ^ 64; // invert the reverse flag
+ if (m_first == m_last) return; // skip 0 or 1 glyph runs
Slot *t = 0;
Slot *curr = m_first;
- Slot *tlast = m_first;
+ Slot *tlast;
+ Slot *tfirst;
Slot *out = 0;
+ while (curr && getSlotBidiClass(curr) == 16)
+ curr = curr->next();
+ if (!curr) return;
+ tfirst = curr->prev();
+ tlast = curr;
+
while (curr)
{
- if (curr->getBidiClass() == 16)
+ if (getSlotBidiClass(curr) == 16)
{
Slot *d = curr->next();
- while (d && d->getBidiClass() == 16)
+ while (d && getSlotBidiClass(d) == 16)
d = d->next();
d = d ? d->prev() : m_last;
- Slot *p = out ? out->next() : 0; // one after the diacritics
+ Slot *p = out->next(); // one after the diacritics. out can't be null
if (p)
p->prev(d);
else
@@ -346,10 +354,9 @@ void Segment::reverseSlots()
t = d->next();
d->next(p);
curr->prev(out);
- if (out)
- out->next(curr);
+ out->next(curr);
}
- else
+ else // will always fire first time round the loop
{
if (out)
out->prev(curr);
@@ -359,9 +366,12 @@ void Segment::reverseSlots()
}
curr = t;
}
- out->prev(0);
+ out->prev(tfirst);
+ if (tfirst)
+ tfirst->next(out);
+ else
+ m_first = out;
m_last = tlast;
- m_first = out;
}
void Segment::linkClusters(Slot *s, Slot * end)
@@ -492,6 +502,7 @@ bool Segment::read_text(const Face *face, const Features* pFeats/*must not be NU
return true;
}
+#if 0
Slot *process_bidi(Slot *start, int level, int prelevel, int &nextLevel, int dirover, int isol, int &cisol, int &isolerr, int &embederr, int init, Segment *seg, uint8 aMirror, BracketPairStack &stack);
void resolveImplicit(Slot *s, Segment *seg, uint8 aMirror);
void resolveWhitespace(int baseLevel, Slot *s);
@@ -508,7 +519,7 @@ void Segment::bidiPass(int paradir, uint8 aMirror)
unsigned int ssize = 0;
for (s = first(); s; s = s->next())
{
- if (s->getBidiClass() < 0)
+ if (getSlotBidiClass(s) < 0)
s->setBidiClass(0);
bmask |= (1 << s->getBidiClass());
s->setBidiLevel(baseLevel);
@@ -541,6 +552,18 @@ void Segment::bidiPass(int paradir, uint8 aMirror)
}
}
}
+#endif
+
+void Segment::doMirror(uint16 aMirror)
+{
+ Slot * s;
+ for (s = m_first; s; s = s->next())
+ {
+ unsigned short g = glyphAttr(s->gid(), aMirror);
+ if (g && (!(dir() & 4) || !glyphAttr(s->gid(), aMirror + 1)))
+ s->setGlyph(this, g);
+ }
+}
bool Segment::initCollisions()
{
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Silf.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Silf.cpp
index dc964224cf8..a5a0efc75b3 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Silf.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Silf.cpp
@@ -394,26 +394,13 @@ bool Silf::runGraphite(Segment *seg, uint8 firstPass, uint8 lastPass, int dobidi
<< json::close;
}
#endif
-
- if (!(seg->dir() & 2) && m_aBidi != 0xFF)
- {
- if ((seg->dir() & 1) != m_dir)
- seg->reverseSlots();
- seg->bidiPass(m_dir, m_aMirror);
- }
- else if (m_aMirror && (seg->dir() & 1))
- {
- Slot * s;
- for (s = seg->first(); s; s = s->next())
- {
- unsigned short g = seg->glyphAttr(s->gid(), m_aMirror);
- if (g && (!(seg->dir() & 4) || !seg->glyphAttr(s->gid(), m_aMirror + 1)))
- s->setGlyph(seg, g);
- }
- }
+ if (seg->currdir() != m_dir)
+ seg->reverseSlots();
+ if (m_aMirror && (seg->dir() & 3) == 3)
+ seg->doMirror(m_aMirror);
--i;
+ lbidi = lastPass;
--lastPass;
- lbidi = 0xFF;
continue;
}
@@ -431,8 +418,9 @@ bool Silf::runGraphite(Segment *seg, uint8 firstPass, uint8 lastPass, int dobidi
#endif
// test whether to reorder, prepare for positioning
+ bool reverse = (lbidi == 0xFF) && (seg->currdir() != ((m_dir & 1) ^ m_passes[i].reverseDir()));
if ((i >= 32 || (seg->passBits() & (1 << i)) == 0 || m_passes[i].collisionLoops())
- && !m_passes[i].runGraphite(m, fsm))
+ && !m_passes[i].runGraphite(m, fsm, reverse))
return false;
// only subsitution passes can change segment length, cached subsegments are short for their text
if (m.status() != vm::Machine::finished
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Slot.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Slot.cpp
index c0fa5f71dc0..dd2a89bc9cd 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Slot.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Slot.cpp
@@ -447,6 +447,7 @@ bool Slot::removeSibling(Slot *ap)
void Slot::setGlyph(Segment *seg, uint16 glyphid, const GlyphFace * theGlyph)
{
m_glyphid = glyphid;
+ m_bidiCls = -1;
if (!theGlyph)
{
theGlyph = seg->getFace()->glyphs().glyphSafe(glyphid);
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/Sparse.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/Sparse.cpp
index aa43113669b..aa43113669b 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/Sparse.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/Sparse.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/TtfUtil.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/TtfUtil.cpp
index 7be8ecdb573..7be8ecdb573 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/TtfUtil.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/TtfUtil.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/UtfCodec.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/UtfCodec.cpp
index d1db5fa11f1..d1db5fa11f1 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/UtfCodec.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/UtfCodec.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/call_machine.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/call_machine.cpp
index e1d0ce5d2ff..e1d0ce5d2ff 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/call_machine.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/call_machine.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/direct_machine.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/direct_machine.cpp
index b6b9ee04235..b6b9ee04235 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/direct_machine.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/direct_machine.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/files.mk b/Build/source/libs/graphite2/graphite2-1.3.2/src/files.mk
index 5d485966fb7..fde83761c56 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/files.mk
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/files.mk
@@ -47,7 +47,6 @@ $(_NS)_SOURCES = \
$($(_NS)_BASE)/src/gr_segment.cpp \
$($(_NS)_BASE)/src/gr_slot.cpp \
$($(_NS)_BASE)/src/json.cpp \
- $($(_NS)_BASE)/src/Bidi.cpp \
$($(_NS)_BASE)/src/CachedFace.cpp \
$($(_NS)_BASE)/src/CmapCache.cpp \
$($(_NS)_BASE)/src/Code.cpp \
@@ -78,7 +77,6 @@ $(_NS)_PRIVATE_HEADERS = \
$($(_NS)_BASE)/src/inc/bits.h \
$($(_NS)_BASE)/src/inc/debug.h \
$($(_NS)_BASE)/src/inc/json.h \
- $($(_NS)_BASE)/src/inc/Bidi.h \
$($(_NS)_BASE)/src/inc/CachedFace.h \
$($(_NS)_BASE)/src/inc/CharInfo.h \
$($(_NS)_BASE)/src/inc/CmapCache.h \
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_char_info.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_char_info.cpp
index ebcb68e593f..ebcb68e593f 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_char_info.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_char_info.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_face.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_face.cpp
index fe1eb838207..fe1eb838207 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_face.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_face.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_features.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_features.cpp
index 38cebb7b5db..38cebb7b5db 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_features.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_features.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_font.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_font.cpp
index ed70ab7381e..ed70ab7381e 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_font.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_font.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_logging.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_logging.cpp
index 3e453ba8e2c..3e453ba8e2c 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_logging.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_logging.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_segment.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_segment.cpp
index 0ab7a0854cc..0ab7a0854cc 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_segment.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_segment.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_slot.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_slot.cpp
index 0e41f6cb519..0e41f6cb519 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/gr_slot.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/gr_slot.cpp
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Bidi.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Bidi.h
index 9593c7e149a..9593c7e149a 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Bidi.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Bidi.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/CachedFace.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/CachedFace.h
index 53674754ee2..53674754ee2 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/CachedFace.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/CachedFace.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/CharInfo.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/CharInfo.h
index d9e56eeed64..d9e56eeed64 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/CharInfo.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/CharInfo.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/CmapCache.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/CmapCache.h
index 7820c958b0e..7820c958b0e 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/CmapCache.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/CmapCache.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Code.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Code.h
index 02d09a109d6..02d09a109d6 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Code.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Code.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Collider.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Collider.h
index 280dcf23920..bfa290978b0 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Collider.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Collider.h
@@ -28,7 +28,7 @@ of the License or (at your option) any later version.
#include <utility>
#include "inc/List.h"
-#include "inc/Slot.h"
+//#include "inc/Slot.h"
#include "inc/Position.h"
#include "inc/Intervals.h"
#include "inc/debug.h"
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Compression.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Compression.h
index 5d6cf37a045..2a665f3a364 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Compression.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Compression.h
@@ -68,7 +68,12 @@ void unaligned_copy(void * d, void const * s) {
}
inline
-u8 * memcpy_nooverlap(u8 * d, u8 const * s, size_t n) {
+size_t align(size_t p) {
+ return (p + sizeof(unsigned long)-1) & ~(sizeof(unsigned long)-1);
+}
+
+inline
+u8 * overrun_copy(u8 * d, u8 const * s, size_t n) {
size_t const WS = sizeof(unsigned long);
u8 const * e = s + n;
do
@@ -85,7 +90,7 @@ u8 * memcpy_nooverlap(u8 * d, u8 const * s, size_t n) {
inline
-u8 * memcpy_nooverlap_surpass(u8 * d, u8 const * s, size_t n) {
+u8 * fast_copy(u8 * d, u8 const * s, size_t n) {
size_t const WS = sizeof(unsigned long);
size_t wn = n/WS;
while (wn--)
@@ -102,9 +107,9 @@ u8 * memcpy_nooverlap_surpass(u8 * d, u8 const * s, size_t n) {
inline
-u8 * memcpy_(u8 * d, u8 const * s, size_t n) {
+u8 * copy(u8 * d, u8 const * s, size_t n) {
if (likely(d>s+sizeof(unsigned long)))
- return memcpy_nooverlap(d,s,n);
+ return overrun_copy(d,s,n);
else
while (n--) *d++ = *s++;
return d;
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Decompressor.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Decompressor.h
index ddda0c0f58c..ddda0c0f58c 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Decompressor.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Decompressor.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Endian.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Endian.h
index fc84ec27898..fc84ec27898 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Endian.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Endian.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Error.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Error.h
index 899b44fd2c9..899b44fd2c9 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Error.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Error.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Face.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Face.h
index 7682dfaca3e..7682dfaca3e 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Face.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Face.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/FeatureMap.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/FeatureMap.h
index fc845f6e165..fc845f6e165 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/FeatureMap.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/FeatureMap.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/FeatureVal.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/FeatureVal.h
index 5fbcf082063..5fbcf082063 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/FeatureVal.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/FeatureVal.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/FileFace.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/FileFace.h
index 81e501bab25..81e501bab25 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/FileFace.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/FileFace.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Font.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Font.h
index bc7084050e5..bc7084050e5 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Font.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Font.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/GlyphCache.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/GlyphCache.h
index cf7c2469c3c..cf7c2469c3c 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/GlyphCache.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/GlyphCache.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/GlyphFace.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/GlyphFace.h
index 89ed5aea91a..89ed5aea91a 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/GlyphFace.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/GlyphFace.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Intervals.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Intervals.h
index 34fecce1795..34fecce1795 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Intervals.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Intervals.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/List.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/List.h
index 41e51738c3e..020560235c1 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/List.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/List.h
@@ -105,6 +105,7 @@ void Vector<T>::reserve(size_t n)
{
const ptrdiff_t sz = size();
m_first = static_cast<T*>(realloc(m_first, n*sizeof(T)));
+ if (!m_first) std::abort();
m_last = m_first + sz;
m_end = m_first + n;
}
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Machine.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Machine.h
index 4efb70cd946..4efb70cd946 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Machine.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Machine.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Main.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Main.h
index 688cf40f289..5c654691688 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Main.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Main.h
@@ -85,7 +85,7 @@ template <typename T> T * gralloc(size_t n)
#ifdef GRAPHITE2_TELEMETRY
telemetry::count_bytes(sizeof(T) * n);
#endif
- return reinterpret_cast<T*>(malloc(sizeof(T) * n));
+ return static_cast<T*>(malloc(sizeof(T) * n));
}
template <typename T> T * grzeroalloc(size_t n)
@@ -93,7 +93,7 @@ template <typename T> T * grzeroalloc(size_t n)
#ifdef GRAPHITE2_TELEMETRY
telemetry::count_bytes(sizeof(T) * n);
#endif
- return reinterpret_cast<T*>(calloc(n, sizeof(T)));
+ return static_cast<T*>(calloc(n, sizeof(T)));
}
template <typename T>
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/NameTable.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/NameTable.h
index 0fdbeb4d85f..0fdbeb4d85f 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/NameTable.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/NameTable.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Pass.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Pass.h
index 20aa7072fd0..c8f1aa20ba5 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Pass.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Pass.h
@@ -53,9 +53,10 @@ public:
bool readPass(const byte * pPass, size_t pass_length, size_t subtable_base, Face & face,
enum passtype pt, uint32 version, Error &e);
- bool runGraphite(vm::Machine & m, FiniteStateMachine & fsm) const;
+ bool runGraphite(vm::Machine & m, FiniteStateMachine & fsm, bool reverse) const;
void init(Silf *silf) { m_silf = silf; }
byte collisionLoops() const { return m_numCollRuns; }
+ bool reverseDir() const { return m_isReverseDir; }
CLASS_NEW_DELETE
private:
@@ -106,6 +107,7 @@ private:
byte m_minPreCtxt;
byte m_maxPreCtxt;
byte m_colThreshold;
+ bool m_isReverseDir;
vm::Machine::Code m_cPConstraint;
private: //defensive
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Position.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Position.h
index 97bc1cdf7a8..97bc1cdf7a8 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Position.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Position.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Rule.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Rule.h
index 36c8d89a63d..36c8d89a63d 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Rule.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Rule.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/SegCache.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/SegCache.h
index b360f7c9337..b360f7c9337 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/SegCache.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/SegCache.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/SegCacheEntry.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/SegCacheEntry.h
index 9a7d930677c..9a7d930677c 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/SegCacheEntry.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/SegCacheEntry.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/SegCacheStore.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/SegCacheStore.h
index 1e6a6e216e7..1e6a6e216e7 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/SegCacheStore.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/SegCacheStore.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Segment.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Segment.h
index 01fa589f59a..08f6afdd711 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Segment.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Segment.h
@@ -39,7 +39,7 @@ of the License or (at your option) any later version.
#include "inc/Slot.h"
#include "inc/Position.h"
#include "inc/List.h"
-#include "inc/Bidi.h"
+//#include "inc/Bidi.h"
#include "inc/Collider.h"
#define MAX_SEG_GROWTH_FACTOR 256
@@ -101,7 +101,6 @@ public:
unsigned int charInfoCount() const { return m_numCharinfo; }
const CharInfo *charinfo(unsigned int index) const { return index < m_numCharinfo ? m_charinfo + index : NULL; }
CharInfo *charinfo(unsigned int index) { return index < m_numCharinfo ? m_charinfo + index : NULL; }
- int8 dir() const { return m_dir; }
Segment(unsigned int numchars, const Face* face, uint32 script, int dir);
~Segment();
@@ -138,7 +137,9 @@ public:
if (val > pFR->maxVal()) val = pFR->maxVal();
pFR->applyValToFeature(val, m_feats[index]);
} }
+ int8 dir() const { return m_dir; }
void dir(int8 val) { m_dir = val; }
+ bool currdir() const { return ((m_dir >> 6) ^ m_dir) & 1; }
unsigned int passBits() const { return m_passBits; }
void mergePassBits(const unsigned int val) { m_passBits &= val; }
int16 glyphAttr(uint16 gid, uint16 gattr) const { const GlyphFace * p = m_face->glyphs().glyphSafe(gid); return p ? p->attrs()[gattr] : 0; }
@@ -151,6 +152,8 @@ public:
const Face * getFace() const { return m_face; }
const Features & getFeatures(unsigned int /*charIndex*/) { assert(m_feats.size() == 1); return m_feats[0]; }
void bidiPass(int paradir, uint8 aMirror);
+ int8 getSlotBidiClass(Slot *s) const;
+ void doMirror(uint16 aMirror);
Slot *addLineEnd(Slot *nSlot);
void delLineEnd(Slot *s);
bool hasJustification() const { return m_justifies.size() != 0; }
@@ -191,16 +194,24 @@ private:
uint8 m_flags; // General purpose flags
};
-
+inline
+int8 Segment::getSlotBidiClass(Slot *s) const
+{
+ int8 res = s->getBidiClass();
+ if (res != -1) return res;
+ res = glyphAttr(s->gid(), m_silf->aBidi());
+ s->setBidiClass(res);
+ return res;
+}
inline
void Segment::finalise(const Font *font, bool reverse)
{
if (!m_first) return;
- m_advance = positionSlots(font, m_first, m_last, m_silf->dir());
+ m_advance = positionSlots(font, m_first, m_last, m_silf->dir(), true);
//associateChars(0, m_numCharinfo);
- if (reverse && (m_dir & 1) != m_silf->dir())
+ if (reverse && currdir() != (m_dir & 1))
reverseSlots();
linkClusters(m_first, m_last);
}
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Silf.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Silf.h
index 8e49f70c942..8e49f70c942 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Silf.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Silf.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Slot.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Slot.h
index d2f098553bc..a6e05491c6d 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Slot.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Slot.h
@@ -32,15 +32,13 @@ of the License or (at your option) any later version.
#include "inc/Font.h"
#include "inc/Position.h"
-
-
namespace graphite2 {
typedef gr_attrCode attrCode;
class GlyphFace;
-class Segment;
class SegCacheEntry;
+class Segment;
struct SlotJustify
{
@@ -109,6 +107,7 @@ public:
bool isInsertBefore() const { return !(m_flags & INSERTED); }
uint8 getBidiLevel() const { return m_bidiLevel; }
void setBidiLevel(uint8 level) { m_bidiLevel = level; }
+ int8 getBidiClass(const Segment *seg);
int8 getBidiClass() const { return m_bidiCls; }
void setBidiClass(int8 cls) { m_bidiCls = cls; }
int16 *userAttrs() const { return m_userAttr; }
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Sparse.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Sparse.h
index 2c9248f3272..2c9248f3272 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/Sparse.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/Sparse.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/TtfTypes.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/TtfTypes.h
index ea20e5775fc..ea20e5775fc 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/TtfTypes.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/TtfTypes.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/TtfUtil.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/TtfUtil.h
index 43ef2daa9ed..43ef2daa9ed 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/TtfUtil.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/TtfUtil.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/UtfCodec.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/UtfCodec.h
index c60ba41e72e..c60ba41e72e 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/UtfCodec.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/UtfCodec.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/bits.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/bits.h
index 615c6cba67f..615c6cba67f 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/bits.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/bits.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/debug.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/debug.h
index 97175eb2cc4..97175eb2cc4 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/debug.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/debug.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/json.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/json.h
index 90b8573d655..90b8573d655 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/json.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/json.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/locale2lcid.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/locale2lcid.h
index bc3e3d83047..bc3e3d83047 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/locale2lcid.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/locale2lcid.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/opcode_table.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/opcode_table.h
index 73a99c82043..73a99c82043 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/opcode_table.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/opcode_table.h
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/opcodes.h b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/opcodes.h
index 63f877914fd..ec84b517585 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/inc/opcodes.h
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/inc/opcodes.h
@@ -314,6 +314,8 @@ STARTOP(insert)
{
newSlot->originate(seg.defaultOriginal());
}
+ if (is == smap.highwater())
+ smap.highpassed(false);
is = newSlot;
seg.extendLength(1);
if (map != &smap[-1])
diff --git a/Build/source/libs/graphite2/graphite2-1.3.1/src/json.cpp b/Build/source/libs/graphite2/graphite2-1.3.2/src/json.cpp
index d6e5518a1c3..d6e5518a1c3 100644
--- a/Build/source/libs/graphite2/graphite2-1.3.1/src/json.cpp
+++ b/Build/source/libs/graphite2/graphite2-1.3.2/src/json.cpp
diff --git a/Build/source/libs/graphite2/version.ac b/Build/source/libs/graphite2/version.ac
index d115c8d488f..ac3afabe4be 100644
--- a/Build/source/libs/graphite2/version.ac
+++ b/Build/source/libs/graphite2/version.ac
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current graphite2 version
-m4_define([graphite2_version], [1.3.1])
+m4_define([graphite2_version], [1.3.2])