only as of ICU 4.9 RBBI the Prepend property is empty

This reverts 0c08a84c04 and instead strips the
Prepend variable during build time.
This commit is contained in:
Eike Rathke 2012-04-02 22:24:00 +02:00
parent 9ef0b8e3aa
commit 43084e8b30
5 changed files with 18 additions and 1 deletions

View file

@ -208,6 +208,7 @@ export ICU_MAJOR=@ICU_MAJOR@
export ICU_MICRO=@ICU_MICRO@
export ICU_MINOR=@ICU_MINOR@
export ICU_RECLASSIFIED_CLOSE_PARENTHESIS=@ICU_RECLASSIFIED_CLOSE_PARENTHESIS@
export ICU_RECLASSIFIED_PREPEND_SET_EMPTY=@ICU_RECLASSIFIED_PREPEND_SET_EMPTY@
export ILIB=@ILIB@
@x_Cygwin@ export INCLUDE=
export INPATH=@INPATH@

View file

@ -7487,6 +7487,7 @@ ICU_MAJOR=
ICU_MINOR=
ICU_MICRO=
ICU_RECLASSIFIED_CLOSE_PARENTHESIS=
ICU_RECLASSIFIED_PREPEND_SET_EMPTY=
AC_MSG_CHECKING([which icu to use])
if test "$with_system_icu" = "yes"; then
AC_MSG_RESULT([external])
@ -7549,6 +7550,9 @@ You can use --with-system-icu-for-build=force to use it anyway.])
if test "$ICU_MAJOR" -ge "5" -o "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "4"; then
ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES"
fi
if test "$ICU_MAJOR" -ge "5" -o "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "9"; then
ICU_RECLASSIFIED_PREPEND_SET_EMPTY="YES"
fi
fi
libo_MINGW_CHECK_DLL([ICUDATA], [icudata][$ICU_MAJOR][$ICU_MINOR])
@ -7558,6 +7562,7 @@ else
AC_MSG_RESULT([internal])
SYSTEM_ICU="NO"
ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES"
# ICU_RECLASSIFIED_PREPEND_SET_EMPTY not applied for our internal ICU 4.4.2
BUILD_TYPE="$BUILD_TYPE ICU"
fi
@ -7569,6 +7574,7 @@ AC_SUBST(ICU_MAJOR)
AC_SUBST(ICU_MINOR)
AC_SUBST(ICU_MICRO)
AC_SUBST(ICU_RECLASSIFIED_CLOSE_PARENTHESIS)
AC_SUBST(ICU_RECLASSIFIED_PREPEND_SET_EMPTY)
AC_SUBST([MINGW_ICUDATA_DLL])
AC_SUBST([MINGW_ICUI18N_DLL])
AC_SUBST([MINGW_ICUUC_DLL])

View file

@ -95,10 +95,16 @@ $(IPBI)/%.brk : $(IPBI)/%.txt $(GENBRKTARGET)
$(call gb_Helper_abbreviate_dirs_native,\
$(GENBRK) -r $< -o $@ $(if $(findstring s,$(MAKEFLAGS)),> /dev/null))
# fdo#31271 ")" reclassified in more recent ICU/Unicode Standards
# fdo#31271 ")" reclassified in more recent Unicode Standards / ICU 4.4
# Prepend set empty as of Unicode Version 6.1 / ICU 4.9, which bails out if used.
# NOTE: strips every line with _word_ 'Prepend', including $Prepend
$(IPBI)/%.txt : $(SRCDIR)/i18npool/source/breakiterator/data/%.txt | $(IPBI)/.dir
ifeq ($(ICU_RECLASSIFIED_CLOSE_PARENTHESIS),YES)
ifeq ($(ICU_RECLASSIFIED_PREPEND_SET_EMPTY),YES)
sed "s#\[:LineBreak = Close_Punctuation:\]#\[\[:LineBreak = Close_Punctuation:\] \[:LineBreak = Close_Parenthesis:\]\]#;/\<Prepend\>/d" $< > $@
else
sed "s#\[:LineBreak = Close_Punctuation:\]#\[\[:LineBreak = Close_Punctuation:\] \[:LineBreak = Close_Parenthesis:\]\]#" $< > $@
endif
else
cp $< $@
endif

View file

@ -16,6 +16,7 @@
$CR = [\p{Grapheme_Cluster_Break = CR}];
$LF = [\p{Grapheme_Cluster_Break = LF}];
$Control = [\p{Grapheme_Cluster_Break = Control}];
$Prepend = [\p{Grapheme_Cluster_Break = Prepend}];
$Extend = [\p{Grapheme_Cluster_Break = Extend}];
$SpacingMark = [\p{Grapheme_Cluster_Break = SpacingMark}];
# True Indic wants to move by syllables. Break up SpacingMark. This based on Unicode 6.0 data

View file

@ -15,6 +15,7 @@
$CR = [\p{Grapheme_Cluster_Break = CR}];
$LF = [\p{Grapheme_Cluster_Break = LF}];
$Control = [\p{Grapheme_Cluster_Break = Control}];
$Prepend = [\p{Grapheme_Cluster_Break = Prepend}];
$Extend = [\p{Grapheme_Cluster_Break = Extend}];
$SpacingMark = [\p{Grapheme_Cluster_Break = SpacingMark}];
$BengaliLetter = [\u0985-\u09B9 \u09CE \u09DC-\u09E1 \u09F0-\u09F1];
@ -71,6 +72,7 @@ $L ($L | $V | $LV | $LVT);
[^$Control $CR $LF] $Extend;
[^$Control $CR $LF] $SpacingMark;
$Prepend [^$Control $CR $LF];
## -------------------------------------------------
@ -92,6 +94,7 @@ $T ($LVT | $T);
$Extend [^$Control $CR $LF];
$SpacingMark [^$Control $CR $LF];
[^$Control $CR $LF] $Prepend;
## -------------------------------------------------