Home | History | Annotate | Download | only in common

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
372 /*********** ISO 2022 Converter Protos ***********/
377 _ISO2022Close(UConverter *converter);
380 _ISO2022Reset(UConverter *converter, UConverterResetChoice choice);
401 /*************** Converter implementations ******************/
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;
610 _ISO2022Close(UConverter *converter) {
611 UConverterDataISO2022* myData =(UConverterDataISO2022 *) (converter->extraInfo);
615 if (converter->extraInfo != NULL) {
616 /*close the array of converter pointers and free the memory*/
625 if(!converter->isExtraLocal){
626 uprv_free (converter->extraInfo);
627 converter->extraInfo = NULL;
633 _ISO2022Reset(UConverter *converter, UConverterResetChoice choice) {
634 UConverterDataISO2022 *myConverterData=(UConverterDataISO2022 *) (converter->extraInfo);
648 if (converter->mode == UCNV_SO){
652 converter->mode = UCNV_SI;
656 converter->charErrorBufferLength = 3;
657 converter->charErrorBuffer[0] = 0x1b;
658 converter->charErrorBuffer[1] = 0x28;
659 converter->charErrorBuffer[2] = 0x42;
668 setInitialStateToUnicodeKR(converter, myConverterData);
671 setInitialStateFromUnicodeKR(converter, myConverterData);
1196 * ISO-2022 Converter
1211 saveThis = args->converter;
1235 args->converter = myData->currentConverter;
1236 ucnv_toUnicode(args->converter,
1244 args->converter = saveThis;
1293 changeState_2022(args->converter,
1335 * The UConverter_fromUnicode_ISO2022_JP converter does not use ucnv_fromUnicode() functions for SBCS,DBCS and
1337 * The converter iterates over each Unicode codepoint
1339 * processed one char at a time it would make sense to reduce the extra processing a canned converter
1500 * for Shift-JIS so that the converter catches it.
1609 UConverter *cnv = args->converter;
1846 * This is necessary because the sub-converter (windows-949)
2038 myData=(UConverterDataISO2022*)(args->converter->extraInfo);
2044 } else if(args->converter->toULength == 1 && mySource < mySourceLimit && myTarget < args->targetLimit) {
2046 mySourceChar = args->converter->toUBytes[0];
2047 args->converter
2089 int8_t toULengthBefore = args->converter->toULength;
2091 changeState_2022(args->converter,&(mySource),
2097 args->converter->toUCallbackReason = UCNV_IRREGULAR;
2098 args->converter->toULength = (int8_t)(toULengthBefore + (mySource - mySourceBefore));
2218 args->converter->toUBytes[0] = (uint8_t)mySourceChar;
2219 args->converter->toULength = 1;
2246 args->converter->UCharErrorBuffer[args->converter->UCharErrorBufferLength++]=
2253 toUnicodeCallback(args->converter,mySourceChar,targetUniChar,err);
2279 UConverter* saveConv = args->converter;
2281 args->converter=myConverterData->currentConverter;
2297 args->converter=saveConv;
2317 converterData=(UConverterDataISO2022*)args->converter->extraInfo;
2320 * MBCS converter and return
2329 useFallback = args->converter->useFallback;
2330 isTargetByteDBCS=(UBool)args->converter->fromUnicodeStatus;
2333 isTargetByteDBCS = (UBool) args->converter->fromUnicodeStatus;
2334 if((sourceChar = args->converter->fromUChar32)!=0 && target <targetLimit) {
2348 args->converter->fromUChar32=sourceChar;
2389 args->converter->charErrorBuffer[args->converter->charErrorBufferLength++] = (unsigned char) (targetByteUnit);
2404 args->converter->charErrorBuffer[args->converter->charErrorBufferLength++] = (unsigned char) (targetByteUnit -0x80);
2408 converter->charErrorBuffer[args->converter->charErrorBufferLength++] = (unsigned char) ((targetByteUnit>>8) -0x80);
2409 args->converter->charErrorBuffer[args->converter->charErrorBufferLength++] = (unsigned char) (targetByteUnit-0x80);
2453 args->converter->fromUChar32=sourceChar;
2476 args->flush && source>=sourceLimit && args->converter->fromUChar32==0
2504 args->converter,
2514 args->converter->fromUnicodeStatus = (uint32_t)isTargetByteDBCS;
2523 UConverterDataISO2022* myData=(UConverterDataISO2022*)(args->converter->extraInfo);
2537 subArgs.converter = myData->currentConverter;
2557 * converter, can handle truncated and illegal input etc.
2559 if(args->converter->toULength > 0) {
2560 uprv_memcpy(subArgs.converter->toUBytes, args->converter->toUBytes, args->converter->toULength);
2562 subArgs.converter->toULength = args->converter->toULength;
2589 if(subArgs.converter->toULength > 0) {
2590 uprv_memcpy(args->converter->toUBytes, subArgs.converter->toUBytes, subArgs.converter->toULength);
2592 args->converter->toULength = subArgs.converter->toULength;
2595 if(subArgs.converter->UCharErrorBufferLength > 0) {
2596 uprv_memcpy(args->converter->UCharErrorBuffer, subArgs.converter->UCharErrorBuffer,
2597 subArgs.converter->UCharErrorBufferLength);
2599 args->converter->UCharErrorBufferLength=subArgs.converter->UCharErrorBufferLength;
2600 subArgs.converter->UCharErrorBufferLength = 0;
2609 changeState_2022(args->converter,
2630 myData=(UConverterDataISO2022*)(args->converter->extraInfo);
2638 useFallback = args->converter->useFallback;
2643 } else if(args->converter->toULength == 1 && mySource < mySourceLimit && myTarget < args->targetLimit) {
2645 mySourceChar = args->converter->toUBytes[0];
2646 args->converter->toULength = 0;
2661 args->converter->toUCallbackReason = UCNV_IRREGULAR;
2662 args->converter->toUBytes[0] = (uint8_t)mySourceChar;
2663 args->converter->toULength = 1;
2679 changeState_2022(args->converter,&(mySource),
2722 args->converter->toUBytes[0] = (uint8_t)mySourceChar;
2723 args->converter->toULength = 1;
2740 toUnicodeCallback(args->converter,mySourceChar,targetUniChar,err);
2861 UConverter *cnv = args->converter;
2960 /* try the current SO/G1 converter first */
2971 /* try the other SO/G1 converter; a CNS_11643_1 lookup may result in any plane */
3220 converter->extraInfo);
3226 } else if(args->converter->toULength == 1 && mySource < mySourceLimit && myTarget < args->targetLimit) {
3228 mySourceChar = args->converter->toUBytes[0];
3229 args->converter->toULength = 0;
3248 args->converter->toUCallbackReason = UCNV_IRREGULAR;
3249 args->converter->toUBytes[0] = mySourceChar;
3250 args->converter->toULength = 1;
3273 int8_t toULengthBefore = args->converter->toULength;
3275 changeState_2022(args->converter,&(mySource),
3281 args->converter->toUCallbackReason = UCNV_IRREGULAR;
3282 args->converter->toULength = (int8_t)(toULengthBefore + (mySource - mySourceBefore));
3355 args->converter->toUBytes[0] = (uint8_t)mySourceChar;
3356 args->converter->toULength = 1;
3388 args->converter->UCharErrorBuffer[args->converter->UCharErrorBufferLength++]=
3395 toUnicodeCallback(args->converter,mySourceChar,targetUniChar,err);
3411 UConverter *cnv = args->converter;
3456 if((UBool)args->converter->fromUnicodeStatus) {
3458 args->converter->fromUnicodeStatus = 0;
3463 if(!(UBool)args->converter->fromUnicodeStatus) {
3465 args->converter->fromUnicodeStatus = 1;
3482 args->converter = myConverterData->currentConverter;
3486 args->converter = cnv;
3514 * Structure for cloning an ISO 2022 converter into a single memory block.
3515 * ucnv_safeClone() of the converter will align the entire cloneStruct,
3516 * and then ucnv_safeClone() of the sub-converter may additionally align
3640 /* there is only one converter for KR, and it is not in the myConverterArray[] */
3643 /* the loop over myConverterArray[] will simply not find another converter */