X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=text%2Fdali%2Finternal%2Flibunibreak%2Flinebreak.c;h=625d97279729ac3f2975088cd65ac7a45252f6cc;hb=9ce91d2be213c920a53cff724e74aa0536ba0eb6;hp=62a81046fce75722fa4dd5f6eaec16c70403d2e4;hpb=f24e809c01d38b610f7c6b19f75ce2b43b650a73;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/text/dali/internal/libunibreak/linebreak.c b/text/dali/internal/libunibreak/linebreak.c index 62a8104..625d972 100644 --- a/text/dali/internal/libunibreak/linebreak.c +++ b/text/dali/internal/libunibreak/linebreak.c @@ -535,7 +535,38 @@ static int get_lb_result_lookup( int brk = LINEBREAK_UNDEFINED; assert((lbpCtx->lbcCur > 0) && (lbpCtx->lbcCur <= LBP_RI)); assert((lbpCtx->lbcNew > 0) && (lbpCtx->lbcNew <= LBP_RI)); - switch (baTable[lbpCtx->lbcCur - 1][lbpCtx->lbcNew - 1]) + + enum LineBreakClass lbcCur, lbcNew; + + switch (lbpCtx->lbcCur) + { + case LBP_H2: /**< Hangul LV */ + case LBP_H3: /**< Hangul LVT */ + case LBP_JL: /**< Hangul L Jamo */ + case LBP_JV: /**< Hangul V Jamo */ + case LBP_JT: /**< Hangul T Jamo */ + lbcCur = LBP_AL; + break; + default: + lbcCur = lbpCtx->lbcCur; + break; + } + + switch (lbpCtx->lbcNew) + { + case LBP_H2: /**< Hangul LV */ + case LBP_H3: /**< Hangul LVT */ + case LBP_JL: /**< Hangul L Jamo */ + case LBP_JV: /**< Hangul V Jamo */ + case LBP_JT: /**< Hangul T Jamo */ + lbcNew = LBP_AL; + break; + default: + lbcNew = lbpCtx->lbcNew; + break; + } + + switch (baTable[lbcCur - 1][lbcNew - 1]) { case DIR_BRK: brk = LINEBREAK_ALLOWBREAK; @@ -555,6 +586,7 @@ static int get_lb_result_lookup( brk = LINEBREAK_NOBREAK; break; } + lbpCtx->lbcCur = lbpCtx->lbcNew; return brk; }