File tree 1 file changed +9
-8
lines changed
1 file changed +9
-8
lines changed Original file line number Diff line number Diff line change @@ -504,22 +504,23 @@ namespace kiwi
504
504
if (prevPath.ownFormId )
505
505
{
506
506
leftFormFirst = ownForms[prevPath.ownFormId - 1 ].data ();
507
- leftFormLast = ownForms[prevPath. ownFormId - 1 ]. data () + ownForms[0 ].size ();
507
+ leftFormLast = leftFormFirst + ownForms[0 ].size ();
508
508
}
509
- else if (morphBase[prevPath.wid ].kform )
509
+ else if (morphBase[prevPath.wid ].kform && !morphBase[prevPath. wid ]. kform -> empty () )
510
510
{
511
511
leftFormFirst = morphBase[prevPath.wid ].kform ->data ();
512
- leftFormLast = morphBase[prevPath. wid ]. kform -> data () + morphBase[prevPath.wid ].kform ->size ();
512
+ leftFormLast = leftFormFirst + morphBase[prevPath.wid ].kform ->size ();
513
513
}
514
514
else
515
515
{
516
- leftFormFirst = nullptr ;
517
- leftFormLast = nullptr ;
516
+ leftFormFirst = prevPath. morpheme -> getForm (). data () ;
517
+ leftFormLast = leftFormFirst + prevPath. morpheme -> getForm (). size () ;
518
518
}
519
519
520
- CondVowel cvowel = curMorph->vowel ;
521
- CondPolarity cpolar = curMorph->polar ;
522
- if (prevPath.morpheme ->tag == POSTag::ssc)
520
+ const CondVowel cvowel = curMorph->vowel ;
521
+ const CondPolarity cpolar = curMorph->polar ;
522
+ const bool leftFormEndswithSSC = leftFormFirst < leftFormLast && identifySpecialChr (leftFormLast[-1 ]) == POSTag::ssc;
523
+ if (prevPath.morpheme ->tag == POSTag::ssc || leftFormEndswithSSC)
523
524
{
524
525
// 이전 형태소가 닫는 괄호인 경우 좌측 결합조건을 적용하지 않음
525
526
}
You can’t perform that action at this time.
0 commit comments