Convert C/C++ to C# and add full Unicode support to a text comparison application
$100-400 USD
Igangværende
Slået op cirka 16 år siden
$100-400 USD
Betales ved levering
Convert a set of C/C++ functions into C# classes in a well designed Object Orientated structure with code re-use, adding full unicode support to compare and test? english, arabic and portugese and any work with any other language scripts.
We currently have a set of C functions that compare two scripts and perform scoring and an error log that displays the results. It compares the scripts character by character. It currently only supports Ascii. It needs to support all languages using unicode.
Class Library
C#
.Net 2.0
Visual Studio 2005
C# classes in a well designed Object Orientated structure
code re-use
**Full Unicode support** across any language (The Unicode Standard at [[login to view URL]][1])
Use? - **[login to view URL]**, **GetTextElementEnumerator**,? **ParseCombiningCharacters** from the .Net 2.0 framework
Fully support comparing each individual character as outlined below:
**The .NET Framework defines a text element as a unit of text that is displayed as a single character; that is, a grapheme. A text element can be a base character, a surrogate pair, or a combining character sequence. The Unicode Standard defines a surrogate pair as a coded character representation for a single abstract character that consists of a sequence of two code units, where the first unit of the pair is a high-surrogate and the second is a low-surrogate. The Unicode Standard defines a combining character sequence as a combination of a base character and one or more combining characters. A surrogate pair can represent a base character or a combining character.**
The final class library will need to produce exactly the same results for english scripts as it currently does. This will need to be tested throughly using the existing (compiled) library which is a build of the C source code.
We will provide scripts:
**English
Arabic
Portugese**
## Deliverables
The new class library will need to produce all output as unicode strings. The results for the english comparison must match exactly when the same script is entered into the existing C program and the new C# application.
A test application must be produced to demonstrate it's usage.
The current code design
-----------------------
The current C++ code compares the entered text against a script and provides two logs of analysis. (see output)
The current design makes a distinction between puntuation and alpha numeric characters. It divides the texts into words and punctuation. It then compares each word allowing for errors. A whole sentence could be added or taken away and the comaprison will still be able to recover and find the point where the text was accurate once more.
Cleaner Code - Object based
------------
One of the problems with the current C/C++ code is that it is difficult to read. Their are many boolean and integer flags which make reading the code very difficult. We need this simplified in the new C# library with a clearer use of logic and objects. Comments are absolutely necessary to ensure a clear understanding of each branch of logic.
Testing
-------
We need an easy way to test a script against some text that is entered. We made a start on a test application written in C# to allow us to perform this exact test. We have supplied the code for this test harness and would like you to continue using it and extending it so that we can test the new code using this tool
We are currently using the comparison C++ code library from a C# application via .Net interop. We will supply you with this code and the compiled library. You must ensure that the new C# library produces the same results as the existing library for all english scripts. Both the english and other languages must use the the same methods with no specific branches for specific languages unless agreed upon first. Please ensure you test a few variations of the english script against both the new code and the old to confirm consistent results before passing us any libraries to test with. Please provide detailed steps of how to test. Please use the test harness program that you will modify to test.
The first thing we will do upon receiving a library from you is test the old C++ library against the new C# library for the english script. Please perform these tests yourself before passing this to us to save wasting lots of time.
Input
------
1: Source script (string)
2: Entered Text (string)
3: Flags that may be necessary for different languages ?)
We will provide you scripts:
English
Arabic
Portugese
Output
--------
1: Log of errors, highlighting incorrect characters, incorrect words and incorrect puntuation.
You need to provide all the functionality of the C++ code.
The C# code will produce an object which contains all this information with the ability to convert it into a string which produces the same as the C++ code.
2: Results Log
Totals
You need to provide all the functionality of the C++ code.
The C# code will produce an object which contains all this information with the ability to convert it into a string which produces the same as the C++ code.
Questions
---------
The English script uses the '~' character to indicate new line characters. Is this a valid assumption for other languages? What are the alternatives?
* * *This broadcast message was sent to all bidders on Thursday Mar 27, 2008 5:53:07 AM:
I have added some more detail to the projects requirements and uploaded some scripts. Please review the details and Ensure you fully understand what is required. Kind Regards Assembly