rpms/openoffice.org/devel openoffice.org-3.0.0.ooo93366.fpicker_in_main.patch, NONE, 1.1 workspace.i18n45.patch, NONE, 1.1 openoffice.org.spec, 1.1633, 1.1634 openoffice.org.2.0.4.ooo80412.i18npool.extendgrapheme.patch, 1.1, NONE
Caolan McNamara
caolanm at fedoraproject.org
Tue Sep 2 08:37:48 UTC 2008
Author: caolanm
Update of /cvs/pkgs/rpms/openoffice.org/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv32187
Modified Files:
openoffice.org.spec
Added Files:
openoffice.org-3.0.0.ooo93366.fpicker_in_main.patch
workspace.i18n45.patch
Removed Files:
openoffice.org.2.0.4.ooo80412.i18npool.extendgrapheme.patch
Log Message:
add openoffice.org-3.0.0.ooo93366.fpicker_in_main.patch
openoffice.org-3.0.0.ooo93366.fpicker_in_main.patch:
--- NEW FILE openoffice.org-3.0.0.ooo93366.fpicker_in_main.patch ---
Index: source/dialog/filedlghelper.cxx
===================================================================
RCS file: /cvs/framework/sfx2/source/dialog/filedlghelper.cxx,v
retrieving revision 1.144
diff -u -r1.144 filedlghelper.cxx
--- openoffiec.org.orig/sfx2/source/dialog/filedlghelper.cxx 4 Jun 2008 09:53:08 -0000 1.144
+++ openoffice.org/sfx2/source/dialog/filedlghelper.cxx 2 Sep 2008 08:24:03 -0000
@@ -1325,8 +1325,10 @@
sal_Int16 nRet = ExecutableDialogResults::CANCEL;
-#if !(defined(MACOSX) && defined(QUARTZ))
//On MacOSX the native file picker has to run in the primordial thread because of drawing issues
+//On Linux the native gtk file picker, when backed by gnome-vfs2, needs to be run in the same
+//primordial thread as the ucb gnome-vfs2 provider was initialized in.
+#ifdef WNT
if ( mbSystemPicker )
{
PickerThread_Impl* pThread = new PickerThread_Impl( mxFileDlg );
diff -ru fpicker.orig/source/unx/gnome/SalGtkFilePicker.cxx fpicker/source/unx/gnome/SalGtkFilePicker.cxx
--- openoffice.org.orig/fpicker/source/unx/gnome/SalGtkFilePicker.cxx 2008-09-02 09:16:04.000000000 +0100
+++ openoffice.org/fpicker/source/unx/gnome/SalGtkFilePicker.cxx 2008-09-02 09:20:51.000000000 +0100
@@ -999,13 +999,13 @@
uno::Reference< awt::XExtendedToolkit > xToolkit(
m_xServiceMgr->createInstance( ::rtl::OUString::createFromAscii("com.sun.star.awt.Toolkit") ), uno::UNO_QUERY);
- RunDialog* pRunInMain = new RunDialog(m_pDialog, xToolkit);
- uno::Reference < awt::XTopWindowListener > xLifeCycle(pRunInMain);
+ RunDialog* pRunDialog = new RunDialog(m_pDialog, xToolkit);
+ uno::Reference < awt::XTopWindowListener > xLifeCycle(pRunDialog);
while( GTK_RESPONSE_NO == btn )
{
btn = GTK_RESPONSE_YES; // we dont want to repeat unless user clicks NO for file save.
- gint nStatus = pRunInMain->runandwaitforresult();
+ gint nStatus = pRunDialog->run();
switch( nStatus )
{
case GTK_RESPONSE_ACCEPT:
@@ -1032,9 +1032,9 @@
OUStringToOString(aResProvider.getResString(FILE_PICKER_TITLE_SAVE ),
RTL_TEXTENCODING_UTF8 ).getStr() );
- RunDialog* pAnotherRunInMain = new RunDialog(dlg, xToolkit);
- uno::Reference < awt::XTopWindowListener > xAnotherLifeCycle(pAnotherRunInMain);
- btn = pAnotherRunInMain->runandwaitforresult();
+ RunDialog* pAnotherDialog = new RunDialog(dlg, xToolkit);
+ uno::Reference < awt::XTopWindowListener > xAnotherLifeCycle(pAnotherDialog);
+ btn = pAnotherDialog->run();
gtk_widget_destroy( dlg );
}
diff -ru fpicker.orig/source/unx/gnome/SalGtkFolderPicker.cxx fpicker/source/unx/gnome/SalGtkFolderPicker.cxx
--- openoffice.org.orig/fpicker/source/unx/gnome/SalGtkFolderPicker.cxx 2008-09-02 09:16:04.000000000 +0100
+++ openoffice.org/fpicker/source/unx/gnome/SalGtkFolderPicker.cxx 2008-09-02 09:20:53.000000000 +0100
@@ -176,9 +176,9 @@
uno::Reference< awt::XExtendedToolkit > xToolkit(
m_xServiceMgr->createInstance( ::rtl::OUString::createFromAscii("com.sun.star.awt.Toolkit") ), uno::UNO_QUERY);
- RunDialog* pRunInMain = new RunDialog(m_pDialog, xToolkit);
- uno::Reference < awt::XTopWindowListener > xLifeCycle(pRunInMain);
- gint nStatus = pRunInMain->runandwaitforresult();
+ RunDialog* pRunDialog = new RunDialog(m_pDialog, xToolkit);
+ uno::Reference < awt::XTopWindowListener > xLifeCycle(pRunDialog);
+ gint nStatus = pRunDialog->run();
switch( nStatus )
{
case GTK_RESPONSE_ACCEPT:
diff -ru fpicker.orig/source/unx/gnome/SalGtkPicker.cxx fpicker/source/unx/gnome/SalGtkPicker.cxx
--- openoffice.org.orig/fpicker/source/unx/gnome/SalGtkPicker.cxx 2008-09-02 09:16:04.000000000 +0100
+++ openoffice.org/fpicker/source/unx/gnome/SalGtkPicker.cxx 2008-09-02 09:20:22.000000000 +0100
@@ -124,7 +124,7 @@
RunDialog::RunDialog( GtkWidget *pDialog, uno::Reference< awt::XExtendedToolkit >& rToolkit ) :
cppu::WeakComponentImplHelper1< awt::XTopWindowListener >( maLock ),
- mbFinished(false), mpDialog(pDialog), mpCreatedParent(NULL), mxToolkit(rToolkit)
+ mpDialog(pDialog), mpCreatedParent(NULL), mxToolkit(rToolkit)
{
awt::SystemDependentXWindow aWindowHandle;
@@ -178,39 +178,20 @@
gtk_widget_hide( mpDialog );
}
-void RunDialog::run()
+gint RunDialog::run()
{
if (mxToolkit.is())
mxToolkit->addTopWindowListener(this);
- mnStatus = gtk_dialog_run( GTK_DIALOG( mpDialog ) );
+ gint nStatus = gtk_dialog_run( GTK_DIALOG( mpDialog ) );
if (mxToolkit.is())
mxToolkit->removeTopWindowListener(this);
-
- if (mnStatus != 1) //PLAY
+ if (nStatus != 1) //PLAY
gtk_widget_hide( mpDialog );
- maLock.acquire();
- mbFinished = true;
- maLock.release();
-
- Application::EndYield();
-}
-
-gint RunDialog::runandwaitforresult()
-{
- g_timeout_add_full(G_PRIORITY_HIGH_IDLE, 0, (GSourceFunc)rundialog, this, NULL);
- while (1)
- {
- maLock.acquire();
- if (mbFinished)
- break;
- maLock.release();
- Application::Yield();
- }
- return mnStatus;
+ return nStatus;
}
SalGtkPicker::~SalGtkPicker()
diff -ru fpicker.orig/source/unx/gnome/SalGtkPicker.hxx fpicker/source/unx/gnome/SalGtkPicker.hxx
--- openoffice.org.orig/fpicker/source/unx/gnome/SalGtkPicker.hxx 2008-09-02 09:16:04.000000000 +0100
+++ openoffice.org/fpicker/source/unx/gnome/SalGtkPicker.hxx 2008-09-02 09:16:49.000000000 +0100
@@ -74,8 +74,7 @@
static rtl::OString unicodetouri(const rtl::OUString &rURL);
};
-//Run the Gtk Dialog in the "Main Thread" for us to avoid threading conflict and
-//report back to this thread. Watch for any "new windows" created while we're
+//Run the Gtk Dialog. Watch for any "new windows" created while we're
//executing and consider that a CANCEL event to avoid e.g. "file cannot be opened"
//modal dialogs and this one getting locked if some other API call causes this
//to happen while we're opened waiting for user input, e.g.
@@ -84,9 +83,7 @@
public cppu::WeakComponentImplHelper1< ::com::sun::star::awt::XTopWindowListener >
{
private:
- bool mbFinished;
osl::Mutex maLock;
- gint mnStatus;
GtkWidget *mpDialog;
GdkWindow *mpCreatedParent;
::com::sun::star::uno::Reference< ::com::sun::star::awt::XExtendedToolkit> mxToolkit;
@@ -111,8 +108,7 @@
throw (::com::sun::star::uno::RuntimeException) {}
public:
RunDialog(GtkWidget *pDialog, ::com::sun::star::uno::Reference< ::com::sun::star::awt::XExtendedToolkit > &rToolkit);
- gint runandwaitforresult();
- void run();
+ gint run();
void cancel();
~RunDialog();
};
workspace.i18n45.patch:
--- NEW FILE workspace.i18n45.patch ---
Index: l10n/i18npool/inc/breakiterator_cjk.hxx
diff -u l10n/i18npool/inc/breakiterator_cjk.hxx:1.6 l10n/i18npool/inc/breakiterator_cjk.hxx:1.6.16.1
--- l10n/i18npool/inc/breakiterator_cjk.hxx:1.6 Thu Apr 10 01:37:18 2008
+++ l10n/i18npool/inc/breakiterator_cjk.hxx Mon Aug 18 21:23:30 2008
@@ -58,6 +58,7 @@
protected:
xdictionary *dict;
+ rtl::OUString hangingCharacters;
};
#define BREAKITERATOR_CJK( lang ) \
@@ -69,6 +70,7 @@
#ifdef BREAKITERATOR_ALL
BREAKITERATOR_CJK( zh )
+BREAKITERATOR_CJK( zh_TW )
BREAKITERATOR_CJK( ja )
BREAKITERATOR_CJK( ko )
#endif
Index: l10n/i18npool/inc/breakiterator_hi.hxx
diff -u l10n/i18npool/inc/breakiterator_hi.hxx:1.1 l10n/i18npool/inc/breakiterator_hi.hxx:removed
--- l10n/i18npool/inc/breakiterator_hi.hxx:1.1 Wed Apr 24 10:08:25 2002
+++ l10n/i18npool/inc/breakiterator_hi.hxx Tue Sep 2 00:59:09 2008
@@ -1,37 +0,0 @@
-/*************************************************************************
-#*
-#* Copyright (c) 2002 Sun Microsystems Inc.
-#*
-#* Bugs! - Contact Prabhat.Hegde at sun.com
-#*************************************************************************/
-
-#ifndef _I18N_BREAKITERATOR_HI_HXX_
-#define _I18N_BREAKITERATOR_HI_HXX_
-
-#include <breakiterator_ctl.hxx>
-
-namespace com {
-namespace sun {
-namespace star {
-namespace i18n {
-
-// ----------------------------------------------------
-// class BreakIterator_hi
-// ----------------------------------------------------
-class BreakIterator_hi : public BreakIterator_CTL
-{
-public:
- BreakIterator_hi();
- ~BreakIterator_hi();
-
-protected:
- void SAL_CALL makeIndex(const rtl::OUString& text, sal_Int32 pos)
- throw(com::sun::star::uno::RuntimeException);
-};
-
-}
-}
-}
-}
-
-#endif
Index: l10n/i18npool/inc/localedata.hxx
diff -u l10n/i18npool/inc/localedata.hxx:1.20 l10n/i18npool/inc/localedata.hxx:1.20.16.1
--- l10n/i18npool/inc/localedata.hxx:1.20 Thu Apr 10 01:44:09 2008
+++ l10n/i18npool/inc/localedata.hxx Mon Aug 18 21:23:30 2008
@@ -112,6 +112,7 @@
virtual com::sun::star::uno::Sequence< rtl::OUString > SAL_CALL getFollowPageWords( const com::sun::star::lang::Locale& rLocale ) throw(com::sun::star::uno::RuntimeException);
virtual sal_Bool SAL_CALL hasPhonetic( const com::sun::star::lang::Locale& rLocale ) throw(com::sun::star::uno::RuntimeException);
virtual sal_Bool SAL_CALL isPhonetic( const com::sun::star::lang::Locale& rLocale, const rtl::OUString& algorithm ) throw(com::sun::star::uno::RuntimeException);
+ virtual rtl::OUString SAL_CALL getHangingCharacters( const com::sun::star::lang::Locale& rLocale ) throw(com::sun::star::uno::RuntimeException);
//XServiceInfo
virtual rtl::OUString SAL_CALL getImplementationName() throw( com::sun::star::uno::RuntimeException );
Index: l10n/i18npool/source/breakiterator/breakiteratorImpl.cxx
diff -u l10n/i18npool/source/breakiterator/breakiteratorImpl.cxx:1.28 l10n/i18npool/source/breakiterator/breakiteratorImpl.cxx:1.27.4.2
--- l10n/i18npool/source/breakiterator/breakiteratorImpl.cxx:1.28 Thu Aug 14 09:27:36 2008
+++ l10n/i18npool/source/breakiterator/breakiteratorImpl.cxx Mon Aug 25 11:31:48 2008
@@ -234,6 +234,7 @@
{
if (nStartPos < 0 || nStartPos > Text.getLength())
return -1;
+ if (Text.getLength() == 0) return 0;
return LBI->beginOfSentence(Text, nStartPos, rLocale);
}
@@ -242,6 +243,7 @@
{
if (nStartPos < 0 || nStartPos > Text.getLength())
return -1;
+ if (Text.getLength() == 0) return 0;
return LBI->endOfSentence(Text, nStartPos, rLocale);
}
Index: l10n/i18npool/source/breakiterator/breakiterator_cjk.cxx
diff -u l10n/i18npool/source/breakiterator/breakiterator_cjk.cxx:1.17 l10n/i18npool/source/breakiterator/breakiterator_cjk.cxx:1.17.16.1
--- l10n/i18npool/source/breakiterator/breakiterator_cjk.cxx:1.17 Thu Apr 10 01:52:22 2008
+++ l10n/i18npool/source/breakiterator/breakiterator_cjk.cxx Mon Aug 18 21:24:50 2008
@@ -33,6 +33,7 @@
#define BREAKITERATOR_ALL
#include <breakiterator_cjk.hxx>
+#include <localedata.hxx>
#include <i18nutil/unicode.hxx>
using namespace ::com::sun::star::uno;
@@ -108,7 +109,7 @@
LineBreakResults lbr;
if (bOptions.allowPunctuationOutsideMargin &&
- bOptions.forbiddenBeginCharacters.indexOf(Text[nStartPos]) != -1 &&
+ hangingCharacters.indexOf(Text[nStartPos]) != -1 &&
++nStartPos == Text.getLength()) {
; // do nothing
} else if (bOptions.applyForbiddenRules && 0 < nStartPos && nStartPos < Text.getLength()) {
@@ -122,12 +123,15 @@
lbr.breakType = BreakType::WORDBOUNDARY;
return lbr;
}
+
+#define LOCALE(language, country) lang::Locale(OUString::createFromAscii(language), OUString::createFromAscii(country), OUString())
// ----------------------------------------------------
// class BreakIterator_zh
// ----------------------------------------------------;
BreakIterator_zh::BreakIterator_zh()
{
dict = new xdictionary("zh");
+ hangingCharacters = LocaleData().getHangingCharacters(LOCALE("zh", "CN"));
cBreakIterator = "com.sun.star.i18n.BreakIterator_zh";
}
@@ -137,12 +141,28 @@
}
// ----------------------------------------------------
+// class BreakIterator_zh_TW
+// ----------------------------------------------------;
+BreakIterator_zh_TW::BreakIterator_zh_TW()
+{
+ dict = new xdictionary("zh");
+ hangingCharacters = LocaleData().getHangingCharacters(LOCALE("zh", "TW"));
+ cBreakIterator = "com.sun.star.i18n.BreakIterator_zh_TW";
+}
+
+BreakIterator_zh_TW::~BreakIterator_zh_TW()
+{
+ delete dict;
+}
+
+// ----------------------------------------------------
// class BreakIterator_ja
// ----------------------------------------------------;
BreakIterator_ja::BreakIterator_ja()
{
dict = new xdictionary("ja");
dict->setJapaneseWordBreak();
+ hangingCharacters = LocaleData().getHangingCharacters(LOCALE("ja", "JP"));
cBreakIterator = "com.sun.star.i18n.BreakIterator_ja";
}
@@ -156,6 +176,7 @@
// ----------------------------------------------------;
BreakIterator_ko::BreakIterator_ko()
{
+ hangingCharacters = LocaleData().getHangingCharacters(LOCALE("ko", "KR"));
cBreakIterator = "com.sun.star.i18n.BreakIterator_ko";
}
Index: l10n/i18npool/source/breakiterator/breakiterator_hi.cxx
diff -u l10n/i18npool/source/breakiterator/breakiterator_hi.cxx:1.3 l10n/i18npool/source/breakiterator/breakiterator_hi.cxx:removed
--- l10n/i18npool/source/breakiterator/breakiterator_hi.cxx:1.3 Sun Sep 17 02:13:49 2006
+++ l10n/i18npool/source/breakiterator/breakiterator_hi.cxx Tue Sep 2 00:59:11 2008
@@ -1,191 +0,0 @@
-/*************************************************************************
-#*
-#* Copyright (c) 2002 Sun Microsystems Inc.
-#*
-#* Bugs! - Contact Prabhat.Hegde at sun.com
-#************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_i18npool.hxx"
-
-#include <breakiterator_hi.hxx>
-
-#include <string.h> // for memset
-
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::rtl;
-
-namespace com { namespace sun { namespace star { namespace i18n {
-
-// ----------------------------------------------------
-// class Breakiterator_hi
-// ----------------------------------------------------;
-BreakIterator_hi::BreakIterator_hi()
-{
- cBreakIterator = "com.sun.star.i18n.BreakIterator_hi";
-}
-
-BreakIterator_hi::~BreakIterator_hi()
-{
-}
-
-/*
- * Devanagari character class Definitions
- */
-#define _NP 1L
-#define _UP (1L<<1)
-#define _IV (1L<<2)
-#define _CN (1L<<3)
-#define _CK (1L<<4)
-#define _RC (1L<<5)
-#define _NM (1L<<6)
-#define _IM (1L<<7)
-#define _HL (1L<<8)
-#define _NK (1L<<9)
-#define _VD (1L<<10)
-#define _HD (1L<<11)
-#define _II_M (1L<<12)
-#define _EY_M (1L<<13)
-#define _AI_M (1L<<14)
-#define _OW1_M (1L<<15)
-#define _OW2_M (1L<<16)
-#define _MS (1L<<17)
-#define _AYE_M (1L<<18)
-#define _EE_M (1L<<19)
-#define _AWE_M (1L<<20)
-#define _O_M (1L<<21)
-#define _RM (_II_M|_EY_M|_AI_M|_OW1_M|_OW2_M|_AYE_M|_EE_M|_AWE_M|_O_M)
-
-/* Non-Defined Class type */
-#define __ND 0
-
-/*
- * Devanagari character type definitions
- */
-#define __UP 1 // ChandraBindu & Anuswar
-#define __NP 2 // Visarg
-#define __IV 3 // Independant Vowels
-#define __CN 4 // Consonants except _CK & _RC
-#define __CK 5 // Consonants that can be followed by Nukta
-#define __RC 6 // Ra
-#define __NM 7 // Matra
-#define __RM 8 // Ra + HAL
-#define __IM 9 // Choti I Matra
-#define __HL 10 // HAL
-#define __NK 11 // Nukta
-#define __VD 12 // Vedic
-#define __HD 13 // Hindu Numerals
-
-/*
- * Devanagari character type table
- */
-static const sal_uInt16 devaCT[128] = {
-/* 0, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, A, B, C, D, E, F, */
-/* 0900 */ __ND, __UP, __UP, __NP, __ND, __IV, __IV, __IV,
- __IV, __IV, __IV, __IV, __IV, __IV, __IV, __IV,
-/* 0910 */ __IV, __IV, __IV, __IV, __IV, __CK, __CK, __CK,
- __CN, __CN, __CN, __CN, __CK, __CN, __CN, __CN,
-/* 0920 */ __CN, __CK, __CK, __CN, __CN, __CN, __CN, __CN,
- __CN, __CN, __CN, __CK, __CN, __CN, __CN, __CN,
-/* 0930 */ __RC, __CN, __CN, __CN, __CN, __CN, __CN, __CN,
- __CN, __CN, __ND, __ND, __NK, __VD, __NM, __IM,
-/* 0940 */ __RM, __NM, __NM, __NM, __NM, __RM, __RM, __RM,
- __RM, __RM, __RM, __RM, __RM, __HL, __ND, __ND,
-/* 0950 */ __ND, __VD, __VD, __VD, __VD, __ND, __ND, __ND,
- __CN, __CN, __CN, __CN, __CN, __CN, __CN, __CN,
-/* 0960 */ __IV, __IV, __NM, __NM, __ND, __ND, __HD, __HD,
- __HD, __HD, __HD, __HD, __HD, __HD, __HD, __HD,
-/* 0970 */ __ND, __ND, __ND, __ND, __ND, __ND, __ND, __ND,
- __ND, __ND, __ND, __ND, __ND, __ND, __ND, __ND,
-};
-
-
-#define getCharType(x) \
- ((x >= 0x0900 && x < 0x097f) ? devaCT[x - 0x0900] : __ND)
-
-/*
- * Devanagari character composition table
- */
-static const sal_uInt16 devaCompRel[14][14] = {
- /* ND, UP, NP, IV, CN, CK, RC, NM, RM, IM, HL, NK, VD, HD, */
- /* 0 */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* ND */
- /* 1 */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* UP */
- /* 2 */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* NP */
- /* 3 */ { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* IV */
- /* 4 */ { 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0 }, /* CN */
- /* 5 */ { 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0 }, /* CK */
- /* 6 */ { 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0 }, /* RC */
- /* 7 */ { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* NM */
- /* 8 */ { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* RM */
- /* 9 */ { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* IM */
- /* 10 */ { 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, /* HL */
- /* 11 */ { 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0 }, /* NK */
- /* 12 */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* VD */
- /* 13 */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } /* HD */
-};
-
-static sal_uInt16 SAL_CALL
-getCombState(const sal_Unicode *text, sal_Int32 pos)
-{
- sal_uInt16 ch1 = getCharType(text[pos]);
- sal_uInt16 ch2 = getCharType(text[pos+1]);
-
- return devaCompRel[ch1][ch2];
-}
-
-static sal_uInt32 SAL_CALL
-getACell(const sal_Unicode *text, sal_Int32 pos, sal_Int32 len)
-{
- sal_uInt32 curr = 1;
- for (; pos + 1 < len && getCombState(text, pos) == 1; curr++, pos++) {}
- return curr;
-}
-
-#define is_Hindi(x) ((x >= 0x0900 && x < 0x097f) || (x >= 0x0905 && x < 0x0940) || \
- (x >= 0x093c && x < 0x094e) || (x >= 0x0950 && x < 0x0954) || \
- (x >= 0x0958 && x < 0x0971))
-
-void SAL_CALL
-i18n::BreakIterator_hi::makeIndex(const OUString& Text, sal_Int32 nStartPos)
- throw(uno::RuntimeException)
-{
- if (Text != cachedText) {
- cachedText = Text;
- if (cellIndexSize < cachedText.getLength()) {
- cellIndexSize = cachedText.getLength();
- free(nextCellIndex);
- free(previousCellIndex);
- nextCellIndex = (sal_Int32*) calloc(cellIndexSize, sizeof(sal_Int32));
- previousCellIndex = (sal_Int32*) calloc(cellIndexSize, sizeof(sal_Int32));
- }
- // reset nextCell for new Text
- memset(nextCellIndex, 0, cellIndexSize * sizeof(sal_Int32));
- }
- else if (nextCellIndex[nStartPos] > 0 || ! is_Hindi(Text[nStartPos]))
- return;
-
- const sal_Unicode* str = cachedText.getStr();
- sal_Int32 len = cachedText.getLength(), startPos, endPos;
-
- startPos = nStartPos;
- while (startPos > 0 && is_Hindi(str[startPos-1])) startPos--;
- endPos = nStartPos+1;
- while (endPos < len && is_Hindi(str[endPos])) endPos++;
-
- sal_Int32 start, end, pos;
- pos = start = end = startPos;
-
- while (pos < endPos) {
- end += getACell(str, start, endPos);
- while (pos < end) {
- nextCellIndex[pos] = end;
- previousCellIndex[pos] = start;
- pos++;
- }
- start = end;
- }
-}
-
-} } } }
Index: l10n/i18npool/source/breakiterator/breakiterator_unicode.cxx
diff -u l10n/i18npool/source/breakiterator/breakiterator_unicode.cxx:1.36 l10n/i18npool/source/breakiterator/breakiterator_unicode.cxx:1.36.2.1
--- l10n/i18npool/source/breakiterator/breakiterator_unicode.cxx:1.36 Wed Jul 2 01:52:07 2008
+++ l10n/i18npool/source/breakiterator/breakiterator_unicode.cxx Mon Sep 1 17:26:14 2008
@@ -363,11 +363,17 @@
{
LineBreakResults lbr;
+ if (nStartPos >= Text.getLength()) {
+ lbr.breakIndex = Text.getLength();
+ lbr.breakType = BreakType::WORDBOUNDARY;
+ return lbr;
+ }
+
loadICUBreakIterator(rLocale, LOAD_LINE_BREAKITERATOR, 0, lineRule, Text);
sal_Bool GlueSpace=sal_True;
while (GlueSpace) {
- if (line.aBreakIterator->isBoundary(nStartPos)) { //Line boundary break
+ if (line.aBreakIterator->preceding(nStartPos + 1) == nStartPos) { //Line boundary break
lbr.breakIndex = nStartPos;
lbr.breakType = BreakType::WORDBOUNDARY;
} else if (hOptions.rHyphenator.is()) { //Hyphenation break
Index: l10n/i18npool/source/breakiterator/makefile.mk
diff -u l10n/i18npool/source/breakiterator/makefile.mk:1.17 l10n/i18npool/source/breakiterator/makefile.mk:1.17.16.1
--- l10n/i18npool/source/breakiterator/makefile.mk:1.17 Thu Apr 10 01:53:36 2008
+++ l10n/i18npool/source/breakiterator/makefile.mk Mon Sep 1 11:01:24 2008
@@ -57,7 +57,6 @@
$(SLO)$/breakiterator_cjk.obj \
$(SLO)$/breakiterator_ctl.obj \
$(SLO)$/breakiterator_th.obj \
- $(SLO)$/breakiterator_hi.obj \
$(SLO)$/breakiterator_unicode.obj \
$(SLO)$/xdictionary.obj \
$(subst,$(MISC)$/,$(SLO)$/ $(MY_MISC_CXXFILES:s/.c/.obj/))
Index: l10n/i18npool/source/breakiterator/data/char_in.txt
diff -u /dev/null l10n/i18npool/source/breakiterator/data/char_in.txt:1.1.2.1
--- /dev/null Tue Sep 2 00:59:11 2008
+++ l10n/i18npool/source/breakiterator/data/char_in.txt Mon Sep 1 10:56:14 2008
@@ -0,0 +1,48 @@
+#
+# Copyright (C) 2002-2003, International Business Machines Corporation and others.
+# All Rights Reserved.
+#
+# file: char.txt
+#
+# ICU Character Break Rules, also known as Grapheme Cluster Boundaries
+# See Unicode Standard Annex #29.
+# These rules are based on TR29 Version 4.0.0
+#
+
+#
+# Character Class Definitions.
+# The names are those from TR29.
+#
+$CR = \r;
+$LF = \n;
+$Control = [[:Zl:] [:Zp:] [:Cc:] [:Cf:]];
+
+# add Japanese Half Width voicing marks to $Extend
+$VoiceMarks = [\uff9e\uff9f];
+$cmcextend = [ \u0903 \u093e-\u0940 \u0949-\u094C \u09bf-\u09c0 \u09c7-\u09c8 \u09cb-\u09cc \u0bc1-\u0bc2 \u0bc6-\u0bc8 \u0bca-\u0bcc \u0c01-\u0c03 \u0c41-\u0c44];
+$Extend = [[:Grapheme_Extend = TRUE:] $VoiceMarks $cmcextend];
+
+#
+# Korean Syllable Definitions
+#
+$L = [:Hangul_Syllable_Type = L:];
+$V = [:Hangul_Syllable_Type = V:];
+$T = [:Hangul_Syllable_Type = T:];
+
+$LV = [:Hangul_Syllable_Type = LV:];
+$LVT = [:Hangul_Syllable_Type = LVT:];
+
+$HangulSyllable = $L+ | ($L* ($LV? $V+ | $LV | $LVT) $T*) | $T+;
+
+#
+# Forward Break Rules
+#
+$CR $LF;
+([^$Control] | $HangulSyllable) $Extend*;
+.;
+
+
+#
+# Reverse Rule, back up to the beginning of some preceding grapheme cluster.
+#
+! ($Extend | $V | $T )* ($LF $CR | ($LV | $LVT)?$L* | .);
Index: l10n/i18npool/source/breakiterator/data/char_ta.txt
diff -u l10n/i18npool/source/breakiterator/data/char_ta.txt:1.2 l10n/i18npool/source/breakiterator/data/char_ta.txt:removed
--- l10n/i18npool/source/breakiterator/data/char_ta.txt:1.2 Mon Oct 17 08:42:47 2005
+++ l10n/i18npool/source/breakiterator/data/char_ta.txt Tue Sep 2 00:59:11 2008
@@ -1,46 +0,0 @@
-#
-# Copyright (C) 2002-2003, International Business Machines Corporation and others.
-# All Rights Reserved.
-#
-# file: char.txt
-#
-# ICU Character Break Rules, also known as Grapheme Cluster Boundaries
-# See Unicode Standard Annex #29.
-# These rules are based on TR29 Version 4.0.0
-#
-
-#
-# Character Class Definitions.
-# The names are those from TR29.
-#
-$CR = \r;
-$LF = \n;
-$Control = [[:Zl:] [:Zp:] [:Cc:] [:Cf:]];
-
-$TAMIL = [ \u0bc1-\u0bc2 \u0bc6-\u0bc8 \u0bca-\u0bcc ];
-$Extend = [[:Grapheme_Extend = TRUE:] $TAMIL];
-
-#
-# Korean Syllable Definitions
-#
-$L = [:Hangul_Syllable_Type = L:];
-$V = [:Hangul_Syllable_Type = V:];
-$T = [:Hangul_Syllable_Type = T:];
-
-$LV = [:Hangul_Syllable_Type = LV:];
-$LVT = [:Hangul_Syllable_Type = LVT:];
-
-$HangulSyllable = $L+ | ($L* ($LV? $V+ | $LV | $LVT) $T*) | $T+;
-
-#
-# Forward Break Rules
-#
-$CR $LF;
-([^$Control] | $HangulSyllable) $Extend*;
-.;
-
-
-#
-# Reverse Rule, back up to the beginning of some preceding grapheme cluster.
-#
-! ($Extend | $V | $T )* ($LF $CR | ($LV | $LVT)?$L* | .);
Index: l10n/i18npool/source/localedata/LocaleNode.cxx
diff -u l10n/i18npool/source/localedata/LocaleNode.cxx:1.29 l10n/i18npool/source/localedata/LocaleNode.cxx:1.29.16.1
--- l10n/i18npool/source/localedata/LocaleNode.cxx:1.29 Thu Apr 10 02:04:34 2008
+++ l10n/i18npool/source/localedata/LocaleNode.cxx Mon Aug 18 21:26:23 2008
@@ -1449,15 +1449,18 @@
if (forbidNode) {
of.writeParameter( "forbiddenBegin", forbidNode -> getChildAt(0)->getValue());
of.writeParameter( "forbiddenEnd", forbidNode -> getChildAt(1)->getValue());
+ of.writeParameter( "hangingChars", forbidNode -> getChildAt(2)->getValue());
} else {
of.writeParameter( "forbiddenBegin", ::rtl::OUString());
of.writeParameter( "forbiddenEnd", ::rtl::OUString());
+ of.writeParameter( "hangingChars", ::rtl::OUString());
}
of.writeAsciiString("\nstatic const sal_Unicode* LCForbiddenCharactersArray[] = {\n");
of.writeAsciiString("\tforbiddenBegin,\n");
- of.writeAsciiString("\tforbiddenEnd\n");
+ of.writeAsciiString("\tforbiddenEnd,\n");
+ of.writeAsciiString("\thangingChars\n");
of.writeAsciiString("};\n\n");
- of.writeFunction("getForbiddenCharacters_", "2", "LCForbiddenCharactersArray");
+ of.writeFunction("getForbiddenCharacters_", "3", "LCForbiddenCharactersArray");
if (breakNode) {
of.writeParameter( "EditMode", breakNode -> getChildAt(0)->getValue());
Index: l10n/i18npool/source/localedata/localedata.cxx
diff -u l10n/i18npool/source/localedata/localedata.cxx:1.59 l10n/i18npool/source/localedata/localedata.cxx:1.59.16.1
--- l10n/i18npool/source/localedata/localedata.cxx:1.59 Thu Apr 10 02:05:23 2008
+++ l10n/i18npool/source/localedata/localedata.cxx Mon Aug 18 21:26:23 2008
@@ -999,6 +999,21 @@
}
}
+OUString SAL_CALL
+LocaleData::getHangingCharacters( const Locale& rLocale ) throw(RuntimeException)
+{
+ sal_Int16 LCForbiddenCharactersCount = 0;
+ sal_Unicode **LCForbiddenCharactersArray = NULL;
+
+ MyFunc_Type func = (MyFunc_Type) getFunctionSymbol( rLocale, "getForbiddenCharacters" );
+
+ if ( func ) {
+ LCForbiddenCharactersArray = func(LCForbiddenCharactersCount);
+ return OUString(LCForbiddenCharactersArray[2]);
+ }
+
+ return OUString();
+}
Sequence< OUString > SAL_CALL
LocaleData::getBreakIteratorRules( const Locale& rLocale ) throw(RuntimeException)
Index: l10n/i18npool/source/localedata/data/bn_BD.xml
diff -u l10n/i18npool/source/localedata/data/bn_BD.xml:1.3 l10n/i18npool/source/localedata/data/bn_BD.xml:1.3.186.1
--- l10n/i18npool/source/localedata/data/bn_BD.xml:1.3 Thu Apr 20 06:31:30 2006
+++ l10n/i18npool/source/localedata/data/bn_BD.xml Mon Sep 1 11:05:47 2008
@@ -151,6 +151,13 @@
</LC_CURRENCY>
<LC_TRANSLITERATION ref="en_US"/>
<LC_MISC>
+ <BreakIteratorRules>
+ <EditMode/>
+ <DictionaryMode/>
+ <WordCountMode/>
+ <CharacterMode>char_in</CharacterMode>
+ <LineMode/>
+ </BreakIteratorRules>
<ReservedWords>
<trueWord>সতà§à¦¯</trueWord>
<falseWord>মিথà§à¦¯à¦¾</falseWord>
Index: l10n/i18npool/source/localedata/data/bn_IN.xml
diff -u l10n/i18npool/source/localedata/data/bn_IN.xml:1.4 l10n/i18npool/source/localedata/data/bn_IN.xml:1.4.12.1
--- l10n/i18npool/source/localedata/data/bn_IN.xml:1.4 Tue May 13 07:06:42 2008
+++ l10n/i18npool/source/localedata/data/bn_IN.xml Mon Sep 1 11:05:47 2008
@@ -316,6 +316,13 @@
</LC_CURRENCY>
<LC_TRANSLITERATION ref="en_US"/>
<LC_MISC>
+ <BreakIteratorRules>
+ <EditMode/>
+ <DictionaryMode/>
+ <WordCountMode/>
+ <CharacterMode>char_in</CharacterMode>
+ <LineMode/>
+ </BreakIteratorRules>
<ReservedWords>
<trueWord>সতà§à¦¯</trueWord>
<falseWord>মিথà§à¦¯à¦¾</falseWord>
Index: l10n/i18npool/source/localedata/data/gu_IN.xml
diff -u l10n/i18npool/source/localedata/data/gu_IN.xml:1.5 l10n/i18npool/source/localedata/data/gu_IN.xml:1.5.4.1
--- l10n/i18npool/source/localedata/data/gu_IN.xml:1.5 Wed Jul 2 03:07:00 2008
+++ l10n/i18npool/source/localedata/data/gu_IN.xml Mon Sep 1 17:44:31 2008
@@ -146,6 +146,13 @@
</LC_CURRENCY>
<LC_TRANSLITERATION ref="en_US"/>
<LC_MISC>
+<BreakIteratorRules>
+<EditMode/>
+<DictionaryMode/>
+<WordCountMode/>
+<CharacterMode>char_in</CharacterMode>
+<LineMode/>
+</BreakIteratorRules>
<ReservedWords>
<trueWord>સહà«</trueWord>
<falseWord>àªàª²àª¤</falseWord>
Index: l10n/i18npool/source/localedata/data/hi_IN.xml
diff -u l10n/i18npool/source/localedata/data/hi_IN.xml:1.14 l10n/i18npool/source/localedata/data/hi_IN.xml:1.14.4.1
--- l10n/i18npool/source/localedata/data/hi_IN.xml:1.14 Wed Jul 2 03:07:31 2008
+++ l10n/i18npool/source/localedata/data/hi_IN.xml Mon Sep 1 11:05:47 2008
@@ -358,6 +358,13 @@
</LC_CURRENCY>
<LC_TRANSLITERATION ref="en_US"/>
<LC_MISC>
+<BreakIteratorRules>
+<EditMode/>
+<DictionaryMode/>
+<WordCountMode/>
+<CharacterMode>char_in</CharacterMode>
+<LineMode/>
+</BreakIteratorRules>
<ReservedWords>
<trueWord>सहà¥</trueWord>
<falseWord>à¤à¤²à¤¤</falseWord>
Index: l10n/i18npool/source/localedata/data/ja_JP.xml
diff -u l10n/i18npool/source/localedata/data/ja_JP.xml:1.17 l10n/i18npool/source/localedata/data/ja_JP.xml:1.17.26.2
--- l10n/i18npool/source/localedata/data/ja_JP.xml:1.17 Mon Jan 28 07:35:35 2008
+++ l10n/i18npool/source/localedata/data/ja_JP.xml Mon Sep 1 17:38:27 2008
@@ -503,6 +503,7 @@
<ForbiddenCharacters>
<ForbiddenLineBeginCharacters>!%),.:;?]}¢°âââ°â²â³âããã
ããããããããã
ããã£ãã
ããããããã¡ã£ã¥ã§ã©ãã£ã¥ã§ã®ãµã¶ã»ã¼ã½ã¾ï¼ï¼
ï¼ï¼ï¼ï¼ï¼ï¼ï¼½ï½ï½¡ï½£ï½¤ï½¥ï½§ï½¨ï½©ï½ªï½«ï½¬ï½ï½®ï½¯ï½°ï¾ï¾Â¢</ForbiddenLineBeginCharacters>
<ForbiddenLineEndCharacters>$([Â¥{£¥ââããããããï¼ï¼ï¼»ï½ï½¢Â£ï¿¥</ForbiddenLineEndCharacters>
+ <LineBreakHangingCharacters>ããï¼ï¼</LineBreakHangingCharacters>
</ForbiddenCharacters>
<ReservedWords>
<trueWord>true</trueWord>
Index: l10n/i18npool/source/localedata/data/kn_IN.xml
diff -u l10n/i18npool/source/localedata/data/kn_IN.xml:1.9 l10n/i18npool/source/localedata/data/kn_IN.xml:1.9.4.1
--- l10n/i18npool/source/localedata/data/kn_IN.xml:1.9 Wed Jul 2 03:09:49 2008
+++ l10n/i18npool/source/localedata/data/kn_IN.xml Mon Sep 1 17:44:31 2008
@@ -146,6 +146,13 @@
</LC_CURRENCY>
<LC_TRANSLITERATION ref="en_US"/>
<LC_MISC>
+<BreakIteratorRules>
+<EditMode/>
+<DictionaryMode/>
+<WordCountMode/>
+<CharacterMode>char_in</CharacterMode>
+<LineMode/>
+</BreakIteratorRules>
<ReservedWords>
<trueWord>ಸಹà³</trueWord>
<falseWord>à²à²²à²¤à³</falseWord>
Index: l10n/i18npool/source/localedata/data/ko_KR.xml
diff -u l10n/i18npool/source/localedata/data/ko_KR.xml:1.22 l10n/i18npool/source/localedata/data/ko_KR.xml:1.22.186.1
--- l10n/i18npool/source/localedata/data/ko_KR.xml:1.22 Thu Apr 20 06:47:11 2006
+++ l10n/i18npool/source/localedata/data/ko_KR.xml Mon Aug 18 21:26:23 2008
@@ -580,6 +580,7 @@
<ForbiddenCharacters>
<ForbiddenLineBeginCharacters>!%),.:;?]}Â¢ï¿ ?'"â²â³â>ãï¼ãããããï¼ï¼
ï¼ï¼ï¼ï¼ï¼ï¼ï¼½ï½ï½¡ï½£ï½¤ï½¥ ï¾ï¾</ForbiddenLineBeginCharacters>
<ForbiddenLineEndCharacters>$(¥£[\{ï¿¡ï¿¥'"<ï¼ãããããï¼ï¼ï¼»ï½ï¿¦ï½¢</ForbiddenLineEndCharacters>
+ <LineBreakHangingCharacters>!,.:;?ããï¼ï¼ï¼ï¼ï¼ï¼</LineBreakHangingCharacters>
</ForbiddenCharacters>
<ReservedWords>
<trueWord>ì°¸</trueWord>
Index: l10n/i18npool/source/localedata/data/locale.dtd
diff -u l10n/i18npool/source/localedata/data/locale.dtd:1.24 l10n/i18npool/source/localedata/data/locale.dtd:1.24.26.1
--- l10n/i18npool/source/localedata/data/locale.dtd:1.24 Mon Jan 28 07:36:04 2008
+++ l10n/i18npool/source/localedata/data/locale.dtd Mon Aug 18 21:26:23 2008
@@ -403,7 +403,7 @@
<!ELEMENT LC_MISC (ForbiddenCharacters?, BreakIteratorRules?, ReservedWords?)>
<!ATTLIST LC_MISC %RefLocale;>
-<!ELEMENT ForbiddenCharacters (ForbiddenLineBeginCharacters, ForbiddenLineEndCharacters)>
+<!ELEMENT ForbiddenCharacters (ForbiddenLineBeginCharacters, ForbiddenLineEndCharacters, LineBreakHangingCharacters)>
<!ELEMENT ForbiddenLineBeginCharacters (#PCDATA)>
<!ELEMENT ForbiddenLineEndCharacters (#PCDATA)>
Index: l10n/i18npool/source/localedata/data/ml_IN.xml
diff -u l10n/i18npool/source/localedata/data/ml_IN.xml:1.2 l10n/i18npool/source/localedata/data/ml_IN.xml:1.2.182.1
--- l10n/i18npool/source/localedata/data/ml_IN.xml:1.2 Thu May 4 02:16:24 2006
+++ l10n/i18npool/source/localedata/data/ml_IN.xml Mon Sep 1 17:44:31 2008
@@ -314,6 +314,13 @@
</LC_CURRENCY>
<LC_TRANSLITERATION ref="en_US"/>
<LC_MISC>
+ <BreakIteratorRules>
+ <EditMode/>
+ <DictionaryMode/>
+ <WordCountMode/>
+ <CharacterMode>char_in</CharacterMode>
+ <LineMode/>
+ </BreakIteratorRules>
<ReservedWords>
<trueWord>à´
à´¤àµ</trueWord>
<falseWord>à´
à´²àµà´²</falseWord>
Index: l10n/i18npool/source/localedata/data/or_IN.xml
diff -u l10n/i18npool/source/localedata/data/or_IN.xml:1.4 l10n/i18npool/source/localedata/data/or_IN.xml:1.4.4.1
--- l10n/i18npool/source/localedata/data/or_IN.xml:1.4 Wed Jul 2 03:11:42 2008
+++ l10n/i18npool/source/localedata/data/or_IN.xml Mon Sep 1 17:44:31 2008
@@ -327,6 +327,13 @@
<Transliteration unoid="IGNORE_CASE"/>
</LC_TRANSLITERATION>
<LC_MISC>
+ <BreakIteratorRules>
+ <EditMode/>
+ <DictionaryMode/>
+ <WordCountMode/>
+ <CharacterMode>char_in</CharacterMode>
+ <LineMode/>
+ </BreakIteratorRules>
<ReservedWords>
<trueWord>ସତ</trueWord>
<falseWord>ମିà¬</falseWord>
Index: l10n/i18npool/source/localedata/data/pa_IN.xml
diff -u l10n/i18npool/source/localedata/data/pa_IN.xml:1.5 l10n/i18npool/source/localedata/data/pa_IN.xml:1.5.186.1
--- l10n/i18npool/source/localedata/data/pa_IN.xml:1.5 Thu Apr 20 06:50:32 2006
+++ l10n/i18npool/source/localedata/data/pa_IN.xml Mon Sep 1 11:05:47 2008
@@ -168,6 +168,13 @@
</LC_CURRENCY>
<LC_TRANSLITERATION ref="en_US"/>
<LC_MISC>
+ <BreakIteratorRules>
+ <EditMode/>
+ <DictionaryMode/>
+ <WordCountMode/>
+ <CharacterMode>char_in</CharacterMode>
+ <LineMode/>
+ </BreakIteratorRules>
<ReservedWords>
<trueWord>ਸਹà©</trueWord>
<falseWord>à¨à¨²à¨¤</falseWord>
Index: l10n/i18npool/source/localedata/data/ta_IN.xml
diff -u l10n/i18npool/source/localedata/data/ta_IN.xml:1.8 l10n/i18npool/source/localedata/data/ta_IN.xml:1.8.4.1
--- l10n/i18npool/source/localedata/data/ta_IN.xml:1.8 Wed Jul 2 03:14:34 2008
+++ l10n/i18npool/source/localedata/data/ta_IN.xml Mon Sep 1 11:05:48 2008
@@ -146,6 +146,13 @@
</LC_CURRENCY>
<LC_TRANSLITERATION ref="en_US"/>
<LC_MISC>
+<BreakIteratorRules>
+<EditMode/>
+<DictionaryMode/>
+<WordCountMode/>
+<CharacterMode>char_in</CharacterMode>
+<LineMode/>
+</BreakIteratorRules>
<ReservedWords>
<trueWord>ஸரி</trueWord>
<falseWord>தபà¯à®ª</falseWord>
Index: l10n/i18npool/source/localedata/data/te_IN.xml
diff -u l10n/i18npool/source/localedata/data/te_IN.xml:1.9 l10n/i18npool/source/localedata/data/te_IN.xml:1.9.4.1
--- l10n/i18npool/source/localedata/data/te_IN.xml:1.9 Wed Jul 2 03:14:53 2008
+++ l10n/i18npool/source/localedata/data/te_IN.xml Mon Sep 1 11:05:48 2008
@@ -145,6 +145,13 @@
</LC_CURRENCY>
<LC_TRANSLITERATION ref="en_US"/>
<LC_MISC>
+<BreakIteratorRules>
+<EditMode/>
+<DictionaryMode/>
+<WordCountMode/>
+<CharacterMode>char_in</CharacterMode>
+<LineMode/>
+</BreakIteratorRules>
<ReservedWords>
<trueWord>నిà°à°®à±</trueWord>
<falseWord>à°
పాదమà±</falseWord>
Index: l10n/i18npool/source/localedata/data/zh_CN.xml
diff -u l10n/i18npool/source/localedata/data/zh_CN.xml:1.21 l10n/i18npool/source/localedata/data/zh_CN.xml:1.21.4.1
--- l10n/i18npool/source/localedata/data/zh_CN.xml:1.21 Wed Jul 2 03:15:57 2008
+++ l10n/i18npool/source/localedata/data/zh_CN.xml Mon Aug 18 21:26:23 2008
@@ -430,6 +430,7 @@
<ForbiddenCharacters>
<ForbiddenLineBeginCharacters>:!),.:;?]}¢'"ãããããããããã︰︱︳ï¹ï½¤ï¹ï¹ï¹ï¹ï¹ï¹ï¹ï¹ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï½ï½ï¸´ï¸¶ï¸¸ï¸ºï¸¼ï¸¾ï¹ï¹ï¹ï¹ï½¤ï½ï¿ ã
ââ¢Â·ËËâ--â²</ForbiddenLineBeginCharacters>
<ForbiddenLineEndCharacters>([{£¥'"âµãããããããï¼ï¼»ï½ï¿¡ï¿¥ã︵︷︹︻︽︿ï¹ï¹ï¹ï¹ï¹ï¼ï½</ForbiddenLineEndCharacters>
+<LineBreakHangingCharacters>!,.:;?ããï¼ï¼ï¼ï¼ï¼ï¼</LineBreakHangingCharacters>
</ForbiddenCharacters>
<ReservedWords>
<trueWord>ç</trueWord>
Index: l10n/i18npool/source/localedata/data/zh_TW.xml
diff -u l10n/i18npool/source/localedata/data/zh_TW.xml:1.18 l10n/i18npool/source/localedata/data/zh_TW.xml:1.18.20.1
--- l10n/i18npool/source/localedata/data/zh_TW.xml:1.18 Wed Mar 5 10:45:25 2008
+++ l10n/i18npool/source/localedata/data/zh_TW.xml Mon Aug 18 21:26:23 2008
@@ -359,6 +359,7 @@
<ForbiddenCharacters>
<ForbiddenLineBeginCharacters>!),.:;?]}¢·--'"¨â¢â²ããããããããã︰︱︳︴︶︸︺︼︾ï¹ï¹ï¹ï¹ï¹ï½¤ï¹ï¹ï¹ï¹ï¹ï¹ï¹ï¹ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï½ï½ï½¤</ForbiddenLineBeginCharacters>
<ForbiddenLineEndCharacters>([{£¥'"âµããããããã︵︷︹︻︽︿ï¹ï¹ï¹ï¹ï¹ï¼ï½</ForbiddenLineEndCharacters>
+<LineBreakHangingCharacters>!,.:;?ããï¼ï¼ï¼ï¼ï¼ï¼</LineBreakHangingCharacters>
</ForbiddenCharacters>
<ReservedWords>
<trueWord>ç</trueWord>
Index: l10n/i18npool/source/registerservices/registerservices.cxx
diff -u l10n/i18npool/source/registerservices/registerservices.cxx:1.44 l10n/i18npool/source/registerservices/registerservices.cxx:1.44.16.2
--- l10n/i18npool/source/registerservices/registerservices.cxx:1.44 Thu Apr 10 02:08:28 2008
+++ l10n/i18npool/source/registerservices/registerservices.cxx Mon Sep 1 11:04:41 2008
@@ -65,7 +65,6 @@
#include <breakiteratorImpl.hxx>
#include <breakiterator_cjk.hxx>
#include <breakiterator_th.hxx>
-#include <breakiterator_hi.hxx>
#include <breakiterator_unicode.hxx>
#include <indexentrysupplier.hxx>
@@ -152,9 +151,9 @@
IMPL_CREATEINSTANCE( BreakIterator_Unicode )
IMPL_CREATEINSTANCE( BreakIterator_ja )
IMPL_CREATEINSTANCE( BreakIterator_zh )
+IMPL_CREATEINSTANCE( BreakIterator_zh_TW )
IMPL_CREATEINSTANCE( BreakIterator_ko )
IMPL_CREATEINSTANCE( BreakIterator_th )
-IMPL_CREATEINSTANCE( BreakIterator_hi )
IMPL_CREATEINSTANCE_MSF( ChapterCollator )
IMPL_CREATEINSTANCE_MSF( CollatorImpl )
IMPL_CREATEINSTANCE( Collator_Unicode )
@@ -369,15 +368,15 @@
{ "com.sun.star.i18n.BreakIterator_zh",
"com.sun.star.i18n.BreakIterator_zh",
&BreakIterator_zh_CreateInstance },
+ { "com.sun.star.i18n.BreakIterator_zh_TW",
+ "com.sun.star.i18n.BreakIterator_zh_TW",
+ &BreakIterator_zh_TW_CreateInstance },
{ "com.sun.star.i18n.BreakIterator_ko",
"com.sun.star.i18n.BreakIterator_ko",
&BreakIterator_ko_CreateInstance },
{ "com.sun.star.i18n.BreakIterator_th",
"com.sun.star.i18n.BreakIterator_th",
&BreakIterator_th_CreateInstance },
- { "com.sun.star.i18n.BreakIterator_hi",
- "com.sun.star.i18n.BreakIterator_hi",
- &BreakIterator_hi_CreateInstance },
{ "com.sun.star.i18n.Collator",
"com.sun.star.i18n.Collator",
&CollatorImpl_CreateInstance },
Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/devel/openoffice.org.spec,v
retrieving revision 1.1633
retrieving revision 1.1634
diff -u -r1.1633 -r1.1634
--- openoffice.org.spec 1 Sep 2008 12:09:08 -0000 1.1633
+++ openoffice.org.spec 2 Sep 2008 08:37:17 -0000 1.1634
@@ -78,7 +78,7 @@
Patch8: openoffice.org-2.0.2.rh188467.printingdefaults.patch
Patch9: openoffice.org-2.0.2.ooo64508.vcl.honourfontconfighinting.patch
Patch10: openoffice.org-2.0.4.rhXXXXXX.padmin.nospadmin.patch
-Patch11: openoffice.org.2.0.4.ooo80412.i18npool.extendgrapheme.patch
+Patch11: workspace.i18n45.patch
Patch12: openoffice.org-2.1.0.ooo65491.psprint.enablenups.patch
Patch13: openoffice.org-2.0.3.rh127576.gtkunixprintdialog.localize
Patch14: openoffice.org-2.2.0.ooo74188.sw.cursorinsideglyph.patch
@@ -109,6 +109,7 @@
Patch39: workspace.fpicker8.patch
Patch40: workspace.cmcfixes49.patch
Patch41: openoffice.org-3.0.0.ooo91924.svx.consistentordering.patch
+Patch42: openoffice.org-3.0.0.ooo93366.fpicker_in_main.patch
%define instdir %{_libdir}
%define baseinstdir %{instdir}/openoffice.org
@@ -1257,7 +1258,7 @@
%patch8 -p1
%patch9 -p1 -b .ooo64508.vcl.honourfontconfighinting.patch
%patch10 -p1 -b .rhXXXXXX.padmin.nospadmin.patch
-%patch11 -p1 -b .ooo80412.i18npool.extendgrapheme.patch
+%patch11 -p1 -b .workspace.i18n45.patch
%patch12 -p1 -b .ooo65491.psprint.enablenups.patch
cat %{PATCH13} >> svtools/source/dialogs/localize.sdf
%patch14 -p1 -b .ooo74188.sw.cursorinsideglyph.patch
@@ -1288,6 +1289,7 @@
%patch39 -p1 -b .workspace.fpicker8.patch
%patch40 -p0 -b .workspace.cmcfixes49.patch
%patch41 -p1 -b .ooo91924.svx.consistentordering.patch
+%patch42 -p1 -b .ooo93366.fpicker_in_main.patch
%build
echo build start time is `date`, diskspace: `df -h . | tail -n 1`
@@ -3646,6 +3648,7 @@
* Mon Sep 01 2008 Caolán McNamara <caolanm at redhat.com> - 1:3.0.0-4.2
- Resolves: rhbz#460755 TryExec oowriter on brwriter.desktop etc
- defuzz patches
+- add openoffice.org-3.0.0.ooo93366.fpicker_in_main.patch
* Fri Aug 29 2008 Caolán McNamara <caolanm at redhat.com> - 1:3.0.0-4.1
- next milestone
--- openoffice.org.2.0.4.ooo80412.i18npool.extendgrapheme.patch DELETED ---
More information about the fedora-extras-commits
mailing list