257 references to DirectionClass
PresentationCore (257)
Core\CSharp\MS\Internal\TextFormatting\Bidi.cs (225)
84
CharProperty = new byte[6, (int)
DirectionClass
.ClassMax - 1]
95
ClassToState = new StateMachineState[(int)
DirectionClass
.ClassMax]
126
FastPathClass = new byte[(int)
DirectionClass
.ClassMax]
504
ref
DirectionClass
strongClass,
505
ref
DirectionClass
numberClass)
508
DirectionClass
currentClass;
526
if (currentClass ==
DirectionClass
.ParagraphSeparator)
533
if (numberClass ==
DirectionClass
.ClassInvalid )
538
if (currentClass !=
DirectionClass
.EuropeanNumber)
563
NumberClass =
DirectionClass
.Left;
564
StrongCharClass =
DirectionClass
.Left;
573
public virtual
DirectionClass
LastStrongClass
582
public virtual
DirectionClass
LastNumberClass
622
protected
DirectionClass
NumberClass;
626
protected
DirectionClass
StrongCharClass;
652
ref
DirectionClass
strongClass)
654
DirectionClass
currentClass =
DirectionClass
.ClassInvalid;
670
if (CharProperty[0, (int) currentClass]==1 || currentClass ==
DirectionClass
.ParagraphSeparator)
686
IList<
DirectionClass
> characterClass, // [IN / OUT]
689
DirectionClass
startClass, // [IN]
690
DirectionClass
endClass, // [IN]
694
DirectionClass
startType;
695
DirectionClass
endType;
696
DirectionClass
resolutionType;
705
Debug.Assert(CharProperty[1, (int) startClass]==1 || (startClass ==
DirectionClass
.ArabicLetter),
710
startType = ((startClass ==
DirectionClass
.EuropeanNumber) ||
711
(startClass ==
DirectionClass
.ArabicNumber) ||
712
(startClass ==
DirectionClass
.ArabicLetter)) ?
DirectionClass
.Right : startClass;
714
endType = ((endClass ==
DirectionClass
.EuropeanNumber) ||
715
(endClass ==
DirectionClass
.ArabicNumber) ||
716
(endClass ==
DirectionClass
.ArabicLetter)) ?
DirectionClass
.Right : endClass;
724
resolutionType = Helper.IsOdd(runLevel) ?
DirectionClass
.Right :
DirectionClass
.Left;
741
IList<
DirectionClass
> characterClass, // [IN / OUT]
744
DirectionClass
newClass // [IN]
763
IList<
DirectionClass
> characterClass, // [IN / OUT]
766
DirectionClass
sor, // [IN]
767
DirectionClass
eor, // [IN]
777
DirectionClass
lastClass =
DirectionClass
.ClassInvalid;
778
DirectionClass
lastStrongClass =
DirectionClass
.ClassInvalid;
779
DirectionClass
lastNumericClass =
DirectionClass
.ClassInvalid;
780
DirectionClass
startingClass =
DirectionClass
.ClassInvalid;
781
DirectionClass
currentClass =
DirectionClass
.ClassInvalid;
796
if (stateIn.LastNumberClass !=
DirectionClass
.ClassInvalid)
810
startingClass =
DirectionClass
.ArabicLetter;
873
if (currentClass ==
DirectionClass
.ArabicLetter)
875
characterClass[counter + classIndex] =
DirectionClass
.Right;
885
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
892
if ((currentClass !=
DirectionClass
.ArabicNumber) ||
893
((currentClass ==
DirectionClass
.ArabicNumber) &&
894
(lastStrongClass ==
DirectionClass
.Right)))
899
if ((currentClass ==
DirectionClass
.ArabicNumber) &&
900
(lastStrongClass ==
DirectionClass
.Left))
923
if (currentClass ==
DirectionClass
.ArabicLetter)
925
characterClass[counter + classIndex] =
DirectionClass
.Right;
931
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
937
if ((currentClass !=
DirectionClass
.ArabicNumber) ||
938
((currentClass ==
DirectionClass
.ArabicNumber) &&
939
(lastStrongClass ==
DirectionClass
.Right)))
944
if ((currentClass ==
DirectionClass
.ArabicNumber) &&
945
(lastStrongClass ==
DirectionClass
.Left))
969
if (currentClass ==
DirectionClass
.ArabicLetter)
972
characterClass[counter + classIndex] =
DirectionClass
.Right;
975
if (((lastStrongClass ==
DirectionClass
.ArabicLetter) || previousClassIsArabic) &&
976
((currentClass ==
DirectionClass
.EuropeanNumber && (flags & Flags.OverrideEuropeanNumberResolution) == 0) ||
977
(currentClass ==
DirectionClass
.ArabicNumber)))
980
characterClass[counter + classIndex] =
DirectionClass
.ArabicNumber;
986
if (characterClass[i + classIndex] !=
DirectionClass
.CommonSeparator &&
987
characterClass[i + classIndex] !=
DirectionClass
.BoundaryNeutral)
993
if (characterClass[i + classIndex] ==
DirectionClass
.CommonSeparator )
1011
else if ((lastStrongClass ==
DirectionClass
.Left) &&
1012
(currentClass ==
DirectionClass
.EuropeanNumber))
1015
characterClass[counter + classIndex] =
DirectionClass
.Left;
1025
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
1032
if ((currentClass !=
DirectionClass
.ArabicNumber) ||
1033
((currentClass ==
DirectionClass
.ArabicNumber) &&
1034
(lastStrongClass ==
DirectionClass
.Right)))
1036
if (!(((lastStrongClass ==
DirectionClass
.Left) ||
1037
(lastStrongClass ==
DirectionClass
.ArabicLetter)) &&
1038
(currentClass ==
DirectionClass
.EuropeanNumber)))
1044
if ((currentClass ==
DirectionClass
.ArabicNumber) &&
1045
(lastStrongClass ==
DirectionClass
.Left))
1056
if (characterClass[counter + classIndex] ==
DirectionClass
.ArabicNumber)
1058
currentClass =
DirectionClass
.ArabicNumber;
1069
if (currentClass ==
DirectionClass
.ArabicLetter)
1071
characterClass[counter + classIndex] =
DirectionClass
.Right;
1077
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
1083
if ((currentClass !=
DirectionClass
.ArabicNumber) ||
1084
((currentClass ==
DirectionClass
.ArabicNumber) &&
1085
(lastStrongClass ==
DirectionClass
.Right)))
1090
if ((currentClass ==
DirectionClass
.ArabicNumber) &&
1091
(lastStrongClass ==
DirectionClass
.Left))
1109
((lastStrongClass ==
DirectionClass
.ArabicLetter) ||
1114
characterClass[counter + classIndex] =
DirectionClass
.ArabicNumber;
1115
currentClass =
DirectionClass
.ArabicNumber;
1117
else if (lastStrongClass ==
DirectionClass
.Left)
1120
characterClass[counter + classIndex] =
DirectionClass
.Left;
1126
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
1177
lastClass =
DirectionClass
.GenericNeutral;
1193
lastClass =
DirectionClass
.GenericNeutral;
1220
lastClass =
DirectionClass
.GenericNeutral;
1228
Debug.Assert(lastClass ==
DirectionClass
.EuropeanTerminator,
1256
if (!((lastStrongClass ==
DirectionClass
.ArabicLetter) || previousClassIsArabic))
1258
if (lastStrongClass ==
DirectionClass
.Left)
1260
characterClass[counter + classIndex] =
DirectionClass
.Left;
1264
characterClass[counter + classIndex] =
DirectionClass
.EuropeanNumber;
1274
lastClass =
DirectionClass
.EuropeanNumber;
1280
(characterClass[counter + 1 + classIndex] ==
DirectionClass
.EuropeanSeparator||
1281
characterClass[counter + 1 + classIndex] ==
DirectionClass
.CommonSeparator))
1283
characterClass[counter + 1 + classIndex] =
DirectionClass
.GenericNeutral;
1313
if ((lastStrongClass ==
DirectionClass
.ArabicLetter) ||
1318
characterClass[counter + classIndex] =
DirectionClass
.ArabicNumber;
1321
else if (lastStrongClass ==
DirectionClass
.Left)
1323
characterClass[counter + classIndex] =
DirectionClass
.Left;
1345
if (lastStrongClass ==
DirectionClass
.Left)
1347
characterClass[counter + classIndex] =
DirectionClass
.Left;
1357
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
1373
(lastStrongClass ==
DirectionClass
.ArabicLetter || previousClassIsArabic)
1377
characterClass[counter + classIndex] =
DirectionClass
.ArabicNumber;
1378
currentClass =
DirectionClass
.ArabicNumber;
1380
else if (lastStrongClass ==
DirectionClass
.Left)
1382
characterClass[counter + classIndex] =
DirectionClass
.Left;
1392
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
1399
if ( (currentClass ==
DirectionClass
.ArabicNumber) &&
1400
(lastStrongClass ==
DirectionClass
.Left))
1421
characterClass[counter + classIndex] =
DirectionClass
.ArabicNumber;
1438
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
1453
if ((lastStrongClass ==
DirectionClass
.ArabicLetter) ||
1459
characterClass[counter + classIndex] =
DirectionClass
.ArabicNumber;
1460
currentClass =
DirectionClass
.ArabicNumber;
1468
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
1477
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
1482
else if (lastStrongClass ==
DirectionClass
.Left)
1484
characterClass[counter + classIndex] =
DirectionClass
.Left;
1496
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
1507
DirectionClass
.EuropeanNumber);
1514
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
1533
if ((lastStrongClass ==
DirectionClass
.ArabicLetter))
1535
if (lastClass ==
DirectionClass
.EuropeanNumber)
1542
characterClass[counter + classIndex] =
DirectionClass
.ArabicNumber;
1547
characterClass[counter + classIndex] =
DirectionClass
.EuropeanNumber;
1550
else if (lastClass !=
DirectionClass
.ArabicNumber)
1553
characterClass[counter + classIndex] =
DirectionClass
.Right;
1558
characterClass[counter + classIndex] =
DirectionClass
.ArabicNumber;
1564
|| lastClass ==
DirectionClass
.ArabicNumber ?
1565
DirectionClass
.ArabicNumber :
1566
lastClass==
DirectionClass
.EuropeanNumber &&
1567
lastStrongClass !=
DirectionClass
.Left
1568
?
DirectionClass
.EuropeanNumber : lastStrongClass;
1657
ArabicNumberAfterLeft ?
DirectionClass
.ArabicNumber : lastStrongClass,
1666
IList<
DirectionClass
> characterClass, // [IN / OUT]
1698
DirectionClass
directionClass;
1701
if (directionClass ==
DirectionClass
.ParagraphSeparator ||
1702
directionClass ==
DirectionClass
.SegmentSeparator)
1738
DirectionClass
[] characterClass = new
DirectionClass
[cchText];
1750
new PartialArray<
DirectionClass
>(characterClass),
1763
IList<
DirectionClass
> characterClass, // [IN/OUT] direction class of each char
1767
DirectionClass
tempClass;
1879
if (
DirectionClass
.ParagraphSeparator != Classification.CharAttributeOf((int) Classification.GetUnicodeClass(codePoint)).BiDi)
1905
case
DirectionClass
.Left:
1906
case
DirectionClass
.Right:
1907
case
DirectionClass
.ArabicNumber:
1908
case
DirectionClass
.ArabicLetter:
1913
case
DirectionClass
.EuropeanNumber:
1950
DirectionClass
firstStrong =
DirectionClass
.ClassInvalid;
1954
if (firstStrong !=
DirectionClass
.Left)
1983
DirectionClass
lastStrongClass;
1993
lastStrongClass =
DirectionClass
.Right;
2003
lastStrongClass =
DirectionClass
.Left;
2020
DirectionClass
hiddenCharClass =
DirectionClass
.GenericNeutral;
2038
if ( hiddenCharClass ==
DirectionClass
.EuropeanNumber
2070
if (tempClass !=
DirectionClass
.EuropeanSeparator && tempClass !=
DirectionClass
.CommonSeparator)
2071
characterClass[counter] =
DirectionClass
.GenericNeutral;
2179
DirectionClass
currentClass;
2192
case
DirectionClass
.ParagraphSeparator:
2207
goto case
DirectionClass
.OtherNeutral;
2213
case
DirectionClass
.SegmentSeparator:
2214
case
DirectionClass
.WhiteSpace:
2215
case
DirectionClass
.OtherNeutral:
2216
characterClass[counter] =
DirectionClass
.GenericNeutral;
2218
if (counter>0 && characterClass[counter-1] ==
DirectionClass
.BoundaryNeutral)
2229
case
DirectionClass
.LeftToRightEmbedding:
2230
case
DirectionClass
.RightToLeftEmbedding:
2231
characterClass[counter] =
DirectionClass
.BoundaryNeutral;
2239
if(!levelsStack.Push(currentClass ==
DirectionClass
.LeftToRightEmbedding ? true : false))
2258
case
DirectionClass
.LeftToRightOverride:
2259
case
DirectionClass
.RightToLeftOverride:
2260
characterClass[counter] =
DirectionClass
.BoundaryNeutral;
2265
if(!levelsStack.Push(currentClass ==
DirectionClass
.LeftToRightOverride ? true : false))
2275
overrideClass = (currentClass ==
DirectionClass
.LeftToRightOverride) ?
2288
case
DirectionClass
.PopDirectionalFormat:
2289
characterClass[counter] =
DirectionClass
.BoundaryNeutral;
2333
if ( currentClass ==
DirectionClass
.EuropeanNumber
2339
Invariant.Assert(characterClass[counter] ==
DirectionClass
.ArabicNumber || characterClass[counter] ==
DirectionClass
.EuropeanNumber);
2350
DirectionClass
.Left :
DirectionClass
.Right;
2353
if (counter>0 && characterClass[counter-1]==
DirectionClass
.BoundaryNeutral)
2400
DirectionClass
sor;
2401
DirectionClass
eor;
2431
DirectionClass
.Right :
DirectionClass
.Left;
2436
DirectionClass
.Right :
DirectionClass
.Left;
2446
DirectionClass
.Right :
DirectionClass
.Left;
2455
characterClass[runLimits[runNumber]] ==
DirectionClass
.BoundaryNeutral)
2461
DirectionClass
.Right :
DirectionClass
.Left;
2519
state.LastStrongClass =
DirectionClass
.Right;
2520
state.LastNumberClass =
DirectionClass
.Right;
2525
state.LastStrongClass =
DirectionClass
.Left;
2526
state.LastNumberClass =
DirectionClass
.Left;
Core\CSharp\MS\Internal\TextFormatting\SimpleTextLine.cs (1)
1975
return Classification.CharAttributeOf(charClass).BiDi ==
DirectionClass
.WhiteSpace;
Core\CSharp\MS\Internal\TextFormatting\TextStore.cs (30)
916
DirectionClass
[] directionClasses = new
DirectionClass
[stringLength];
943
DirectionClass
europeanNumberOverride = _bidiState.GetEuropeanNumberClassOverride(culture);
990
new PartialArray<
DirectionClass
>(directionClasses, resolvedLength, ich - resolvedLength),
2535
NumberClass =
DirectionClass
.ClassInvalid;
2536
StrongCharClass =
DirectionClass
.ClassInvalid;
2571
LastStrongClass =
DirectionClass
.Left;
2572
LastNumberClass =
DirectionClass
.Left;
2576
LastStrongClass =
DirectionClass
.ArabicLetter;
2577
LastNumberClass =
DirectionClass
.ArabicNumber;
2590
public override
DirectionClass
LastNumberClass
2594
if (this.NumberClass ==
DirectionClass
.ClassInvalid )
2609
public override
DirectionClass
LastStrongClass
2613
if (this.StrongCharClass ==
DirectionClass
.ClassInvalid)
2633
DirectionClass
strongClass =
DirectionClass
.ClassInvalid;
2634
DirectionClass
numberClass =
DirectionClass
.ClassInvalid;
2660
if (strongClass !=
DirectionClass
.ClassInvalid)
2664
if (this.NumberClass ==
DirectionClass
.ClassInvalid)
2666
if (numberClass ==
DirectionClass
.EuropeanNumber)
2691
if(strongClass ==
DirectionClass
.ClassInvalid)
2693
this.StrongCharClass = ((CurrentLevel & 1) == 0) ?
DirectionClass
.Left :
DirectionClass
.ArabicLetter;
2696
if(numberClass ==
DirectionClass
.ClassInvalid)
2698
this.NumberClass = ((CurrentLevel & 1) == 0) ?
DirectionClass
.Left :
DirectionClass
.ArabicNumber;
2745
internal
DirectionClass
GetEuropeanNumberClassOverride(CultureInfo cultureInfo)
2754
return
DirectionClass
.ArabicNumber;
2757
return
DirectionClass
.EuropeanNumber;
Core\CSharp\MS\Internal\UnicodeClasses.cs (1)
179
internal
DirectionClass
BiDi;