From: minho.sun Date: Wed, 24 Jan 2018 11:42:38 +0000 (+0900) Subject: [4.0] new linebreak patch X-Git-Tag: accepted/tizen/4.0/unified/20180131.050214~2^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=9ce91d2be213c920a53cff724e74aa0536ba0eb6;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git [4.0] new linebreak patch Change-Id: I17a3d412aa9268924cc39ae3737b29681282148d Signed-off-by: minho.sun --- 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; }