ICU-1721 implement all binary properties except Full_Composition_Exclusion

X-SVN-Rev: 7897
This commit is contained in:
Markus Scherer 2002-03-06 23:31:11 +00:00
parent b8fe07497d
commit 56cc2f13b4
6 changed files with 3627 additions and 118 deletions

View File

@ -386,7 +386,7 @@ SOURCE=.\unicode\bidi.h
InputPath=.\unicode\bidi.h InputPath=.\unicode\bidi.h
"..\..\include\unicode\bidi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\bidi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -396,7 +396,7 @@ InputPath=.\unicode\bidi.h
InputPath=.\unicode\bidi.h InputPath=.\unicode\bidi.h
"..\..\include\unicode\bidi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\bidi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -417,7 +417,7 @@ SOURCE=.\unicode\brkiter.h
InputPath=.\unicode\brkiter.h InputPath=.\unicode\brkiter.h
"..\..\include\unicode\brkiter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\brkiter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy unicode\brkiter.h ..\..\include\unicode copy unicode\brkiter.h ..\..\include\unicode
# End Custom Build # End Custom Build
@ -427,7 +427,7 @@ InputPath=.\unicode\brkiter.h
InputPath=.\unicode\brkiter.h InputPath=.\unicode\brkiter.h
"..\..\include\unicode\brkiter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\brkiter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy unicode\brkiter.h ..\..\include\unicode copy unicode\brkiter.h ..\..\include\unicode
# End Custom Build # End Custom Build
@ -444,7 +444,7 @@ SOURCE=.\unicode\chariter.h
InputPath=.\unicode\chariter.h InputPath=.\unicode\chariter.h
"..\..\include\unicode\chariter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\chariter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -454,7 +454,7 @@ InputPath=.\unicode\chariter.h
InputPath=.\unicode\chariter.h InputPath=.\unicode\chariter.h
"..\..\include\unicode\chariter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\chariter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -475,7 +475,7 @@ SOURCE=.\unicode\convert.h
InputPath=.\unicode\convert.h InputPath=.\unicode\convert.h
"..\..\include\unicode\convert.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\convert.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -485,7 +485,7 @@ InputPath=.\unicode\convert.h
InputPath=.\unicode\convert.h InputPath=.\unicode\convert.h
"..\..\include\unicode\convert.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\convert.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -514,7 +514,7 @@ SOURCE=.\unicode\dbbi.h
InputPath=.\unicode\dbbi.h InputPath=.\unicode\dbbi.h
"..\..\include\unicode\dbbi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\dbbi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy unicode\dbbi.h ..\..\include\unicode copy unicode\dbbi.h ..\..\include\unicode
# End Custom Build # End Custom Build
@ -524,7 +524,7 @@ InputPath=.\unicode\dbbi.h
InputPath=.\unicode\dbbi.h InputPath=.\unicode\dbbi.h
"..\..\include\unicode\dbbi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\dbbi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy unicode\dbbi.h ..\..\include\unicode copy unicode\dbbi.h ..\..\include\unicode
# End Custom Build # End Custom Build
@ -557,7 +557,7 @@ SOURCE=.\unicode\locid.h
InputPath=.\unicode\locid.h InputPath=.\unicode\locid.h
"..\..\include\unicode\locid.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\locid.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -567,7 +567,7 @@ InputPath=.\unicode\locid.h
InputPath=.\unicode\locid.h InputPath=.\unicode\locid.h
"..\..\include\unicode\locid.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\locid.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -592,7 +592,7 @@ SOURCE=.\unicode\normlzr.h
InputPath=.\unicode\normlzr.h InputPath=.\unicode\normlzr.h
"..\..\include\unicode\normlzr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\normlzr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -602,7 +602,7 @@ InputPath=.\unicode\normlzr.h
InputPath=.\unicode\normlzr.h InputPath=.\unicode\normlzr.h
"..\..\include\unicode\normlzr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\normlzr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -619,7 +619,7 @@ SOURCE=.\unicode\putil.h
InputPath=.\unicode\putil.h InputPath=.\unicode\putil.h
"..\..\include\unicode\putil.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\putil.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -629,7 +629,7 @@ InputPath=.\unicode\putil.h
InputPath=.\unicode\putil.h InputPath=.\unicode\putil.h
"..\..\include\unicode\putil.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\putil.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -646,7 +646,7 @@ SOURCE=.\unicode\pwin32.h
InputPath=.\unicode\pwin32.h InputPath=.\unicode\pwin32.h
"..\..\include\unicode\pwin32.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\pwin32.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -656,7 +656,7 @@ InputPath=.\unicode\pwin32.h
InputPath=.\unicode\pwin32.h InputPath=.\unicode\pwin32.h
"..\..\include\unicode\pwin32.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\pwin32.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -673,7 +673,7 @@ SOURCE=.\unicode\rbbi.h
InputPath=.\unicode\rbbi.h InputPath=.\unicode\rbbi.h
"..\..\include\unicode\rbbi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\rbbi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy unicode\rbbi.h ..\..\include\unicode copy unicode\rbbi.h ..\..\include\unicode
# End Custom Build # End Custom Build
@ -683,7 +683,7 @@ InputPath=.\unicode\rbbi.h
InputPath=.\unicode\rbbi.h InputPath=.\unicode\rbbi.h
"..\..\include\unicode\rbbi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\rbbi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy unicode\rbbi.h ..\..\include\unicode copy unicode\rbbi.h ..\..\include\unicode
# End Custom Build # End Custom Build
@ -704,7 +704,7 @@ SOURCE=.\unicode\rep.h
InputPath=.\unicode\rep.h InputPath=.\unicode\rep.h
"..\..\include\unicode\rep.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\rep.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -714,7 +714,7 @@ InputPath=.\unicode\rep.h
InputPath=.\unicode\rep.h InputPath=.\unicode\rep.h
"..\..\include\unicode\rep.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\rep.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -731,7 +731,7 @@ SOURCE=.\unicode\resbund.h
InputPath=.\unicode\resbund.h InputPath=.\unicode\resbund.h
"..\..\include\unicode\resbund.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\resbund.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -741,7 +741,7 @@ InputPath=.\unicode\resbund.h
InputPath=.\unicode\resbund.h InputPath=.\unicode\resbund.h
"..\..\include\unicode\resbund.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\resbund.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -758,7 +758,7 @@ SOURCE=.\unicode\schriter.h
InputPath=.\unicode\schriter.h InputPath=.\unicode\schriter.h
"..\..\include\unicode\schriter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\schriter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -768,7 +768,7 @@ InputPath=.\unicode\schriter.h
InputPath=.\unicode\schriter.h InputPath=.\unicode\schriter.h
"..\..\include\unicode\schriter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\schriter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -785,7 +785,7 @@ SOURCE=.\unicode\scsu.h
InputPath=.\unicode\scsu.h InputPath=.\unicode\scsu.h
"..\..\include\unicode\scsu.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\scsu.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -795,7 +795,7 @@ InputPath=.\unicode\scsu.h
InputPath=.\unicode\scsu.h InputPath=.\unicode\scsu.h
"..\..\include\unicode\scsu.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\scsu.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -812,7 +812,7 @@ SOURCE=.\unicode\ubidi.h
InputPath=.\unicode\ubidi.h InputPath=.\unicode\ubidi.h
"..\..\include\unicode\ubidi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ubidi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -822,7 +822,7 @@ InputPath=.\unicode\ubidi.h
InputPath=.\unicode\ubidi.h InputPath=.\unicode\ubidi.h
"..\..\include\unicode\ubidi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ubidi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -843,7 +843,7 @@ SOURCE=.\unicode\ubrk.h
InputPath=.\unicode\ubrk.h InputPath=.\unicode\ubrk.h
"..\..\include\unicode\ubrk.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ubrk.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy unicode\ubrk.h ..\..\include\unicode copy unicode\ubrk.h ..\..\include\unicode
# End Custom Build # End Custom Build
@ -853,7 +853,7 @@ InputPath=.\unicode\ubrk.h
InputPath=.\unicode\ubrk.h InputPath=.\unicode\ubrk.h
"..\..\include\unicode\ubrk.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ubrk.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy unicode\ubrk.h ..\..\include\unicode copy unicode\ubrk.h ..\..\include\unicode
# End Custom Build # End Custom Build
@ -870,7 +870,7 @@ SOURCE=.\unicode\uchar.h
InputPath=.\unicode\uchar.h InputPath=.\unicode\uchar.h
"..\..\include\unicode\uchar.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uchar.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -880,7 +880,7 @@ InputPath=.\unicode\uchar.h
InputPath=.\unicode\uchar.h InputPath=.\unicode\uchar.h
"..\..\include\unicode\uchar.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uchar.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -897,7 +897,7 @@ SOURCE=.\unicode\uchriter.h
InputPath=.\unicode\uchriter.h InputPath=.\unicode\uchriter.h
"..\..\include\unicode\uchriter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uchriter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -907,7 +907,7 @@ InputPath=.\unicode\uchriter.h
InputPath=.\unicode\uchriter.h InputPath=.\unicode\uchriter.h
"..\..\include\unicode\uchriter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uchriter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -924,7 +924,7 @@ SOURCE=.\unicode\uclean.h
InputPath=.\unicode\uclean.h InputPath=.\unicode\uclean.h
"..\..\include\unicode\uclean.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uclean.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -934,7 +934,7 @@ InputPath=.\unicode\uclean.h
InputPath=.\unicode\uclean.h InputPath=.\unicode\uclean.h
"..\..\include\unicode\uclean.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uclean.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -967,7 +967,7 @@ SOURCE=.\unicode\ucnv.h
InputPath=.\unicode\ucnv.h InputPath=.\unicode\ucnv.h
"..\..\include\unicode\ucnv.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ucnv.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -977,7 +977,7 @@ InputPath=.\unicode\ucnv.h
InputPath=.\unicode\ucnv.h InputPath=.\unicode\ucnv.h
"..\..\include\unicode\ucnv.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ucnv.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -998,7 +998,7 @@ SOURCE=.\unicode\ucnv_cb.h
InputPath=.\unicode\ucnv_cb.h InputPath=.\unicode\ucnv_cb.h
"..\..\include\unicode\ucnv_cb.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ucnv_cb.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1008,7 +1008,7 @@ InputPath=.\unicode\ucnv_cb.h
InputPath=.\unicode\ucnv_cb.h InputPath=.\unicode\ucnv_cb.h
"..\..\include\unicode\ucnv_cb.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ucnv_cb.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1029,7 +1029,7 @@ SOURCE=.\unicode\ucnv_err.h
InputPath=.\unicode\ucnv_err.h InputPath=.\unicode\ucnv_err.h
"..\..\include\unicode\ucnv_err.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ucnv_err.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1039,7 +1039,7 @@ InputPath=.\unicode\ucnv_err.h
InputPath=.\unicode\ucnv_err.h InputPath=.\unicode\ucnv_err.h
"..\..\include\unicode\ucnv_err.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ucnv_err.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1068,7 +1068,7 @@ SOURCE=.\unicode\udata.h
InputPath=.\unicode\udata.h InputPath=.\unicode\udata.h
"..\..\include\unicode\udata.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\udata.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1078,7 +1078,7 @@ InputPath=.\unicode\udata.h
InputPath=.\unicode\udata.h InputPath=.\unicode\udata.h
"..\..\include\unicode\udata.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\udata.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1103,7 +1103,7 @@ SOURCE=.\unicode\uiter.h
InputPath=.\unicode\uiter.h InputPath=.\unicode\uiter.h
"..\..\include\unicode\uiter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uiter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1113,7 +1113,7 @@ InputPath=.\unicode\uiter.h
InputPath=.\unicode\uiter.h InputPath=.\unicode\uiter.h
"..\..\include\unicode\uiter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uiter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1130,7 +1130,7 @@ SOURCE=.\unicode\uloc.h
InputPath=.\unicode\uloc.h InputPath=.\unicode\uloc.h
"..\..\include\unicode\uloc.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uloc.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1140,7 +1140,7 @@ InputPath=.\unicode\uloc.h
InputPath=.\unicode\uloc.h InputPath=.\unicode\uloc.h
"..\..\include\unicode\uloc.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uloc.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1157,7 +1157,7 @@ SOURCE=.\unicode\umachine.h
InputPath=.\unicode\umachine.h InputPath=.\unicode\umachine.h
"..\..\include\unicode\umachine.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\umachine.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1167,7 +1167,7 @@ InputPath=.\unicode\umachine.h
InputPath=.\unicode\umachine.h InputPath=.\unicode\umachine.h
"..\..\include\unicode\umachine.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\umachine.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1193,7 +1193,7 @@ InputPath=.\unicode\umisc.h
InputName=umisc InputName=umisc
"..\..\include\unicode\$(InputName).h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\$(InputName).h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1204,7 +1204,7 @@ InputPath=.\unicode\umisc.h
InputName=umisc InputName=umisc
"..\..\include\unicode\$(InputName).h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\$(InputName).h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1225,7 +1225,7 @@ SOURCE=.\unicode\unicode.h
InputPath=.\unicode\unicode.h InputPath=.\unicode\unicode.h
"..\..\include\unicode\unicode.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\unicode.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1235,7 +1235,7 @@ InputPath=.\unicode\unicode.h
InputPath=.\unicode\unicode.h InputPath=.\unicode\unicode.h
"..\..\include\unicode\unicode.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\unicode.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1252,7 +1252,7 @@ SOURCE=.\unicode\unistr.h
InputPath=.\unicode\unistr.h InputPath=.\unicode\unistr.h
"..\..\include\unicode\unistr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\unistr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1262,7 +1262,7 @@ InputPath=.\unicode\unistr.h
InputPath=.\unicode\unistr.h InputPath=.\unicode\unistr.h
"..\..\include\unicode\unistr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\unistr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1279,7 +1279,7 @@ SOURCE=.\unicode\unorm.h
InputPath=.\unicode\unorm.h InputPath=.\unicode\unorm.h
"..\..\include\unicode\unorm.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\unorm.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1289,7 +1289,7 @@ InputPath=.\unicode\unorm.h
InputPath=.\unicode\unorm.h InputPath=.\unicode\unorm.h
"..\..\include\unicode\unorm.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\unorm.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1302,6 +1302,10 @@ SOURCE=.\unormimp.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\uprops.h
# End Source File
# Begin Source File
SOURCE=.\unicode\urename.h SOURCE=.\unicode\urename.h
!IF "$(CFG)" == "common - Win32 Release" !IF "$(CFG)" == "common - Win32 Release"
@ -1310,7 +1314,7 @@ SOURCE=.\unicode\urename.h
InputPath=.\unicode\urename.h InputPath=.\unicode\urename.h
"..\..\include\unicode\urename.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\urename.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1320,7 +1324,7 @@ InputPath=.\unicode\urename.h
InputPath=.\unicode\urename.h InputPath=.\unicode\urename.h
"..\..\include\unicode\urename.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\urename.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1337,7 +1341,7 @@ SOURCE=.\unicode\urep.h
InputPath=.\unicode\urep.h InputPath=.\unicode\urep.h
"..\..\include\unicode\urep.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\urep.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1347,7 +1351,7 @@ InputPath=.\unicode\urep.h
InputPath=.\unicode\urep.h InputPath=.\unicode\urep.h
"..\..\include\unicode\urep.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\urep.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1364,7 +1368,7 @@ SOURCE=.\unicode\ures.h
InputPath=.\unicode\ures.h InputPath=.\unicode\ures.h
"..\..\include\unicode\ures.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ures.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1374,7 +1378,7 @@ InputPath=.\unicode\ures.h
InputPath=.\unicode\ures.h InputPath=.\unicode\ures.h
"..\..\include\unicode\ures.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ures.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1399,7 +1403,7 @@ SOURCE=.\unicode\uscript.h
InputPath=.\unicode\uscript.h InputPath=.\unicode\uscript.h
"..\..\include\unicode\uscript.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uscript.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1409,7 +1413,7 @@ InputPath=.\unicode\uscript.h
InputPath=.\unicode\uscript.h InputPath=.\unicode\uscript.h
"..\..\include\unicode\uscript.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uscript.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1426,7 +1430,7 @@ SOURCE=.\unicode\ushape.h
InputPath=.\unicode\ushape.h InputPath=.\unicode\ushape.h
"..\..\include\unicode\ushape.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ushape.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1436,7 +1440,7 @@ InputPath=.\unicode\ushape.h
InputPath=.\unicode\ushape.h InputPath=.\unicode\ushape.h
"..\..\include\unicode\ushape.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ushape.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1461,7 +1465,7 @@ SOURCE=.\unicode\ustring.h
InputPath=.\unicode\ustring.h InputPath=.\unicode\ustring.h
"..\..\include\unicode\ustring.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ustring.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1471,7 +1475,7 @@ InputPath=.\unicode\ustring.h
InputPath=.\unicode\ustring.h InputPath=.\unicode\ustring.h
"..\..\include\unicode\ustring.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\ustring.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1488,7 +1492,7 @@ SOURCE=.\unicode\utf.h
InputPath=.\unicode\utf.h InputPath=.\unicode\utf.h
"..\..\include\unicode\utf.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\utf.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1498,7 +1502,7 @@ InputPath=.\unicode\utf.h
InputPath=.\unicode\utf.h InputPath=.\unicode\utf.h
"..\..\include\unicode\utf.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\utf.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1515,7 +1519,7 @@ SOURCE=.\unicode\utf16.h
InputPath=.\unicode\utf16.h InputPath=.\unicode\utf16.h
"..\..\include\unicode\utf16.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\utf16.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1525,7 +1529,7 @@ InputPath=.\unicode\utf16.h
InputPath=.\unicode\utf16.h InputPath=.\unicode\utf16.h
"..\..\include\unicode\utf16.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\utf16.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1542,7 +1546,7 @@ SOURCE=.\unicode\utf32.h
InputPath=.\unicode\utf32.h InputPath=.\unicode\utf32.h
"..\..\include\unicode\utf32.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\utf32.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1552,7 +1556,7 @@ InputPath=.\unicode\utf32.h
InputPath=.\unicode\utf32.h InputPath=.\unicode\utf32.h
"..\..\include\unicode\utf32.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\utf32.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1569,7 +1573,7 @@ SOURCE=.\unicode\utf8.h
InputPath=.\unicode\utf8.h InputPath=.\unicode\utf8.h
"..\..\include\unicode\utf8.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\utf8.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1579,7 +1583,7 @@ InputPath=.\unicode\utf8.h
InputPath=.\unicode\utf8.h InputPath=.\unicode\utf8.h
"..\..\include\unicode\utf8.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\utf8.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1600,7 +1604,7 @@ SOURCE=.\unicode\utypes.h
InputPath=.\unicode\utypes.h InputPath=.\unicode\utypes.h
"..\..\include\unicode\utypes.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\utypes.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1610,7 +1614,7 @@ InputPath=.\unicode\utypes.h
InputPath=.\unicode\utypes.h InputPath=.\unicode\utypes.h
"..\..\include\unicode\utypes.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\utypes.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1631,7 +1635,7 @@ SOURCE=.\unicode\uversion.h
InputPath=.\unicode\uversion.h InputPath=.\unicode\uversion.h
"..\..\include\unicode\uversion.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uversion.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build
@ -1641,7 +1645,7 @@ InputPath=.\unicode\uversion.h
InputPath=.\unicode\uversion.h InputPath=.\unicode\uversion.h
"..\..\include\unicode\uversion.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" "..\..\include\unicode\uversion.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
copy $(InputPath) ..\..\include\unicode copy $(InputPath) ..\..\include\unicode
# End Custom Build # End Custom Build

