Lines Matching refs:mbcs
123 * These contain the base table name between the MBCS header and the extension
141 * For more details about old versions of the MBCS data structure, see
290 * MBCS version 2 added:
359 * MBCS version 2 added:
800 * Internal function enumerating the toUnicode data of an MBCS converter.
866 mbcsTable=&sharedData->mbcs;
1067 sharedData->mbcs.outputType==MBCS_OUTPUT_DBCS_ONLY ?
1115 if( (cx=sharedData->mbcs.extIndexes)!=NULL &&
1180 if( (cx=sharedData->mbcs.extIndexes)!=NULL &&
1271 mbcsTable=&sharedData->mbcs;
1551 /* MBCS setup functions ----------------------------------------------------- */
1559 UConverterMBCSTable *mbcsTable=&sharedData->mbcs;
1628 baseSharedData->mbcs.baseSharedData!=NULL
1646 uprv_memcpy(mbcsTable, &baseSharedData->mbcs, sizeof(UConverterMBCSTable));
1677 if(baseSharedData->mbcs.outputType==MBCS_OUTPUT_2_SISO) {
1794 * Check for the header version, SBCS vs. MBCS, and for whether the
1823 * MBCS: Stage 3 is allocated in 64-entry blocks for U+0000..MBCS_FAST_MAX or higher.
1880 UConverterMBCSTable *mbcsTable=&sharedData->mbcs;
1909 mbcsTable=&cnv->sharedData->mbcs;
1991 if((cnv->options&UCNV_OPTION_SWAP_LFNL)!=0 && cnv->sharedData->mbcs.swapLFNLName!=NULL) {
1992 return cnv->sharedData->mbcs.swapLFNLName;
2000 /* MBCS-to-Unicode conversion functions ------------------------------------- */
2057 stateTable=(const int32_t (*)[256])cnv->sharedData->mbcs.swapLFNLStateTable;
2059 stateTable=cnv->sharedData->mbcs.stateTable;
2208 stateTable=(const int32_t (*)[256])cnv->sharedData->mbcs.swapLFNLStateTable;
2210 stateTable=cnv->sharedData->mbcs.stateTable;
2501 if(cnv->sharedData->mbcs.countStates==1) {
2502 if(!(cnv->sharedData->mbcs.unicodeMask&UCNV_HAS_SUPPLEMENTARY)) {
2518 stateTable=(const int32_t (*)[256])cnv->sharedData->mbcs.swapLFNLStateTable;
2520 stateTable=cnv->sharedData->mbcs.stateTable;
2522 unicodeCodeUnits=cnv->sharedData->mbcs.unicodeCodeUnits;
2531 * then load the DBCS state from the MBCS data
2535 state=cnv->sharedData->mbcs.dbcsOnlyState;
2689 if(UCNV_TO_U_USE_FALLBACK(cnv) && (entry=(int32_t)ucnv_MBCSGetFallback(&cnv->sharedData->mbcs, offset))!=0xfffe) {
2783 if(cnv->sharedData->mbcs.dbcsOnlyState==0) {
2825 UBool isDBCSOnly=(UBool)(cnv->sharedData->mbcs.dbcsOnlyState!=0);
2895 stateTable=(const int32_t (*)[256])cnv->sharedData->mbcs.swapLFNLStateTable;
2897 stateTable=cnv->sharedData->mbcs.stateTable;
2989 if(cnv->sharedData->mbcs.unicodeMask&UCNV_HAS_SURROGATES) {
2996 } else if(cnv->sharedData->mbcs.countStates==1) {
3005 stateTable=(const int32_t (*)[256])cnv->sharedData->mbcs.swapLFNLStateTable;
3007 stateTable=cnv->sharedData->mbcs.stateTable;
3009 unicodeCodeUnits=cnv->sharedData->mbcs.unicodeCodeUnits;
3016 * then load the DBCS state from the MBCS data
3020 state=cnv->sharedData->mbcs.dbcsOnlyState;
3065 if(UCNV_TO_U_USE_FALLBACK(cnv) && (c=ucnv_MBCSGetFallback(&cnv->sharedData->mbcs
3104 if(cnv->sharedData->mbcs.dbcsOnlyState!=0) {
3162 UBool isDBCSOnly=(UBool)(cnv->sharedData->mbcs.dbcsOnlyState!=0);
3210 entry=sharedData->mbcs.stateTable[0][b];
3284 * conversions, i.e., that sharedData->mbcs.countStates==1 is still true.
3288 if(sharedData->mbcs.countStates==1) {
3298 stateTable=sharedData->mbcs.stateTable;
3299 unicodeCodeUnits=sharedData->mbcs.unicodeCodeUnits;
3303 state=sharedData->mbcs.dbcsOnlyState;
3327 c=ucnv_MBCSGetFallback(&sharedData->mbcs, offset);
3392 const int32_t *cx=sharedData->mbcs.extIndexes;
3401 /* MBCS-from-Unicode conversion functions ----------------------------------- */
3428 unicodeMask=cnv->sharedData->mbcs.unicodeMask;
3437 table=cnv->sharedData->mbcs.fromUnicodeTable;
3438 mbcsIndex=cnv->sharedData->mbcs.mbcsIndex;
3440 bytes=cnv->sharedData->mbcs.swapLFNLFromUnicodeBytes;
3442 bytes=cnv->sharedData->mbcs.fromUnicodeBytes;
3444 asciiRoundtrips=cnv->sharedData->mbcs.asciiRoundtrips;
3663 table=cnv->sharedData->mbcs.fromUnicodeTable;
3665 results=(uint16_t *)cnv->sharedData->mbcs.swapLFNLFromUnicodeBytes;
3667 results=(uint16_t *)cnv->sharedData->mbcs.fromUnicodeBytes;
3677 hasSupplementary=(UBool)(cnv->sharedData->mbcs.unicodeMask&UCNV_HAS_SUPPLEMENTARY);
3810 * for various MBCS and SBCS optimizations.
3839 table=cnv->sharedData->mbcs.fromUnicodeTable;
3841 results=(uint16_t *)cnv->sharedData->mbcs.swapLFNLFromUnicodeBytes;
3843 results=(uint16_t *)cnv->sharedData->mbcs.fromUnicodeBytes;
3845 asciiRoundtrips=cnv->sharedData->mbcs.asciiRoundtrips;
4112 outputType=cnv->sharedData->mbcs.outputType;
4113 unicodeMask=cnv->sharedData->mbcs.unicodeMask;
4121 } else if(outputType==MBCS_OUTPUT_2 && cnv->sharedData->mbcs.utf8Friendly) {
4133 table=cnv->sharedData->mbcs.fromUnicodeTable;
4134 if(cnv->sharedData->mbcs.utf8Friendly) {
4135 mbcsIndex=cnv->sharedData->mbcs.mbcsIndex;
4140 bytes=cnv->sharedData->mbcs.swapLFNLFromUnicodeBytes;
4142 bytes=cnv->sharedData->mbcs.fromUnicodeBytes;
4144 asciiRoundtrips=cnv->sharedData->mbcs.asciiRoundtrips;
4847 if(c<=0xffff || (sharedData->mbcs.unicodeMask&UCNV_HAS_SUPPLEMENTARY)) {
4848 table=sharedData->mbcs.fromUnicodeTable;
4851 if(sharedData->mbcs.outputType==MBCS_OUTPUT_1) {
4852 value=MBCS_SINGLE_RESULT_FROM_U(table, (uint16_t *)sharedData->mbcs.fromUnicodeBytes, c);
4862 switch(sharedData->mbcs.outputType) {
4864 value=MBCS_VALUE_2_FROM_STAGE_2(sharedData->mbcs.fromUnicodeBytes, stage2Entry, c);
4875 value=MBCS_VALUE_2_FROM_STAGE_2(sharedData->mbcs.fromUnicodeBytes, stage2Entry, c);
4885 p=MBCS_POINTER_3_FROM_STAGE_2(sharedData->mbcs.fromUnicodeBytes, stage2Entry, c);
4896 value=MBCS_VALUE_4_FROM_STAGE_2(sharedData->mbcs.fromUnicodeBytes, stage2Entry, c);
4908 value=MBCS_VALUE_2_FROM_STAGE_2(sharedData->mbcs.fromUnicodeBytes, stage2Entry, c);
4923 p=MBCS_POINTER_3_FROM_STAGE_2(sharedData->mbcs.fromUnicodeBytes, stage2Entry, c);
4962 cx=sharedData->mbcs.extIndexes;
4994 if(c>=0x10000 && !(sharedData->mbcs.unicodeMask&UCNV_HAS_SUPPLEMENTARY)) {
4999 table=sharedData->mbcs.fromUnicodeTable;
5002 value=MBCS_SINGLE_RESULT_FROM_U(table, (uint16_t *)sharedData->mbcs.fromUnicodeBytes, c);
5012 /* MBCS-from-UTF-8 conversion functions ------------------------------------- */
5051 table=cnv->sharedData->mbcs.fromUnicodeTable;
5052 sbcsIndex=cnv->sharedData->mbcs.sbcsIndex;
5054 results=(uint16_t *)cnv->sharedData->mbcs.swapLFNLFromUnicodeBytes;
5056 results=(uint16_t *)cnv->sharedData->mbcs.fromUnicodeBytes;
5058 asciiRoundtrips=cnv->sharedData->mbcs.asciiRoundtrips;
5067 hasSupplementary=(UBool)(cnv->sharedData->mbcs.unicodeMask&UCNV_HAS_SUPPLEMENTARY);
5358 table=cnv->sharedData->mbcs.fromUnicodeTable;
5359 mbcsIndex=cnv->sharedData->mbcs.mbcsIndex;
5361 results=(uint16_t *)cnv->sharedData->mbcs.swapLFNLFromUnicodeBytes;
5363 results=(uint16_t *)cnv->sharedData->mbcs.fromUnicodeBytes;
5365 asciiRoundtrips=cnv->sharedData->mbcs.asciiRoundtrips;
5367 hasSupplementary=(UBool)(cnv->sharedData->mbcs.unicodeMask&UCNV_HAS_SUPPLEMENTARY);
5647 state0=cnv->sharedData->mbcs.stateTable[cnv->sharedData->mbcs.dbcsOnlyState];
5660 return (UBool)MBCS_ENTRY_IS_TRANSITION(sharedData->mbcs.stateTable[0][(uint8_t)byte]);
5674 (cnv->sharedData->mbcs.extIndexes!=NULL ?
5678 /* select subChar1 if it is set (not 0) and the unmappable Unicode code point is up to U+00ff (IBM MBCS behavior) */
5690 if (cnv->sharedData->mbcs.outputType == MBCS_OUTPUT_2_SISO) {
5725 /* SBCS, DBCS, and EBCDIC_STATEFUL are replaced by MBCS, but here we cheat a little */
5726 if(converter->sharedData->mbcs.countStates==1) {
5728 } else if((converter->sharedData->mbcs.outputType&0xff)==MBCS_OUTPUT_2_SISO) {