summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu-xetex/samples/ucnv
diff options
context:
space:
mode:
authorJonathan Kew <jfkthame@googlemail.com>2008-03-04 13:21:23 +0000
committerJonathan Kew <jfkthame@googlemail.com>2008-03-04 13:21:23 +0000
commitf483a5de9331a257f597282e611ecfb63f5ab118 (patch)
tree756baa5a727dd0438448eb380bb6ca81fb41d534 /Build/source/libs/icu-xetex/samples/ucnv
parente2603863b071e717675b6a69e97c45a42e55bf2c (diff)
remove old icu version
git-svn-id: svn://tug.org/texlive/trunk@6841 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/icu-xetex/samples/ucnv')
-rw-r--r--Build/source/libs/icu-xetex/samples/ucnv/Makefile23
-rw-r--r--Build/source/libs/icu-xetex/samples/ucnv/convsamp.cpp1102
-rw-r--r--Build/source/libs/icu-xetex/samples/ucnv/data01.txt15
-rw-r--r--Build/source/libs/icu-xetex/samples/ucnv/data02.bin1
-rw-r--r--Build/source/libs/icu-xetex/samples/ucnv/data06.txt90
-rw-r--r--Build/source/libs/icu-xetex/samples/ucnv/flagcb.c289
-rw-r--r--Build/source/libs/icu-xetex/samples/ucnv/flagcb.h60
-rw-r--r--Build/source/libs/icu-xetex/samples/ucnv/readme.txt65
-rw-r--r--Build/source/libs/icu-xetex/samples/ucnv/ucnv.sln21
-rw-r--r--Build/source/libs/icu-xetex/samples/ucnv/ucnv.vcproj164
10 files changed, 0 insertions, 1830 deletions
diff --git a/Build/source/libs/icu-xetex/samples/ucnv/Makefile b/Build/source/libs/icu-xetex/samples/ucnv/Makefile
deleted file mode 100644
index 77536b9946b..00000000000
--- a/Build/source/libs/icu-xetex/samples/ucnv/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# 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
-
-# Name of your target
-TARGET=convsamp
-
-# All object files (C or C++)
-OBJECTS=convsamp.o flagcb.o
-
-# Load in standard makefile definitions
-include ../defs.mk
-
-# extra files to clean up
-CLEANFILES += *.out data40.utf16 data41.utf16
-
-# the actual rules (this is a simple sample)
-include ../rules.mk
diff --git a/Build/source/libs/icu-xetex/samples/ucnv/convsamp.cpp b/Build/source/libs/icu-xetex/samples/ucnv/convsamp.cpp
deleted file mode 100644
index 70b43b6512b..00000000000
--- a/Build/source/libs/icu-xetex/samples/ucnv/convsamp.cpp
+++ /dev/null
@@ -1,1102 +0,0 @@
-/**************************************************************************
-*
-* Copyright (C) 2000-2003, International Business Machines
-* Corporation and others. All Rights Reserved.
-*
-***************************************************************************
-* file name: convsamp.c
-* encoding: ASCII (7-bit)
-*
-* created on: 2000may30
-* created by: Steven R. Loomis
-*
-* Sample code for the ICU conversion routines.
-*
-* Note: Nothing special is needed to build this sample. Link with
-* the icu UC and icu I18N libraries.
-*
-* I use 'assert' for error checking, you probably will want
-* something more flexible. '***BEGIN SAMPLE***' and
-* '***END SAMPLE***' mark pieces suitable for stand alone
-* code snippets.
-*
-*
-* Each test can define it's own BUFFERSIZE
-*
-*/
-
-#define DEBUG_TMI 0 /* define to 1 to enable Too Much Information */
-
-#include <stdio.h>
-#include <ctype.h> /* for isspace, etc. */
-#include <assert.h>
-#include <string.h>
-#include <stdlib.h> /* malloc */
-
-#include "unicode/utypes.h" /* Basic ICU data types */
-#include "unicode/ucnv.h" /* C Converter API */
-#include "unicode/ustring.h" /* some more string fcns*/
-#include "unicode/uchar.h" /* char names */
-#include "unicode/uloc.h"
-#include "unicode/unistr.h"
-
-#include "flagcb.h"
-
-/* Some utility functions */
-
-static const UChar kNone[] = { 0x0000 };
-
-#define U_ASSERT(x) { if(U_FAILURE(x)) {fflush(stdout);fflush(stderr); fprintf(stderr, #x " == %s\n", u_errorName(x)); assert(U_SUCCESS(x)); }}
-
-/* Print a UChar if possible, in seven characters. */
-void prettyPrintUChar(UChar c)
-{
- if( (c <= 0x007F) &&
- (isgraph(c)) ) {
- printf(" '%c' ", (char)(0x00FF&c));
- } else if ( c > 0x007F ) {
- char buf[1000];
- UErrorCode status = U_ZERO_ERROR;
- int32_t o;
-
- o = u_charName(c, U_UNICODE_CHAR_NAME, buf, 1000, &status);
- if(U_SUCCESS(status) && (o>0) ) {
- buf[6] = 0;
- printf("%7s", buf);
- } else {
- o = u_charName(c, U_UNICODE_10_CHAR_NAME, buf, 1000, &status);
- if(U_SUCCESS(status) && (o>0)) {
- buf[5] = 0;
- printf("~%6s", buf);
- }
- else {
- printf(" ??????");
- }
- }
- } else {
- switch((char)(c & 0x007F)) {
- case ' ':
- printf(" ' ' ");
- break;
- case '\t':
- printf(" \\t ");
- break;
- case '\n':
- printf(" \\n ");
- break;
- default:
- printf(" _ ");
- break;
- }
- }
-}
-
-
-void printUChars(const char *name = "?",
- const UChar *uch = kNone,
- int32_t len = -1 )
-{
- int32_t i;
-
- if( (len == -1) && (uch) ) {
- len = u_strlen(uch);
- }
-
- printf("%5s: ", name);
- for( i = 0; i <len; i++) {
- printf("%-6d ", i);
- }
- printf("\n");
-
- printf("%5s: ", "uni");
- for( i = 0; i <len; i++) {
- printf("\\u%04X ", (int)uch[i]);
- }
- printf("\n");
-
- printf("%5s:", "ch");
- for( i = 0; i <len; i++) {
- prettyPrintUChar(uch[i]);
- }
- printf("\n");
-}
-
-void printBytes(const char *name = "?",
- const char *uch = "",
- int32_t len = -1 )
-{
- int32_t i;
-
- if( (len == -1) && (uch) ) {
- len = strlen(uch);
- }
-
- printf("%5s: ", name);
- for( i = 0; i <len; i++) {
- printf("%-4d ", i);
- }
- printf("\n");
-
- printf("%5s: ", "uni");
- for( i = 0; i <len; i++) {
- printf("\\x%02X ", 0x00FF & (int)uch[i]);
- }
- printf("\n");
-
- printf("%5s:", "ch");
- for( i = 0; i <len; i++) {
- if(isgraph(0x00FF & (int)uch[i])) {
- printf(" '%c' ", (char)uch[i]);
- } else {
- printf(" ");
- }
- }
- printf("\n");
-}
-
-void printUChar(UChar32 ch32)
-{
- if(ch32 > 0xFFFF) {
- printf("ch: U+%06X\n", ch32);
- }
- else {
- UChar ch = (UChar)ch32;
- printUChars("C", &ch, 1);
- }
-}
-
-/*******************************************************************
- Very simple C sample to convert the word 'Moscow' in Russian in Unicode,
- followed by an exclamation mark (!) into the KOI8-R Russian code page.
-
- This example first creates a UChar String out of the Unicode chars.
-
- targetSize must be set to the amount of space available in the target
- buffer. After fromUChars is called,
- len will contain the number of bytes in target[] which were
- used in the resulting codepage. In this case, there is a 1:1 mapping
- between the input and output characters. The exclamation mark has the
- same value in both KOI8-R and Unicode.
-
- src: 0 1 2 3 4 5 6
- uni: \u041C \u043E \u0441 \u043A \u0432 \u0430 \u0021
- ch: CYRILL CYRILL CYRILL CYRILL CYRILL CYRILL '!'
-
- targ: 0 1 2 3 4 5 6
- uni: \xED \xCF \xD3 \xCB \xD7 \xC1 \x21
- ch: '!'
-
-
-Converting FROM unicode
- to koi8-r.
- You must call ucnv_close to clean up the memory used by the
- converter.
-
- 'len' returns the number of OUTPUT bytes resulting from the
- conversion.
- */
-
-UErrorCode convsample_02()
-{
- printf("\n\n==============================================\n"
- "Sample 02: C: simple Unicode -> koi8-r conversion\n");
-
-
- // **************************** START SAMPLE *******************
- // "cat<cat>OK"
- UChar source[] = { 0x041C, 0x043E, 0x0441, 0x043A, 0x0432,
- 0x0430, 0x0021, 0x0000 };
- char target[100];
- UErrorCode status = U_ZERO_ERROR;
- UConverter *conv;
- int32_t len;
-
- // set up the converter
- conv = ucnv_open("koi8-r", &status);
- assert(U_SUCCESS(status));
-
- // convert to koi8-r
- len = ucnv_fromUChars(conv, target, 100, source, -1, &status);
- assert(U_SUCCESS(status));
-
- // close the converter
- ucnv_close(conv);
-
- // ***************************** END SAMPLE ********************
-
- // Print it out
- printUChars("src", source);
- printf("\n");
- printBytes("targ", target, len);
-
- return U_ZERO_ERROR;
-}
-
-
-UErrorCode convsample_03()
-{
- printf("\n\n==============================================\n"
- "Sample 03: C: print out all converters\n");
-
- int32_t count;
- int32_t i;
-
- // **************************** START SAMPLE *******************
- count = ucnv_countAvailable();
- printf("Available converters: %d\n", count);
-
- for(i=0;i<count;i++)
- {
- printf("%s ", ucnv_getAvailableName(i));
- }
-
- // ***************************** END SAMPLE ********************
-
- printf("\n");
-
- return U_ZERO_ERROR;
-}
-
-
-
-#define BUFFERSIZE 17 /* make it interesting :) */
-
-/*
- Converting from a codepage to Unicode in bulk..
- What is the best way to determine the buffer size?
-
- The 'buffersize' is in bytes of input.
- For a given converter, divinding this by the minimum char size
- give you the maximum number of Unicode characters that could be
- expected for a given number of input bytes.
- see: ucnv_getMinCharSize()
-
- For example, a single byte codepage like 'Latin-3' has a
- minimum char size of 1. (It takes at least 1 byte to represent
- each Unicode char.) So the unicode buffer has the same number of
- UChars as the input buffer has bytes.
-
- In a strictly double byte codepage such as cp1362 (Windows
- Korean), the minimum char size is 2. So, only half as many Unicode
- chars as bytes are needed.
-
- This work to calculate the buffer size is an optimization. Any
- size of input and output buffer can be used, as long as the
- program handles the following cases: If the input buffer is empty,
- the source pointer will be equal to sourceLimit. If the output
- buffer has overflowed, U_BUFFER_OVERFLOW_ERROR will be returned.
- */
-
-UErrorCode convsample_05()
-{
- printf("\n\n==============================================\n"
- "Sample 05: C: count the number of letters in a UTF-8 document\n");
-
- FILE *f;
- int32_t count;
- char inBuf[BUFFERSIZE];
- const char *source;
- const char *sourceLimit;
- UChar *uBuf;
- UChar *target;
- UChar *targetLimit;
- UChar *p;
- int32_t uBufSize = 0;
- UConverter *conv;
- UErrorCode status = U_ZERO_ERROR;
- uint32_t letters=0, total=0;
-
- f = fopen("data01.txt", "r");
- if(!f)
- {
- fprintf(stderr, "Couldn't open file 'data01.txt' (UTF-8 data file).\n");
- return U_FILE_ACCESS_ERROR;
- }
-
- // **************************** START SAMPLE *******************
- conv = ucnv_open("utf-8", &status);
- assert(U_SUCCESS(status));
-
- uBufSize = (BUFFERSIZE/ucnv_getMinCharSize(conv));
- printf("input bytes %d / min chars %d = %d UChars\n",
- BUFFERSIZE, ucnv_getMinCharSize(conv), uBufSize);
- uBuf = (UChar*)malloc(uBufSize * sizeof(UChar));
- assert(uBuf!=NULL);
-
- // grab another buffer's worth
- while((!feof(f)) &&
- ((count=fread(inBuf, 1, BUFFERSIZE , f)) > 0) )
- {
- // Convert bytes to unicode
- source = inBuf;
- sourceLimit = inBuf + count;
-
- do
- {
- target = uBuf;
- targetLimit = uBuf + uBufSize;
-
- ucnv_toUnicode(conv, &target, targetLimit,
- &source, sourceLimit, NULL,
- feof(f)?TRUE:FALSE, /* pass 'flush' when eof */
- /* is true (when no more data will come) */
- &status);
-
- if(status == U_BUFFER_OVERFLOW_ERROR)
- {
- // simply ran out of space - we'll reset the target ptr the next
- // time through the loop.
- status = U_ZERO_ERROR;
- }
- else
- {
- // Check other errors here.
- assert(U_SUCCESS(status));
- // Break out of the loop (by force)
- }
-
- // Process the Unicode
- // Todo: handle UTF-16/surrogates
-
- for(p = uBuf; p<target; p++)
- {
- if(u_isalpha(*p))
- letters++;
- total++;
- }
- } while (source < sourceLimit); // while simply out of space
- }
-
- printf("%d letters out of %d total UChars.\n", letters, total);
-
- // ***************************** END SAMPLE ********************
- ucnv_close(conv);
-
- printf("\n");
-
- return U_ZERO_ERROR;
-}
-#undef BUFFERSIZE
-
-#define BUFFERSIZE 1024
-typedef struct
-{
- UChar32 codepoint;
- uint32_t frequency;
-} CharFreqInfo;
-
-UErrorCode convsample_06()
-{
- printf("\n\n==============================================\n"
- "Sample 06: C: frequency distribution of letters in a UTF-8 document\n");
-
- FILE *f;
- int32_t count;
- char inBuf[BUFFERSIZE];
- const char *source;
- const char *sourceLimit;
- UChar *uBuf;
- int32_t uBufSize = 0;
- UConverter *conv;
- UErrorCode status = U_ZERO_ERROR;
- uint32_t letters=0, total=0;
-
- CharFreqInfo *info;
- UChar32 charCount = 0x10000; /* increase this if you want to handle non bmp.. todo: automatically bump it.. */
- UChar32 p;
-
- uint32_t ie = 0;
- uint32_t gh = 0;
- UChar32 l = 0;
-
- f = fopen("data06.txt", "r");
- if(!f)
- {
- fprintf(stderr, "Couldn't open file 'data06.txt' (UTF-8 data file).\n");
- return U_FILE_ACCESS_ERROR;
- }
-
- info = (CharFreqInfo*)malloc(sizeof(CharFreqInfo) * charCount);
- if(!info)
- {
- fprintf(stderr, " Couldn't allocate %d bytes for freq counter\n", sizeof(CharFreqInfo)*charCount);
- }
-
- /* reset frequencies */
- for(p=0;p<charCount;p++)
- {
- info[p].codepoint = p;
- info[p].frequency = 0;
- }
-
- // **************************** START SAMPLE *******************
- conv = ucnv_open("utf-8", &status);
- assert(U_SUCCESS(status));
-
- uBufSize = (BUFFERSIZE/ucnv_getMinCharSize(conv));
- printf("input bytes %d / min chars %d = %d UChars\n",
- BUFFERSIZE, ucnv_getMinCharSize(conv), uBufSize);
- uBuf = (UChar*)malloc(uBufSize * sizeof(UChar));
- assert(uBuf!=NULL);
-
- // grab another buffer's worth
- while((!feof(f)) &&
- ((count=fread(inBuf, 1, BUFFERSIZE , f)) > 0) )
- {
- // Convert bytes to unicode
- source = inBuf;
- sourceLimit = inBuf + count;
-
- while(source < sourceLimit)
- {
- p = ucnv_getNextUChar(conv, &source, sourceLimit, &status);
- if(U_FAILURE(status))
- {
- fprintf(stderr, "%s @ %d\n", u_errorName(status), total);
- status = U_ZERO_ERROR;
- continue;
- }
- U_ASSERT(status);
- total++;
-
- if(u_isalpha(p))
- letters++;
-
- if((u_tolower(l) == 'i') && (u_tolower(p) == 'e'))
- ie++;
-
- if((u_tolower(l) == 'g') && (u_tolower(p) == 0x0127))
- gh++;
-
- if(p>charCount)
- {
- fprintf(stderr, "U+%06X: oh.., we only handle BMP characters so far.. redesign!\n", p);
- return U_UNSUPPORTED_ERROR;
- }
- info[p].frequency++;
- l = p;
- }
- }
-
- fclose(f);
- ucnv_close(conv);
-
- printf("%d letters out of %d total UChars.\n", letters, total);
- printf("%d ie digraphs, %d gh digraphs.\n", ie, gh);
-
- // now, we could sort it..
-
- // qsort(info, charCount, sizeof(info[0]), charfreq_compare);
-
- for(p=0;p<charCount;p++)
- {
- if(info[p].frequency)
- {
- printf("% 5d U+%06X ", info[p].frequency, p);
- if(p <= 0xFFFF)
- {
- prettyPrintUChar((UChar)p);
- }
- printf("\n");
- }
- }
- free(info);
- // ***************************** END SAMPLE ********************
-
- printf("\n");
-
- return U_ZERO_ERROR;
-}
-#undef BUFFERSIZE
-
-
-/******************************************************
- You must call ucnv_close to clean up the memory used by the
- converter.
-
- 'len' returns the number of OUTPUT bytes resulting from the
- conversion.
- */
-
-UErrorCode convsample_12()
-{
- printf("\n\n==============================================\n"
- "Sample 12: C: simple sjis -> unicode conversion\n");
-
-
- // **************************** START SAMPLE *******************
-
- char source[] = { 0x63, 0x61, 0x74, (char)0x94, 0x4C, (char)0x82, 0x6E, (char)0x82, 0x6A, 0x00 };
- UChar target[100];
- UErrorCode status = U_ZERO_ERROR;
- UConverter *conv;
- int32_t len;
-
- // set up the converter
- conv = ucnv_open("shift_jis", &status);
- assert(U_SUCCESS(status));
-
- // convert to Unicode
- // Note: we can use strlen, we know it's an 8 bit null terminated codepage
- target[6] = 0xFDCA;
- len = ucnv_toUChars(conv, target, 100, source, strlen(source), &status);
- U_ASSERT(status);
- // close the converter
- ucnv_close(conv);
-
- // ***************************** END SAMPLE ********************
-
- // Print it out
- printBytes("src", source, strlen(source) );
- printf("\n");
- printUChars("targ", target, len);
-
- return U_ZERO_ERROR;
-}
-
-/******************************************************************
- C: Convert from codepage to Unicode one at a time.
-*/
-
-UErrorCode convsample_13()
-{
- printf("\n\n==============================================\n"
- "Sample 13: C: simple Big5 -> unicode conversion, char at a time\n");
-
-
- const char sourceChars[] = { 0x7a, 0x68, 0x3d, (char)0xa4, (char)0xa4, (char)0xa4, (char)0xe5, (char)0x2e };
- // const char sourceChars[] = { 0x7a, 0x68, 0x3d, 0xe4, 0xb8, 0xad, 0xe6, 0x96, 0x87, 0x2e };
- const char *source, *sourceLimit;
- UChar32 target;
- UErrorCode status = U_ZERO_ERROR;
- UConverter *conv = NULL;
- int32_t srcCount=0;
- int32_t dstCount=0;
-
- srcCount = sizeof(sourceChars);
-
- conv = ucnv_open("Big5", &status);
- U_ASSERT(status);
-
- source = sourceChars;
- sourceLimit = sourceChars + sizeof(sourceChars);
-
- // **************************** START SAMPLE *******************
-
-
- printBytes("src",source,sourceLimit-source);
-
- while(source < sourceLimit)
- {
- puts("");
- target = ucnv_getNextUChar (conv,
- &source,
- sourceLimit,
- &status);
-
- // printBytes("src",source,sourceLimit-source);
- U_ASSERT(status);
- printUChar(target);
- dstCount++;
- }
-
-
- // ************************** END SAMPLE *************************
-
- printf("src=%d bytes, dst=%d uchars\n", srcCount, dstCount);
- ucnv_close(conv);
-
- return U_ZERO_ERROR;
-}
-
-
-
-
-UBool convsample_20_didSubstitute(const char *source)
-{
- UChar uchars[100];
- char bytes[100];
- UConverter *conv = NULL;
- UErrorCode status = U_ZERO_ERROR;
- uint32_t len, len2;
- UBool flagVal;
-
- FromUFLAGContext * context = NULL;
-
- printf("\n\n==============================================\n"
- "Sample 20: C: Test for substitution using callbacks\n");
-
- /* print out the original source */
- printBytes("src", source);
- printf("\n");
-
- /* First, convert from UTF8 to unicode */
- conv = ucnv_open("utf-8", &status);
- U_ASSERT(status);
-
- len = ucnv_toUChars(conv, uchars, 100, source, strlen(source), &status);
- U_ASSERT(status);
-
- printUChars("uch", uchars, len);
- printf("\n");
-
- /* Now, close the converter */
- ucnv_close(conv);
-
- /* Now, convert to windows-1252 */
- conv = ucnv_open("windows-1252", &status);
- U_ASSERT(status);
-
- /* Converter starts out with the SUBSTITUTE callback set. */
-
- /* initialize our callback */
- context = flagCB_fromU_openContext();
-
- /* Set our special callback */
- ucnv_setFromUCallBack(conv,
- flagCB_fromU,
- context,
- &(context->subCallback),
- &(context->subContext),
- &status);
-
- U_ASSERT(status);
-
- len2 = ucnv_fromUChars(conv, bytes, 100, uchars, len, &status);
- U_ASSERT(status);
-
- flagVal = context->flag; /* it's about to go away when we close the cnv */
-
- ucnv_close(conv);
-
- /* print out the original source */
- printBytes("bytes", bytes, len2);
-
- return flagVal; /* true if callback was called */
-}
-
-UErrorCode convsample_20()
-{
- const char *sample1 = "abc\xdf\xbf";
- const char *sample2 = "abc_def";
-
-
- if(convsample_20_didSubstitute(sample1))
- {
- printf("DID substitute.\n******\n");
- }
- else
- {
- printf("Did NOT substitute.\n*****\n");
- }
-
- if(convsample_20_didSubstitute(sample2))
- {
- printf("DID substitute.\n******\n");
- }
- else
- {
- printf("Did NOT substitute.\n*****\n");
- }
-
- return U_ZERO_ERROR;
-}
-
-// 21 - C, callback, with clone and debug
-
-
-
-UBool convsample_21_didSubstitute(const char *source)
-{
- UChar uchars[100];
- char bytes[100];
- UConverter *conv = NULL, *cloneCnv = NULL;
- UErrorCode status = U_ZERO_ERROR;
- uint32_t len, len2;
- int32_t cloneLen;
- UBool flagVal = FALSE;
- UConverterFromUCallback junkCB;
-
- FromUFLAGContext *flagCtx = NULL,
- *cloneFlagCtx = NULL;
-
- debugCBContext *debugCtx1 = NULL,
- *debugCtx2 = NULL,
- *cloneDebugCtx = NULL;
-
- printf("\n\n==============================================\n"
- "Sample 21: C: Test for substitution w/ callbacks & clones \n");
-
- /* print out the original source */
- printBytes("src", source);
- printf("\n");
-
- /* First, convert from UTF8 to unicode */
- conv = ucnv_open("utf-8", &status);
- U_ASSERT(status);
-
- len = ucnv_toUChars(conv, uchars, 100, source, strlen(source), &status);
- U_ASSERT(status);
-
- printUChars("uch", uchars, len);
- printf("\n");
-
- /* Now, close the converter */
- ucnv_close(conv);
-
- /* Now, convert to windows-1252 */
- conv = ucnv_open("windows-1252", &status);
- U_ASSERT(status);
-
- /* Converter starts out with the SUBSTITUTE callback set. */
-
- /* initialize our callback */
- /* from the 'bottom' innermost, out
- * CNV -> debugCtx1[debug] -> flagCtx[flag] -> debugCtx2[debug] */
-
-#if DEBUG_TMI
- printf("flagCB_fromU = %p\n", &flagCB_fromU);
- printf("debugCB_fromU = %p\n", &debugCB_fromU);
-#endif
-
- debugCtx1 = debugCB_openContext();
- flagCtx = flagCB_fromU_openContext();
- debugCtx2 = debugCB_openContext();
-
- debugCtx1->subCallback = flagCB_fromU; /* debug1 -> flag */
- debugCtx1->subContext = flagCtx;
-
- flagCtx->subCallback = debugCB_fromU; /* flag -> debug2 */
- flagCtx->subContext = debugCtx2;
-
- debugCtx2->subCallback = UCNV_FROM_U_CALLBACK_SUBSTITUTE;
- debugCtx2->subContext = NULL;
-
- /* Set our special callback */
-
- ucnv_setFromUCallBack(conv,
- debugCB_fromU,
- debugCtx1,
- &(debugCtx2->subCallback),
- &(debugCtx2->subContext),
- &status);
-
- U_ASSERT(status);
-
-#if DEBUG_TMI
- printf("Callback chain now: Converter %p -> debug1:%p-> (%p:%p)==flag:%p -> debug2:%p -> cb %p\n",
- conv, debugCtx1, debugCtx1->subCallback,
- debugCtx1->subContext, flagCtx, debugCtx2, debugCtx2->subCallback);
-#endif
-
- cloneLen = 1; /* but passing in null so it will clone */
- cloneCnv = ucnv_safeClone(conv, NULL, &cloneLen, &status);
-
- U_ASSERT(status);
-
-#if DEBUG_TMI
- printf("Cloned converter from %p -> %p. Closing %p.\n", conv, cloneCnv, conv);
-#endif
-
- ucnv_close(conv);
-
-#if DEBUG_TMI
- printf("%p closed.\n", conv);
-#endif
-
- U_ASSERT(status);
- /* Now, we have to extract the context */
- cloneDebugCtx = NULL;
- cloneFlagCtx = NULL;
-
- ucnv_getFromUCallBack(cloneCnv, &junkCB, (const void **)&cloneDebugCtx);
- if(cloneDebugCtx != NULL) {
- cloneFlagCtx = (FromUFLAGContext*) cloneDebugCtx -> subContext;
- }
-
- printf("Cloned converter chain: %p -> %p[debug1] -> %p[flag] -> %p[debug2] -> substitute\n",
- cloneCnv, cloneDebugCtx, cloneFlagCtx, cloneFlagCtx?cloneFlagCtx->subContext:NULL );
-
- len2 = ucnv_fromUChars(cloneCnv, bytes, 100, uchars, len, &status);
- U_ASSERT(status);
-
- if(cloneFlagCtx != NULL) {
- flagVal = cloneFlagCtx->flag; /* it's about to go away when we close the cnv */
- } else {
- printf("** Warning, couldn't get the subcallback \n");
- }
-
- ucnv_close(cloneCnv);
-
- /* print out the original source */
- printBytes("bytes", bytes, len2);
-
- return flagVal; /* true if callback was called */
-}
-
-UErrorCode convsample_21()
-{
- const char *sample1 = "abc\xdf\xbf";
- const char *sample2 = "abc_def";
-
- if(convsample_21_didSubstitute(sample1))
- {
- printf("DID substitute.\n******\n");
- }
- else
- {
- printf("Did NOT substitute.\n*****\n");
- }
-
- if(convsample_21_didSubstitute(sample2))
- {
- printf("DID substitute.\n******\n");
- }
- else
- {
- printf("Did NOT substitute.\n*****\n");
- }
-
- return U_ZERO_ERROR;
-}
-
-
-// 40- C, cp37 -> UTF16 [data02.bin -> data40.utf16]
-
-#define BUFFERSIZE 17 /* make it interesting :) */
-
-UErrorCode convsample_40()
-{
- printf("\n\n==============================================\n"
- "Sample 40: C: convert data02.bin from cp37 to UTF16 [data40.utf16]\n");
-
- FILE *f;
- FILE *out;
- int32_t count;
- char inBuf[BUFFERSIZE];
- const char *source;
- const char *sourceLimit;
- UChar *uBuf;
- UChar *target;
- UChar *targetLimit;
- int32_t uBufSize = 0;
- UConverter *conv = NULL;
- UErrorCode status = U_ZERO_ERROR;
- uint32_t inbytes=0, total=0;
-
- f = fopen("data02.bin", "rb");
- if(!f)
- {
- fprintf(stderr, "Couldn't open file 'data02.bin' (cp37 data file).\n");
- return U_FILE_ACCESS_ERROR;
- }
-
- out = fopen("data40.utf16", "wb");
- if(!out)
- {
- fprintf(stderr, "Couldn't create file 'data40.utf16'.\n");
- return U_FILE_ACCESS_ERROR;
- }
-
- // **************************** START SAMPLE *******************
- conv = ucnv_openCCSID(37, UCNV_IBM, &status);
- assert(U_SUCCESS(status));
-
- uBufSize = (BUFFERSIZE/ucnv_getMinCharSize(conv));
- printf("input bytes %d / min chars %d = %d UChars\n",
- BUFFERSIZE, ucnv_getMinCharSize(conv), uBufSize);
- uBuf = (UChar*)malloc(uBufSize * sizeof(UChar));
- assert(uBuf!=NULL);
-
- // grab another buffer's worth
- while((!feof(f)) &&
- ((count=fread(inBuf, 1, BUFFERSIZE , f)) > 0) )
- {
- inbytes += count;
-
- // Convert bytes to unicode
- source = inBuf;
- sourceLimit = inBuf + count;
-
- do
- {
- target = uBuf;
- targetLimit = uBuf + uBufSize;
-
- ucnv_toUnicode( conv, &target, targetLimit,
- &source, sourceLimit, NULL,
- feof(f)?TRUE:FALSE, /* pass 'flush' when eof */
- /* is true (when no more data will come) */
- &status);
-
- if(status == U_BUFFER_OVERFLOW_ERROR)
- {
- // simply ran out of space - we'll reset the target ptr the next
- // time through the loop.
- status = U_ZERO_ERROR;
- }
- else
- {
- // Check other errors here.
- assert(U_SUCCESS(status));
- // Break out of the loop (by force)
- }
-
- // Process the Unicode
- // Todo: handle UTF-16/surrogates
- assert(fwrite(uBuf, sizeof(uBuf[0]), (target-uBuf), out) ==
- (size_t)(target-uBuf));
- total += (target-uBuf);
- } while (source < sourceLimit); // while simply out of space
- }
-
- printf("%d bytes in, %d UChars out.\n", inbytes, total);
-
- // ***************************** END SAMPLE ********************
- ucnv_close(conv);
-
- fclose(f);
- fclose(out);
- printf("\n");
-
- return U_ZERO_ERROR;
-}
-#undef BUFFERSIZE
-
-
-
-// 46- C, UTF16 -> latin2 [data40.utf16 -> data46.out]
-
-#define BUFFERSIZE 24 /* make it interesting :) */
-
-UErrorCode convsample_46()
-{
- printf("\n\n==============================================\n"
- "Sample 46: C: convert data40.utf16 from UTF16 to latin2 [data46.out]\n");
-
- FILE *f;
- FILE *out;
- int32_t count;
- UChar inBuf[BUFFERSIZE];
- const UChar *source;
- const UChar *sourceLimit;
- char *buf;
- char *target;
- char *targetLimit;
-
- int32_t bufSize = 0;
- UConverter *conv = NULL;
- UErrorCode status = U_ZERO_ERROR;
- uint32_t inchars=0, total=0;
-
- f = fopen("data40.utf16", "rb");
- if(!f)
- {
- fprintf(stderr, "Couldn't open file 'data40.utf16' (did you run convsample_40() ?)\n");
- return U_FILE_ACCESS_ERROR;
- }
-
- out = fopen("data46.out", "wb");
- if(!out)
- {
- fprintf(stderr, "Couldn't create file 'data46.out'.\n");
- return U_FILE_ACCESS_ERROR;
- }
-
- // **************************** START SAMPLE *******************
- conv = ucnv_open( "iso-8859-2", &status);
- assert(U_SUCCESS(status));
-
- bufSize = (BUFFERSIZE*ucnv_getMaxCharSize(conv));
- printf("input UChars[16] %d * max charsize %d = %d bytes output buffer\n",
- BUFFERSIZE, ucnv_getMaxCharSize(conv), bufSize);
- buf = (char*)malloc(bufSize * sizeof(char));
- assert(buf!=NULL);
-
- // grab another buffer's worth
- while((!feof(f)) &&
- ((count=fread(inBuf, sizeof(UChar), BUFFERSIZE , f)) > 0) )
- {
- inchars += count;
-
- // Convert bytes to unicode
- source = inBuf;
- sourceLimit = inBuf + count;
-
- do
- {
- target = buf;
- targetLimit = buf + bufSize;
-
- ucnv_fromUnicode( conv, &target, targetLimit,
- &source, sourceLimit, NULL,
- feof(f)?TRUE:FALSE, /* pass 'flush' when eof */
- /* is true (when no more data will come) */
- &status);
-
- if(status == U_BUFFER_OVERFLOW_ERROR)
- {
- // simply ran out of space - we'll reset the target ptr the next
- // time through the loop.
- status = U_ZERO_ERROR;
- }
- else
- {
- // Check other errors here.
- assert(U_SUCCESS(status));
- // Break out of the loop (by force)
- }
-
- // Process the Unicode
- assert(fwrite(buf, sizeof(buf[0]), (target-buf), out) ==
- (size_t)(target-buf));
- total += (target-buf);
- } while (source < sourceLimit); // while simply out of space
- }
-
- printf("%d Uchars (%d bytes) in, %d chars out.\n", inchars, inchars * sizeof(UChar), total);
-
- // ***************************** END SAMPLE ********************
- ucnv_close(conv);
-
- fclose(f);
- fclose(out);
- printf("\n");
-
- return U_ZERO_ERROR;
-}
-#undef BUFFERSIZE
-
-#define BUFFERSIZE 219
-
-
-/* main */
-
-int main()
-{
-
- printf("Default Converter=%s\n", ucnv_getDefaultName() );
-
- convsample_02(); // C , u->koi8r, conv
- convsample_03(); // C, iterate
-
- convsample_05(); // C, utf8->u, getNextUChar
- convsample_06(); // C freq counter thingy
-
- convsample_12(); // C, sjis->u, conv
- convsample_13(); // C, big5->u, getNextU
-
- convsample_20(); // C, callback
- convsample_21(); // C, callback debug
-
- convsample_40(); // C, cp37 -> UTF16 [data02.bin -> data40.utf16]
-
- convsample_46(); // C, UTF16 -> latin3 [data41.utf16 -> data46.out]
-
- printf("End of converter samples.\n");
-
- fflush(stdout);
- fflush(stderr);
-
- return 0;
-}
diff --git a/Build/source/libs/icu-xetex/samples/ucnv/data01.txt b/Build/source/libs/icu-xetex/samples/ucnv/data01.txt
deleted file mode 100644
index 5b53359cd46..00000000000
--- a/Build/source/libs/icu-xetex/samples/ucnv/data01.txt
+++ /dev/null
@@ -1,15 +0,0 @@
--*- Coding: utf-8 ; -*- // for emacs
-[some latin, devanagari, and cyrillic text]
-raj Rajasthani राजेस्थानी
- Konkani कोंकणी
- Haryanvi हरियानवी
-rm Rhaeto-Romance रहेय्टो-रोमान्स
-rn Kirundi किरून्दी
-ro Romanian रूमानीयन्
-ru Russian रुसी футбол
-том
-атом
-Нева
-Fid-dinja hawn aktar imġienen minn nies f'sensiehom.
-Il-mistoqsija oħt il-għerf. (Asking is the sister of knowing.)
-aфутбол중앙일보-の“日本語”
diff --git a/Build/source/libs/icu-xetex/samples/ucnv/data02.bin b/Build/source/libs/icu-xetex/samples/ucnv/data02.bin
deleted file mode 100644
index e1a5aad9e51..00000000000
--- a/Build/source/libs/icu-xetex/samples/ucnv/data02.bin
+++ /dev/null
@@ -1 +0,0 @@
-@@@|KK@@%@zaaKKKaaa%%ȉ@@Ԩ@@Ö@㈉@@K@K@%Յ@薙z@Ӆ@P@@™Kk@@Ȗ@⣙K%%ŕ@@@@@@Ö@@@@k%¨@KK@㖦@P@ÖKk%@@Ó}@ֆ@@@ĉ@Ö@@@▤@ĉ@@Յ@薙K@%%@ㅁk@Ök@K%%ׁ@%%戁@@ㅁo@%%㈅@@@@@@@@È@@с^@@@@@@@K@ɣ@@@k@@@@@@@@%@k@@@@@k@@@K%%ɢ@@@@@@@@ㅁ@דo@%%腢k@^@@@@@@㈅@@@㈅@^@@@@@@@@@@@@%@k@@@@@@@@^@@@@@@@@@@@@@@k@@%@@@@@@@@@@K%%Ȗ@@@ㅁ@ד@äo%%ɕ@È@@@@@@`k@@@@k@@@@@k@@@@@@@@k%@@@@@@k@@^@K@㈅@@@@@k@@@@@@@@@@@%@@@@k@@@@@@@@^@@@k@@@k@@@@@%@@K@戅@@@@k@@@@@@@@@@k@@@@@@@@@@%k@@@@@@@@@@@^@@`@k@@k@@@@@@@@@K% \ No newline at end of file
diff --git a/Build/source/libs/icu-xetex/samples/ucnv/data06.txt b/Build/source/libs/icu-xetex/samples/ucnv/data06.txt
deleted file mode 100644
index 1d7858e18b8..00000000000
--- a/Build/source/libs/icu-xetex/samples/ucnv/data06.txt
+++ /dev/null
@@ -1,90 +0,0 @@
-// *******************************************************************************
-// *
-// * Copyright (C) 1997-2000, International Business Machines
-// * Corporation and others. All Rights Reserved.
-// *
-// *******************************************************************************
-
-
-
-fa {
-
- Version { "x0.0" }
-
-
- DayAbbreviations {
- "ی∔",
- "د∔",
- "س∔",
- "چ∔",
- "پ∔",
- "ج∔",
- "ش∔",
- }
- DayNames {
- "یی‌شنبه",
- "دوشنبه",
- "سه‌شنبه",
- "چهارشنبه",
- "پنج‌شنبه",
- "جمعه",
- "شنبه",
- }
- MonthAbbreviations {
- "ژان",
- "فور",
- "مار",
- "آور",
- "مـه",
- "ژون",
- "ژوی",
- "اوت",
- "سپت",
- "اكت",
- "نوا",
- "دسا",
- "",
- }
- MonthNames {
- "ژانویه",
- "فورویه",
- "مارس",
- "آوریل",
- "مه",
- "ژوئن",
- "ژوئیه",
- "اوت",
- "سپتامبر",
- "اكتبر",
- "نوامبر",
- "دسامبر",
- "",
- }
- NumberElements {
- "٫",
- "٬",
- ";",
- "%",
- "0",
- "#",
- "-",
- "E",
- "‰",
- "∞",
- "�",
- }
- NumberPatterns {
- "#,##0.###;-#,##0.###",
- "#,##0.#¤;#,##0.#- ¤",
- "#,##0%",
- }
- LocaleID{ "29"}
- // /**************** Info Below is needed ****************/
- // CollationElements{}
- // Countries{}
- // Eras{}
- // Languages{}
- // ShortLanguage { }
- // localPatternChars{}
- //
-} \ No newline at end of file
diff --git a/Build/source/libs/icu-xetex/samples/ucnv/flagcb.c b/Build/source/libs/icu-xetex/samples/ucnv/flagcb.c
deleted file mode 100644
index b23a9e7bb12..00000000000
--- a/Build/source/libs/icu-xetex/samples/ucnv/flagcb.c
+++ /dev/null
@@ -1,289 +0,0 @@
-/********************************************************************
- * COPYRIGHT:
- * Copyright (c) 1999-2002, International Business Machines Corporation and
- * others. All Rights Reserved.
- ********************************************************************/
-
-#include "unicode/utypes.h"
-#include "unicode/ucnv.h"
-#include "flagcb.h"
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#define DEBUG_TMI 0 /* set to 1 for Too Much Information (TMI) */
-
-U_CAPI FromUFLAGContext* U_EXPORT2 flagCB_fromU_openContext()
-{
- FromUFLAGContext *ctx;
-
- ctx = (FromUFLAGContext*) malloc(sizeof(FromUFLAGContext));
-
- ctx->subCallback = NULL;
- ctx->subContext = NULL;
- ctx->flag = FALSE;
-
- return ctx;
-}
-
-U_CAPI void U_EXPORT2 flagCB_fromU(
- const void *context,
- UConverterFromUnicodeArgs *fromUArgs,
- const UChar* codeUnits,
- int32_t length,
- UChar32 codePoint,
- UConverterCallbackReason reason,
- UErrorCode * err)
-{
- /* First step - based on the reason code, take action */
-
- if(reason == UCNV_UNASSIGNED) { /* whatever set should be trapped here */
- ((FromUFLAGContext*)context)->flag = TRUE;
- }
-
- if(reason == UCNV_CLONE) {
- /* The following is the recommended way to implement UCNV_CLONE
- in a callback. */
- UConverterFromUCallback saveCallback;
- void *saveContext;
- FromUFLAGContext *old, *cloned;
- UErrorCode subErr = U_ZERO_ERROR;
-
-#if DEBUG_TMI
- printf("*** FLAGCB: cloning %p ***\n", context);
-#endif
- old = (FromUFLAGContext*)context;
- cloned = flagCB_fromU_openContext();
-
- memcpy(cloned, old, sizeof(FromUFLAGContext));
-
-#if DEBUG_TMI
- printf("%p: my subcb=%p:%p\n", old, old->subCallback,
- old->subContext);
- printf("%p: cloned subcb=%p:%p\n", cloned, cloned->subCallback,
- cloned->subContext);
-#endif
-
- /* We need to get the sub CB to handle cloning,
- * so we have to set up the following, temporarily:
- *
- * - Set the callback+context to the sub of this (flag) cb
- * - preserve the current cb+context, it could be anything
- *
- * Before:
- * CNV -> FLAG -> subcb -> ...
- *
- * After:
- * CNV -> subcb -> ...
- *
- * The chain from 'something' on is saved, and will be restored
- * at the end of this block.
- *
- */
-
- ucnv_setFromUCallBack(fromUArgs->converter,
- cloned->subCallback,
- cloned->subContext,
- &saveCallback,
- &saveContext,
- &subErr);
-
- if( cloned->subCallback != NULL ) {
- /* Now, call the sub callback if present */
- cloned->subCallback(cloned->subContext, fromUArgs, codeUnits,
- length, codePoint, reason, err);
- }
-
- ucnv_setFromUCallBack(fromUArgs->converter,
- saveCallback, /* Us */
- cloned, /* new context */
- &cloned->subCallback, /* IMPORTANT! Accept any change in CB or context */
- &cloned->subContext,
- &subErr);
-
- if(U_FAILURE(subErr)) {
- *err = subErr;
- }
- }
-
- /* process other reasons here if need be */
-
- /* Always call the subCallback if present */
- if(((FromUFLAGContext*)context)->subCallback != NULL &&
- reason != UCNV_CLONE) {
- ((FromUFLAGContext*)context)->subCallback( ((FromUFLAGContext*)context)->subContext,
- fromUArgs,
- codeUnits,
- length,
- codePoint,
- reason,
- err);
- }
-
- /* cleanup - free the memory AFTER calling the sub CB */
- if(reason == UCNV_CLOSE) {
- free((void*)context);
- }
-}
-
-/* Debugging callback, just outputs what happens */
-
-/* Test safe clone callback */
-
-static uint32_t debugCB_nextSerial()
-{
- static uint32_t n = 1;
-
- return (n++);
-}
-
-static void debugCB_print_log(debugCBContext *q, const char *name)
-{
- if(q==NULL) {
- printf("debugCBontext: %s is NULL!!\n", name);
- } else {
- if(q->magic != 0xC0FFEE) {
- fprintf(stderr, "debugCBContext: %p:%d's magic is %x, supposed to be 0xC0FFEE\n",
- q,q->serial, q->magic);
- }
- printf("debugCBContext %p:%d=%s - magic %x\n",
- q, q->serial, name, q->magic);
- }
-}
-
-static debugCBContext *debugCB_clone(debugCBContext *ctx)
-{
- debugCBContext *newCtx;
- newCtx = malloc(sizeof(debugCBContext));
-
- newCtx->serial = debugCB_nextSerial();
- newCtx->magic = 0xC0FFEE;
-
- newCtx->subCallback = ctx->subCallback;
- newCtx->subContext = ctx->subContext;
-
-#if DEBUG_TMI
- printf("debugCB_clone: %p:%d -> new context %p:%d\n", ctx, ctx->serial, newCtx, newCtx->serial);
-#endif
-
- return newCtx;
-}
-
-void debugCB_fromU(const void *context,
- UConverterFromUnicodeArgs *fromUArgs,
- const UChar* codeUnits,
- int32_t length,
- UChar32 codePoint,
- UConverterCallbackReason reason,
- UErrorCode * err)
-{
- debugCBContext *ctx = (debugCBContext*)context;
- /*UConverterFromUCallback junkFrom;*/
-
-#if DEBUG_TMI
- printf("debugCB_fromU: Context %p:%d called, reason %d on cnv %p [err=%s]\n", ctx, ctx->serial, reason, fromUArgs->converter, u_errorName(*err));
-#endif
-
- if(ctx->magic != 0xC0FFEE) {
- fprintf(stderr, "debugCB_fromU: Context %p:%d magic is 0x%x should be 0xC0FFEE.\n", ctx,ctx->serial, ctx->magic);
- return;
- }
-
- if(reason == UCNV_CLONE) {
- /* see comments in above flagCB clone code */
-
- UConverterFromUCallback saveCallback;
- void *saveContext;
- debugCBContext *cloned;
- UErrorCode subErr = U_ZERO_ERROR;
-
- /* "recreate" it */
-#if DEBUG_TMI
- printf("debugCB_fromU: cloning..\n");
-#endif
- cloned = debugCB_clone(ctx);
-
- if(cloned == NULL) {
- fprintf(stderr, "debugCB_fromU: internal clone failed on %p\n", ctx);
- *err = U_MEMORY_ALLOCATION_ERROR;
- return;
- }
-
- ucnv_setFromUCallBack(fromUArgs->converter,
- cloned->subCallback,
- cloned->subContext,
- &saveCallback,
- &saveContext,
- &subErr);
-
- if( cloned->subCallback != NULL) {
-#if DEBUG_TMI
- printf("debugCB_fromU:%p calling subCB %p\n", ctx, cloned->subCallback);
-#endif
- /* call subCB if present */
- cloned->subCallback(cloned->subContext, fromUArgs, codeUnits,
- length, codePoint, reason, err);
- } else {
- printf("debugCB_fromU:%p, NOT calling subCB, it's NULL\n", ctx);
- }
-
- /* set back callback */
- ucnv_setFromUCallBack(fromUArgs->converter,
- saveCallback, /* Us */
- cloned, /* new context */
- &cloned->subCallback, /* IMPORTANT! Accept any change in CB or context */
- &cloned->subContext,
- &subErr);
-
- if(U_FAILURE(subErr)) {
- *err = subErr;
- }
- }
-
- /* process other reasons here */
-
- /* always call subcb if present */
- if(ctx->subCallback != NULL && reason != UCNV_CLONE) {
- ctx->subCallback(ctx->subContext,
- fromUArgs,
- codeUnits,
- length,
- codePoint,
- reason,
- err);
- }
-
- if(reason == UCNV_CLOSE) {
-#if DEBUG_TMI
- printf("debugCB_fromU: Context %p:%d closing\n", ctx, ctx->serial);
-#endif
- free(ctx);
- }
-
-#if DEBUG_TMI
- printf("debugCB_fromU: leaving cnv %p, ctx %p: err %s\n", fromUArgs->converter, ctx, u_errorName(*err));
-#endif
-}
-
-debugCBContext *debugCB_openContext()
-{
- debugCBContext *ctx;
-
- ctx = malloc(sizeof(debugCBContext));
-
- if(ctx != NULL) {
- ctx->magic = 0xC0FFEE;
- ctx->serial = debugCB_nextSerial();
- ctx->subCallback = NULL;
- ctx->subContext = NULL;
-
-#if DEBUG_TMI
- fprintf(stderr, "debugCB:openContext opened[%p] = serial #%d\n", ctx, ctx->serial);
-#endif
-
- }
-
-
- return ctx;
-}
-
diff --git a/Build/source/libs/icu-xetex/samples/ucnv/flagcb.h b/Build/source/libs/icu-xetex/samples/ucnv/flagcb.h
deleted file mode 100644
index 4b1cba5a451..00000000000
--- a/Build/source/libs/icu-xetex/samples/ucnv/flagcb.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (c) 2000 IBM, Inc. and Others.
- FLAGCB.H - interface to 'flagging' callback which
- simply marks the fact that the callback was called.
-*/
-
-#ifndef _FLAGCB
-#define _FLAGCB
-
-#include "unicode/utypes.h"
-#include "unicode/ucnv.h"
-
-/* The structure of a FromU Flag context.
- (conceivably there could be a ToU Flag Context) */
-
-typedef struct
-{
- UConverterFromUCallback subCallback;
- const void *subContext;
- UBool flag;
-} FromUFLAGContext;
-
-/**
- * open the context
- */
-
-U_CAPI FromUFLAGContext* U_EXPORT2 flagCB_fromU_openContext();
-
-/**
- * the actual callback
- */
-U_CAPI void U_EXPORT2 flagCB_fromU(
- const void *context,
- UConverterFromUnicodeArgs *fromUArgs,
- const UChar* codeUnits,
- int32_t length,
- UChar32 codePoint,
- UConverterCallbackReason reason,
- UErrorCode * err);
-
-
-
-typedef struct
-{
- UConverterFromUCallback subCallback;
- const void *subContext;
- uint32_t magic; /* 0xC0FFEE to identify that the object is OK */
- uint32_t serial; /* minted from nextSerial */
-} debugCBContext;
-
-U_CAPI void debugCB_fromU(const void *context,
- UConverterFromUnicodeArgs *fromUArgs,
- const UChar* codeUnits,
- int32_t length,
- UChar32 codePoint,
- UConverterCallbackReason reason,
- UErrorCode * err);
-
-U_CAPI debugCBContext *debugCB_openContext();
-
-#endif
diff --git a/Build/source/libs/icu-xetex/samples/ucnv/readme.txt b/Build/source/libs/icu-xetex/samples/ucnv/readme.txt
deleted file mode 100644
index 34c81ad6ff2..00000000000
--- a/Build/source/libs/icu-xetex/samples/ucnv/readme.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-Copyright (C) 2002-2005, International Business Machines
-Corporation and others. All Rights Reserved.
-
-convsamp: a sample program which demonstrates using ICU conversion
-
-This sample demonstrates
- Opening and closing converters using the C api
- String manipulation in C
- Writing a custom conversion callback function
-
-
-Files:
- convsamp.c Main source file
- flagcb.h codepage output convenience header
- flagcb.c codepage output convenience implementation
- ucnv.sln Windows MSVC workspace. Double-click this to get started.
- ucnv.vcproj Windows MSVC project file
-
-To Build ucnv on Windows
- 1. Install and build ICU
- 2. In MSVC, open the workspace file icu\samples\ucnv\ucnv.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 ufortune directory, e.g.
- cd c:\icu\source\samples\ucnv\debug
- 4. Run it
- ucnv
-
-To Build on Unixes
- 1. Build ICU.
- 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
-
- 3. Build
- set the variable ICU_PREFIX=<icu install>
- gmake all
-
- To Run on Unixes
- cd <icu directory>/source/samples/ucnv
-
- gmake check
- -or-
-
- export LD_LIBRARY_PATH=<icu install directory>/lib:.:$LD_LIBRARY_PATH
- convsamp
-
-
- 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.
-
diff --git a/Build/source/libs/icu-xetex/samples/ucnv/ucnv.sln b/Build/source/libs/icu-xetex/samples/ucnv/ucnv.sln
deleted file mode 100644
index 676e3350839..00000000000
--- a/Build/source/libs/icu-xetex/samples/ucnv/ucnv.sln
+++ /dev/null
@@ -1,21 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 7.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ucnv", "ucnv.vcproj", "{8C95060E-61F5-464E-BB42-95B788C0D7E4}"
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- ConfigName.0 = Debug
- ConfigName.1 = Release
- EndGlobalSection
- GlobalSection(ProjectDependencies) = postSolution
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug.ActiveCfg = Debug|Win32
- {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Debug.Build.0 = Debug|Win32
- {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release.ActiveCfg = Release|Win32
- {8C95060E-61F5-464E-BB42-95B788C0D7E4}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
diff --git a/Build/source/libs/icu-xetex/samples/ucnv/ucnv.vcproj b/Build/source/libs/icu-xetex/samples/ucnv/ucnv.vcproj
deleted file mode 100644
index 248a3c39a1a..00000000000
--- a/Build/source/libs/icu-xetex/samples/ucnv/ucnv.vcproj
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="ucnv"
- SccProjectName=""
- SccLocalPath="">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\Debug"
- IntermediateDirectory=".\Debug"
- ConfigurationType="1"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- OptimizeForProcessor="2"
- AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- TreatWChar_tAsBuiltInType="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\Debug/ucnv.pch"
- AssemblerListingLocation=".\Debug/"
- ObjectFile=".\Debug/"
- ProgramDataBaseFileName=".\Debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="icuucd.lib odbc32.lib odbccp32.lib"
- OutputFile=".\Debug/ucnv.exe"
- LinkIncremental="2"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\..\lib"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\Debug/ucnv.pdb"
- SubSystem="1"/>
- <Tool
- Name="VCMIDLTool"
- TypeLibraryName=".\Debug/ucnv.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\Release"
- IntermediateDirectory=".\Release"
- ConfigurationType="1"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- InlineFunctionExpansion="1"
- OptimizeForProcessor="2"
- AdditionalIncludeDirectories="..\..\..\include"
- PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
- StringPooling="TRUE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- TreatWChar_tAsBuiltInType="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\Release/ucnv.pch"
- AssemblerListingLocation=".\Release/"
- ObjectFile=".\Release/"
- ProgramDataBaseFileName=".\Release/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="icuuc.lib odbc32.lib odbccp32.lib"
- OutputFile=".\Release/ucnv.exe"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\..\lib"
- ProgramDatabaseFile=".\Release/ucnv.pdb"
- SubSystem="1"/>
- <Tool
- Name="VCMIDLTool"
- TypeLibraryName=".\Release/ucnv.tlb"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="1033"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
- <File
- RelativePath=".\convsamp.cpp">
- </File>
- <File
- RelativePath=".\flagcb.c">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl">
- <File
- RelativePath=".\flagcb.h">
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>