View File

@ -63,6 +63,152 @@ U_CDECL_BEGIN
*/ */
#define UCHAR_MAX_VALUE 0x10ffff #define UCHAR_MAX_VALUE 0x10ffff
/**
* Selection constants for Unicode properties.
* These constants are used in functions like u_hasBinaryProperty to select
* one of the Unicode properties.
*
* The properties APIs are intended to reflect Unicode properties as defined
* in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR).
* For details about the properties see http://www.unicode.org/ .
* For names of Unicode properties see the UCD file PropertyAliases.txt.
*
* Important: If ICU is built with UCD files from Unicode versions below 3.2,
* then properties marked with "new in Unicode 3.2" are not or not fully available.
* Check u_getUnicodeVersion to be sure.
*
* @see u_getUnicodeVersion
* @draft ICU 2.1
*/
enum UProperty {
/** Binary property Alphabetic. Same as u_isUAlphabetic, different from u_isalpha.
Lu+Ll+Lt+Lm+Lo+Other_Alphabetic @draft ICU 2.1 */
UCHAR_ALPHABETIC,
/** First constant for binary Unicode properties. @draft ICU 2.1 */
UCHAR_BINARY_START=UCHAR_ALPHABETIC,
/** Binary property ASCII_Hex_Digit. 0-9 A-F a-f @draft ICU 2.1 */
UCHAR_ASCII_HEX_DIGIT,
/** Binary property Bidi_Control.
Format controls which have specific functions
in the Bidi Algorithm. @draft ICU 2.1 */
UCHAR_BIDI_CONTROL,
/** Binary property Bidi_Mirrored.
Characters that may change display in RTL text.
Same as u_isMirrored.
See Bidi Algorithm, UTR 9. @draft ICU 2.1 */
UCHAR_BIDI_MIRRORED,
/** Binary property Dash. Variations of dashes. @draft ICU 2.1 */
UCHAR_DASH,
/** Binary property Default_Ignorable_Code_Point (new in Unicode 3.2).
Ignorable in most processing.
Cf+Cc+Cs+Other_Default_Ignorable_Code_Point-White_Space @draft ICU 2.1 */
UCHAR_DEFAULT_IGNORABLE_CODE_POINT,
/** Binary property Deprecated (new in Unicode 3.2).
The usage of deprecated characters is strongly discouraged. @draft ICU 2.1 */
UCHAR_DEPRECATED,
/** Binary property Diacritic. Characters that linguistically modify
the meaning of another character to which they apply. @draft ICU 2.1 */
UCHAR_DIACRITIC,
/** Binary property Extender.
Extend the value or shape of a preceding alphabetic character,
e.g., length and iteration marks. @draft ICU 2.1 */
UCHAR_EXTENDER,
/** Binary property Full_Composition_Exclusion.
CompositionExclusions.txt+Singleton Decompositions+
Non-Starter Decompositions. @draft ICU 2.1 */
UCHAR_FULL_COMPOSITION_EXCLUSION,
/** Binary property Grapheme_Base (new in Unicode 3.2).
For programmatic determination of grapheme cluster boundaries.
[0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend @draft ICU 2.1 */
UCHAR_GRAPHEME_BASE,
/** Binary property Grapheme_Extend (new in Unicode 3.2).
For programmatic determination of grapheme cluster boundaries.
Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link @draft ICU 2.1 */
UCHAR_GRAPHEME_EXTEND,
/** Binary property Grapheme_Link (new in Unicode 3.2).
For programmatic determination of grapheme cluster boundaries. @draft ICU 2.1 */
UCHAR_GRAPHEME_LINK,
/** Binary property Hex_Digit.
Characters commonly used for hexadecimal numbers. @draft ICU 2.1 */
UCHAR_HEX_DIGIT,
/** Binary property Hyphen. Dashes used to mark connections
between pieces of words, plus the Katakana middle dot. @draft ICU 2.1 */
UCHAR_HYPHEN,
/** Binary property ID_Continue.
Characters that can continue an identifier.
ID_Start+Mn+Mc+Nd+Pc @draft ICU 2.1 */
UCHAR_ID_CONTINUE,
/** Binary property ID_Start.
Characters that can start an identifier.
Lu+Ll+Lt+Lm+Lo+Nl @draft ICU 2.1 */
UCHAR_ID_START,
/** Binary property Ideographic (new in Unicode 3.2).
CJKV ideographs. @draft ICU 2.1 */
UCHAR_IDEOGRAPHIC,
/** Binary property IDS_Binary_Operator (new in Unicode 3.2).
For programmatic determination of
Ideographic Description Sequences. @draft ICU 2.1 */
UCHAR_IDS_BINARY_OPERATOR,
/** Binary property IDS_Trinary_Operator (new in Unicode 3.2).
For programmatic determination of
Ideographic Description Sequences. @draft ICU 2.1 */
UCHAR_IDS_TRIARY_OPERATOR,
/** Binary property Join_Control.
Format controls for cursive joining and ligation. @draft ICU 2.1 */
UCHAR_JOIN_CONTROL,
/** Binary property Logical_Order_Exception (new in Unicode 3.2).
Characters that do not use logical order and
require special handling in most processing. @draft ICU 2.1 */
UCHAR_LOGICAL_ORDER_EXCEPTION,
/** Binary property Lowercase. Same as u_isULowercase, different from u_islower.
Ll+Other_Lowercase @draft ICU 2.1 */
UCHAR_LOWERCASE,
/** Binary property Math. Sm+Other_Math @draft ICU 2.1 */
UCHAR_MATH,
/** Binary property Noncharacter_Code_Point.
Code points that are explicitly defined as illegal
for the encoding of characters. @draft ICU 2.1 */
UCHAR_NONCHARACTER_CODE_POINT,
/** Binary property Quotation_Mark. @draft ICU 2.1 */
UCHAR_QUOTATION_MARK,
/** Binary property Radical (new in Unicode 3.2).
For programmatic determination of
Ideographic Description Sequences. @draft ICU 2.1 */
UCHAR_RADICAL,
/** Binary property Soft_Dotted (new in Unicode 3.2).
Characters with a "soft dot", like i or j.
An accent placed on these characters causes
the dot to disappear. @draft ICU 2.1 */
UCHAR_SOFT_DOTTED,
/** Binary property Terminal_Punctuation.
Punctuation characters that generally mark
the end of textual units. @draft ICU 2.1 */
UCHAR_TERMINAL_PUNCTUATION,
/** Binary property Unified_Ideograph (new in Unicode 3.2).
For programmatic determination of
Ideographic Description Sequences. @draft ICU 2.1 */
UCHAR_UNIFIED_IDEOGRAPH,
/** Binary property Uppercase. Same as u_isUUppercase, different from u_isupper.
Lu+Other_Uppercase @draft ICU 2.1 */
UCHAR_UPPERCASE,
/** Binary property White_Space.
Same as u_isUWhiteSpace, different from u_isspace and u_isWhitespace.
Space characters+TAB+CR+LF-ZWSP-ZWNBSP @draft ICU 2.1 */
UCHAR_WHITE_SPACE,
/** Binary property XID_Continue.
ID_Continue modified to allow closure under
normalization forms NFKC and NFKD. @draft ICU 2.1 */
UCHAR_XID_CONTINUE,
/** Binary property XID_Start. ID_Start modified to allow
closure under normalization forms NFKC and NFKD. @draft ICU 2.1 */
UCHAR_XID_START,
/** One more than the last constant for binary Unicode properties. @draft ICU 2.1 */
UCHAR_BINARY_LIMIT
};
/** @draft ICU 2.1 */
typedef enum UProperty UProperty;
/** /**
* Data for enumerated Unicode general category types. * Data for enumerated Unicode general category types.
* See http://www.unicode.org/Public/UNIDATA/UnicodeData.html . * See http://www.unicode.org/Public/UNIDATA/UnicodeData.html .
@ -707,6 +853,91 @@ enum UCharNameChoice {
/** @stable */ /** @stable */
typedef enum UCharNameChoice UCharNameChoice; typedef enum UCharNameChoice UCharNameChoice;
/**
* Check a binary Unicode property for a code point.
*
* Unicode, especially in version 3.2, defines many more properties than the
* original set in UnicodeData.txt.
* This API is intended to reflect Unicode properties as defined
* in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR).
* For details about the properties see http://www.unicode.org/ .
* For names of Unicode properties see the UCD file PropertyAliases.txt.
*
* The properties APIs are intended to reflect Unicode properties as defined
* in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR).
* For details about the properties see http://www.unicode.org/ .
* For names of Unicode properties see the UCD file PropertyAliases.txt.
*
* Important: If ICU is built with UCD files from Unicode versions below 3.2,
* then properties marked with "new in Unicode 3.2" are not or not fully available.
*
* @param c Code point to test.
* @param which UProperty selector constant, identifies which binary property to check.
* Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT.
* @return TRUE or FALSE according to the binary Unicode property value for c.
* Also FALSE if which is out of bounds or if the Unicode version
* does not have data for the property at all, or not for this code point.
*
* @see UProperty
* @see u_getUnicodeVersion
* @draft ICU 2.1
*/
UBool u_hasBinaryProperty(UChar32 c, UProperty which);
/**
* Check if a code point has the Alphabetic Unicode property.
* Same as u_hasBinaryProperty(c, UCHAR_ALPHABETIC).
* This is different from u_isalpha!
*
* @see UCHAR_ALPHABETIC
* @see u_isalpha
* @see u_hasBinaryProperty
* @draft ICU 2.1
*/
UBool u_isUAlphabetic(UChar32 c);
/**
* Check if a code point has the Lowercase Unicode property.
* Same as u_hasBinaryProperty(c, UCHAR_LOWERCASE).
* This is different from u_islower!
*
* @see UCHAR_LOWERCASE
* @see u_islower
* @see u_hasBinaryProperty
* @draft ICU 2.1
*/
UBool u_isULowercase(UChar32 c);
/**
* Check if a code point has the Uppercase Unicode property.
* Same as u_hasBinaryProperty(c, UCHAR_UPPERCASE).
* This is different from u_isupper!
*
* @see UCHAR_UPPERCASE
* @see u_isupper
* @see u_hasBinaryProperty
* @draft ICU 2.1
*/
UBool u_isUUppercase(UChar32 c);
/**
* Check if a code point has the White_Space Unicode property.
* Same as u_hasBinaryProperty(c, UCHAR_WHITE_SPACE).
* This is different from both u_isspace and u_isWhitespace!
*
* @see UCHAR_WHITE_SPACE
* @see u_isWhitespace
* @see u_isspace
* @see u_hasBinaryProperty
* @draft ICU 2.1
*/
UBool u_isUWhiteSpace(UChar32 c);
/*
* ### TODO Document all properties more precisely, how they are based (or not) on UCD files.
* Especially u_isdigit, u_isspace, u_isWhitespace.
*/
/** /**
* Determines whether the specified UChar is a lowercase character * Determines whether the specified UChar is a lowercase character
* according to UnicodeData.txt. * according to UnicodeData.txt.

View File

@ -22,6 +22,44 @@
#include "unicode/uscript.h" #include "unicode/uscript.h"
#include "uprops.h" #include "uprops.h"
/* helper definitions ------------------------------------------------------- */
#define FLAG(n) ((uint32_t)1<<(n))
/* flags for general categories in the order of UCharCategory */
#define _Cn FLAG(U_GENERAL_OTHER_TYPES)
#define _Lu FLAG(U_UPPERCASE_LETTER)
#define _Ll FLAG(U_LOWERCASE_LETTER)
#define _Lt FLAG(U_TITLECASE_LETTER)
#define _Lm FLAG(U_MODIFIER_LETTER)
#define _Lo FLAG(U_OTHER_LETTER)
#define _Mn FLAG(U_NON_SPACING_MARK)
#define _Me FLAG(U_ENCLOSING_MARK)
#define _Mc FLAG(U_COMBINING_SPACING_MARK)
#define _Nd FLAG(U_DECIMAL_DIGIT_NUMBER)
#define _Nl FLAG(U_LETTER_NUMBER)
#define _No FLAG(U_OTHER_NUMBER)
#define _Zs FLAG(U_SPACE_SEPARATOR)
#define _Zl FLAG(U_LINE_SEPARATOR)
#define _Zp FLAG(U_PARAGRAPH_SEPARATOR)
#define _Cc FLAG(U_CONTROL_CHAR)
#define _Cf FLAG(U_FORMAT_CHAR)
#define _Co FLAG(U_PRIVATE_USE_CHAR)
#define _Cs FLAG(U_SURROGATE)
#define _Pd FLAG(U_DASH_PUNCTUATION)
#define _Ps FLAG(U_START_PUNCTUATION)
#define _Pe FLAG(U_END_PUNCTUATION)
#define _Pc FLAG(U_CONNECTOR_PUNCTUATION)
#define _Po FLAG(U_OTHER_PUNCTUATION)
#define _Sm FLAG(U_MATH_SYMBOL)
#define _Sc FLAG(U_CURRENCY_SYMBOL)
#define _Sk FLAG(U_MODIFIER_SYMBOL)
#define _So FLAG(U_OTHER_SYMBOL)
#define _Pi FLAG(U_INITIAL_PUNCTUATION)
#define _Pf FLAG(U_FINAL_PUNCTUATION)
/* API functions ------------------------------------------------------------ */
U_CAPI void U_EXPORT2 U_CAPI void U_EXPORT2
u_charAge(UChar32 c, UVersionInfo versionArray) { u_charAge(UChar32 c, UVersionInfo versionArray) {
if(versionArray!=NULL) { if(versionArray!=NULL) {
@ -60,3 +98,123 @@ ublock_getCode(UChar32 c) {
return (UBlockCode)b; return (UBlockCode)b;
} }
} }
UBool u_hasBinaryProperty(UChar32 c, UProperty which) {
/* c is range-checked in the functions that are called from here */
switch(which) {
case UCHAR_ALPHABETIC:
/* Lu+Ll+Lt+Lm+Lo+Other_Alphabetic */
return (FLAG(u_charType(c))&(_Lu|_Ll|_Lt|_Lm|_Lo))!=0 ||
(u_getUnicodeProperties(c, 1)&FLAG(UPROPS_OTHER_ALPHABETIC))!=0;
case UCHAR_ASCII_HEX_DIGIT:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_ASCII_HEX_DIGIT))!=0;
case UCHAR_BIDI_CONTROL:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_BIDI_CONTROL))!=0;
case UCHAR_BIDI_MIRRORED:
return u_isMirrored(c);
case UCHAR_DASH:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_DASH))!=0;
case UCHAR_DEFAULT_IGNORABLE_CODE_POINT:
/* Cf+Cc+Cs+Other_Default_Ignorable_Code_Point-White_Space */
return (FLAG(u_charType(c))&(_Cf|_Cc|_Cs))!=0 ||
(u_getUnicodeProperties(c, 1)&
(FLAG(UPROPS_OTHER_DEFAULT_IGNORABLE_CODE_POINT)|FLAG(UPROPS_WHITE_SPACE))==
FLAG(UPROPS_OTHER_DEFAULT_IGNORABLE_CODE_POINT));
case UCHAR_DEPRECATED:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_DEPRECATED))!=0;
case UCHAR_DIACRITIC:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_DIACRITIC))!=0;
case UCHAR_EXTENDER:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_EXTENDER))!=0;
case UCHAR_FULL_COMPOSITION_EXCLUSION:
return FALSE; /* ### TODO from unorm.dat */
case UCHAR_GRAPHEME_BASE:
/*
* [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend ==
* [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-(Me+Mn+Mc+Other_Grapheme_Extend) ==
* [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Me-Mn-Mc-Grapheme_Link-Other_Grapheme_Extend
*
* u_charType(c out of range) returns Cn so we need not check for the range
*/
return (FLAG(u_charType(c))&(_Cc|_Cf|_Cs|_Co|_Cn|_Zl|_Zp|_Me|_Mn|_Mc))==0 &&
(u_getUnicodeProperties(c, 1)&
(FLAG(UPROPS_GRAPHEME_LINK)|FLAG(UPROPS_OTHER_GRAPHEME_EXTEND))==0);
case UCHAR_GRAPHEME_EXTEND:
/* Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link */
return (FLAG(u_charType(c))&(_Me|_Mn|_Mc))!=0 ||
(u_getUnicodeProperties(c, 1)&
(FLAG(UPROPS_OTHER_GRAPHEME_EXTEND)|FLAG(UPROPS_GRAPHEME_LINK))==
FLAG(UPROPS_OTHER_GRAPHEME_EXTEND));
case UCHAR_GRAPHEME_LINK:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_GRAPHEME_LINK))!=0;
case UCHAR_HEX_DIGIT:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_HEX_DIGIT))!=0;
case UCHAR_HYPHEN:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_HYPHEN))!=0;
case UCHAR_ID_CONTINUE:
/* ID_Start+Mn+Mc+Nd+Pc == Lu+Ll+Lt+Lm+Lo+Nl+Mn+Mc+Nd+Pc */
return (FLAG(u_charType(c))&(_Lu|_Ll|_Lt|_Lm|_Lo|_Nl|_Mn|_Mc|_Nd|_Pc))!=0;
case UCHAR_ID_START:
/* Lu+Ll+Lt+Lm+Lo+Nl */
return (FLAG(u_charType(c))&(_Lu|_Ll|_Lt|_Lm|_Lo|_Nl))!=0;
case UCHAR_IDEOGRAPHIC:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_IDEOGRAPHIC))!=0;
case UCHAR_IDS_BINARY_OPERATOR:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_IDS_BINARY_OPERATOR))!=0;
case UCHAR_IDS_TRIARY_OPERATOR:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_IDS_TRINARY_OPERATOR))!=0;
case UCHAR_JOIN_CONTROL:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_JOIN_CONTROL))!=0;
case UCHAR_LOGICAL_ORDER_EXCEPTION:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_LOGICAL_ORDER_EXCEPTION))!=0;
case UCHAR_LOWERCASE:
/* Ll+Other_Lowercase */
return u_charType(c)==U_LOWERCASE_LETTER ||
(u_getUnicodeProperties(c, 1)&FLAG(UPROPS_OTHER_LOWERCASE))!=0;
case UCHAR_MATH:
/* Sm+Other_Math */
return u_charType(c)==U_MATH_SYMBOL ||
(u_getUnicodeProperties(c, 1)&FLAG(UPROPS_OTHER_MATH))!=0;
case UCHAR_NONCHARACTER_CODE_POINT:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_NONCHARACTER_CODE_POINT))!=0;
case UCHAR_QUOTATION_MARK:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_QUOTATION_MARK))!=0;
case UCHAR_RADICAL:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_RADICAL))!=0;
case UCHAR_SOFT_DOTTED:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_SOFT_DOTTED))!=0;
case UCHAR_TERMINAL_PUNCTUATION:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_TERMINAL_PUNCTUATION))!=0;
case UCHAR_UNIFIED_IDEOGRAPH:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_UNIFIED_IDEOGRAPH))!=0;
case UCHAR_UPPERCASE:
/* Lu+Other_Uppercase */
return u_charType(c)==U_UPPERCASE_LETTER ||
(u_getUnicodeProperties(c, 1)&FLAG(UPROPS_OTHER_UPPERCASE))!=0;
case UCHAR_WHITE_SPACE:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_WHITE_SPACE))!=0;
case UCHAR_XID_CONTINUE:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_XID_CONTINUE))!=0;
case UCHAR_XID_START:
return (u_getUnicodeProperties(c, 1)&FLAG(UPROPS_XID_START))!=0;
default:
/* not a known binary property */
return FALSE;
};
}
UBool u_isUAlphabetic(UChar32 c) {
return u_hasBinaryProperty(c, UCHAR_ALPHABETIC);
}
UBool u_isULowercase(UChar32 c) {
return u_hasBinaryProperty(c, UCHAR_LOWERCASE);
}
UBool u_isUUppercase(UChar32 c) {
return u_hasBinaryProperty(c, UCHAR_UPPERCASE);
}
UBool u_isUWhiteSpace(UChar32 c) {
return u_hasBinaryProperty(c, UCHAR_WHITE_SPACE);
}

