Lines Matching refs:converter

48  * I am disabling the generic ISO-2022 converter after proposing to do so on
58 * 2. I believe that no one is really using the generic ISO-2022 converter
60 * Note that ICU's generic ISO-2022 converter has always output one escape
63 * the previous converter is closed and a new one opened,
70 * The ICU ISO-2022 converter does not handle this - and has no information
163 * Note: The converter uses some leniency:
263 * v) Get the converter name form escSeqStateTable_Result_2022[21] which is JISX208
301 * When the generic ISO-2022 converter is completely removed, not just disabled
377 _ISO2022Close(UConverter *converter);
380 _ISO2022Reset(UConverter *converter, UConverterResetChoice choice);
420 setInitialStateToUnicodeKR(UConverter* converter, UConverterDataISO2022 *myConverterData){
431 setInitialStateFromUnicodeKR(UConverter* converter,UConverterDataISO2022 *myConverterData){
435 if( converter->charErrorBufferLength==0){
437 converter->charErrorBufferLength = 4;
438 converter->charErrorBuffer[0] = 0x1b;
439 converter->charErrorBuffer[1] = 0x24;
440 converter->charErrorBuffer[2] = 0x29;
441 converter->charErrorBuffer[3] = 0x43;
632 _ISO2022Close(UConverter *converter) {
633 UConverterDataISO2022* myData =(UConverterDataISO2022 *) (converter->extraInfo);
637 if (converter->extraInfo != NULL) {
638 /*close the array of converter pointers and free the memory*/
647 if(!converter->isExtraLocal){
648 uprv_free (converter->extraInfo);
649 converter->extraInfo = NULL;
655 _ISO2022Reset(UConverter *converter, UConverterResetChoice choice) {
656 UConverterDataISO2022 *myConverterData=(UConverterDataISO2022 *) (converter->extraInfo);
670 if (converter->mode == UCNV_SO){
674 converter->mode = UCNV_SI;
678 converter->charErrorBufferLength = 3;
679 converter->charErrorBuffer[0] = 0x1b;
680 converter->charErrorBuffer[1] = 0x28;
681 converter->charErrorBuffer[2] = 0x42;
690 setInitialStateToUnicodeKR(converter, myConverterData);
693 setInitialStateFromUnicodeKR(converter, myConverterData);
1233 saveThis = args->converter;
1257 args->converter = myData->currentConverter;
1258 ucnv_toUnicode(args->converter,
1266 args->converter = saveThis;
1315 changeState_2022(args->converter,
1357 * The UConverter_fromUnicode_ISO2022_JP converter does not use ucnv_fromUnicode() functions for SBCS,DBCS and
1359 * The converter iterates over each Unicode codepoint
1361 * processed one char at a time it would make sense to reduce the extra processing a canned converter
1522 * for Shift-JIS so that the converter catches it.
1631 UConverter *cnv = args->converter;
1868 * This is necessary because the sub-converter (windows-949)
2060 myData=(UConverterDataISO2022*)(args->converter->extraInfo);
2066 } else if(args->converter->toULength == 1 && mySource < mySourceLimit && myTarget < args->targetLimit) {
2068 mySourceChar = args->converter->toUBytes[0];
2069 args->converter->toULength = 0;
2111 int8_t toULengthBefore = args->converter->toULength;
2113 changeState_2022(args->converter,&(mySource),
2119 args->converter->toUCallbackReason = UCNV_IRREGULAR;
2120 args->converter->toULength = (int8_t)(toULengthBefore + (mySource - mySourceBefore));
2240 args->converter->toUBytes[0] = (uint8_t)mySourceChar;
2241 args->converter->toULength = 1;
2268 args->converter->UCharErrorBuffer[args->converter->UCharErrorBufferLength++]=
2275 toUnicodeCallback(args->converter,mySourceChar,targetUniChar,err);
2301 UConverter* saveConv = args->converter;
2303 args->converter=myConverterData->currentConverter;
2319 args->converter=saveConv;
2339 converterData=(UConverterDataISO2022*)args->converter->extraInfo;
2342 * MBCS converter and return
2351 useFallback = args->converter->useFallback;
2352 isTargetByteDBCS=(UBool)args->converter->fromUnicodeStatus;
2355 isTargetByteDBCS = (UBool) args->converter->fromUnicodeStatus;
2356 if((sourceChar = args->converter->fromUChar32)!=0 && target <targetLimit) {
2370 args->converter->fromUChar32=sourceChar;
2411 args->converter->charErrorBuffer[args->converter->charErrorBufferLength++] = (unsigned char) (targetByteUnit);
2426 args->converter->charErrorBuffer[args->converter->charErrorBufferLength++] = (unsigned char) (targetByteUnit -0x80);
2430 args->converter->charErrorBuffer[args->converter->charErrorBufferLength++] = (unsigned char) ((targetByteUnit>>8) -0x80);
2431 args->converter->charErrorBuffer[args->converter->charErrorBufferLength++] = (unsigned char) (targetByteUnit-0x80);
2475 args->converter->fromUChar32=sourceChar;
2498 args->flush && source>=sourceLimit && args->converter->fromUChar32==0
2526 args->converter,
2536 args->converter->fromUnicodeStatus = (uint32_t)isTargetByteDBCS;
2545 UConverterDataISO2022* myData=(UConverterDataISO2022*)(args->converter->extraInfo);
2559 subArgs.converter = myData->currentConverter;
2579 * converter, can handle truncated and illegal input etc.
2581 if(args->converter->toULength > 0) {
2582 uprv_memcpy(subArgs.converter->toUBytes, args->converter->toUBytes, args->converter->toULength);
2584 subArgs.converter->toULength = args->converter->toULength;
2611 if(subArgs.converter->toULength > 0) {
2612 uprv_memcpy(args->converter->toUBytes, subArgs.converter->toUBytes, subArgs.converter->toULength);
2614 args->converter->toULength = subArgs.converter->toULength;
2617 if(subArgs.converter->UCharErrorBufferLength > 0) {
2618 uprv_memcpy(args->converter->UCharErrorBuffer, subArgs.converter->UCharErrorBuffer,
2619 subArgs.converter->UCharErrorBufferLength);
2621 args->converter->UCharErrorBufferLength=subArgs.converter->UCharErrorBufferLength;
2622 subArgs.converter->UCharErrorBufferLength = 0;
2631 changeState_2022(args->converter,
2652 myData=(UConverterDataISO2022*)(args->converter->extraInfo);
2660 useFallback = args->converter->useFallback;
2665 } else if(args->converter->toULength == 1 && mySource < mySourceLimit && myTarget < args->targetLimit) {
2667 mySourceChar = args->converter->toUBytes[0];
2668 args->converter->toULength = 0;
2683 args->converter->toUCallbackReason = UCNV_IRREGULAR;
2684 args->converter->toUBytes[0] = (uint8_t)mySourceChar;
2685 args->converter->toULength = 1;
2701 changeState_2022(args->converter,&(mySource),
2744 args->converter->toUBytes[0] = (uint8_t)mySourceChar;
2745 args->converter->toULength = 1;
2762 toUnicodeCallback(args->converter,mySourceChar,targetUniChar,err);
2883 UConverter *cnv = args->converter;
2982 /* try the current SO/G1 converter first */
2993 /* try the other SO/G1 converter; a CNS_11643_1 lookup may result in any plane */
3242 myData=(UConverterDataISO2022*)(args->converter->extraInfo);
3248 } else if(args->converter->toULength == 1 && mySource < mySourceLimit && myTarget < args->targetLimit) {
3250 mySourceChar = args->converter->toUBytes[0];
3251 args->converter->toULength = 0;
3270 args->converter->toUCallbackReason = UCNV_IRREGULAR;
3271 args->converter->toUBytes[0] = mySourceChar;
3272 args->converter->toULength = 1;
3295 int8_t toULengthBefore = args->converter->toULength;
3297 changeState_2022(args->converter,&(mySource),
3303 args->converter->toUCallbackReason = UCNV_IRREGULAR;
3304 args->converter->toULength = (int8_t)(toULengthBefore + (mySource - mySourceBefore));
3377 args->converter->toUBytes[0] = (uint8_t)mySourceChar;
3378 args->converter->toULength = 1;
3410 args->converter->UCharErrorBuffer[args->converter->UCharErrorBufferLength++]=
3417 toUnicodeCallback(args->converter,mySourceChar,targetUniChar,err);
3433 UConverter *cnv = args->converter;
3478 if((UBool)args->converter->fromUnicodeStatus) {
3480 args->converter->fromUnicodeStatus = 0;
3485 if(!(UBool)args->converter->fromUnicodeStatus) {
3487 args->converter->fromUnicodeStatus = 1;
3504 args->converter = myConverterData->currentConverter;
3508 args->converter = cnv;
3536 * Structure for cloning an ISO 2022 converter into a single memory block.
3537 * ucnv_safeClone() of the converter will align the entire cloneStruct,
3538 * and then ucnv_safeClone() of the sub-converter may additionally align
3662 /* there is only one converter for KR, and it is not in the myConverterArray[] */
3665 /* the loop over myConverterArray[] will simply not find another converter */