summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-50.1/samples/coll
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-50.1/samples/coll')
-rw-r--r--Build/source/libs/icu/icu-50.1/samples/coll/Makefile22
-rw-r--r--Build/source/libs/icu/icu-50.1/samples/coll/coll.cpp266
-rw-r--r--Build/source/libs/icu/icu-50.1/samples/coll/coll.sln25
-rw-r--r--Build/source/libs/icu/icu-50.1/samples/coll/coll.vcxproj246
-rw-r--r--Build/source/libs/icu/icu-50.1/samples/coll/coll.vcxproj.filters22
-rw-r--r--Build/source/libs/icu/icu-50.1/samples/coll/readme.txt55
6 files changed, 636 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-50.1/samples/coll/Makefile b/Build/source/libs/icu/icu-50.1/samples/coll/Makefile
new file mode 100644
index 00000000000..09981866588
--- /dev/null
+++ b/Build/source/libs/icu/icu-50.1/samples/coll/Makefile
@@ -0,0 +1,22 @@
+# Copyright (c) 2000-2002 IBM, Inc. and others
+# sample code makefile
+
+# Usage:
+# - configure, build, install ICU (make install)
+# - make sure "icu-config" (in the ICU installed bin directory) is on
+# the path
+# - do 'make' in this directory
+
+#### definitions
+# Name of your target
+TARGET=coll
+
+# All object files (C or C++)
+OBJECTS=coll.o
+
+#### rules
+# Load in standard makefile definitions
+include ../defs.mk
+
+# the actual rules (this is a simple sample)
+include ../rules.mk
diff --git a/Build/source/libs/icu/icu-50.1/samples/coll/coll.cpp b/Build/source/libs/icu/icu-50.1/samples/coll/coll.cpp
new file mode 100644
index 00000000000..28e52392c0a
--- /dev/null
+++ b/Build/source/libs/icu/icu-50.1/samples/coll/coll.cpp
@@ -0,0 +1,266 @@
+/********************************************************************
+ * COPYRIGHT:
+ * Copyright (C) 2002-2006 IBM, Inc. All Rights Reserved.
+ *
+ ********************************************************************/
+
+/**
+ * This program demos string collation
+ */
+
+const char gHelpString[] =
+ "usage: coll [options*] -source source_string -target target_string\n"
+ "-help Display this message.\n"
+ "-locale name ICU locale to use. Default is en_US\n"
+ "-rules rule Collation rules file (overrides locale)\n"
+ "-french French accent ordering\n"
+ "-norm Normalizing mode on\n"
+ "-shifted Shifted mode\n"
+ "-lower Lower case first\n"
+ "-upper Upper case first\n"
+ "-case Enable separate case level\n"
+ "-level n Sort level, 1 to 5, for Primary, Secndary, Tertiary, Quaternary, Identical\n"
+ "-source string Source string for comparison\n"
+ "-target string Target string for comparison\n"
+ "Example coll -rules \\u0026b\\u003ca -source a -target b\n"
+ "The format \\uXXXX is supported for the rules and comparison strings\n"
+ ;
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include <unicode/utypes.h>
+#include <unicode/ucol.h>
+#include <unicode/ustring.h>
+
+/**
+ * Command line option variables
+ * These global variables are set according to the options specified
+ * on the command line by the user.
+ */
+char * opt_locale = "en_US";
+char * opt_rules = 0;
+UBool opt_help = FALSE;
+UBool opt_norm = FALSE;
+UBool opt_french = FALSE;
+UBool opt_shifted = FALSE;
+UBool opt_lower = FALSE;
+UBool opt_upper = FALSE;
+UBool opt_case = FALSE;
+int opt_level = 0;
+char * opt_source = "abc";
+char * opt_target = "abd";
+UCollator * collator = 0;
+
+/**
+ * Definitions for the command line options
+ */
+struct OptSpec {
+ const char *name;
+ enum {FLAG, NUM, STRING} type;
+ void *pVar;
+};
+
+OptSpec opts[] = {
+ {"-locale", OptSpec::STRING, &opt_locale},
+ {"-rules", OptSpec::STRING, &opt_rules},
+ {"-source", OptSpec::STRING, &opt_source},
+ {"-target", OptSpec::STRING, &opt_target},
+ {"-norm", OptSpec::FLAG, &opt_norm},
+ {"-french", OptSpec::FLAG, &opt_french},
+ {"-shifted", OptSpec::FLAG, &opt_shifted},
+ {"-lower", OptSpec::FLAG, &opt_lower},
+ {"-upper", OptSpec::FLAG, &opt_upper},
+ {"-case", OptSpec::FLAG, &opt_case},
+ {"-level", OptSpec::NUM, &opt_level},
+ {"-help", OptSpec::FLAG, &opt_help},
+ {"-?", OptSpec::FLAG, &opt_help},
+ {0, OptSpec::FLAG, 0}
+};
+
+/**
+ * processOptions() Function to read the command line options.
+ */
+UBool processOptions(int argc, const char **argv, OptSpec opts[])
+{
+ for (int argNum = 1; argNum < argc; argNum ++) {
+ const char *pArgName = argv[argNum];
+ OptSpec *pOpt;
+ for (pOpt = opts; pOpt->name != 0; pOpt ++) {
+ if (strcmp(pOpt->name, pArgName) == 0) {
+ switch (pOpt->type) {
+ case OptSpec::FLAG:
+ *(UBool *)(pOpt->pVar) = TRUE;
+ break;
+ case OptSpec::STRING:
+ argNum ++;
+ if (argNum >= argc) {
+ fprintf(stderr, "value expected for \"%s\" option.\n",
+ pOpt->name);
+ return FALSE;
+ }
+ *(const char **)(pOpt->pVar) = argv[argNum];
+ break;
+ case OptSpec::NUM:
+ argNum ++;
+ if (argNum >= argc) {
+ fprintf(stderr, "value expected for \"%s\" option.\n",
+ pOpt->name);
+ return FALSE;
+ }
+ char *endp;
+ int i = strtol(argv[argNum], &endp, 0);
+ if (endp == argv[argNum]) {
+ fprintf(stderr,
+ "integer value expected for \"%s\" option.\n",
+ pOpt->name);
+ return FALSE;
+ }
+ *(int *)(pOpt->pVar) = i;
+ }
+ break;
+ }
+ }
+ if (pOpt->name == 0)
+ {
+ fprintf(stderr, "Unrecognized option \"%s\"\n", pArgName);
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
+/**
+ * ICU string comparison
+ */
+int strcmp()
+{
+ UChar source[100];
+ UChar target[100];
+ u_unescape(opt_source, source, 100);
+ u_unescape(opt_target, target, 100);
+ UCollationResult result = ucol_strcoll(collator, source, -1, target, -1);
+ if (result == UCOL_LESS) {
+ return -1;
+ }
+ else if (result == UCOL_GREATER) {
+ return 1;
+ }
+ return 0;
+}
+
+/**
+ * Creates a collator
+ */
+UBool processCollator()
+{
+ // Set up an ICU collator
+ UErrorCode status = U_ZERO_ERROR;
+ UChar rules[100];
+
+ if (opt_rules != 0) {
+ u_unescape(opt_rules, rules, 100);
+ collator = ucol_openRules(rules, -1, UCOL_OFF, UCOL_TERTIARY,
+ NULL, &status);
+ }
+ else {
+ collator = ucol_open(opt_locale, &status);
+ }
+ if (U_FAILURE(status)) {
+ fprintf(stderr, "Collator creation failed.: %d\n", status);
+ return FALSE;
+ }
+ if (status == U_USING_DEFAULT_WARNING) {
+ fprintf(stderr, "Warning, U_USING_DEFAULT_WARNING for %s\n",
+ opt_locale);
+ }
+ if (status == U_USING_FALLBACK_WARNING) {
+ fprintf(stderr, "Warning, U_USING_FALLBACK_ERROR for %s\n",
+ opt_locale);
+ }
+ if (opt_norm) {
+ ucol_setAttribute(collator, UCOL_NORMALIZATION_MODE, UCOL_ON, &status);
+ }
+ if (opt_french) {
+ ucol_setAttribute(collator, UCOL_FRENCH_COLLATION, UCOL_ON, &status);
+ }
+ if (opt_lower) {
+ ucol_setAttribute(collator, UCOL_CASE_FIRST, UCOL_LOWER_FIRST,
+ &status);
+ }
+ if (opt_upper) {
+ ucol_setAttribute(collator, UCOL_CASE_FIRST, UCOL_UPPER_FIRST,
+ &status);
+ }
+ if (opt_case) {
+ ucol_setAttribute(collator, UCOL_CASE_LEVEL, UCOL_ON, &status);
+ }
+ if (opt_shifted) {
+ ucol_setAttribute(collator, UCOL_ALTERNATE_HANDLING, UCOL_SHIFTED,
+ &status);
+ }
+ if (opt_level != 0) {
+ switch (opt_level) {
+ case 1:
+ ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_PRIMARY, &status);
+ break;
+ case 2:
+ ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_SECONDARY,
+ &status);
+ break;
+ case 3:
+ ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_TERTIARY, &status);
+ break;
+ case 4:
+ ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_QUATERNARY,
+ &status);
+ break;
+ case 5:
+ ucol_setAttribute(collator, UCOL_STRENGTH, UCOL_IDENTICAL,
+ &status);
+ break;
+ default:
+ fprintf(stderr, "-level param must be between 1 and 5\n");
+ return FALSE;
+ }
+ }
+ if (U_FAILURE(status)) {
+ fprintf(stderr, "Collator attribute setting failed.: %d\n", status);
+ return FALSE;
+ }
+ return TRUE;
+}
+
+/**
+ * Main -- process command line, read in and pre-process the test file,
+ * call other functions to do the actual tests.
+ */
+int main(int argc, const char** argv)
+{
+ if (processOptions(argc, argv, opts) != TRUE || opt_help) {
+ printf(gHelpString);
+ return -1;
+ }
+
+ if (processCollator() != TRUE) {
+ fprintf(stderr, "Error creating collator for comparison\n");
+ return -1;
+ }
+
+ fprintf(stdout, "Comparing source=%s and target=%s\n", opt_source,
+ opt_target);
+ int result = strcmp();
+ if (result == 0) {
+ fprintf(stdout, "source is equals to target\n");
+ }
+ else if (result < 0) {
+ fprintf(stdout, "source is less than target\n");
+ }
+ else {
+ fprintf(stdout, "source is greater than target\n");
+ }
+
+ ucol_close(collator);
+ return 0;
+}
diff --git a/Build/source/libs/icu/icu-50.1/samples/coll/coll.sln b/Build/source/libs/icu/icu-50.1/samples/coll/coll.sln
new file mode 100644
index 00000000000..3f6757af40d
--- /dev/null
+++ b/Build/source/libs/icu/icu-50.1/samples/coll/coll.sln
@@ -0,0 +1,25 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "coll", "coll.vcxproj", "{7664D0D2-0263-4BFB-AE19-9A1CAD231440}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|Win32.Build.0 = Debug|Win32
+ {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x64.ActiveCfg = Debug|Win32
+ {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Debug|x64.Build.0 = Debug|Win32
+ {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|Win32.ActiveCfg = Release|Win32
+ {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|Win32.Build.0 = Release|Win32
+ {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x64.ActiveCfg = Release|Win32
+ {7664D0D2-0263-4BFB-AE19-9A1CAD231440}.Release|x64.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Build/source/libs/icu/icu-50.1/samples/coll/coll.vcxproj b/Build/source/libs/icu/icu-50.1/samples/coll/coll.vcxproj
new file mode 100644
index 00000000000..450d8dd299c
--- /dev/null
+++ b/Build/source/libs/icu/icu-50.1/samples/coll/coll.vcxproj
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{7664D0D2-0263-4BFB-AE19-9A1CAD231440}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\x86\Release\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\x64\Release\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\x86\Debug\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\x64\Debug\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Midl>
+ <TypeLibraryName>.\x86\Release/coll.tlb</TypeLibraryName>
+ </Midl>
+ <ClCompile>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\x86\Release/coll.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\x86\Release/</AssemblerListingLocation>
+ <ObjectFileName>.\x86\Release/</ObjectFileName>
+ <ProgramDataBaseFileName>.\x86\Release/</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\x86\Release/coll.exe</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>.\x86\Release/coll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ <TypeLibraryName>.\x64\Release/coll.tlb</TypeLibraryName>
+ </Midl>
+ <ClCompile>
+ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+ <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN64;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\x64\Release/coll.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\x64\Release/</AssemblerListingLocation>
+ <ObjectFileName>.\x64\Release/</ObjectFileName>
+ <ProgramDataBaseFileName>.\x64\Release/</ProgramDataBaseFileName>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\x64\Release/coll.exe</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>.\x64\Release/coll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Midl>
+ <TypeLibraryName>.\x86\Debug/coll.tlb</TypeLibraryName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\x86\Debug/coll.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\x86\Debug/</AssemblerListingLocation>
+ <ObjectFileName>.\x86\Debug/</ObjectFileName>
+ <ProgramDataBaseFileName>.\x86\Debug/</ProgramDataBaseFileName>
+ <BrowseInformation>true</BrowseInformation>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\x86\Debug/coll.exe</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>.\x86\Debug/coll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ <TypeLibraryName>.\x64\Debug/coll.tlb</TypeLibraryName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>.\x64\Debug/coll.pch</PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\x64\Debug/</AssemblerListingLocation>
+ <ObjectFileName>.\x64\Debug/</ObjectFileName>
+ <ProgramDataBaseFileName>.\x64\Debug/</ProgramDataBaseFileName>
+ <BrowseInformation>true</BrowseInformation>
+ <WarningLevel>Level3</WarningLevel>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <CompileAs>Default</CompileAs>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0409</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>icuind.lib;icuucd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>.\x64\Debug/coll.exe</OutputFile>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>.\x64\Debug/coll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="coll.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/Build/source/libs/icu/icu-50.1/samples/coll/coll.vcxproj.filters b/Build/source/libs/icu/icu-50.1/samples/coll/coll.vcxproj.filters
new file mode 100644
index 00000000000..a80d216ceb4
--- /dev/null
+++ b/Build/source/libs/icu/icu-50.1/samples/coll/coll.vcxproj.filters
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{cf7099c6-0d28-448a-bc7c-2e6dbaff530f}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{a5fd1af4-2570-4018-a6cf-c4e8b05cb316}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{719754c2-1947-46e6-9154-ba81ca673139}</UniqueIdentifier>
+ <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="coll.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/Build/source/libs/icu/icu-50.1/samples/coll/readme.txt b/Build/source/libs/icu/icu-50.1/samples/coll/readme.txt
new file mode 100644
index 00000000000..b5aa4acf5f4
--- /dev/null
+++ b/Build/source/libs/icu/icu-50.1/samples/coll/readme.txt
@@ -0,0 +1,55 @@
+Copyright (c) 2002-2005, International Business Machines Corporation and others. All Rights Reserved.
+coll: a sample program which compares 2 strings with a user-defined collator.
+
+This sample demonstrates
+ Creating a user-defined collator
+ Comparing 2 string using the collator created
+
+Files:
+ coll.c Main source file
+ coll.sln Windows MSVC workspace. Double-click this to get started.
+ coll.vcproj Windows MSVC project file
+
+To Build coll on Windows
+ 1. Install and build ICU
+ 2. In MSVC, open the workspace file icu\samples\coll\coll.sln
+ 3. Choose a Debug or Release build.
+ 4. Build.
+
+To Run on Windows
+ 1. Start a command shell window
+ 2. Add ICU's bin directory to the path, e.g.
+ set PATH=c:\icu\bin;%PATH%
+ (Use the path to where ever ICU is on your system.)
+ 3. cd into the coll directory, e.g.
+ cd c:\icu\source\samples\coll\debug
+ 4. Run it
+ coll [options*] -source source_string -target target_string
+
+To Build on Unixes
+ 1. Build ICU. coll is built automatically by default unless samples are turned off.
+ Specify an ICU install directory when running configure,
+ using the --prefix option. The steps to build ICU will look something
+ like this:
+ cd <icu directory>/source
+ runConfigureICU <platform-name> --prefix <icu install directory> [other options]
+ gmake all
+
+ 2. Install ICU,
+ gmake install
+
+ To Run on Unixes
+ cd <icu directory>/source/samples/coll
+
+ gmake check
+ -or-
+
+ export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
+ cal
+
+
+ Note: The name of the LD_LIBRARY_PATH variable is different on some systems.
+ If in doubt, run the sample using "gmake check", and note the name of
+ the variable that is used there. LD_LIBRARY_PATH is the correct name
+ for Linux and Solaris.
+