Hi Fridrich,

Sorry you had to re-do the WP5-Arabic13 mapping fixes since I never got my patch to you in time (I was planning on fixing 13 and 14 both and then sending the patch, but I got pulled away on other things before I got very far into 14) :-(

I have one small patch for the new composed characters (very nice!), though. I think we should swap the order of the lam-alif and the fathatan/faux-wasla in those pairs so that the latter display over/to the left of the alif part of the lam-alif, instead of before (to the right of) the entire lam-alif in wpd2text's output. Swapping the order appears to make no difference in browser rendering of the output of wpd2html (I checked in a recent release of both Gecko and WebKit), nor does it appear to make a difference in rendering of the output of wpd2odt. (This also matches the output of wp2rtf for lam-alif with fathatan.) Finally, this puts the characters of this "character group" into the file in the same order as if you were to physically type the "character group": lam-alif, then fathatan.

It looks like a "stand-alone" wasla glyph didn't make the new pedagogical glyphs introduced in Unicode 6 (which is sad, since someone apparently wrote a proposal for that all the way back in 2002: http://lists.arabeyes.org/archives/general/2002/January/msg00000.html). I don't have any better ideas for a glyph than the circumflex that wp2rtf used; that at least will let people see and uniquely search for any cases they might have used that (or the lam-alif-wasla characters), but hopefully those are rare enough to never see real-world usage.

Also, gcc 4.0.1 over here on Mac OS X 10.5.8 is unhappy about your comparison between signed and unsigned in the WP42DefineColumnsGroup.cpp and the build fails, so attached is the patch I used to fix that.

Smokey
diff --git a/src/lib/libwpd_internal.cpp b/src/lib/libwpd_internal.cpp
index c708363..5e002cb 100644
--- a/src/lib/libwpd_internal.cpp
+++ b/src/lib/libwpd_internal.cpp
@@ -855,11 +855,11 @@ static const WPXComplexMap arabicWP5Complex[] = {
 
   { 35, { 0x0640, 0x0670, 0x0000 } },
 
-  { 178, { 0x064b, 0xfefb, 0x0000 } },
-  { 179, { 0x064b, 0xfefc, 0x0000 } },
+  { 178, { 0xfefb, 0x064b, 0x0000 } },
+  { 179, { 0xfefc, 0x064b, 0x0000 } },
 
-  { 182, { 0x02c6, 0xfefb, 0x0000 } },
-  { 183, { 0x02c6, 0xfefc, 0x0000 } },
+  { 182, { 0xfefb, 0x02c6, 0x0000 } },
+  { 183, { 0xfefc, 0x02c6, 0x0000 } },
 
   { 0, { 0x0000 } }
 };
diff --git a/src/lib/WP42DefineColumnsGroup.cpp b/src/lib/WP42DefineColumnsGroup.cpp
index 2983524..237ed08 100644
--- a/src/lib/WP42DefineColumnsGroup.cpp
+++ b/src/lib/WP42DefineColumnsGroup.cpp
@@ -57,7 +57,7 @@ void WP42DefineColumnsGroup::_readContents(WPXInputStream *input, WPXEncryption
 			return;
 	}
 	uint8_t tmpNumColumns = readU8(input, encryption);
-	m_numColumns = tmpNumColumns & 0x7F;
+	unsigned m_numColumns = tmpNumColumns & 0x7F;
 	if (m_numColumns > maxNumColumns)
 		m_numColumns = maxNumColumns;
 	m_isParallel = ((tmpNumColumns & 0x80) != 0);
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Libwpd-devel mailing list
Libwpd-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libwpd-devel

Reply via email to