Lines 34-46
Link Here
|
34 |
public static byte[] compressParagraphProperty(ParagraphProperties newPAP, |
34 |
public static byte[] compressParagraphProperty(ParagraphProperties newPAP, |
35 |
ParagraphProperties oldPAP) |
35 |
ParagraphProperties oldPAP) |
36 |
{ |
36 |
{ |
|
|
37 |
// page numbers links to Word97-2007BinaryFileFormat(doc)Specification.pdf, accessible from microsoft.com |
38 |
|
37 |
List sprmList = new ArrayList(); |
39 |
List sprmList = new ArrayList(); |
38 |
int size = 0; |
40 |
int size = 0; |
39 |
|
41 |
|
|
|
42 |
// Page 50 of public specification begins |
43 |
if (newPAP.getIstd() != oldPAP.getIstd()) |
44 |
{ |
45 |
// sprmPIstd |
46 |
size += SprmUtils.addSprm((short)0x4600, newPAP.getIstd(), null, sprmList); |
47 |
} |
40 |
if (newPAP.getJc() != oldPAP.getJc()) |
48 |
if (newPAP.getJc() != oldPAP.getJc()) |
41 |
{ |
49 |
{ |
|
|
50 |
// sprmPJc80 |
42 |
size += SprmUtils.addSprm((short)0x2403, newPAP.getJc(), null, sprmList); |
51 |
size += SprmUtils.addSprm((short)0x2403, newPAP.getJc(), null, sprmList); |
43 |
} |
52 |
} |
|
|
53 |
if (newPAP.getFSideBySide() != oldPAP.getFSideBySide()) |
54 |
{ |
55 |
// sprmPFSideBySide |
56 |
size += SprmUtils.addSprm((short)0x2404, newPAP.getFSideBySide(), null, sprmList); |
57 |
} |
44 |
if (newPAP.getFKeep() != oldPAP.getFKeep()) |
58 |
if (newPAP.getFKeep() != oldPAP.getFKeep()) |
45 |
{ |
59 |
{ |
46 |
size += SprmUtils.addSprm((short)0x2405, newPAP.getFKeep(), null, sprmList); |
60 |
size += SprmUtils.addSprm((short)0x2405, newPAP.getFKeep(), null, sprmList); |
Lines 73-126
Link Here
|
73 |
{ |
87 |
{ |
74 |
size += SprmUtils.addSprm((short)0x240C, newPAP.getFNoLnn(), null, sprmList); |
88 |
size += SprmUtils.addSprm((short)0x240C, newPAP.getFNoLnn(), null, sprmList); |
75 |
} |
89 |
} |
76 |
if (newPAP.getFSideBySide() != oldPAP.getFSideBySide()) |
90 |
if (newPAP.getItbdMac() != oldPAP.getItbdMac() || |
77 |
{ |
91 |
!Arrays.equals(newPAP.getRgdxaTab(), oldPAP.getRgdxaTab()) || |
78 |
size += SprmUtils.addSprm((short)0x2404, newPAP.getFSideBySide(), null, sprmList); |
92 |
!Arrays.equals(newPAP.getRgtbd(), oldPAP.getRgtbd())) |
79 |
} |
93 |
{ |
80 |
if (newPAP.getFNoAutoHyph() != oldPAP.getFNoAutoHyph()) |
94 |
/** @todo revisit this */ |
81 |
{ |
95 |
// byte[] oldTabArray = oldPAP.getRgdxaTab(); |
82 |
size += SprmUtils.addSprm((short)0x242A, newPAP.getFNoAutoHyph(), null, sprmList); |
96 |
// byte[] newTabArray = newPAP.getRgdxaTab(); |
|
|
97 |
// byte[] newTabDescriptors = newPAP.getRgtbd(); |
98 |
// byte[] varParam = new byte[2 + oldTabArray.length + newTabArray.length + |
99 |
// newTabDescriptors.length]; |
100 |
// varParam[0] = (byte)(oldTabArray.length/2); |
101 |
// int offset = 1; |
102 |
// System.arraycopy(oldTabArray, 0, varParam, offset, oldTabArray.length); |
103 |
// offset += oldTabArray.length; |
104 |
// varParam[offset] = (byte)(newTabArray.length/2); |
105 |
// offset += 1; |
106 |
// System.arraycopy(newTabArray, 0, varParam, offset, newTabArray.length); |
107 |
// offset += newTabArray.length; |
108 |
// System.arraycopy(newTabDescriptors, 0, varParam, offset, newTabDescriptors.length); |
109 |
// |
110 |
// size += SprmUtils.addSprm((short)0xC60D, 0, varParam, sprmList); |
83 |
} |
111 |
} |
84 |
if (newPAP.getFWidowControl() != oldPAP.getFWidowControl()) |
112 |
if (newPAP.getDxaLeft() != oldPAP.getDxaLeft()) |
85 |
{ |
113 |
{ |
86 |
size += SprmUtils.addSprm((short)0x2431, newPAP.getFWidowControl(), null, sprmList); |
114 |
// sprmPDxaLeft80 |
|
|
115 |
size += SprmUtils.addSprm((short)0x840F, newPAP.getDxaLeft(), null, sprmList); |
87 |
} |
116 |
} |
88 |
if (newPAP.getItbdMac() != oldPAP.getItbdMac() || |
117 |
|
89 |
!Arrays.equals(newPAP.getRgdxaTab(), oldPAP.getRgdxaTab()) || |
118 |
// Page 51 of public specification begins |
90 |
!Arrays.equals(newPAP.getRgtbd(), oldPAP.getRgtbd())) |
119 |
if (newPAP.getDxaLeft1() != oldPAP.getDxaLeft1()) |
91 |
{ |
120 |
{ |
92 |
/** @todo revisit this */ |
121 |
// sprmPDxaLeft180 |
93 |
// byte[] oldTabArray = oldPAP.getRgdxaTab(); |
122 |
size += SprmUtils.addSprm((short)0x8411, newPAP.getDxaLeft1(), null, sprmList); |
94 |
// byte[] newTabArray = newPAP.getRgdxaTab(); |
|
|
95 |
// byte[] newTabDescriptors = newPAP.getRgtbd(); |
96 |
// byte[] varParam = new byte[2 + oldTabArray.length + newTabArray.length + |
97 |
// newTabDescriptors.length]; |
98 |
// varParam[0] = (byte)(oldTabArray.length/2); |
99 |
// int offset = 1; |
100 |
// System.arraycopy(oldTabArray, 0, varParam, offset, oldTabArray.length); |
101 |
// offset += oldTabArray.length; |
102 |
// varParam[offset] = (byte)(newTabArray.length/2); |
103 |
// offset += 1; |
104 |
// System.arraycopy(newTabArray, 0, varParam, offset, newTabArray.length); |
105 |
// offset += newTabArray.length; |
106 |
// System.arraycopy(newTabDescriptors, 0, varParam, offset, newTabDescriptors.length); |
107 |
// |
108 |
// size += SprmUtils.addSprm((short)0xC60D, 0, varParam, sprmList); |
109 |
} |
123 |
} |
110 |
if (newPAP.getDxaRight() != oldPAP.getDxaRight()) |
124 |
if (newPAP.getDxaRight() != oldPAP.getDxaRight()) |
111 |
{ |
125 |
{ |
|
|
126 |
// sprmPDxaRight80 |
112 |
size += SprmUtils.addSprm((short)0x840E, newPAP.getDxaRight(), null, sprmList); |
127 |
size += SprmUtils.addSprm((short)0x840E, newPAP.getDxaRight(), null, sprmList); |
113 |
} |
128 |
} |
114 |
if (newPAP.getDxaLeft() != oldPAP.getDxaLeft()) |
129 |
if (newPAP.getDxcLeft() != oldPAP.getDxcLeft()) |
115 |
{ |
130 |
{ |
116 |
size += SprmUtils.addSprm((short)0x840F, newPAP.getDxaLeft(), null, sprmList); |
131 |
// sprmPDxcLeft |
|
|
132 |
size += SprmUtils.addSprm((short)0x4456, newPAP.getDxcLeft(), null, sprmList); |
117 |
} |
133 |
} |
118 |
if (newPAP.getDxaLeft1() != oldPAP.getDxaLeft1()) |
134 |
if (newPAP.getDxcLeft1() != oldPAP.getDxcLeft1()) |
119 |
{ |
135 |
{ |
120 |
size += SprmUtils.addSprm((short)0x8411, newPAP.getDxaLeft1(), null, sprmList); |
136 |
// sprmPDxcLeft1 |
|
|
137 |
size += SprmUtils.addSprm((short)0x4457, newPAP.getDxcLeft1(), null, sprmList); |
138 |
} |
139 |
if (newPAP.getDxcRight() != oldPAP.getDxcRight()) |
140 |
{ |
141 |
// sprmPDxcRight |
142 |
size += SprmUtils.addSprm((short)0x4455, newPAP.getDxcRight(), null, sprmList); |
121 |
} |
143 |
} |
122 |
if (!newPAP.getLspd().equals(oldPAP.getLspd())) |
144 |
if (!newPAP.getLspd().equals(oldPAP.getLspd())) |
123 |
{ |
145 |
{ |
|
|
146 |
// sprmPDyaLine |
124 |
byte[] buf = new byte[4]; |
147 |
byte[] buf = new byte[4]; |
125 |
newPAP.getLspd().serialize(buf, 0); |
148 |
newPAP.getLspd().serialize(buf, 0); |
126 |
|
149 |
|
Lines 128-258
Link Here
|
128 |
} |
151 |
} |
129 |
if (newPAP.getDyaBefore() != oldPAP.getDyaBefore()) |
152 |
if (newPAP.getDyaBefore() != oldPAP.getDyaBefore()) |
130 |
{ |
153 |
{ |
|
|
154 |
// sprmPDyaBefore |
131 |
size += SprmUtils.addSprm((short)0xA413, newPAP.getDyaBefore(), null, sprmList); |
155 |
size += SprmUtils.addSprm((short)0xA413, newPAP.getDyaBefore(), null, sprmList); |
132 |
} |
156 |
} |
133 |
if (newPAP.getDyaAfter() != oldPAP.getDyaAfter()) |
157 |
if (newPAP.getDyaAfter() != oldPAP.getDyaAfter()) |
134 |
{ |
158 |
{ |
|
|
159 |
// sprmPDyaAfter |
135 |
size += SprmUtils.addSprm((short)0xA414, newPAP.getDyaAfter(), null, sprmList); |
160 |
size += SprmUtils.addSprm((short)0xA414, newPAP.getDyaAfter(), null, sprmList); |
136 |
} |
161 |
} |
137 |
if (newPAP.getDyaBefore() != oldPAP.getDyaBefore()) |
162 |
if (newPAP.getFDyaBeforeAuto() != oldPAP.getFDyaBeforeAuto()) |
138 |
{ |
|
|
139 |
size += SprmUtils.addSprm((short)0x2404, newPAP.getDyaBefore(), null, sprmList); |
140 |
} |
141 |
if (newPAP.getFKinsoku() != oldPAP.getFKinsoku()) |
142 |
{ |
143 |
size += SprmUtils.addSprm((short)0x2433, newPAP.getDyaBefore(), null, sprmList); |
144 |
} |
145 |
if (newPAP.getFWordWrap() != oldPAP.getFWordWrap()) |
146 |
{ |
163 |
{ |
147 |
size += SprmUtils.addSprm((short)0x2434, newPAP.getFWordWrap(), null, sprmList); |
164 |
// sprmPFDyaBeforeAuto |
|
|
165 |
size += SprmUtils.addSprm((short)0x245B, newPAP.getFDyaBeforeAuto(), null, sprmList); |
148 |
} |
166 |
} |
149 |
if (newPAP.getFOverflowPunct() != oldPAP.getFOverflowPunct()) |
167 |
if (newPAP.getFDyaAfterAuto() != oldPAP.getFDyaAfterAuto()) |
150 |
{ |
168 |
{ |
151 |
size += SprmUtils.addSprm((short)0x2435, newPAP.getFOverflowPunct(), null, sprmList); |
169 |
// sprmPFDyaAfterAuto |
152 |
} |
170 |
size += SprmUtils.addSprm((short)0x245C, newPAP.getFDyaAfterAuto(), null, sprmList); |
153 |
if (newPAP.getFTopLinePunct() != oldPAP.getFTopLinePunct()) |
|
|
154 |
{ |
155 |
size += SprmUtils.addSprm((short)0x2436, newPAP.getFTopLinePunct(), null, sprmList); |
156 |
} |
157 |
if (newPAP.getFAutoSpaceDE() != oldPAP.getFAutoSpaceDE()) |
158 |
{ |
159 |
size += SprmUtils.addSprm((short)0x2437, newPAP.getFAutoSpaceDE(), null, sprmList); |
160 |
} |
161 |
if (newPAP.getFAutoSpaceDN() != oldPAP.getFAutoSpaceDN()) |
162 |
{ |
163 |
size += SprmUtils.addSprm((short)0x2438, newPAP.getFAutoSpaceDN(), null, sprmList); |
164 |
} |
165 |
if (newPAP.getWAlignFont() != oldPAP.getWAlignFont()) |
166 |
{ |
167 |
size += SprmUtils.addSprm((short)0x4439, newPAP.getWAlignFont(), null, sprmList); |
168 |
} |
169 |
if (newPAP.isFBackward() != oldPAP.isFBackward() || |
170 |
newPAP.isFVertical() != oldPAP.isFVertical() || |
171 |
newPAP.isFRotateFont() != oldPAP.isFRotateFont()) |
172 |
{ |
173 |
int val = 0; |
174 |
if (newPAP.isFBackward()) |
175 |
{ |
176 |
val |= 0x2; |
177 |
} |
178 |
if (newPAP.isFVertical()) |
179 |
{ |
180 |
val |= 0x1; |
181 |
} |
182 |
if (newPAP.isFRotateFont()) |
183 |
{ |
184 |
val |= 0x4; |
185 |
} |
186 |
size += SprmUtils.addSprm((short)0x443A, val, null, sprmList); |
187 |
} |
188 |
if (!Arrays.equals(newPAP.getAnld(), oldPAP.getAnld())) |
189 |
{ |
190 |
size += SprmUtils.addSprm((short)0xC63E, 0, newPAP.getAnld(), sprmList); |
191 |
} |
171 |
} |
192 |
if (newPAP.getFInTable() != oldPAP.getFInTable()) |
172 |
if (newPAP.getFInTable() != oldPAP.getFInTable()) |
193 |
{ |
173 |
{ |
|
|
174 |
// sprmPFInTable |
194 |
size += SprmUtils.addSprm((short)0x2416, newPAP.getFInTable(), null, sprmList); |
175 |
size += SprmUtils.addSprm((short)0x2416, newPAP.getFInTable(), null, sprmList); |
195 |
} |
176 |
} |
196 |
if (newPAP.getFTtp() != oldPAP.getFTtp()) |
177 |
if (newPAP.getFTtp() != oldPAP.getFTtp()) |
197 |
{ |
178 |
{ |
|
|
179 |
// sprmPFTtp |
198 |
size += SprmUtils.addSprm((short)0x2417, newPAP.getFTtp(), null, sprmList); |
180 |
size += SprmUtils.addSprm((short)0x2417, newPAP.getFTtp(), null, sprmList); |
199 |
} |
181 |
} |
200 |
if (newPAP.getWr() != oldPAP.getWr()) |
|
|
201 |
{ |
202 |
size += SprmUtils.addSprm((short)0x2423, newPAP.getWr(), null, sprmList); |
203 |
} |
204 |
if (newPAP.getFLocked() != oldPAP.getFLocked()) |
205 |
{ |
206 |
size += SprmUtils.addSprm((short)0x2430, newPAP.getFLocked(), null, sprmList); |
207 |
} |
208 |
if (newPAP.getDxaAbs() != oldPAP.getDxaAbs()) |
182 |
if (newPAP.getDxaAbs() != oldPAP.getDxaAbs()) |
209 |
{ |
183 |
{ |
|
|
184 |
// sprmPDxaAbs |
210 |
size += SprmUtils.addSprm((short)0x8418, newPAP.getDxaAbs(), null, sprmList); |
185 |
size += SprmUtils.addSprm((short)0x8418, newPAP.getDxaAbs(), null, sprmList); |
211 |
} |
186 |
} |
212 |
if (newPAP.getDyaAbs() != oldPAP.getDyaAbs()) |
187 |
if (newPAP.getDyaAbs() != oldPAP.getDyaAbs()) |
213 |
{ |
188 |
{ |
|
|
189 |
// sprmPDyaAbs |
214 |
size += SprmUtils.addSprm((short)0x8419, newPAP.getDyaAbs(), null, sprmList); |
190 |
size += SprmUtils.addSprm((short)0x8419, newPAP.getDyaAbs(), null, sprmList); |
215 |
} |
191 |
} |
216 |
if (newPAP.getDxaWidth() != oldPAP.getDxaWidth()) |
192 |
if (newPAP.getDxaWidth() != oldPAP.getDxaWidth()) |
217 |
{ |
193 |
{ |
|
|
194 |
// sprmPDxaWidth |
218 |
size += SprmUtils.addSprm((short)0x841A, newPAP.getDxaWidth(), null, sprmList); |
195 |
size += SprmUtils.addSprm((short)0x841A, newPAP.getDxaWidth(), null, sprmList); |
219 |
} |
196 |
} |
220 |
if (!newPAP.getBrcTop().equals(oldPAP.getBrcTop())) |
197 |
|
|
|
198 |
// Page 52 of public specification begins |
199 |
if (newPAP.getWr() != oldPAP.getWr()) |
221 |
{ |
200 |
{ |
222 |
int brc = newPAP.getBrcTop().toInt(); |
201 |
size += SprmUtils.addSprm((short)0x2423, newPAP.getWr(), null, sprmList); |
223 |
size += SprmUtils.addSprm((short)0x6424, brc, null, sprmList); |
|
|
224 |
} |
202 |
} |
225 |
if (!newPAP.getBrcLeft().equals(oldPAP.getBrcLeft())) |
203 |
|
|
|
204 |
if (newPAP.getBrcBar().equals(oldPAP.getBrcBar())) |
226 |
{ |
205 |
{ |
227 |
int brc = newPAP.getBrcLeft().toInt(); |
206 |
// XXX: sprm code 0x6428 is sprmPBrcBetween80, but accessed property linked to sprmPBrcBar80 (0x6629) |
228 |
size += SprmUtils.addSprm((short)0x6425, brc, null, sprmList); |
207 |
int brc = newPAP.getBrcBar().toInt(); |
|
|
208 |
size += SprmUtils.addSprm((short)0x6428, brc, null, sprmList); |
229 |
} |
209 |
} |
230 |
if (!newPAP.getBrcBottom().equals(oldPAP.getBrcBottom())) |
210 |
if (!newPAP.getBrcBottom().equals(oldPAP.getBrcBottom())) |
231 |
{ |
211 |
{ |
|
|
212 |
// sprmPBrcBottom80 |
232 |
int brc = newPAP.getBrcBottom().toInt(); |
213 |
int brc = newPAP.getBrcBottom().toInt(); |
233 |
size += SprmUtils.addSprm((short)0x6426, brc, null, sprmList); |
214 |
size += SprmUtils.addSprm((short)0x6426, brc, null, sprmList); |
234 |
} |
215 |
} |
|
|
216 |
if (!newPAP.getBrcLeft().equals(oldPAP.getBrcLeft())) |
217 |
{ |
218 |
// sprmPBrcLeft80 |
219 |
int brc = newPAP.getBrcLeft().toInt(); |
220 |
size += SprmUtils.addSprm((short)0x6425, brc, null, sprmList); |
221 |
} |
222 |
|
223 |
// Page 53 of public specification begins |
235 |
if (!newPAP.getBrcRight().equals(oldPAP.getBrcRight())) |
224 |
if (!newPAP.getBrcRight().equals(oldPAP.getBrcRight())) |
236 |
{ |
225 |
{ |
|
|
226 |
// sprmPBrcRight80 |
237 |
int brc = newPAP.getBrcRight().toInt(); |
227 |
int brc = newPAP.getBrcRight().toInt(); |
238 |
size += SprmUtils.addSprm((short)0x6427, brc, null, sprmList); |
228 |
size += SprmUtils.addSprm((short)0x6427, brc, null, sprmList); |
239 |
} |
229 |
} |
240 |
if (newPAP.getBrcBar().equals(oldPAP.getBrcBar())) |
230 |
if (!newPAP.getBrcTop().equals(oldPAP.getBrcTop())) |
241 |
{ |
|
|
242 |
int brc = newPAP.getBrcBar().toInt(); |
243 |
size += SprmUtils.addSprm((short)0x6428, brc, null, sprmList); |
244 |
} |
245 |
if (newPAP.getDxaFromText() != oldPAP.getDxaFromText()) |
246 |
{ |
231 |
{ |
247 |
size += SprmUtils.addSprm((short)0x842F, newPAP.getDxaFromText(), null, sprmList); |
232 |
// sprmPBrcTop80 |
|
|
233 |
int brc = newPAP.getBrcTop().toInt(); |
234 |
size += SprmUtils.addSprm((short)0x6424, brc, null, sprmList); |
248 |
} |
235 |
} |
249 |
if (newPAP.getDyaFromText() != oldPAP.getDyaFromText()) |
236 |
if (newPAP.getFNoAutoHyph() != oldPAP.getFNoAutoHyph()) |
250 |
{ |
237 |
{ |
251 |
size += SprmUtils.addSprm((short)0x842E, newPAP.getDyaFromText(), null, sprmList); |
238 |
size += SprmUtils.addSprm((short)0x242A, newPAP.getFNoAutoHyph(), null, sprmList); |
252 |
} |
239 |
} |
253 |
if (newPAP.getDyaHeight() != oldPAP.getDyaHeight() || |
240 |
if (newPAP.getDyaHeight() != oldPAP.getDyaHeight() || |
254 |
newPAP.getFMinHeight() != oldPAP.getFMinHeight()) |
241 |
newPAP.getFMinHeight() != oldPAP.getFMinHeight()) |
255 |
{ |
242 |
{ |
|
|
243 |
// sprmPWHeightAbs |
256 |
short val = (short)newPAP.getDyaHeight(); |
244 |
short val = (short)newPAP.getDyaHeight(); |
257 |
if (newPAP.getFMinHeight() > 0) |
245 |
if (newPAP.getFMinHeight() > 0) |
258 |
{ |
246 |
{ |
Lines 260-311
Link Here
|
260 |
} |
248 |
} |
261 |
size += SprmUtils.addSprm((short)0x442B, val, null, sprmList); |
249 |
size += SprmUtils.addSprm((short)0x442B, val, null, sprmList); |
262 |
} |
250 |
} |
|
|
251 |
if (newPAP.getDcs() != null && !newPAP.getDcs().equals(oldPAP.getDcs())) |
252 |
{ |
253 |
// sprmPDcs |
254 |
size += SprmUtils.addSprm((short)0x442C, newPAP.getDcs().toShort(), null, sprmList); |
255 |
} |
263 |
if (newPAP.getShd() != null && !newPAP.getShd().equals(oldPAP.getShd())) |
256 |
if (newPAP.getShd() != null && !newPAP.getShd().equals(oldPAP.getShd())) |
264 |
{ |
257 |
{ |
|
|
258 |
// sprmPShd80 |
265 |
size += SprmUtils.addSprm((short)0x442D, newPAP.getShd().toShort(), null, sprmList); |
259 |
size += SprmUtils.addSprm((short)0x442D, newPAP.getShd().toShort(), null, sprmList); |
266 |
} |
260 |
} |
267 |
if (newPAP.getDcs() != null && !newPAP.getDcs().equals(oldPAP.getDcs())) |
261 |
if (newPAP.getDyaFromText() != oldPAP.getDyaFromText()) |
268 |
{ |
262 |
{ |
269 |
size += SprmUtils.addSprm((short)0x442C, newPAP.getDcs().toShort(), null, sprmList); |
263 |
// sprmPDyaFromText |
|
|
264 |
size += SprmUtils.addSprm((short)0x842E, newPAP.getDyaFromText(), null, sprmList); |
270 |
} |
265 |
} |
271 |
if (newPAP.getLvl() != oldPAP.getLvl()) |
266 |
if (newPAP.getDxaFromText() != oldPAP.getDxaFromText()) |
272 |
{ |
267 |
{ |
273 |
size += SprmUtils.addSprm((short)0x2640, newPAP.getLvl(), null, sprmList); |
268 |
// sprmPDxaFromText |
|
|
269 |
size += SprmUtils.addSprm((short)0x842F, newPAP.getDxaFromText(), null, sprmList); |
274 |
} |
270 |
} |
275 |
if (newPAP.getFNumRMIns() != oldPAP.getFNumRMIns()) |
271 |
if (newPAP.getFLocked() != oldPAP.getFLocked()) |
276 |
{ |
272 |
{ |
277 |
size += SprmUtils.addSprm((short)0x2443, newPAP.getFNumRMIns(), null, sprmList); |
273 |
// sprmPFLocked |
|
|
274 |
size += SprmUtils.addSprm((short)0x2430, newPAP.getFLocked(), null, sprmList); |
275 |
} |
276 |
if (newPAP.getFWidowControl() != oldPAP.getFWidowControl()) |
277 |
{ |
278 |
// sprmPFWidowControl |
279 |
size += SprmUtils.addSprm((short)0x2431, newPAP.getFWidowControl(), null, sprmList); |
280 |
} |
281 |
if (newPAP.getFKinsoku() != oldPAP.getFKinsoku()) |
282 |
{ |
283 |
size += SprmUtils.addSprm((short)0x2433, newPAP.getDyaBefore(), null, sprmList); |
284 |
} |
285 |
if (newPAP.getFWordWrap() != oldPAP.getFWordWrap()) |
286 |
{ |
287 |
size += SprmUtils.addSprm((short)0x2434, newPAP.getFWordWrap(), null, sprmList); |
288 |
} |
289 |
if (newPAP.getFOverflowPunct() != oldPAP.getFOverflowPunct()) |
290 |
{ |
291 |
size += SprmUtils.addSprm((short)0x2435, newPAP.getFOverflowPunct(), null, sprmList); |
292 |
} |
293 |
if (newPAP.getFTopLinePunct() != oldPAP.getFTopLinePunct()) |
294 |
{ |
295 |
size += SprmUtils.addSprm((short)0x2436, newPAP.getFTopLinePunct(), null, sprmList); |
296 |
} |
297 |
if (newPAP.getFAutoSpaceDE() != oldPAP.getFAutoSpaceDE()) |
298 |
{ |
299 |
size += SprmUtils.addSprm((short)0x2437, newPAP.getFAutoSpaceDE(), null, sprmList); |
300 |
} |
301 |
if (newPAP.getFAutoSpaceDN() != oldPAP.getFAutoSpaceDN()) |
302 |
{ |
303 |
size += SprmUtils.addSprm((short)0x2438, newPAP.getFAutoSpaceDN(), null, sprmList); |
304 |
} |
305 |
if (newPAP.getWAlignFont() != oldPAP.getWAlignFont()) |
306 |
{ |
307 |
size += SprmUtils.addSprm((short)0x4439, newPAP.getWAlignFont(), null, sprmList); |
308 |
} |
309 |
|
310 |
// Page 54 of public specification begins |
311 |
if (newPAP.isFBackward() != oldPAP.isFBackward() || |
312 |
newPAP.isFVertical() != oldPAP.isFVertical() || |
313 |
newPAP.isFRotateFont() != oldPAP.isFRotateFont()) |
314 |
{ |
315 |
int val = 0; |
316 |
if (newPAP.isFBackward()) |
317 |
{ |
318 |
val |= 0x2; |
319 |
} |
320 |
if (newPAP.isFVertical()) |
321 |
{ |
322 |
val |= 0x1; |
323 |
} |
324 |
if (newPAP.isFRotateFont()) |
325 |
{ |
326 |
val |= 0x4; |
327 |
} |
328 |
size += SprmUtils.addSprm((short)0x443A, val, null, sprmList); |
329 |
} |
330 |
if (!Arrays.equals(newPAP.getAnld(), oldPAP.getAnld())) |
331 |
{ |
332 |
// sprmPAnld80 |
333 |
size += SprmUtils.addSprm((short)0xC63E, 0, newPAP.getAnld(), sprmList); |
278 |
} |
334 |
} |
279 |
if (newPAP.getFPropRMark() != oldPAP.getFPropRMark() || |
335 |
if (newPAP.getFPropRMark() != oldPAP.getFPropRMark() || |
280 |
newPAP.getIbstPropRMark() != oldPAP.getIbstPropRMark() || |
336 |
newPAP.getIbstPropRMark() != oldPAP.getIbstPropRMark() || |
281 |
!newPAP.getDttmPropRMark().equals(oldPAP.getDttmPropRMark())) |
337 |
!newPAP.getDttmPropRMark().equals(oldPAP.getDttmPropRMark())) |
282 |
{ |
338 |
{ |
|
|
339 |
// sprmPPropRMark |
283 |
byte[] buf = new byte[7]; |
340 |
byte[] buf = new byte[7]; |
284 |
buf[0] = (byte)newPAP.getFPropRMark(); |
341 |
buf[0] = (byte)newPAP.getFPropRMark(); |
285 |
LittleEndian.putShort(buf, 1, (short)newPAP.getIbstPropRMark()); |
342 |
LittleEndian.putShort(buf, 1, (short)newPAP.getIbstPropRMark()); |
286 |
newPAP.getDttmPropRMark().serialize(buf, 3); |
343 |
newPAP.getDttmPropRMark().serialize(buf, 3); |
287 |
size += SprmUtils.addSprm((short)0xC63F, 0, buf, sprmList); |
344 |
size += SprmUtils.addSprm((short)0xC63F, 0, buf, sprmList); |
288 |
} |
345 |
} |
289 |
if (!Arrays.equals(newPAP.getNumrm(), oldPAP.getNumrm())) |
346 |
if (newPAP.getLvl() != oldPAP.getLvl()) |
290 |
{ |
347 |
{ |
291 |
size += SprmUtils.addSprm((short)0xC645, 0, newPAP.getNumrm(), sprmList); |
348 |
// sprmPOutLvl |
|
|
349 |
size += SprmUtils.addSprm((short)0x2640, newPAP.getLvl(), null, sprmList); |
292 |
} |
350 |
} |
293 |
|
351 |
if (newPAP.getFBiDi() != oldPAP.getFBiDi()) |
294 |
if (newPAP.getTableLevel() != oldPAP.getTableLevel()) |
|
|
295 |
{ |
352 |
{ |
296 |
size += SprmUtils.addSprm((short)0x6649, newPAP.getTableLevel(), null, sprmList); |
353 |
// sprmPFBiDi |
|
|
354 |
size += SprmUtils.addSprm((short)0x2441, newPAP.getFBiDi(), null, sprmList); |
297 |
} |
355 |
} |
298 |
|
356 |
if (newPAP.getFNumRMIns() != oldPAP.getFNumRMIns()) |
|
|
357 |
{ |
358 |
// sprmPFNumRMIns |
359 |
size += SprmUtils.addSprm((short)0x2443, newPAP.getFNumRMIns(), null, sprmList); |
360 |
} |
361 |
if (!Arrays.equals(newPAP.getNumrm(), oldPAP.getNumrm())) |
362 |
{ |
363 |
// sprmPNumRM |
364 |
size += SprmUtils.addSprm((short)0xC645, 0, newPAP.getNumrm(), sprmList); |
365 |
} |
299 |
if (newPAP.getEmbeddedCellMark() != oldPAP.getEmbeddedCellMark()) |
366 |
if (newPAP.getEmbeddedCellMark() != oldPAP.getEmbeddedCellMark()) |
300 |
{ |
367 |
{ |
|
|
368 |
// sprmPFInnerTableCell |
301 |
size += SprmUtils.addSprm((short)0x244b, newPAP.getEmbeddedCellMark(), null, sprmList); |
369 |
size += SprmUtils.addSprm((short)0x244b, newPAP.getEmbeddedCellMark(), null, sprmList); |
302 |
} |
370 |
} |
303 |
|
|
|
304 |
if (newPAP.getFTtpEmbedded() != oldPAP.getFTtpEmbedded()) |
371 |
if (newPAP.getFTtpEmbedded() != oldPAP.getFTtpEmbedded()) |
305 |
{ |
372 |
{ |
|
|
373 |
// sprmPFInnerTtp |
306 |
size += SprmUtils.addSprm((short)0x244c, newPAP.getFTtpEmbedded(), null, sprmList); |
374 |
size += SprmUtils.addSprm((short)0x244c, newPAP.getFTtpEmbedded(), null, sprmList); |
307 |
} |
375 |
} |
308 |
|
376 |
|
|
|
377 |
// Page 55 of public specification begins |
378 |
if (newPAP.getTableLevel() != oldPAP.getTableLevel()) |
379 |
{ |
380 |
// sprmPItap |
381 |
size += SprmUtils.addSprm((short)0x6649, newPAP.getTableLevel(), null, sprmList); |
382 |
} |
383 |
|
309 |
return SprmUtils.getGrpprl(sprmList, size); |
384 |
return SprmUtils.getGrpprl(sprmList, size); |
310 |
|
385 |
|
311 |
} |
386 |
} |