Hello, I'm making some experiments with Cuneiform (bzr:532) on ARM. My target is Nokia N900, Maemo5.
I first compiled and got Cuneiform working on 64bit Ubuntu-10.10. This is my test case: cat /usr/share/automake-1.11/COPYING | convert -pointsize 56 -page 1950x3288+50+10 1950x3288+50+10 text:-'[0]' -monochrome -normalize gpl.bmp LD_LIBRARY_PATH=/usr/local/lib64/ cuneiform -f text -o gpl_processed.txt gpl.bmp Result is readable, but not perfect. http://pastebin.com/wN5ZU62B (e.g. row2 web address and row 4 "itis") * On ARM: Compiling (actually linking) stops at error "undefined reference to `htobe32'" Which is used on cuneiform_src/Kern/rstr/src/perc.c:785 #define swapbytes(a) do { (a) = htobe32(a); } while (0) Which is defined on <endian.h> # define htobe32(x) __bswap_32 (x) This is case with Ubuntu, but on ARM, endian.h does not contain this. (Might be because there are no bswap32 on ARM, as I know). I made very dummy workaround to get it compiled: +//#define swapbytes(a) do { (a) = htobe32(a); } while (0) +#define swapbytes(a) ; I got it compiled with many warnings, which I didn't saw with Ubuntu: http://pastebin.com/HdcxHunN (Seems they all are: warning: comparison is always true due to limited range of data type warning: comparison is always false due to limited range of data type ) With same test-image, N900 produces non-readable result. It can be identified though cuneiform -f text -o gpl_n900.txt gpl.bmp http://pastebin.com/68SSxkKU * perc.c says: "processing of the 'percent' symbol". Does this mean all that bswap32-thing affects only for "%"? If yes, does it imply that ARM-version will work after warnings are fixed? -Aapo Rantalainen _______________________________________________ Mailing list: https://launchpad.net/~cuneiform Post to : [email protected] Unsubscribe : https://launchpad.net/~cuneiform More help : https://help.launchpad.net/ListHelp

