[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[graphite2] 39/69: Imported Upstream version 1.2.3



This is an automated email from the git hooks/post-receive script.

rene pushed a commit to branch master
in repository graphite2.

commit 7d5a98358b24c28838aa9ea9064c3e8ff8b1a4fa
Author: Rene Engelhard <rene@debian.org>
Date:   Thu Apr 21 14:48:51 2016 +0200

    Imported Upstream version 1.2.3
---
 .hg_archival.txt         |  6 +++---
 .hgtags                  |  1 +
 ChangeLog                | 10 +++++++++-
 Todo.txt                 | 11 ++++-------
 debian-src/changelog     |  6 ++++++
 doc/release.txt          | 14 ++++++++++++++
 include/graphite2/Font.h |  2 +-
 src/Pass.cpp             |  3 ++-
 src/Slot.cpp             |  9 +++++----
 src/TtfUtil.cpp          |  8 ++++----
 src/inc/Sparse.h         |  2 +-
 11 files changed, 50 insertions(+), 22 deletions(-)

diff --git a/.hg_archival.txt b/.hg_archival.txt
index 5fc2a42..6420ed8 100644
--- a/.hg_archival.txt
+++ b/.hg_archival.txt
@@ -1,5 +1,5 @@
 repo: 999e2033695c3bcf2f65d611737ac9008805bd58
-node: 8fe0f96bb77f7e6f5a5206f1dbfc6fd38094597d
+node: 4605b74e26f3a119753b700524c49b98e7e45639
 branch: default
-latesttag: 1.2.1
-latesttagdistance: 24
+latesttag: 1.2.2
+latesttagdistance: 8
diff --git a/.hgtags b/.hgtags
index 7fb6ee9..97a8639 100644
--- a/.hgtags
+++ b/.hgtags
@@ -26,3 +26,4 @@ e095cd8b635aa985c8054717761555b6d46dbdb6 1.1.1
 d8c8ce7898a9e73a9cb11c25b9ff6a198fdf8d80 1.1.3
 fb4b0c347a953f6aa656a4e414f8e42e91c00c2b 1.2.0
 9ca2c8c1469f6107cd366e4be2035ce0dfa09b65 1.2.1
+7b0a153b4873117ff726ac8c780f7bd994845285 1.2.2
diff --git a/ChangeLog b/ChangeLog
index 5562211..1ba1b18 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,18 @@
+1.2.3
+    . Bug fixes only:
+        . fix byte swapping when testing cmap subtable lengths
+        . work around armel compilation problems with conditional operators
+        . fix pseudoglyph support for advance and bbox
+
 1.2.2
-    . Add support for passKeySlot (makes Charis 2x faster)
+    . Add support for passKeySlot (makes Charis 2x faster) up to 32 passes
     . Add telemetry output to json if enabled in build GRAPHITE2_TELEMETRY
     . Shrink font memory footprint particularly in the fsm
     . Add -S to comparerenderer
     . Bug fixes:
+        . Fix shift.x being reversed for rtl text
         . Fix faulty fallback justification
+        . Fix bad cmap handling
         . Support compiling on old Solaris where bidi attributes clash with register names
         . Follow the crowd in using Windows.h
 
diff --git a/Todo.txt b/Todo.txt
index 52f7509..93569dd 100644
--- a/Todo.txt
+++ b/Todo.txt
@@ -1,9 +1,6 @@
-Changes to make to the API when we are forced to change it:
+Expected changes to come:
 
-* add font table deletion function ptr so that the app doesn't have to
-  manage a collection of font tables
-
-Other stuff we should do
-
-* Change logging generation id to be a magic extra user attribute. This allows for use within justification logging. Also add [ ] around the whoe log to bring the fragments together.
+* Handle new isolated direction overrides in bidi.
+* Handle type 14 tables for variation selectors, not that anyone is using them yet.
+* Handle fonts with not glyf/loca table (e.g. cff & svg-ttf). bbox is 0,0,0,0
 
diff --git a/debian-src/changelog b/debian-src/changelog
index 7ac97d7..3e0c796 100644
--- a/debian-src/changelog
+++ b/debian-src/changelog
@@ -1,3 +1,9 @@
+graphite2 (1.2.3-1~palaso1) precise; urgency=low
+
+  * Bug fixes release
+
+ -- Martin Hosken <martin_hosken@sil.org>  Tue, 11 Jun 2013 12:53:29 +0100
+
 graphite2 (1.2.2-1~palaso1) precise; urgency=low
 
   * New upstream release with added features and bug fixes 
diff --git a/doc/release.txt b/doc/release.txt
index e2d6be1..1db2c75 100644
--- a/doc/release.txt
+++ b/doc/release.txt
@@ -18,6 +18,20 @@ The release is done by:
 . hg archive graphite-<version>.tgz
 . Then push up to sf.net/projects/silgraphite and projects.palaso.org/graphiteng-dev
 
+=== How to do a test pdebuild ===
+
+Here's a sample script to do from the project root directory.
+
+----
+mkdir debianbuild
+cd debianbuild
+cp ../graphite2-x,y.z.tgz graphite_x.y.z.orig.tar.gz
+mkdir build
+cd build
+cp -a ../../debian-src debian
+pdebuild
+----
+
 == Anticipated API Changes ==
 
 Here are the things we will probably change in the API once we come to the conclusion that we have got to change the API for some really important reason.
diff --git a/include/graphite2/Font.h b/include/graphite2/Font.h
index 4c9451e..85ee73d 100644
--- a/include/graphite2/Font.h
+++ b/include/graphite2/Font.h
@@ -30,7 +30,7 @@
 
 #define GR2_VERSION_MAJOR   1
 #define GR2_VERSION_MINOR   2
-#define GR2_VERSION_BUGFIX  2
+#define GR2_VERSION_BUGFIX  3
 
 #ifdef __cplusplus
 extern "C"
diff --git a/src/Pass.cpp b/src/Pass.cpp
index 743e260..4c139e6 100644
--- a/src/Pass.cpp
+++ b/src/Pass.cpp
@@ -199,7 +199,8 @@ bool Pass::readRules(const byte * rule_map, const size_t num_entries,
         if (r->sort > 63 || r->preContext >= r->sort || r->preContext > m_maxPreCtxt || r->preContext < m_minPreCtxt)
             return false;
         ac_begin      = ac_data + be::peek<uint16>(--o_action);
-        rc_begin      = *--o_constraint ? rc_data + be::peek<uint16>(o_constraint) : rc_end;
+        --o_constraint;
+        rc_begin      = be::peek<uint16>(o_constraint) ? rc_data + be::peek<uint16>(o_constraint) : rc_end;
 
         if (ac_begin > ac_end || ac_begin > ac_data_end || ac_end > ac_data_end
                 || rc_begin > rc_end || rc_begin > rc_data_end || rc_end > rc_data_end)
diff --git a/src/Slot.cpp b/src/Slot.cpp
index 21618f7..c6fc2b5 100644
--- a/src/Slot.cpp
+++ b/src/Slot.cpp
@@ -147,7 +147,7 @@ Position Slot::finalise(const Segment *seg, const Font *font, Position & base, R
 int32 Slot::clusterMetric(const Segment *seg, uint8 metric, uint8 attrLevel)
 {
     Position base;
-    Rect bbox = seg->theGlyphBBoxTemporary(gid());
+    Rect bbox = seg->theGlyphBBoxTemporary(glyph());
     float clusterMin = 0.;
     Position res = finalise(seg, NULL, base, bbox, attrLevel, clusterMin);
 
@@ -389,12 +389,13 @@ void Slot::setGlyph(Segment *seg, uint16 glyphid, const GlyphFace * theGlyph)
         }
     }
     m_realglyphid = theGlyph->attrs()[seg->silf()->aPseudo()];
+    const GlyphFace *aGlyph = theGlyph;
     if (m_realglyphid)
     {
-        const GlyphFace *aGlyph = seg->getFace()->glyphs().glyphSafe(m_realglyphid);
-        if (aGlyph) theGlyph = aGlyph;
+        aGlyph = seg->getFace()->glyphs().glyphSafe(m_realglyphid);
+        if (!aGlyph) aGlyph = theGlyph;
     }
-    m_advance = Position(theGlyph->theAdvance().x, 0.);
+    m_advance = Position(aGlyph->theAdvance().x, 0.);
     if (seg->silf()->aPassBits())
         seg->mergePassBits(theGlyph->attrs()[seg->silf()->aPassBits()]);
 }
diff --git a/src/TtfUtil.cpp b/src/TtfUtil.cpp
index 9ede99e..ba26946 100644
--- a/src/TtfUtil.cpp
+++ b/src/TtfUtil.cpp
@@ -954,11 +954,11 @@ gid16 CmapSubtable4Lookup(const void * pCmapSubtabel4, unsigned int nUnicodeId,
             return (uint16)(idDelta + nUnicodeId); // must use modulus 2^16
 
         // Look up value in glyphIdArray
-        size_t offset = (nUnicodeId - chStart) + (idRangeOffset >> 1) +
-                (reinterpret_cast<const uint16 *>(pMid) - reinterpret_cast<const uint16 *>(pTable));
-        if (offset * 2 >= pTable->length)
+        const ptrdiff_t offset = (nUnicodeId - chStart) + (idRangeOffset >> 1) +
+                (pMid - reinterpret_cast<const uint16 *>(pTable));
+        if (offset * 2 >= be::swap<uint16>(pTable->length))
             return 0;
-        gid16 nGlyphId = be::peek<uint16>(pMid + (nUnicodeId - chStart) + (idRangeOffset >> 1));
+        gid16 nGlyphId = be::peek<uint16>(reinterpret_cast<const uint16 *>(pTable)+offset);
         // If this value is 0, return 0. Else add the idDelta
         return nGlyphId ? nGlyphId + idDelta : 0;
     }
diff --git a/src/inc/Sparse.h b/src/inc/Sparse.h
index bbe6bcf..0159a9d 100644
--- a/src/inc/Sparse.h
+++ b/src/inc/Sparse.h
@@ -108,7 +108,7 @@ sparse::sparse(I attr, const I last)
 
 	m_array.values = grzeroalloc<mapped_type>((m_nchunks*sizeof(chunk) + sizeof(mapped_type)/2)
 	                                             / sizeof(mapped_type)
-	                                             + n_values*sizeof(mapped_type));
+	                                             + n_values); // *sizeof(mapped_type));
 
 	if (m_array.values == 0)
 	{

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-openoffice/graphite2.git


Reply to: