GurmukhiFormatter.java
2.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*
* Decompiled with CFR 0_118.
*/
package com.adobe.fontengine.inlineformatting.infontformatting;
import com.adobe.fontengine.inlineformatting.AttributedRun;
import com.adobe.fontengine.inlineformatting.infontformatting.IndicFormatter;
public class GurmukhiFormatter
extends IndicFormatter {
protected int splitVowelsAndNormalize(AttributedRun run, int start, int limit) {
return limit;
}
protected int nukta() {
return 2620;
}
protected int virama() {
return 2637;
}
protected boolean isSatelliteWhenInitial(int usv) {
return false;
}
protected boolean isConsonant(int usv) {
return 2581 <= usv && usv <= 2617 || 2649 <= usv && usv <= 2654 || 9676 == usv;
}
protected boolean hasNukta(int usv) {
return 2614 == usv || 2649 == usv || 2650 == usv || 2651 == usv || 2654 == usv;
}
protected int removeNukta(int usv) {
switch (usv) {
case 2614: {
return 2616;
}
case 2649: {
return 2582;
}
case 2650: {
return 2583;
}
case 2651: {
return 2588;
}
case 2654: {
return 2603;
}
}
return usv;
}
protected boolean isMark(int usv) {
return 2561 <= usv && usv <= 2563 || 2622 <= usv && usv <= 2636 || 2672 <= usv && usv <= 2673;
}
protected boolean isIndependentVowel(int usv) {
return 2565 <= usv && usv <= 2580 || 9676 == usv;
}
protected IndicFormatter.Position getPosition(int usv) {
switch (usv) {
case 2623: {
return IndicFormatter.Position.left;
}
case 2631:
case 2632:
case 2635:
case 2636: {
return IndicFormatter.Position.topMatra;
}
case 2561:
case 2562:
case 2672:
case 2673: {
return IndicFormatter.Position.topOther;
}
case 2625:
case 2626: {
return IndicFormatter.Position.bottom;
}
case 2622:
case 2624: {
return IndicFormatter.Position.rightMatra;
}
case 2563: {
return IndicFormatter.Position.rightOther;
}
}
return IndicFormatter.Position.any;
}
protected IndicFormatter.Shape rephLike(int usv) {
return IndicFormatter.Shape.any;
}
protected boolean subjoins(int usv) {
return usv == 2608 || usv == 2617 || usv == 2613;
}
protected boolean postjoins(int usv) {
return usv == 2607;
}
protected boolean postjoinsIndependentVowels(int usv) {
return false;
}
}