summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2018-11-14 23:30:33 +0100
committerPacho Ramos <pacho@gentoo.org>2018-11-14 23:32:15 +0100
commita8519bd2c58428d730f61140cd4a843ce68033b3 (patch)
tree3d7942912faccc47581f72a3639b63c526d392d5 /app-text/cuneiform
parentapp-portage/grs: version bump to 0.7 (diff)
downloadgentoo-a8519bd2c58428d730f61140cd4a843ce68033b3.tar.gz
gentoo-a8519bd2c58428d730f61140cd4a843ce68033b3.tar.bz2
gentoo-a8519bd2c58428d730f61140cd4a843ce68033b3.zip
app-text/cuneiform: Bugfixes from Fedora
Closes: https://bugs.gentoo.org/421717 Closes: https://bugs.gentoo.org/595010 Closes: https://bugs.gentoo.org/670656 Signed-off-by: Pacho Ramos <pacho@gentoo.org> Package-Manager: Portage-2.3.51, Repoman-2.3.11
Diffstat (limited to 'app-text/cuneiform')
-rw-r--r--app-text/cuneiform/cuneiform-1.1.0-r3.ebuild59
-rw-r--r--app-text/cuneiform/files/cuneiform-1.1.0-fix_buffer_overflow.patch27
-rw-r--r--app-text/cuneiform/files/cuneiform-1.1.0-fix_buffer_overflow_2.patch18
-rw-r--r--app-text/cuneiform/files/cuneiform-1.1.0-gcc6.patch177
-rw-r--r--app-text/cuneiform/files/cuneiform-1.1.0-gcc7.patch102
-rw-r--r--app-text/cuneiform/files/cuneiform-1.1.0-typos.patch54
6 files changed, 437 insertions, 0 deletions
diff --git a/app-text/cuneiform/cuneiform-1.1.0-r3.ebuild b/app-text/cuneiform/cuneiform-1.1.0-r3.ebuild
new file mode 100644
index 000000000000..b3da9fad0540
--- /dev/null
+++ b/app-text/cuneiform/cuneiform-1.1.0-r3.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils versionator
+
+PV_MAJ=$(get_version_component_range 1-2)
+MY_P=${PN}-linux-${PV}
+
+DESCRIPTION="An enterprise quality OCR engine by Cognitive Technologies"
+HOMEPAGE="https://launchpad.net/cuneiform-linux"
+SRC_URI="https://launchpad.net/${PN}-linux/${PV_MAJ}/${PV_MAJ}/+download/${MY_P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug graphicsmagick"
+
+RDEPEND="
+ !graphicsmagick? ( media-gfx/imagemagick:= )
+ graphicsmagick? ( media-gfx/graphicsmagick:= )"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( readme.txt )
+PATCHES=(
+ # From Fedora
+ "${FILESDIR}/c-assert.diff"
+ "${FILESDIR}/libm.diff"
+ "${FILESDIR}/${P}-fix_buffer_overflow.patch"
+ "${FILESDIR}/${P}-fix_buffer_overflow_2.patch"
+ "${FILESDIR}/${P}-gcc6.patch"
+ "${FILESDIR}/${P}-gcc7.patch"
+ "${FILESDIR}/${P}-typos.patch"
+)
+
+src_prepare(){
+ use graphicsmagick && PATCHES+=( "${FILESDIR}/graphicsmagick.diff" )
+ cmake-utils_src_prepare
+
+ # respect LDFLAGS
+ sed -i 's:\(set[(]CMAKE_SHARED_LINKER_FLAGS "[^"]*\):\1 $ENV{LDFLAGS}:' \
+ cuneiform_src/CMakeLists.txt || die "failed to sed for LDFLAGS"
+
+ # Fix automagic dependencies / linking
+ if use graphicsmagick; then
+ sed -i "s:find_package(ImageMagick COMPONENTS Magick++):#DONOTFIND:" \
+ cuneiform_src/CMakeLists.txt \
+ || die "Sed for ImageMagick automagic dependency failed."
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+ doman "${FILESDIR}/${PN}.1"
+}
diff --git a/app-text/cuneiform/files/cuneiform-1.1.0-fix_buffer_overflow.patch b/app-text/cuneiform/files/cuneiform-1.1.0-fix_buffer_overflow.patch
new file mode 100644
index 000000000000..8e9811540cd6
--- /dev/null
+++ b/app-text/cuneiform/files/cuneiform-1.1.0-fix_buffer_overflow.patch
@@ -0,0 +1,27 @@
+Description: Fix buffer overflow during crash when using user supplied image.
+Author: Sławomir Nizio
+Forwarded: no
+Last-Update: 2017-04-05
+
+--- a/cuneiform_src/Kern/rstr/src/acc_tabs.c
++++ b/cuneiform_src/Kern/rstr/src/acc_tabs.c
+@@ -1233,7 +1233,7 @@ if(is_cen_language(language))
+
+ strcpy(decode_ASCII_to_[(uchar)liga_i ], "_i_");
+ strcpy(decode_ASCII_to_[(uchar)liga_exm ], "_!_");
+- strcpy(decode_ASCII_to_[(uchar)liga_inv_exm], "_!!_");
++ strcpy(decode_ASCII_to_[(uchar)liga_inv_exm], "_!_");
+ strcpy(decode_ASCII_to_[(uchar)right_quocket], "\xbb");
+ strcpy(decode_ASCII_to_[(uchar)liga_CC ], "\xa9");
+ strcpy(decode_ASCII_to_[(uchar)liga_CR ], "\xae");
+--- a/cuneiform_src/Kern/rstr/src/match_wd.c
++++ b/cuneiform_src/Kern/rstr/src/match_wd.c
+@@ -484,7 +484,7 @@
+ str_raster->w=(int32_t)(right-left);
+ str_raster->h=(int32_t)(bottom-top);
+
+- if (str_raster->w > LINE_WIDTH || str_raster->h > LINE_HEIGHT)
++ if ((str_raster->w+7) > LINE_WIDTH || str_raster->h > LINE_HEIGHT)
+ return FALSE;
+
+ memset(&str_raster->pict,0,(str_raster->w+7)/8*str_raster->h);
diff --git a/app-text/cuneiform/files/cuneiform-1.1.0-fix_buffer_overflow_2.patch b/app-text/cuneiform/files/cuneiform-1.1.0-fix_buffer_overflow_2.patch
new file mode 100644
index 000000000000..c64b42fc8933
--- /dev/null
+++ b/app-text/cuneiform/files/cuneiform-1.1.0-fix_buffer_overflow_2.patch
@@ -0,0 +1,18 @@
+Description: Split original patch by Slawomir and update the same to apply
+neatly.
+Author: Bhavani Shankar <bhavi@ubuntu.com>
+
+
+--- cuneiform-1.1.0+dfsg.orig/cuneiform_src/Kern/rstr/src/acc_tabs.c
++++ cuneiform-1.1.0+dfsg/cuneiform_src/Kern/rstr/src/acc_tabs.c
+@@ -2821,8 +2821,8 @@ if( CodePages[language]==CSTR_EASTEUROPE
+ strcpy(decode_ASCII_to_[(uchar)liga_j ], "_j_");
+ strcpy(decode_ASCII_to_[(uchar)liga_exm ], "_!_");
+ strcpy(decode_ASCII_to_[(uchar)liga_qm ], "_?_");
+- strcpy(decode_ASCII_to_[(uchar)liga_inv_exm], "_!!_");
+- strcpy(decode_ASCII_to_[(uchar)liga_inv_qm ], "_??_");
++ strcpy(decode_ASCII_to_[(uchar)liga_inv_exm], "_!_");
++ strcpy(decode_ASCII_to_[(uchar)liga_inv_qm ], "_?_");
+ strcpy(decode_ASCII_to_[(uchar)liga_bull ], "\xB0");
+ strcpy(decode_ASCII_to_[(uchar)left_quocket], "");
+ strcpy(decode_ASCII_to_[(uchar)right_quocket], "");
diff --git a/app-text/cuneiform/files/cuneiform-1.1.0-gcc6.patch b/app-text/cuneiform/files/cuneiform-1.1.0-gcc6.patch
new file mode 100644
index 000000000000..e45768e90f29
--- /dev/null
+++ b/app-text/cuneiform/files/cuneiform-1.1.0-gcc6.patch
@@ -0,0 +1,177 @@
+Description: fix FTBFS with GCC 6
+Author: Andreas Beckmann <anbe@debian.org>
+
+--- a/cuneiform_src/Kern/rimage/sources/main/cricontrol.cpp
++++ b/cuneiform_src/Kern/rimage/sources/main/cricontrol.cpp
+@@ -594,8 +594,8 @@ Bool32 CRIControl::CreateDestinatonDIB(u
+ return FALSE;
+ }
+
+- wNewHeight = (mbMarginsFlag ? abs(mrMargins.rmBottomMarg - mrMargins.rmTopMarg) : mpSourceDIB->GetLinesNumber());
+- wNewWidth = (mbMarginsFlag ? abs(mrMargins.rmLeftMarg - mrMargins.rmRightMarg) : mpSourceDIB->GetLineWidth());
++ wNewHeight = (mbMarginsFlag ? std::abs(int32_t(mrMargins.rmBottomMarg) - int32_t(mrMargins.rmTopMarg)) : mpSourceDIB->GetLinesNumber());
++ wNewWidth = (mbMarginsFlag ? std::abs(int32_t(mrMargins.rmLeftMarg) - int32_t(mrMargins.rmRightMarg)) : mpSourceDIB->GetLineWidth());
+ mpSourceDIB->GetResolutionDPM( &wXResolution, &wYResolution);
+
+ if ( !mpDestinationDIB->CreateDIBBegin( wNewWidth, wNewHeight, BitCount) )
+--- a/cuneiform_src/Kern/include/minmax.h
++++ b/cuneiform_src/Kern/include/minmax.h
+@@ -67,6 +67,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ #define MAX(a,b) (((a)>(b))?(a):(b))
+ #endif
+
++#ifndef __cplusplus
++
+ #ifndef min
+ #define min(a,b) (((a)>(b))?(b):(a))
+ #endif
+@@ -75,3 +77,5 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ #endif
+
+ #endif
++
++#endif
+--- a/cuneiform_src/Kern/rcutp/sources/main/rcutp_func.cpp
++++ b/cuneiform_src/Kern/rcutp/sources/main/rcutp_func.cpp
+@@ -902,8 +902,8 @@ int16_t i,ver_byte,interval,l1,r1,minl
+ if(l1<0 || r1<0) return -1;
+ if(i>0)
+ {
+- minl=MIN(minl,l1); minr=min(minr,r1);
+- maxl=MAX(maxl,l1); maxr=max(maxr,r1);
++ minl=MIN(minl,l1); minr=MIN(minr,r1);
++ maxl=MAX(maxl,l1); maxr=MAX(maxr,r1);
+ }
+ else
+ {
+--- a/cuneiform_src/Kern/lns32/src/xydim.h
++++ b/cuneiform_src/Kern/lns32/src/xydim.h
+@@ -86,8 +86,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ );
+ };
+ void expandX( int l, int r ){
+- left = min( left, l );
+- right = max( right, r);
++ left = MIN( left, l );
++ right = MAX( right, r);
+ };
+
+ };
+@@ -115,8 +115,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ );
+ };
+ void expandY( int b, int t ){
+- bottom = min( bottom, b );
+- top = max( top, t );
++ bottom = MIN( bottom, b );
++ top = MAX( top, t );
+ };
+
+ };
+@@ -145,10 +145,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ );
+ };
+ void restrictXY( int x1, int x2, int y1, int y2 ){
+- left = max( left, x1 );
+- right = min( right, x2 );
+- bottom = max(bottom, y1);
+- top = min(top, y2);
++ left = MAX( left, x1 );
++ right = MIN( right, x2 );
++ bottom = MAX(bottom, y1);
++ top = MIN(top, y2);
+ };
+ void expandXY( TXYDim* brother ){
+ expandX( brother->left, brother->right );
+--- a/cuneiform_src/Kern/rcorrkegl/src/cpp/cor_kegl.cpp
++++ b/cuneiform_src/Kern/rcorrkegl/src/cpp/cor_kegl.cpp
+@@ -75,6 +75,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ #include "cor_kegl.h"
+ #include "garbage.h"
+ #include "ligas.h"
++#include "minmax.h"
+
+ #ifndef MAXINT32
+ #define MAXINT32 0x7FFFFFFF
+@@ -1563,7 +1564,7 @@ static int32_t rect_dist(Rect32 *main, R
+ int32_t y2=test->top-main->bottom;
+ if (x1>0 || x2>0 || y1>0 || y2>0) //не пересекаютс
+ {
+- x=MAX(x1,x2); y=max(y1,y2);
++ x=MAX(x1,x2); y=MAX(y1,y2);
+ if (x<0) return y;
+ if (y<0) return x;
+ return MIN(x,y);
+@@ -1574,7 +1575,7 @@ static int32_t rect_dist(Rect32 *main, R
+ x2=test->right-main->right;
+ y1=main->top-test->top;
+ y2=test->bottom-main->bottom;
+- x=MAX(x1,x2); y=max(y1,y2);
++ x=MAX(x1,x2); y=MAX(y1,y2);
+ x=MAX(x,y);
+ return (x>0) ? x : 0;
+ }
+--- a/cuneiform_src/Kern/rcutp/sources/main/rcutp_mainfunc.cpp
++++ b/cuneiform_src/Kern/rcutp/sources/main/rcutp_mainfunc.cpp
+@@ -73,13 +73,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ extern int16_t minrow,bbs1,bbs2,bbs3,bbs4,Nb1,Nb2,Nb3;
+ extern uchar language;
+-#ifndef max
+-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
+-#endif
+-
+-#ifndef min
+-#define MIN(a,b) (((a) < (b)) ? (a) : (b))
+-#endif
+
+ extern int16_t up_position,dw_position;
+ uchar MemForCutPoints[65536];
+--- a/cuneiform_src/Kern/hhh/lst3_win.h
++++ b/cuneiform_src/Kern/hhh/lst3_win.h
+@@ -845,7 +845,7 @@ int WidthPRS,MaxShtrih;
+ dist+=par.kv*dv; \
+ }
+
+-#define DIST_V(u1,d1,u2,d2) (min(d1,d2)-max(u1,u2))
++#define DIST_V(u1,d1,u2,d2) (MIN(d1,d2)-MAX(u1,u2))
+
+ #define DV_FRM(a,b) DIST_V(a->up,a->down,b->up,b->down)
+
+--- a/cuneiform_src/Kern/lns32/src/lns.cpp
++++ b/cuneiform_src/Kern/lns32/src/lns.cpp
+@@ -190,8 +190,8 @@ void __RejectNearBound(LinesTotalInfo*
+ break; // keep lines, if lack
+ if (li.Flags & LI_NOISE)
+ continue;
+- Point32 Mn; Mn.x = MIN(li.A.x,li.B.x); Mn.y = min(li.A.y,li.B.y);
+- Point32 Mx; Mx.x = MAX(li.A.x,li.B.x); Mx.y = max(li.A.y,li.B.y);
++ Point32 Mn; Mn.x = MIN(li.A.x,li.B.x); Mn.y = MIN(li.A.y,li.B.y);
++ Point32 Mx; Mx.x = MAX(li.A.x,li.B.x); Mx.y = MAX(li.A.y,li.B.y);
+ if ((Mn.y < imgrect.top + 50) || (Mx.y > imgrect.bottom - 50))
+ {
+ if (!__HasCorners(li, plti, TRUE))
+@@ -213,8 +213,8 @@ void __RejectNearBound(LinesTotalInfo*
+ continue;
+ if (vcnt < 5)
+ break; // keep lines, if lack
+- Point32 Mn; Mn.x = MIN(li.A.x,li.B.x); Mn.y = min(li.A.y,li.B.y);
+- Point32 Mx; Mx.x = MAX(li.A.x,li.B.x); Mx.y = max(li.A.y,li.B.y);
++ Point32 Mn; Mn.x = MIN(li.A.x,li.B.x); Mn.y = MIN(li.A.y,li.B.y);
++ Point32 Mx; Mx.x = MAX(li.A.x,li.B.x); Mx.y = MAX(li.A.y,li.B.y);
+ if ((Mn.x < imgrect.left + 50) || (Mx.x > imgrect.right - 50))
+ {
+ if (!__HasCorners(li, plti, FALSE))
+--- a/cuneiform_src/Kern/lns32/src/lnscheck.cpp
++++ b/cuneiform_src/Kern/lns32/src/lnscheck.cpp
+@@ -66,8 +66,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ #include "decl.h"
+
+ typedef Point16 XPoint16;
+-#define maxi max
+-#define mini min
++#define maxi MAX
++#define mini MIN
+ #define PPSArray TArray
+
+ #define CONSOLE /* This can also be printf. */
diff --git a/app-text/cuneiform/files/cuneiform-1.1.0-gcc7.patch b/app-text/cuneiform/files/cuneiform-1.1.0-gcc7.patch
new file mode 100644
index 000000000000..01530ab4b1d3
--- /dev/null
+++ b/app-text/cuneiform/files/cuneiform-1.1.0-gcc7.patch
@@ -0,0 +1,102 @@
+diff -urp cuneiform-1.1.0/cuneiform_src/Kern/hhh/tigerh/h/strings.h cuneiform-1.1.0-char/cuneiform_src/Kern/hhh/tigerh/h/strings.h
+--- cuneiform-1.1.0/cuneiform_src/Kern/hhh/tigerh/h/strings.h 2017-11-30 11:25:24.409125695 +0700
++++ cuneiform-1.1.0-char/cuneiform_src/Kern/hhh/tigerh/h/strings.h 2017-11-30 12:09:26.033501963 +0700
+@@ -80,6 +80,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+
+ # include "ltconfig.h"
+ # include "c_types.h"
++# include "cttypes.h"
+
+ struct _String;
+ typedef struct _String STRING;
+diff -urp cuneiform-1.1.0/cuneiform_src/Kern/include/utf8-tables.h cuneiform-1.1.0-char/cuneiform_src/Kern/include/utf8-tables.h
+--- cuneiform-1.1.0/cuneiform_src/Kern/include/utf8-tables.h 2017-11-30 11:25:24.410125673 +0700
++++ cuneiform-1.1.0-char/cuneiform_src/Kern/include/utf8-tables.h 2017-11-30 11:32:05.974413875 +0700
+@@ -68,7 +68,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ #endif
+
+
+-const char win1250_to_utf8[][4] = {
++const unsigned char win1250_to_utf8[][4] = {
+ {0, 0, 0, 0},
+ {1, 0, 0, 0},
+ {2, 0, 0, 0},
+@@ -328,7 +328,7 @@ const char win1250_to_utf8[][4] = {
+ };
+
+
+-const char win1251_to_utf8[][4] = {
++const unsigned char win1251_to_utf8[][4] = {
+ {0, 0, 0, 0},
+ {1, 0, 0, 0},
+ {2, 0, 0, 0},
+@@ -587,7 +587,7 @@ const char win1251_to_utf8[][4] = {
+ {209, 143, 0, 0},
+ };
+
+-const char win1252_to_utf8[][4] = {
++const unsigned char win1252_to_utf8[][4] = {
+ {0, 0, 0, 0},
+ {1, 0, 0, 0},
+ {2, 0, 0, 0},
+@@ -847,7 +847,7 @@ const char win1252_to_utf8[][4] = {
+ };
+
+
+-const char win1254_to_utf8[][4] = {
++const unsigned char win1254_to_utf8[][4] = {
+ {0, 0, 0, 0},
+ {1, 0, 0, 0},
+ {2, 0, 0, 0},
+@@ -1107,7 +1107,7 @@ const char win1254_to_utf8[][4] = {
+ };
+
+
+-const char win1257_to_utf8[][4] = {
++const unsigned char win1257_to_utf8[][4] = {
+ {0, 0, 0, 0},
+ {1, 0, 0, 0},
+ {2, 0, 0, 0},
+diff -urp cuneiform-1.1.0/cuneiform_src/Kern/rout/src/codetables.cpp cuneiform-1.1.0-char/cuneiform_src/Kern/rout/src/codetables.cpp
+--- cuneiform-1.1.0/cuneiform_src/Kern/rout/src/codetables.cpp 2017-11-30 11:25:24.411125651 +0700
++++ cuneiform-1.1.0-char/cuneiform_src/Kern/rout/src/codetables.cpp 2017-11-30 11:47:51.856189912 +0700
+@@ -937,13 +937,13 @@ CP_TO_CP tab[] = {
+ * codepage.
+ */
+
+-const char * getUTF8Str(const unsigned char in, const int codepage) {
++const unsigned char * getUTF8Str(const unsigned char in, const int codepage) {
+ switch(codepage) {
+ case 1250 : return win1250_to_utf8[in];
+ case 1251 : return win1251_to_utf8[in];
+ case 1252 : return win1252_to_utf8[in];
+ case 1254 : return win1254_to_utf8[in];
+ case 1257 : return win1257_to_utf8[in];
+- default : return "?";
++ default : return (const unsigned char *) "?";
+ }
+ }
+diff -urp cuneiform-1.1.0/cuneiform_src/Kern/rout/src/rout_own.h cuneiform-1.1.0-char/cuneiform_src/Kern/rout/src/rout_own.h
+--- cuneiform-1.1.0/cuneiform_src/Kern/rout/src/rout_own.h 2017-11-30 11:25:24.411125651 +0700
++++ cuneiform-1.1.0-char/cuneiform_src/Kern/rout/src/rout_own.h 2017-11-30 11:40:01.457220419 +0700
+@@ -458,7 +458,7 @@ Bool SetTableTextSeparators(char* s);
+ void ResetCodeTables();
+ Bool UpdateActiveCodeTable();
+ long GetCodePage();
+-const char * getUTF8Str(const unsigned char in, const int codepage);
++const unsigned char * getUTF8Str(const unsigned char in, const int codepage);
+
+ //*****************************************************************
+ // Rout.cpp
+diff -urp cuneiform-1.1.0/cuneiform_src/Kern/rout/src/text.cpp cuneiform-1.1.0-char/cuneiform_src/Kern/rout/src/text.cpp
+--- cuneiform-1.1.0/cuneiform_src/Kern/rout/src/text.cpp 2017-11-30 11:25:24.411125651 +0700
++++ cuneiform-1.1.0-char/cuneiform_src/Kern/rout/src/text.cpp 2017-11-30 11:40:43.571320319 +0700
+@@ -310,7 +310,7 @@ Bool OneChar(Handle charHandle)
+ *gMemCur++ = c2;
+ }
+ else {
+- const char *utfchar;
++ const unsigned char *utfchar;
+ utfchar = getUTF8Str((char )c2, GetCodePage());
+ int i;
+ for(i=0; utfchar[i] != '\0' ;i++){
diff --git a/app-text/cuneiform/files/cuneiform-1.1.0-typos.patch b/app-text/cuneiform/files/cuneiform-1.1.0-typos.patch
new file mode 100644
index 000000000000..3439760d79d8
--- /dev/null
+++ b/app-text/cuneiform/files/cuneiform-1.1.0-typos.patch
@@ -0,0 +1,54 @@
+Description: fix typos
+Author: Andreas Beckmann <anbe@debian.org>
+
+--- a/cuneiform_src/Kern/rblock/sources/c/ltmain.c
++++ b/cuneiform_src/Kern/rblock/sources/c/ltmain.c
+@@ -344,7 +344,7 @@ i=0; i=i;
+ # ifdef LT_DEBUG
+ //if (LT_DebugGraphicsLevel >= 2)
+ if(!LDPUMA_Skip(hFirstDustAbsorbtion))
+- LT_GraphicsBlocksOutput ("After first dust absorbtion");
++ LT_GraphicsBlocksOutput ("After first dust absorption");
+ # endif
+
+ PageMatrixExcludeSeparators (TRUE);
+@@ -368,7 +368,7 @@ i=0; i=i;
+ # ifdef LT_DEBUG
+ //if (LT_DebugGraphicsLevel >= 2)
+ if(!LDPUMA_Skip(hSecondDustAbsorbtion))
+- LT_GraphicsBlocksOutput ("After second dust absorbtion");
++ LT_GraphicsBlocksOutput ("After second dust absorption");
+ # endif
+
+ if (cut_page_left || cut_page_right)
+--- a/cuneiform_src/Kern/rstr/src/pass3.c
++++ b/cuneiform_src/Kern/rstr/src/pass3.c
+@@ -648,7 +648,7 @@ ready_BL:;
+ {
+ if (snap_activity('d'))
+ {
+- snap_show_text("Skiped as dust");
++ snap_show_text("Skipped as dust");
+ snap_monitor();
+ }
+
+@@ -3135,7 +3135,7 @@ Bool match_word_prepare(CSTR_line ln, uc
+ {
+ if (snap_activity('n'))
+ {
+- snap_show_text("Skiped as dust");
++ snap_show_text("Skipped as dust");
+ snap_monitor();
+ }
+ return FALSE;
+--- a/cuneiform_src/Kern/rstr/src/snap.c
++++ b/cuneiform_src/Kern/rstr/src/snap.c
+@@ -542,7 +542,7 @@ if( short_spell_re(wrd,lang) )
+ else
+ strcat(buf," n");
+
+-strcat(buf," new agressive : ");
++strcat(buf," new aggressive : ");
+ if( _spell_agressive(wrd,lang) )
+ strcat(buf,"y ");
+ else