Exemplo n.º 1
0
 private bool IsPunctuation(UChar letter)
 {
     return
         (CC.Cl01(letter) || CC.Cl02(letter) || CC.Cl03(letter) ||
          CC.Cl04(letter) || CC.Cl05(letter) || CC.Cl06(letter) ||
          CC.Cl07(letter));
 }
 private bool IsPunctuation(string letter)
 {
     return(letter.Length == 1 &&
            (CC.Cl01(letter[0]) || CC.Cl02(letter[0]) || CC.Cl03(letter[0]) ||
             CC.Cl04(letter[0]) || CC.Cl05(letter[0]) || CC.Cl06(letter[0]) ||
             CC.Cl07(letter[0])));
 }
Exemplo n.º 3
0
 public GlueProperty LineTailGlueJP(UChar letter, float zwSize)
 {
     if (CC.Cl07(letter) || CC.Cl06(letter) || CC.Cl02(letter))
     {
         var toCancel = LengthJPByZw(letter, zwSize);
         return(new GlueProperty(-toCancel, toCancel + 0.5F * zwSize, 0F));
         //TODO: 行末は指定のアキかベタ組かどちらか。またほかのアキより優先的に詰める。データ型と UnjustfiedLine のデータ構造変更。
         //TODO: 前項目の修正はぶら下げも実現できるように
     }
     else if (CC.Cl05(letter))
     {
         var length = 0.25F * zwSize;
         return(new GlueProperty(length, 0, length));
     }
     else
     {
         return(new GlueProperty());
     }
 }
Exemplo n.º 4
0
 public static SpaceType GetSpaceType(this UChar letter)
 {
     if (CC.Cl07(letter) || CC.Cl06(letter) || CC.Cl02(letter))
     {
         return(SpaceType.Closing);
     }
     else if (CC.Cl01(letter))
     {
         return(SpaceType.Opening);
     }
     else if (CC.Cl04(letter))
     {
         return(SpaceType.DividingPunctuation);
     }
     else if (CC.Cl05(letter))
     {
         return(SpaceType.MiddleDots);
     }
     else
     {
         return(SpaceType.Normal);
     }
 }