| OLD | NEW |
| 1 /* | 1 /* |
| 2 ****************************************************************************** | 2 ****************************************************************************** |
| 3 * | 3 * |
| 4 * Copyright (C) 1999-2013, International Business Machines | 4 * Copyright (C) 1999-2013, International Business Machines |
| 5 * Corporation and others. All Rights Reserved. | 5 * Corporation and others. All Rights Reserved. |
| 6 * | 6 * |
| 7 ****************************************************************************** | 7 ****************************************************************************** |
| 8 * file name: ubidi.c | 8 * file name: ubidi.c |
| 9 * encoding: US-ASCII | 9 * encoding: US-ASCII |
| 10 * tab size: 8 (not used) | 10 * tab size: 8 (not used) |
| (...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 664 bracketInit(UBiDi *pBiDi, BracketData *bd) { | 664 bracketInit(UBiDi *pBiDi, BracketData *bd) { |
| 665 bd->pBiDi=pBiDi; | 665 bd->pBiDi=pBiDi; |
| 666 bd->isoRunLast=0; | 666 bd->isoRunLast=0; |
| 667 bd->isoRuns[0].start=0; | 667 bd->isoRuns[0].start=0; |
| 668 bd->isoRuns[0].limit=0; | 668 bd->isoRuns[0].limit=0; |
| 669 bd->isoRuns[0].level=GET_PARALEVEL(pBiDi, 0); | 669 bd->isoRuns[0].level=GET_PARALEVEL(pBiDi, 0); |
| 670 bd->isoRuns[0].lastStrong=bd->isoRuns[0].contextDir=GET_PARALEVEL(pBiDi, 0)&
1; | 670 bd->isoRuns[0].lastStrong=bd->isoRuns[0].contextDir=GET_PARALEVEL(pBiDi, 0)&
1; |
| 671 bd->isoRuns[0].lastStrongPos=bd->isoRuns[0].contextPos=0; | 671 bd->isoRuns[0].lastStrongPos=bd->isoRuns[0].contextPos=0; |
| 672 if(pBiDi->openingsMemory) { | 672 if(pBiDi->openingsMemory) { |
| 673 bd->openings=pBiDi->openingsMemory; | 673 bd->openings=pBiDi->openingsMemory; |
| 674 bd->openingsSize=pBiDi->openingsSize; | 674 bd->openingsCount=pBiDi->openingsSize / sizeof(Opening); |
| 675 } else { | 675 } else { |
| 676 bd->openings=bd->simpleOpenings; | 676 bd->openings=bd->simpleOpenings; |
| 677 bd->openingsSize=SIMPLE_OPENINGS_SIZE; | 677 bd->openingsCount=SIMPLE_OPENINGS_SIZE; |
| 678 } | 678 } |
| 679 bd->isNumbersSpecial=bd->pBiDi->reorderingMode==UBIDI_REORDER_NUMBERS_SPECIA
L || | 679 bd->isNumbersSpecial=bd->pBiDi->reorderingMode==UBIDI_REORDER_NUMBERS_SPECIA
L || |
| 680 bd->pBiDi->reorderingMode==UBIDI_REORDER_INVERSE_FOR_NU
MBERS_SPECIAL; | 680 bd->pBiDi->reorderingMode==UBIDI_REORDER_INVERSE_FOR_NU
MBERS_SPECIAL; |
| 681 } | 681 } |
| 682 | 682 |
| 683 /* paragraph boundary */ | 683 /* paragraph boundary */ |
| 684 static void | 684 static void |
| 685 bracketProcessB(BracketData *bd, UBiDiLevel level) { | 685 bracketProcessB(BracketData *bd, UBiDiLevel level) { |
| 686 bd->isoRunLast=0; | 686 bd->isoRunLast=0; |
| 687 bd->isoRuns[0].limit=0; | 687 bd->isoRuns[0].limit=0; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 725 static void | 725 static void |
| 726 bracketProcessPDI(BracketData *bd) { | 726 bracketProcessPDI(BracketData *bd) { |
| 727 bd->isoRunLast--; | 727 bd->isoRunLast--; |
| 728 } | 728 } |
| 729 | 729 |
| 730 /* newly found opening bracket: create an openings entry */ | 730 /* newly found opening bracket: create an openings entry */ |
| 731 static UBool /* return TRUE if success */ | 731 static UBool /* return TRUE if success */ |
| 732 bracketAddOpening(BracketData *bd, UChar match, int32_t position) { | 732 bracketAddOpening(BracketData *bd, UChar match, int32_t position) { |
| 733 IsoRun *pLastIsoRun=&bd->isoRuns[bd->isoRunLast]; | 733 IsoRun *pLastIsoRun=&bd->isoRuns[bd->isoRunLast]; |
| 734 Opening *pOpening; | 734 Opening *pOpening; |
| 735 if(pLastIsoRun->limit>=bd->openingsSize) { /* no available new entry */ | 735 if(pLastIsoRun->limit>=bd->openingsCount) { /* no available new entry */ |
| 736 UBiDi *pBiDi=bd->pBiDi; | 736 UBiDi *pBiDi=bd->pBiDi; |
| 737 if(!getInitialOpeningsMemory(pBiDi, pLastIsoRun->limit * 2)) | 737 if(!getInitialOpeningsMemory(pBiDi, pLastIsoRun->limit * 2)) |
| 738 return FALSE; | 738 return FALSE; |
| 739 if(bd->openings==bd->simpleOpenings) | 739 if(bd->openings==bd->simpleOpenings) |
| 740 uprv_memcpy(pBiDi->openingsMemory, bd->simpleOpenings, | 740 uprv_memcpy(pBiDi->openingsMemory, bd->simpleOpenings, |
| 741 SIMPLE_OPENINGS_SIZE * sizeof(Opening)); | 741 SIMPLE_OPENINGS_SIZE * sizeof(Opening)); |
| 742 bd->openings=pBiDi->openingsMemory; /* may have changed */ | 742 bd->openings=pBiDi->openingsMemory; /* may have changed */ |
| 743 bd->openingsSize=pBiDi->openingsSize; | 743 bd->openingsCount=pBiDi->openingsSize / sizeof(Opening); |
| 744 } | 744 } |
| 745 pOpening=&bd->openings[pLastIsoRun->limit]; | 745 pOpening=&bd->openings[pLastIsoRun->limit]; |
| 746 pOpening->position=position; | 746 pOpening->position=position; |
| 747 pOpening->match=match; | 747 pOpening->match=match; |
| 748 pOpening->contextDir=pLastIsoRun->contextDir; | 748 pOpening->contextDir=pLastIsoRun->contextDir; |
| 749 pOpening->contextPos=pLastIsoRun->contextPos; | 749 pOpening->contextPos=pLastIsoRun->contextPos; |
| 750 pOpening->flags=0; | 750 pOpening->flags=0; |
| 751 pLastIsoRun->limit++; | 751 pLastIsoRun->limit++; |
| 752 return TRUE; | 752 return TRUE; |
| 753 } | 753 } |
| (...skipping 2154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2908 if( pBiDi->fnClassCallback == NULL || | 2908 if( pBiDi->fnClassCallback == NULL || |
| 2909 (dir = (*pBiDi->fnClassCallback)(pBiDi->coClassCallback, c)) == U_BIDI_C
LASS_DEFAULT ) | 2909 (dir = (*pBiDi->fnClassCallback)(pBiDi->coClassCallback, c)) == U_BIDI_C
LASS_DEFAULT ) |
| 2910 { | 2910 { |
| 2911 dir = ubidi_getClass(pBiDi->bdp, c); | 2911 dir = ubidi_getClass(pBiDi->bdp, c); |
| 2912 } | 2912 } |
| 2913 if(dir >= U_CHAR_DIRECTION_COUNT) { | 2913 if(dir >= U_CHAR_DIRECTION_COUNT) { |
| 2914 dir = ON; | 2914 dir = ON; |
| 2915 } | 2915 } |
| 2916 return dir; | 2916 return dir; |
| 2917 } | 2917 } |
| OLD | NEW |