Thursday, April 23, 2009
Blog It!
Monday, April 20, 2009
[GSoC 2009] Port AbiWord for Windows to Unicode
My Project : Port AbiWord for Windows to Unicode
Project Proposal
Mentor : Mr.Dominic Lachowicz
List of Selected students for Abiword can be found here.
It's great to have a chance of getting a task that we prefer personally. GSoC offers us this opportunity. At this time, I have to consider more on my upcoming schedule and I will be following my project proposal time line for that.
I have to mention the great help offered to me during March and April by the Abiword developers. sum1, Robert Staudinger, Dominic Lachowicz, and Jordi Mas were always providing help and guidelines, whenever required, encouraging me and the other applicants.
Congratz to all my friends from University of Moratuwa who got selected for GSoC2009 and all the selected applicants for Abiword.
Awaiting an exciting summer!
Thank you.
Saturday, April 18, 2009
Crossbuilding AbiWord for Win32 using Ubuntu / Wine
Provided that you have Wine installed on Linux, you can follow these steps to build Abiword for your windows.
(1) Install mingw.
On ubuntu you need the packages mingw32, mingw32-binutils and mingw32-runtime
$ sudo apt-get install mingw32
This will install mingw32 with the other two (mingw32-binutils and mingw32-runtime) dependencies.
(2) Get all the dependencies in place.
Robert Staudinger has packed them and made them available here.
If this file is moved to somewhere else, when you are trying, you can alternatively download it here.
Now unpack it in /opt. You will get /opt/win32 as base dir for the win32 stuff.
(3) At the time of writing, I faced some problem in src/af/xap/xp/xap_Module.h
The issue is solved here.
An update (May 10th 2009): This issue is resolved now in the trunk.
(4) Now use the commands to finally crossbuild:
1. source /opt/win32/bin/mingw-env.sh Go to to source tree and run
2. CPPFLAGS="-I/opt/win32/include" ./autogen.sh --prefix=/opt/abiword --host=i686-pc-linux-gnuaout --target=i586-mingw32msvc *** when cross-building with robsta's pack if it demands for libtool, automake, or fribidi, a sudo apt-get install of these three will solve the issue (for Ubuntu).
3. make
abiword.exe will end up in src/. You need to copy it to /opt/win32/bin to run it under wine, or alternatively copy all the required DLLs to src/.
Now you can take the directory containing abiword.exe to your windows machine to run Abiword.exe, which you have built just now!
The Original Research by Robert Staudinger can be found here.
Friday, April 17, 2009
Facebook? Have a backup somewhere else!
Thursday, April 16, 2009
Abiword Screenshots
Snapshot 1: Abiword built using Wine, running on Ubuntu
Snapshot 2: Abiword.exe built above is now running on Windows
Snapshot 3: See the difference of Abiword built using Ubuntu (the standard build process), and using Ubuntu/Wine cross building, running on Ubuntu
Building Abiword Using Wine on Ubuntu
+++ src/af/xap/xp/xap_Module.h 2009-04-16 12:16:01.000000000 +0530
@@ -52,7 +52,7 @@
// we want to have C linkage for both
// this and for all of our required functions
extern "C" {
- typedef ABI_EXPORT struct {
+ typedef struct {
const char * name;
const char * desc;
const char * version;
After applying the above diff file, Abiword is successfully built using wine, and now happily running on Ubuntu!
More information can be found here.
Wednesday, April 15, 2009
Internationalization & Localization
localization (L10n) - The process of adapting software for a specific region or language by adding locale-specific components and translating text.
globalization (g11n) / Native Language Support (NLS) - The combination of internationalization and localization.
Locale - A set of parameters that defines the user's language, country and any special variant preferences that the user wants to see in their user interface.
Localizability (L12y) - The degree to which a software product can be localized.
Resource - Part of a program which can appear to the user or be changed or configured by the user, and this is the data of the program, opposed to its code.
Core product - The language independent portion of a software product.
Compiled from:
* Wikipedia
* Mozilla Internationalization & Localization Guidelines
Monday, April 13, 2009
Transliteration ~ Google and more ..
Hindu Arabic Numbers : 0 1 2 3 4 5 6 7 8 9
Hindi : ० १ २ ३ ४ ५ ६ ७ ८ ९
Kannada : ೦ ೧ ೨ ೩ ೪ ೫ ೬ ೭ ೮ ೯
Malayalam : ൦ ൧ ൨ ൩ ൪ ൫ ൬ ൭ ൮ ൯
Tamil : ௦ ௧ ௨ ௩ ௪ ௫ ௬ ௭ ௮ ௯
Telugu : ౦ ౧ ౨ ౩ ౪ ౫ ౬ ౭ ౮ ౯
Update as on 2010 March:
UCSC Unicode Real Time Font Conversion Utility
Saturday, April 11, 2009
Use of Unicode in AbiWord - Initial Discussions
http://unicode.org/mail-arch/unicode-ml/Archives-Old/UML014/0787.html
This thread contains a huge array of the discussions on the topic.
Even if you are not an Abiword developer, this mail thread is a good one to have a look, since it has many important views of many developers about Unicode applications.
Monday, April 6, 2009
Changes for building Abiword in MSVC2008 [Thanks to sum1]
===================================================================
--- src/af/xap/win/xap_Win32Dlg_About.cpp (revision 26019)
+++ src/af/xap/win/xap_Win32Dlg_About.cpp (working copy)
@@ -45,8 +45,8 @@
/*****************************************************************/
-extern unsigned char g_pngSidebar[]; // see ap_wp_sidebar.cpp
-extern unsigned long g_pngSidebar_sizeof; // see ap_wp_sidebar.cpp
+/*extern*/ unsigned char g_pngSidebar[1]; // see ap_wp_sidebar.cpp
+/*extern*/ unsigned long g_pngSidebar_sizeof = 1; // see ap_wp_sidebar.cpp
bool XAP_Win32Dialog_About::s_bEventLoopDone;
Index: src/wp/main/xp/abi_ver.cpp
===================================================================
--- src/wp/main/xp/abi_ver.cpp (revision 26019)
+++ src/wp/main/xp/abi_ver.cpp (working copy)
@@ -41,7 +41,7 @@
#endif /* ABI_BUILD_TARGET */
const char* XAP_App::s_szBuild_ID = ABI_BUILD_ID;
-const char* XAP_App::s_szAbiSuite_Home = ABIWORD_DATADIR;
+const char* XAP_App::s_szAbiSuite_Home = "";//ABIWORD_DATADIR;
const char* XAP_App::s_szBuild_Version = ABI_BUILD_VERSION;
const char* XAP_App::s_szBuild_Options = ABI_BUILD_OPTIONS;
const char* XAP_App::s_szBuild_Target = ABI_BUILD_TARGET;
======================================================================
Update as on October 2009:
When I tried to build Abiword using MSVC 2008, I got this error.
------ Build started: Project: LibAbiWord, Configuration: Debug Win32 ------
Compiling...
ap_wp_sidebar_static.cpp
Linking...
ap_wp_sidebar_static.obj : error LNK2005: "unsigned char * g_pngSidebar" (?g_pngSidebar@@3PAEA) already defined in xap_Win32Dlg_About.obj
ap_wp_sidebar_static.obj : error LNK2005: "unsigned long g_pngSidebar_sizeof" (?g_pngSidebar_sizeof@@3KA) already defined in xap_Win32Dlg_About.obj
Creating library C:\abi-trunk\msvc-2008\Debug\bin\LibAbiWord.lib and object C:\abi-trunk\msvc-2008\Debug\bin\LibAbiWord.exp
C:\abi-trunk\msvc-2008\Debug\bin\LibAbiWord.dll : fatal error LNK1169: one or more multiply defined symbols found
Build log was saved at "file://c:\abi-trunk\msvc-2008\LibAbiWord\Debug\BuildLog.htm"
LibAbiWord - 3 error(s), 0 warning(s)
------ Build started: Project: PluginOpendocument, Configuration: Debug Win32 ------
Linking...
LINK : C:\abi-trunk\msvc-2008\Debug\plugins\PluginOpendocument.dll not found or not built by the last incremental link; performing full link
Creating library C:\abi-trunk\msvc-2008\Debug\plugins\PluginOpendocument.lib and object C:\abi-trunk\msvc-2008\Debug\plugins\PluginOpendocument.exp
Embedding manifest...
Build log was saved at "file://c:\abi-trunk\msvc-2008\PluginOpendocument\Debug\BuildLog.htm"
PluginOpendocument - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I replaced C:\abi-trunk\src\af\xap\win\xap_Win32Dlg_About.cpp with this. That gave me a rapid solution to the issue, but which is not the real fix for the issue I faced, of course.
Building Abiword using MSVC2008 Express Edition
Using sum1's suggestions I have succeeded in building Abiword in Windows also.
http://pastebin.ca/1382828
Still some errors in the menu items, that the sub menus are not shown.
I will work on this and rectify this issue.
Sunday, April 5, 2009
Useful links for newbie Abiword Developers and students
http://www.abisource.com/developers/
If you find a bug or rfe, feel free to use Bugzilla, and report an issue with the relevant information:
http://bugzilla.abisource.com/
In case the issue is already there in the BugZilla database, cast a vote for the issue to make the team aware that the issue is popular and/or important.
The SVN Location:
http://svn.abisource.com/
If you want to contribute to the translation efforts:
http://www.abisource.com/contribute/translate/
If you want to download Abiword as a user:
http://www.abisource.com/download/
Building Abiword for Debian based Linux distributions:
http://abisource.com/wiki/Compiling_AbiWord
To build Abiword on Windows:
Using Visual C++:
Developing AbiWord on Windows using Visual C++
Building AbiWord 2.8 on Windows
If you find any issue as a user or developer, feel free to contact Abi team on irc:
irc://irc.gnome.org#abiword
Joining relevant Mailing lists according to your requirements is always recommended:
To join: http://www.abisource.com/developers/
Mail Archives: http://www.abisource.com/mailinglists/
Thursday, April 2, 2009
Abiword for Windows
Wednesday, April 1, 2009
svn export
svn: In directory 'wv\examples'
svn: Error processing command 'readonly' in 'wv\examples'
svn: Can't set file 'wv\examples\.svn\text-base\this-file-crashes-msword.doc.svn
-base' read-only: The system cannot find the file specified.
No ideas yet...
Later just used "svn export" for each file that yet to be downloaded, and downloaded them one by one, and got all those missing files!