Home | History | Annotate | Download | only in common

Lines Matching refs:converter

50  * I am disabling the generic ISO-2022 converter after proposing to do so on
60 * 2. I believe that no one is really using the generic ISO-2022 converter
62 * Note that ICU's generic ISO-2022 converter has always output one escape
65 * the previous converter is closed and a new one opened,
72 * The ICU ISO-2022 converter does not handle this - and has no information
165 * Note: The converter uses some leniency:
265 * v) Get the converter name form escSeqStateTable_Result_2022[21] which is JISX208
303 * When the generic ISO-2022 converter is completely removed, not just disabled
374 /*********** ISO 2022 Converter Protos ***********/
379 _ISO2022Close(UConverter *converter);
382 _ISO2022Reset(UConverter *converter, UConverterResetChoice choice);
407 /*************** Converter implementations ******************/
426 setInitialStateToUnicodeKR(UConverter* /*converter*/, UConverterDataISO2022 *myConverterData){
437 setInitialStateFromUnicodeKR(UConverter* converter,UConverterDataISO2022 *myConverterData){
441 if( converter->charErrorBufferLength==0){
443 converter->charErrorBufferLength = 4;
444 converter->charErrorBuffer[0] = 0x1b;
445 converter->charErrorBuffer[1] = 0x24;
446 converter->charErrorBuffer[2] = 0x29;
447 converter->charErrorBuffer[3] = 0x43;
507 * sharing the table with the Shift-JIS converter
646 _ISO2022Close(UConverter *converter) {
647 UConverterDataISO2022* myData =(UConverterDataISO2022 *) (converter->extraInfo);
651 if (converter->extraInfo != NULL) {
652 /*close the array of converter pointers and free the memory*/
661 if(!converter->isExtraLocal){
662 uprv_free (converter->extraInfo);
663 converter->extraInfo = NULL;
669 _ISO2022Reset(UConverter *converter, UConverterResetChoice choice) {
670 UConverterDataISO2022 *myConverterData=(UConverterDataISO2022 *) (converter->extraInfo);
684 if (converter->mode == UCNV_SO){
688 converter->mode = UCNV_SI;
692 converter->charErrorBufferLength = 3;
693 converter->charErrorBuffer[0] = 0x1b;
694 converter->charErrorBuffer[1] = 0x28;
695 converter->charErrorBuffer[2] = 0x42;
704 setInitialStateToUnicodeKR(converter, myConverterData);
707 setInitialStateFromUnicodeKR(converter, myConverterData);
1232 * ISO-2022 Converter
1247 saveThis = args->converter;
1271 args->converter = myData->currentConverter;
1272 ucnv_toUnicode(args->converter,
1280 args->converter = saveThis;
1329 changeState_2022(args->converter,
1371 * The UConverter_fromUnicode_ISO2022_JP converter does not use ucnv_fromUnicode() functions for SBCS,DBCS and
1373 * The converter iterates over each Unicode codepoint
1375 * processed one char at a time it would make sense to reduce the extra processing a canned converter
1536 * for Shift-JIS so that the converter catches it.
1645 UConverter *cnv = args->converter;
1882 * This is necessary because the sub-converter (windows-949)
2074 myData=(UConverterDataISO2022*)(args->converter->extraInfo);
2080 } else if(args->converter->toULength == 1 && mySource < mySourceLimit && myTarget < args->targetLimit) {
2082 mySourceChar = args->converter->toUBytes[0];
2083 args->converter->toULength = 0;
2125 int8_t toULengthBefore = args->converter->toULength;
2127 changeState_2022(args->converter,&(mySource),
2133 args->converter->toUCallbackReason = UCNV_IRREGULAR;
2134 args->converter->toULength = (int8_t)(toULengthBefore + (mySource - mySourceBefore));
2254 args->converter->toUBytes[0] = (uint8_t)mySourceChar;
2255 args->converter->toULength = 1;
2282 args->converter->UCharErrorBuffer[args->converter->UCharErrorBufferLength++]=
2289 toUnicodeCallback(args->converter,mySourceChar,targetUniChar,err);
2315 UConverter* saveConv = args->converter;
2317 args->converter=myConverterData->currentConverter;
2333 args->converter=saveConv;
2353 converterData=(UConverterDataISO2022*)args->converter->extraInfo;
2356 * MBCS converter and return
2365 useFallback = args->converter->useFallback;
2366 isTargetByteDBCS=(UBool)args->converter->fromUnicodeStatus;
2369 isTargetByteDBCS = (UBool) args->converter->fromUnicodeStatus;
2370 if((sourceChar = args->converter->fromUChar32)!=0 && target <targetLimit) {
2384 args->converter->fromUChar32=sourceChar;
2425 args->converter->charErrorBuffer[args->converter->charErrorBufferLength++] = (unsigned char) (targetByteUnit);
2440 args->converter->charErrorBuffer[args->converter->charErrorBufferLength++] = (unsigned char) (targetByteUnit -0x80);
2444 args->converter->charErrorBuffer[args->converter->charErrorBufferLength++] = (unsigned char) ((targetByteUnit>>8) -0x80);
2445 args->converter->charErrorBuffer[args->converter->charErrorBufferLength++] = (unsigned char) (targetByteUnit-0x80);
2489 args->converter->fromUChar32=sourceChar;
2512 args->flush && source>=sourceLimit && args->converter->fromUChar32==0
2540 args->converter,
2550 args->converter->fromUnicodeStatus = (uint32_t)isTargetByteDBCS;
2559 UConverterDataISO2022* myData=(UConverterDataISO2022*)(args->converter->extraInfo);
2573 subArgs.converter = myData->currentConverter;
2593 * converter, can handle truncated and illegal input etc.
2595 if(args->converter->toULength > 0) {
2596 uprv_memcpy(subArgs.converter->toUBytes, args->converter->toUBytes, args->converter->toULength);
2598 subArgs.converter->toULength = args->converter->toULength;
2625 if(subArgs.converter->toULength > 0) {
2626 uprv_memcpy(args->converter->toUBytes, subArgs.converter->toUBytes, subArgs.converter->toULength);
2628 args->converter->toULength = subArgs.converter->toULength;
2631 if(subArgs.converter->UCharErrorBufferLength > 0) {
2632 uprv_memcpy(args->converter->UCharErrorBuffer, subArgs.converter->UCharErrorBuffer,
2633 subArgs.converter->UCharErrorBufferLength);
2635 args->converter->UCharErrorBufferLength=subArgs.converter->UCharErrorBufferLength;
2636 subArgs.converter->UCharErrorBufferLength = 0;
2645 changeState_2022(args->converter,
2666 myData=(UConverterDataISO2022*)(args->converter->extraInfo);
2674 useFallback = args->converter->useFallback;
2679 } else if(args->converter->toULength == 1 && mySource < mySourceLimit && myTarget < args->targetLimit) {
2681 mySourceChar = args->converter->toUBytes[0];
2682 args->converter->toULength = 0;
2697 args->converter->toUCallbackReason = UCNV_IRREGULAR;
2698 args->converter->toUBytes[0] = (uint8_t)mySourceChar;
2699 args->converter->toULength = 1;
2715 changeState_2022(args->converter,&(mySource),
2758 args->converter->toUBytes[0] = (uint8_t)mySourceChar;
2759 args->converter->toULength = 1;
2776 toUnicodeCallback(args->converter,mySourceChar,targetUniChar,err);
2897 UConverter *cnv = args->converter;
2996 /* try the current SO/G1 converter first */
3007 /* try the other SO/G1 converter; a CNS_11643_1 lookup may result in any plane */
3258 myData=(UConverterDataISO2022*)(args->converter->extraInfo);
3264 } else if(args->converter->toULength == 1 && mySource < mySourceLimit && myTarget < args->targetLimit) {
3266 mySourceChar = args->converter->toUBytes[0];
3267 args->converter->toULength = 0;
3286 args->converter->toUCallbackReason = UCNV_IRREGULAR;
3287 args->converter->toUBytes[0] = mySourceChar;
3288 args->converter->toULength = 1;
3311 int8_t toULengthBefore = args->converter->toULength;
3313 changeState_2022(args->converter,&(mySource),
3319 args->converter->toUCallbackReason = UCNV_IRREGULAR;
3320 args->converter->toULength = (int8_t)(toULengthBefore + (mySource - mySourceBefore));
3394 args->converter->toUBytes[0] = (uint8_t)mySourceChar;
3395 args->converter->toULength = 1;
3427 args->converter->UCharErrorBuffer[args->converter->UCharErrorBufferLength++]=
3434 toUnicodeCallback(args->converter,mySourceChar,targetUniChar,err);
3450 UConverter *cnv = args->converter;
3495 if((UBool)args->converter->fromUnicodeStatus) {
3497 args->converter->fromUnicodeStatus = 0;
3502 if(!(UBool)args->converter->fromUnicodeStatus) {
3504 args->converter->fromUnicodeStatus = 1;
3521 args->converter = myConverterData->currentConverter;
3525 args->converter = cnv;
3553 * Structure for cloning an ISO 2022 converter into a single memory block.
3554 * ucnv_safeClone() of the converter will align the entire cloneStruct,
3555 * and then ucnv_safeClone() of the sub-converter may additionally align
3679 /* there is only one converter for KR, and it is not in the myConverterArray[] */
3682 /* the loop over myConverterArray[] will simply not find another converter */