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]))); }
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()); } }
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); } }