View File

@ -41,7 +41,7 @@ enum {
UPROPS_EXCEPTION_SHIFT=5, /* 5 (1 bit) */ UPROPS_EXCEPTION_SHIFT=5, /* 5 (1 bit) */
UPROPS_BIDI_SHIFT, /* 6 (5 bits) */ UPROPS_BIDI_SHIFT, /* 6 (5 bits) */
UPROPS_MIRROR_SHIFT=UPROPS_BIDI_SHIFT+5, /* 11 (1 bit) */ UPROPS_MIRROR_SHIFT=UPROPS_BIDI_SHIFT+5, /* 11 (1 bit) */
UPROPS_NUMERIC_TYPE_SHIFT, /* 12 (3 bits) ### TODO 2 or 3 bits? Han number type=4? */ UPROPS_NUMERIC_TYPE_SHIFT, /* 12 (3 bits) */
UPROPS_RESERVED_SHIFT=UPROPS_NUMERIC_TYPE_SHIFT+3, /* 15 (5 bits) */ UPROPS_RESERVED_SHIFT=UPROPS_NUMERIC_TYPE_SHIFT+3, /* 15 (5 bits) */
UPROPS_VALUE_SHIFT=20, /* 20 */ UPROPS_VALUE_SHIFT=20, /* 20 */
@ -115,6 +115,11 @@ enum {
UPROPS_DEPRECATED, UPROPS_DEPRECATED,
UPROPS_SOFT_DOTTED, UPROPS_SOFT_DOTTED,
UPROPS_LOGICAL_ORDER_EXCEPTION, UPROPS_LOGICAL_ORDER_EXCEPTION,
/* derivedPropListNames[] in genprops/props2.c, not easily derivable */
UPROPS_XID_START,
UPROPS_XID_CONTINUE,
UPROPS_BINARY_1_TOP UPROPS_BINARY_1_TOP
}; };
@ -126,7 +131,7 @@ enum {
U_CFUNC uint32_t U_CFUNC uint32_t
u_getUnicodeProperties(UChar32 c, int32_t column); u_getUnicodeProperties(UChar32 c, int32_t column);
/* ### TODO move to uchar.h, @draft ICU 2.x */ /* ### TODO check with PropertyValueAliases.txt and move to uchar.h, @draft ICU 2.x */
/** /**
* East Asian Widths constants. * East Asian Widths constants.
* Keep in sync with names list in genprops/props2.c. * Keep in sync with names list in genprops/props2.c.

File diff suppressed because it is too large Load Diff

View File

@ -29,6 +29,8 @@
#include "uparse.h" #include "uparse.h"
#include "genprops.h" #include "genprops.h"
#define FLAG(n) ((uint32_t)1<<(n))
/* data --------------------------------------------------------------------- */ /* data --------------------------------------------------------------------- */
static UNewTrie *trie; static UNewTrie *trie;
@ -51,7 +53,9 @@ ageLineFn(void *context,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
static void static void
parseScripts(const char *filename, UErrorCode *pErrorCode); scriptsLineFn(void *context,
char *fields[][2], int32_t fieldCount,
UErrorCode *pErrorCode);
static void static void
blocksLineFn(void *context, blocksLineFn(void *context,
@ -63,6 +67,11 @@ propListLineFn(void *context,
char *fields[][2], int32_t fieldCount, char *fields[][2], int32_t fieldCount,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
static void
derivedPropListLineFn(void *context,
char *fields[][2], int32_t fieldCount,
UErrorCode *pErrorCode);
static void static void
eaWidthLineFn(void *context, eaWidthLineFn(void *context,
char *fields[][2], int32_t fieldCount, char *fields[][2], int32_t fieldCount,
@ -98,13 +107,30 @@ generateAdditionalProperties(char *filename, const char *suffix, UErrorCode *pEr
/* process various UCD .txt files */ /* process various UCD .txt files */
parseTwoFieldFile(filename, basename, "DerivedAge", suffix, ageLineFn, pErrorCode); parseTwoFieldFile(filename, basename, "DerivedAge", suffix, ageLineFn, pErrorCode);
writeUCDFilename(basename, "Scripts", suffix); /*
parseScripts(filename, pErrorCode); * UTR 24 says:
* Section 2:
* "Common - For characters that may be used
* within multiple scripts,
* or any unassigned code points."
*
* Section 4:
* "The value COMMON is the default value,
* given to all code points that are not
* explicitly mentioned in the data file."
*/
if(!upvec_setValue(pv, 0, 0x110000, 0, (uint32_t)USCRIPT_COMMON, UPROPS_SCRIPT_MASK, pErrorCode)) {
fprintf(stderr, "genprops error: unable to set script code: %s\n", u_errorName(*pErrorCode));
exit(*pErrorCode);
}
parseTwoFieldFile(filename, basename, "Scripts", suffix, scriptsLineFn, pErrorCode);
parseTwoFieldFile(filename, basename, "Blocks", suffix, blocksLineFn, pErrorCode); parseTwoFieldFile(filename, basename, "Blocks", suffix, blocksLineFn, pErrorCode);
parseTwoFieldFile(filename, basename, "PropList", suffix, propListLineFn, pErrorCode); parseTwoFieldFile(filename, basename, "PropList", suffix, propListLineFn, pErrorCode);
parseTwoFieldFile(filename, basename, "DerivedCoreProperties", suffix, derivedPropListLineFn, pErrorCode);
/* /*
* Preset East Asian Width defaults: * Preset East Asian Width defaults:
* N for all * N for all
@ -247,34 +273,6 @@ scriptsLineFn(void *context,
} }
} }
static void
parseScripts(const char *filename, UErrorCode *pErrorCode) {
char *fields[2][2];
if(pErrorCode==NULL || U_FAILURE(*pErrorCode)) {
return;
}
/*
* UTR 24 says:
* Section 2:
* "Common - For characters that may be used
* within multiple scripts,
* or any unassigned code points."
*
* Section 4:
* "The value COMMON is the default value,
* given to all code points that are not
* explicitly mentioned in the data file."
*/
if(!upvec_setValue(pv, 0, 0x110000, 0, (uint32_t)USCRIPT_COMMON, UPROPS_SCRIPT_MASK, pErrorCode)) {
fprintf(stderr, "genprops error: unable to set script code: %s\n", u_errorName(*pErrorCode));
exit(*pErrorCode);
}
u_parseDelimitedFile(filename, ';', fields, 2, scriptsLineFn, NULL, pErrorCode);
}
/* Blocks.txt --------------------------------------------------------------- */ /* Blocks.txt --------------------------------------------------------------- */
/* Blocks.txt block names in the order of the parallel UBlockCode constants */ /* Blocks.txt block names in the order of the parallel UBlockCode constants */
@ -412,6 +410,10 @@ blocksLineFn(void *context,
/* /*
* Keep this list of property names in sync with * Keep this list of property names in sync with
* enums in icu/source/common/uprops.h, see UPROPS_BINARY_1_TOP! * enums in icu/source/common/uprops.h, see UPROPS_BINARY_1_TOP!
*
* Careful: Since UPROPS_ also contain derivedPropListNames[] entries,
* they would need to be skipped here with NULL entries if new properties
* are added to PropList.txt.
*/ */
static const char *const static const char *const
propListNames[]={ propListNames[]={
@ -462,12 +464,45 @@ propListLineFn(void *context,
i=getTokenIndex(propListNames, sizeof(propListNames)/sizeof(*propListNames), fields[1][0]); i=getTokenIndex(propListNames, sizeof(propListNames)/sizeof(*propListNames), fields[1][0]);
if(i<0) { if(i<0) {
fprintf(stderr, "genprops warning: unknown binary property name \"%s\" in PropList.txt\n", fields[1][0]); fprintf(stderr, "genprops warning: unknown binary property name \"%s\" in PropList.txt\n", fields[1][0]);
} else if(!upvec_setValue(pv, start, limit, 1, (uint32_t)(1<<i), (uint32_t)(1<<i), pErrorCode)) { } else if(!upvec_setValue(pv, start, limit, 1, FLAG(i), FLAG(i), pErrorCode)) {
fprintf(stderr, "genprops error: unable to set binary property: %s\n", u_errorName(*pErrorCode)); fprintf(stderr, "genprops error: unable to set binary property: %s\n", u_errorName(*pErrorCode));
exit(*pErrorCode); exit(*pErrorCode);
} }
} }
/* DerivedCoreProperties ---------------------------------------------------- */
static const char *const
derivedPropListNames[]={
"XID_Start",
"XID_Continue"
};
static void
derivedPropListLineFn(void *context,
char *fields[][2], int32_t fieldCount,
UErrorCode *pErrorCode) {
uint32_t start, limit;
int32_t i;
u_parseCodePointRange(fields[0][0], &start, &limit, pErrorCode);
if(U_FAILURE(*pErrorCode)) {
fprintf(stderr, "genprops: syntax error in DerivedCoreProperties.txt field 0 at %s\n", fields[0][0]);
exit(*pErrorCode);
}
++limit;
/* parse derived binary property name, ignore unknown names */
i=getTokenIndex(derivedPropListNames, sizeof(derivedPropListNames)/sizeof(*derivedPropListNames), fields[1][0]);
if(i>=0) {
uint32_t flag=FLAG(UPROPS_XID_START+i);
if(!upvec_setValue(pv, start, limit, 1, flag, flag, pErrorCode)) {
fprintf(stderr, "genprops error: unable to set derived binary property: %s\n", u_errorName(*pErrorCode));
exit(*pErrorCode);
}
}
}
/* East Asian Width --------------------------------------------------------- */ /* East Asian Width --------------------------------------------------------- */
/* keep this list in sync with UEAWidthCode in uprops.h or uchar.h */ /* keep this list in sync with UEAWidthCode in uprops.h or uchar.h */