Thursday, September 3, 2009


Summary: Port AbiWord for Windows to Unicode

Initial revision: 26150
Final GSoC revision: 27718
I used the below command to create the diff file depicting my progress, in a single diff file named gsoc2009unicode.diff. Here abiword_home is the working folder (abiword source root) that is checked out.
Using this command from abiword_home;
svn diff -r 26150:27718 src > gsoc2009unicode.diff

The diff file can be downloaded here.
It has 13496 lines and 465.5 KB.
My Google Summer of Codes branch can be found at which is the unicode branch for Abiword Windows. I continued working on this branch even after the Summer of Codes Firm Pencils Down date. So for further updates on the unicode port, you can simply checkout that branch instead of applying this patch.

To use the attached patch,
1. Check out Abiword from trunk as on revision 26150, the revision which was used to create my initial gsoc2009unicode branch.
svn co -r 26150

2. Go to the trunk folder you have just checked out and place the patch there.

3. Use the below command from the folder, to patch the working directory.
patch -p0 < gsoc2009unicode.diff 4. Now you have patched the trunk directory and you have the files in the status as that of my gsoc2009unicode branch on the final Google Summer of Codes version 27718. 5. Configuring, building, and other options have no difference from the usual Abiword building process. More details on my Google Summer of Codes 2009 progress can be found here: Kathiravelu Pradeeban


Summer of Codes 2009 Download List for Abiword can be found here.
Details for the code submission can be found here.

A few lines from the patch:
int XAP_Win32DialogBase::addItemToCombo(UT_sint32 controlId, LPCSTR p_str)
- return SendDlgItemMessage(m_hDlg, controlId, CB_ADDSTRING, 0, (LPARAM)p_str);
+ UT_Win32LocaleString str;
+ str.fromUTF8 (p_str);
+ return SendDlgItemMessageW(m_hDlg, controlId, CB_ADDSTRING, 0, (LPARAM)str.c_str());

google-summer-of-code-2009-abiword submitted code zips can be downloaded here

The diff file including the work on the porting done after the GSoC timeline can be found here.


  1. i lik the concept youput on here in the spftware,,,bt it can have some more features
    Cash Online Get Easy cash at your door step

  2. We were given a period of 3 months as the timeline. Now as we have completed GSoC, I am involved in my branch, making it much better and bug-free before the merge to the trunk.


You are welcome to provide your opinions in the comments. Spam comments and comments with random links will be deleted.