diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2015-09-11 06:48:30 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2015-09-11 06:48:30 +0000 |
commit | 9c19cecad3d56b56725b8378d8cf8fcd97c84c7c (patch) | |
tree | d86bec53549bea3e7e37fffbc1940aa4f392ef45 | |
parent | 8309d3d724c2a6c8981308a9d14c4b26d290f211 (diff) |
graphite2 1.3.2
git-svn-id: svn://tug.org/texlive/trunk@38347 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Build/source/libs/README | 2 | ||||
-rw-r--r-- | Build/source/libs/graphite2/ChangeLog | 5 | ||||
-rw-r--r-- | Build/source/libs/graphite2/Makefile.am | 1 | ||||
-rw-r--r-- | Build/source/libs/graphite2/Makefile.in | 13 | ||||
-rwxr-xr-x | Build/source/libs/graphite2/configure | 24 | ||||
-rw-r--r-- | Build/source/libs/graphite2/graphite2-1.3.1/Todo.txt | 4 | ||||
-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.txt | 8 | ||||
-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.ac | 2 |
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]) |