WP2LaTeX sources.
Revision | fadb556dc9cbd7c4d80658ed3c8d0529b2ad58c2 (tree) |
---|---|
Zeit | 2022-05-25 04:48:45 |
Autor | Fojtik |
Commiter | Fojtik |
3.107
@@ -1,7 +1,7 @@ | ||
1 | 1 | ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! |
2 | 2 | |
3 | 3 | #define MyAppName "WP2LaTeX" |
4 | -#define MyAppVersion "3.106" | |
4 | +#define MyAppVersion "3.107" | |
5 | 5 | #define MyAppPublisher "F&T Soft" |
6 | 6 | #define MyAppURL "http://www.penguin.cz/~fojtik/wp2latex/" |
7 | 7 |
@@ -4531,7 +4531,7 @@ | ||
4531 | 4531 | <Tool |
4532 | 4532 | Name="VCCustomBuildTool" |
4533 | 4533 | Description="ASM64" |
4534 | - CommandLine="ml64.exe /c /nologo /Fo"$(OutDir)\$(InputName).obj" /W3 /Zi /errorReport:prompt $(InputPath)" | |
4534 | + CommandLine="ml64.exe /c /nologo /Fo"$(OutDir)\$(InputName).obj" /W3 /Zi /errorReport:prompt $(InputPath)
" | |
4535 | 4535 | Outputs="$(OutDir)\$(InputName).obj" |
4536 | 4536 | /> |
4537 | 4537 | </FileConfiguration> |
@@ -4549,7 +4549,7 @@ | ||
4549 | 4549 | <Tool |
4550 | 4550 | Name="VCCustomBuildTool" |
4551 | 4551 | Description="ASM64" |
4552 | - CommandLine="ml64.exe /c /nologo /Fo"$(OutDir)\$(InputName).obj" /W3 /Zi /errorReport:prompt $(InputPath)" | |
4552 | + CommandLine="ml64.exe /c /nologo /Fo"$(OutDir)\$(InputName).obj" /W3 /Zi /errorReport:prompt $(InputPath)
" | |
4553 | 4553 | Outputs="$(OutDir)\$(InputName).obj" |
4554 | 4554 | /> |
4555 | 4555 | </FileConfiguration> |
@@ -4567,7 +4567,7 @@ | ||
4567 | 4567 | <Tool |
4568 | 4568 | Name="VCCustomBuildTool" |
4569 | 4569 | Description="ASM64" |
4570 | - CommandLine="ml64.exe /c /nologo /Fo"$(OutDir)\$(InputName).obj" /W3 /Zi /errorReport:prompt $(InputPath)" | |
4570 | + CommandLine="ml64.exe /c /nologo /Fo"$(OutDir)\$(InputName).obj" /W3 /Zi /errorReport:prompt $(InputPath)
" | |
4571 | 4571 | Outputs="$(OutDir)\$(InputName).obj" |
4572 | 4572 | /> |
4573 | 4573 | </FileConfiguration> |
@@ -4585,7 +4585,7 @@ | ||
4585 | 4585 | <Tool |
4586 | 4586 | Name="VCCustomBuildTool" |
4587 | 4587 | Description="ASM64" |
4588 | - CommandLine="ml64.exe /c /nologo /Fo"$(OutDir)\$(InputName).obj" /W3 /Zi /errorReport:prompt $(InputPath)" | |
4588 | + CommandLine="ml64.exe /c /nologo /Fo"$(OutDir)\$(InputName).obj" /W3 /Zi /errorReport:prompt $(InputPath)
" | |
4589 | 4589 | Outputs="$(OutDir)\$(InputName).obj" |
4590 | 4590 | /> |
4591 | 4591 | </FileConfiguration> |
@@ -4603,7 +4603,7 @@ | ||
4603 | 4603 | <Tool |
4604 | 4604 | Name="VCCustomBuildTool" |
4605 | 4605 | Description="ASM64" |
4606 | - CommandLine="ml64.exe /c /nologo /Fo"$(OutDir)\$(InputName).obj" /W3 /Zi /errorReport:prompt $(InputPath)" | |
4606 | + CommandLine="ml64.exe /c /nologo /Fo"$(OutDir)\$(InputName).obj" /W3 /Zi /errorReport:prompt $(InputPath)
" | |
4607 | 4607 | Outputs="$(OutDir)\$(InputName).obj" |
4608 | 4608 | /> |
4609 | 4609 | </FileConfiguration> |
@@ -4621,7 +4621,7 @@ | ||
4621 | 4621 | <Tool |
4622 | 4622 | Name="VCCustomBuildTool" |
4623 | 4623 | Description="ASM64" |
4624 | - CommandLine="ml64.exe /c /nologo /Fo"$(OutDir)\$(InputName).obj" /W3 /Zi /errorReport:prompt $(InputPath)" | |
4624 | + CommandLine="ml64.exe /c /nologo /Fo"$(OutDir)\$(InputName).obj" /W3 /Zi /errorReport:prompt $(InputPath)
" | |
4625 | 4625 | Outputs="$(OutDir)\$(InputName).obj" |
4626 | 4626 | /> |
4627 | 4627 | </FileConfiguration> |
@@ -4,6 +4,7 @@ | ||
4 | 4 | * modul: cpbldr.cc * |
5 | 5 | * description: The executable for generating codetables will be generated * |
6 | 6 | * after compiling this module. * |
7 | + * licency: GPL * | |
7 | 8 | ******************************************************************************/ |
8 | 9 | #include "cplib.cc" |
9 | 10 |
@@ -1,1 +1,2 @@ | ||
1 | -"D:\Program Files\Borland\CBuilder4\Bin\tasm32.exe" /ml raster_BCC.asm | |
\ No newline at end of file | ||
1 | +"D:\Program Files\Borland\CBuilder4\Bin\tasm32.exe" /ml raster_BCC.asm | |
2 | +"D:\Program Files\Borland\CBuilder4\Bin\tasm32.exe" /ml img_tool_BCC.asm | |
\ No newline at end of file |
@@ -0,0 +1,699 @@ | ||
1 | +.486 ;Target processor. Use instructions for Pentium class machines | |
2 | +.MODEL FLAT, C ;Use the flat memory model. Use C calling conventions | |
3 | + | |
4 | +.CODE ;Indicates the start of a code segment. | |
5 | + | |
6 | + | |
7 | +LOCALS @@ | |
8 | + | |
9 | + | |
10 | +;void RGB_BGR(unsigned char *Data, unsigned PixelCount) | |
11 | + public RGB_BGR | |
12 | +RGB_BGR proc \ | |
13 | + uses esi, \ | |
14 | + Data:ptr byte, \ | |
15 | + PixelCount:DWORD | |
16 | + | |
17 | + mov ecx,[PixelCount] ; cx=amount of pixels | |
18 | + jecxz @@ToEnd ; array has zero size | |
19 | + | |
20 | + mov esi,[Data] ; Load data ptr. | |
21 | + | |
22 | +@@LoopPix:mov al,[esi] | |
23 | + mov ah,[esi+2] | |
24 | + mov [esi],ah | |
25 | + mov [esi+2],al | |
26 | + add esi,3 | |
27 | + loop @@LoopPix | |
28 | + | |
29 | +@@ToEnd: | |
30 | + ret ; _cdecl return | |
31 | + | |
32 | +RGB_BGR endp | |
33 | + | |
34 | + | |
35 | + | |
36 | +;void RGB_BGR2(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) | |
37 | + public RGB_BGR2 | |
38 | +RGB_BGR2 proc \ | |
39 | + uses esi edi, \ | |
40 | + OutData:ptr byte, \ | |
41 | + InData:ptr byte, \ | |
42 | + PixelCount:DWORD | |
43 | + | |
44 | + mov ecx,[PixelCount] ; cx=amount of pixels | |
45 | + | |
46 | + mov esi,[InData] ; | |
47 | + mov edi,[OutData] ; | |
48 | + | |
49 | + sub ecx,4 | |
50 | + jl @@LoopSimple | |
51 | + | |
52 | + ; Processing of 4px block with size 3xDWORD | |
53 | +@@LoopPix4:lodsd ; EAX = R2 B1 G1 R1 | |
54 | + bswap eax ; EAX = R1 G1 B1 R2 | |
55 | + | |
56 | + mov edx,[esi] ; EDX = G3 R3 B2 G2 | |
57 | + add esi,4 | |
58 | + | |
59 | + xchg al,dh ; EAX = R1 G1 B1 B2, EDX=G3 R3 R2 G2 | |
60 | + ror eax,8 ; EAX = B2 R1 G1 B1 | |
61 | + stosd ; B2 R1 G1 B1 shipped out | |
62 | + | |
63 | + lodsd ; EAX = B4 G4 R4 B3 | |
64 | + bswap eax ; EAX = B3 R4 G4 B4 | |
65 | + rol eax,8 ; EAX = R4 G4 B4 B3 | |
66 | + | |
67 | + ror edx,8 ; EDX = G2 G3 R3 R2 | |
68 | + xchg dh,al ; B3 <-> R3 , EAX=R4 G4 B4 R3 | |
69 | + rol edx,8 ; EDX = G3 B3 R2 G2 | |
70 | + | |
71 | + mov [edi],edx ; G3 B3 R2 G2 shipped out | |
72 | + add edi,4 | |
73 | + | |
74 | + stosd ; R4 G4 B4 R3 shipped out | |
75 | + ;mov [edi],eax ; (STOSD is slow on AMD, replaced, seems that Intel works reversed) | |
76 | + ;add edi,4 | |
77 | + | |
78 | + sub ecx,4 | |
79 | + jae @@LoopPix4 | |
80 | + | |
81 | + ; Simple loop for 0,1,2,3 pixels (works also for more px) | |
82 | +@@LoopSimple: | |
83 | + add ecx,4 ; ecx was -4, correct counter | |
84 | + jecxz @@ToEnd ; array has zero size | |
85 | +@@LoopPix:lodsw | |
86 | + mov [edi+2],al | |
87 | + mov [edi+1],ah | |
88 | + lodsb | |
89 | + mov [edi],al | |
90 | + add edi,3 | |
91 | + dec ecx | |
92 | + jz @@ToEnd | |
93 | + | |
94 | + lodsb | |
95 | + mov [edi+2],al | |
96 | + lodsw | |
97 | + mov [edi+1],al | |
98 | + mov [edi],ah | |
99 | + add edi,3 | |
100 | + | |
101 | + loop @@LoopPix | |
102 | +@@ToEnd: ret | |
103 | + | |
104 | +RGB_BGR2 endp | |
105 | + | |
106 | + | |
107 | +;void RGB32_BGR24(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) | |
108 | + public RGB32_BGR24 | |
109 | +RGB32_BGR24 proc \ | |
110 | + uses esi edi ebx, \ | |
111 | + OutData:ptr byte, \ | |
112 | + InData:ptr byte, \ | |
113 | + PixelCount:DWORD | |
114 | + | |
115 | + mov ecx,[PixelCount] ; ecx=amount of pixels | |
116 | + | |
117 | + mov esi,[InData] ; source data | |
118 | + mov edi,[OutData] ; destination data | |
119 | + | |
120 | + sub ecx,4 | |
121 | + jl @@LoopSimple ; array size < 4 | |
122 | + | |
123 | +@@LoopPx4:mov ebx,[esi] ; EBX = ?? B1 G1 R1 | |
124 | + add esi,4 | |
125 | + bswap ebx ; EBX = R1 G1 B1 ?? | |
126 | + | |
127 | +; lodsd ; EAX = ?? B2 G2 R2 | |
128 | + mov eax,[esi] | |
129 | + add esi,4 | |
130 | + bswap eax ; EAX = R2 G2 B2 ?? | |
131 | + | |
132 | + mov bl,ah ; BL = B2 | |
133 | + ror ebx,8 ; EBX = B2 R1 G1 B1 | |
134 | + mov [edi],ebx ; shipout B2 R1 G1 B1 | |
135 | + add edi,4 | |
136 | + | |
137 | + mov ebx,[esi] ; EBX = ?? B3 G3 R3 | |
138 | + add esi,4 | |
139 | + mov dl,bl ; DL = R3 | |
140 | + | |
141 | + mov ah,bh ; EAX = R2 G2 G3 ?? | |
142 | + bswap ebx ; EBX = R3 G3 B3 ?? | |
143 | + mov al,bh ; EAX = R2 G2 G3 B3 | |
144 | + ror eax,16 ; EAX = G3 B3 R2 G2 | |
145 | + stosd ; shipout G3 B3 R2 G2 | |
146 | + | |
147 | + lodsd ; EAX = ?? B4 G4 R4 | |
148 | + bswap eax ; EAX = R4 G4 B4 ?? | |
149 | + mov al,dl ; EAX = R4 G4 B4 R3 | |
150 | + | |
151 | + stosd ; shipout R4 G4 B4 R3 | |
152 | + | |
153 | + sub ecx,4 | |
154 | + jae @@LoopPx4 | |
155 | + | |
156 | +@@LoopSimple: | |
157 | + add ecx,4 | |
158 | + jz @@ToEnd ; remaining size = 0 | |
159 | + | |
160 | +@@LoopPix:lodsd | |
161 | + mov [edi+2],al | |
162 | + mov [edi+1],ah | |
163 | + shr eax,8 | |
164 | + mov [edi],ah | |
165 | + add edi,3 | |
166 | + loop @@LoopPix | |
167 | + | |
168 | +@@ToEnd: | |
169 | + ret ; _cdecl return | |
170 | + | |
171 | +RGB32_BGR24 endp | |
172 | + | |
173 | + | |
174 | + | |
175 | +;void RGB_Gray24(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) | |
176 | + public RGB_Gray24simple | |
177 | +RGB_Gray24simple proc \ | |
178 | + uses esi edi ebx, \ | |
179 | + OutData:ptr byte, \ | |
180 | + InData:ptr byte, \ | |
181 | + PixelCount:DWORD | |
182 | + | |
183 | + mov ecx,[PixelCount] ; cx=amount of pixels | |
184 | + cmp ecx,1 | |
185 | + jle @@ToEnd ; array has zero size | |
186 | + | |
187 | + mov esi,[InData] ; | |
188 | + mov edi,[OutData] ; | |
189 | + | |
190 | + mov bh,0 | |
191 | +@@LoopPix:mov ah,0 | |
192 | + mov al,[esi] | |
193 | + mov bl,[esi+1] | |
194 | + add ax,bx | |
195 | + mov bl,[esi+2] | |
196 | + add ax,bx | |
197 | + mov bl,3 | |
198 | + div bl | |
199 | + stosb | |
200 | + stosb | |
201 | + stosb | |
202 | + add esi,3 | |
203 | + loop @@LoopPix | |
204 | + | |
205 | +@@ToEnd: | |
206 | + ret ; _cdecl return | |
207 | + | |
208 | +RGB_Gray24simple endp | |
209 | + | |
210 | + | |
211 | + | |
212 | +;void BGR_Gray24(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) | |
213 | + public BGR_Gray24 | |
214 | +BGR_Gray24 proc \ | |
215 | + uses esi edi ebx, \ | |
216 | + OutData:ptr byte, \ | |
217 | + InData:ptr byte, \ | |
218 | + PixelCount:DWORD | |
219 | + | |
220 | + mov ecx,[PixelCount] ; cx=amount of pixels | |
221 | + cmp ecx,1 | |
222 | + jle @@ToEnd ; array has zero size | |
223 | + | |
224 | + mov esi,[InData] ; | |
225 | + mov edi,[OutData] ; | |
226 | + | |
227 | +@@LoopPix:mov eax,0 | |
228 | + lodsb | |
229 | + mov edx,4731 | |
230 | + mul edx | |
231 | + mov ebx,eax | |
232 | + | |
233 | + mov eax,0 | |
234 | + lodsb | |
235 | + mov edx,46871 | |
236 | + mul edx | |
237 | + add ebx,eax | |
238 | + | |
239 | + mov eax,0 | |
240 | + lodsb | |
241 | + mov edx,13932 | |
242 | + mul edx | |
243 | + add eax,ebx | |
244 | + | |
245 | + shr eax,16 | |
246 | + stosb | |
247 | + stosb | |
248 | + stosb | |
249 | + loop @@LoopPix | |
250 | + | |
251 | +@@ToEnd: | |
252 | + ret ; _cdecl return | |
253 | + | |
254 | +BGR_Gray24 endp | |
255 | + | |
256 | + | |
257 | + | |
258 | +;void BGR32_Gray24(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) | |
259 | + public BGR32_Gray24 | |
260 | +BGR32_Gray24 proc \ | |
261 | + uses esi edi ebx, \ | |
262 | + OutData:ptr byte, \ | |
263 | + InData:ptr byte, \ | |
264 | + PixelCount:DWORD | |
265 | + | |
266 | + mov ecx,[PixelCount] ; cx=amount of pixels | |
267 | + cmp ecx,1 | |
268 | + jle @@ToEnd ; array has zero size | |
269 | + | |
270 | + mov esi,[InData] ; | |
271 | + mov edi,[OutData] ; | |
272 | + | |
273 | +@@LoopPix:mov eax,0 | |
274 | + lodsb | |
275 | + mov edx,4731 | |
276 | + mul edx | |
277 | + mov ebx,eax | |
278 | + | |
279 | + mov eax,0 | |
280 | + lodsb | |
281 | + mov edx,46871 | |
282 | + mul edx | |
283 | + add ebx,eax | |
284 | + | |
285 | + mov eax,0 | |
286 | + lodsb | |
287 | + mov edx,13932 | |
288 | + mul edx | |
289 | + add eax,ebx | |
290 | + | |
291 | + shr eax,16 | |
292 | + stosb | |
293 | + stosb | |
294 | + stosb | |
295 | + inc esi | |
296 | + loop @@LoopPix | |
297 | + | |
298 | +@@ToEnd: | |
299 | + ret ; _cdecl return | |
300 | + | |
301 | +BGR32_Gray24 endp | |
302 | + | |
303 | + | |
304 | +;void RGB32_Gray(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) | |
305 | + public RGB32_Gray | |
306 | +RGB32_Gray proc \ | |
307 | + uses esi edi ebx, \ | |
308 | + OutData:ptr byte, \ | |
309 | + InData:ptr byte, \ | |
310 | + PixelCount:DWORD | |
311 | + | |
312 | + mov ecx,[PixelCount] ; cx=amount of pixels | |
313 | + cmp ecx,1 | |
314 | + jle @@ToEnd ; array has zero size | |
315 | + | |
316 | + mov esi,[InData] ; | |
317 | + mov edi,[OutData] ; | |
318 | + | |
319 | + mov bh,0 | |
320 | +@@LoopPix:mov ah,0 | |
321 | + mov al,[esi] | |
322 | + mov bl,[esi+1] | |
323 | + add ax,bx | |
324 | + mov bl,[esi+2] | |
325 | + add ax,bx | |
326 | + mov bl,3 | |
327 | + div bl | |
328 | + stosb | |
329 | + add esi,4 | |
330 | + loop @@LoopPix | |
331 | + | |
332 | +@@ToEnd: | |
333 | + ret ; _cdecl return | |
334 | + | |
335 | +RGB32_Gray endp | |
336 | + | |
337 | + | |
338 | +;void RGB_Gray(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) | |
339 | + public RGB_Gray | |
340 | +RGB_Gray proc \ | |
341 | + uses esi edi ebx, \ | |
342 | + OutData:ptr byte, \ | |
343 | + InData:ptr byte, \ | |
344 | + PixelCount:DWORD | |
345 | + | |
346 | + mov ecx,[PixelCount] ; cx=amount of pixels | |
347 | + cmp ecx,1 | |
348 | + jle @@ToEnd ; array has zero size | |
349 | + | |
350 | + mov esi,[InData] ; | |
351 | + mov edi,[OutData] ; | |
352 | + | |
353 | + mov bh,0 | |
354 | +@@LoopPix:mov ah,0 | |
355 | + mov al,[esi] | |
356 | + mov bl,[esi+1] | |
357 | + add ax,bx | |
358 | + mov bl,[esi+2] | |
359 | + add ax,bx | |
360 | + mov bl,3 | |
361 | + div bl | |
362 | + stosb | |
363 | + add esi,3 | |
364 | + loop @@LoopPix | |
365 | + | |
366 | +@@ToEnd: | |
367 | + ret ; _cdecl return | |
368 | + | |
369 | +RGB_Gray endp | |
370 | + | |
371 | + | |
372 | +;void NotR(char *R, unsigned DataSize) //R1:=not(R1) | |
373 | + public NotR | |
374 | +NotR proc \ | |
375 | + uses edi, \ | |
376 | + R:ptr byte, \ | |
377 | + DataSize:DWORD | |
378 | + | |
379 | + mov ecx,[DataSize] ; cx=amount of pixels/bytes | |
380 | + mov edi,[R] ; Row byte data | |
381 | + | |
382 | + sub ecx,4 | |
383 | + jl @@LoopPx1 | |
384 | + | |
385 | +@@LoopPx4:mov eax,[edi] ; Invert DWORDs | |
386 | + not eax | |
387 | + mov [edi],eax | |
388 | + add edi,4 | |
389 | + | |
390 | + sub ecx,4 | |
391 | + jge @@LoopPx4 | |
392 | + | |
393 | +@@LoopPx1:add ecx,4 | |
394 | + jz @@ToEnd | |
395 | + | |
396 | +@@LoopPix:mov al,[edi] ; Invert BYTEs | |
397 | + not al | |
398 | + mov [edi],al | |
399 | + inc edi | |
400 | + loop @@LoopPix | |
401 | +@@ToEnd: | |
402 | + ret ; _cdecl return | |
403 | + | |
404 | +NotR endp | |
405 | + | |
406 | + | |
407 | + | |
408 | +;void YUV_RGB(unsigned char *OutData, const unsigned char *y, const unsigned char *u, const unsigned char *v, unsigned PixelCount) | |
409 | + public YUV_RGB | |
410 | +YUV_RGB proc \ | |
411 | + uses edi esi ebx, \ | |
412 | + OutData: ptr BYTE, \ | |
413 | + y: ptr BYTE, \ | |
414 | + u: ptr BYTE, \ | |
415 | + v: ptr BYTE, \ | |
416 | + PixelCount: DWORD | |
417 | + | |
418 | + mov edi,[OutData] | |
419 | + mov esi,[y] | |
420 | + mov ebx,[u] | |
421 | + mov ecx,[PixelCount] | |
422 | + push ebp | |
423 | + mov ebp,[v] | |
424 | + | |
425 | + sub ecx,2 | |
426 | + jb @@Exit | |
427 | + | |
428 | +@@LoopPx:xor edx,edx | |
429 | + mov dh,[esi] ; 255*Y | |
430 | + | |
431 | + xor eax,eax | |
432 | + mov al,[ebp] ; V | |
433 | + sub eax,128 | |
434 | + imul eax,291 ; 291*V | |
435 | + add eax,edx | |
436 | + | |
437 | + js @@SmallR1 | |
438 | + test eax,0FFFF0000h | |
439 | + jnz @@BigR1 | |
440 | + mov [edi],ah ; B1 | |
441 | + jmp @@LoopX1R | |
442 | +@@BigR1: mov byte ptr [edi],255 | |
443 | + jmp @@LoopX1R | |
444 | +@@SmallR1:mov byte ptr [edi],0 | |
445 | +@@LoopX1R:add edi,2 ; Shift to B | |
446 | + | |
447 | + xor eax,eax | |
448 | + mov al,[ebx] ; U | |
449 | + sub eax,128 | |
450 | + imul eax,521 ; 291*V | |
451 | + add eax,edx | |
452 | + | |
453 | + js @@SmallB1 | |
454 | + test eax,0FFFF0000h | |
455 | + jnz @@BigB1 | |
456 | + mov [edi],ah ; B1 | |
457 | + jmp @@LoopX1B | |
458 | +@@BigB1: mov byte ptr [edi],255 | |
459 | + jmp @@LoopX1B | |
460 | +@@SmallB1:mov byte ptr [edi],0 | |
461 | +@@LoopX1B:dec edi ; Shift back to G1 | |
462 | + | |
463 | + ;EDX = 255*Y | |
464 | + xor eax,eax | |
465 | + mov al,[ebp] ; V | |
466 | + sub eax,128 | |
467 | + imul eax,148 | |
468 | + sub edx,eax | |
469 | + | |
470 | + xor eax,eax | |
471 | + mov al,[ebx] ; U | |
472 | + sub eax,128 | |
473 | + imul eax,102 ; 102*U | |
474 | + sub edx,eax ; 255*Y - 102*U - 148*V | |
475 | + | |
476 | + js @@SmallG1 | |
477 | + test edx,0FFFF0000h | |
478 | + jnz @@BigG1 | |
479 | + mov [edi],dh ; R1 | |
480 | + jmp @@LoopX1G | |
481 | +@@BigG1: mov byte ptr [edi],255 | |
482 | + jmp @@LoopX1G | |
483 | +@@SmallG1:mov byte ptr [edi],0 | |
484 | +@@LoopX1G:add edi,2 ; Shift to R2 | |
485 | + | |
486 | + inc esi | |
487 | + | |
488 | + ; 2nd pixel | |
489 | + xor edx,edx | |
490 | + mov dh,[esi] ; 255*Y | |
491 | + | |
492 | + xor eax,eax | |
493 | + mov al,[ebp] ; V | |
494 | + sub eax,128 | |
495 | + imul eax,291 ; 291*V | |
496 | + add eax,edx | |
497 | + | |
498 | + js @@SmallR2 | |
499 | + test eax,0FFFF0000h | |
500 | + jnz @@BigR2 | |
501 | + mov [edi],ah ; B2 | |
502 | + jmp @@LoopX2R | |
503 | +@@BigR2: mov byte ptr [edi],255 | |
504 | + jmp @@LoopX2R | |
505 | +@@SmallR2:mov byte ptr [edi],0 | |
506 | +@@LoopX2R:add edi,2 ; Shift to B2 | |
507 | + | |
508 | + xor eax,eax | |
509 | + mov al,[ebx] ; U | |
510 | + sub eax,128 | |
511 | + imul eax,521 ; 291*V | |
512 | + add eax,edx | |
513 | + | |
514 | + js @@SmallB2 | |
515 | + test eax,0FFFF0000h | |
516 | + jnz @@BigB2 | |
517 | + mov [edi],ah ; B1 | |
518 | + jmp @@LoopX2B | |
519 | +@@BigB2: mov byte ptr [edi],255 | |
520 | + jmp @@LoopX2B | |
521 | +@@SmallB2:mov byte ptr [edi],0 | |
522 | +@@LoopX2B:dec edi ; Shift back to G | |
523 | + | |
524 | + ;EDX = 255*Y | |
525 | + xor eax,eax | |
526 | + mov al,[ebp] ; V | |
527 | + sub eax,128 | |
528 | + imul eax,148 | |
529 | + sub edx,eax | |
530 | + | |
531 | + xor eax,eax | |
532 | + mov al,[ebx] ; U | |
533 | + sub eax,128 | |
534 | + imul eax,102 ; 102*U | |
535 | + sub edx,eax ; 255*Y - 102*U - 148*V | |
536 | + | |
537 | + js @@SmallG2 | |
538 | + test edx,0FFFF0000h | |
539 | + jnz @@BigG2 | |
540 | + mov [edi],dh ; R1 | |
541 | + jmp @@LoopX2G | |
542 | +@@BigG2: mov byte ptr [edi],255 | |
543 | + jmp @@LoopX2G | |
544 | +@@SmallG2:mov byte ptr [edi],0 | |
545 | +@@LoopX2G:add edi,2 ; Shift to R3 | |
546 | + | |
547 | + inc ebx ; inc U every 2nd pixel | |
548 | + inc ebp ; inc V every 2nd pixel | |
549 | + | |
550 | + inc esi ; inc Y every pixel | |
551 | + sub ecx,2 | |
552 | + jae @@LoopPx | |
553 | + | |
554 | +@@Exit: | |
555 | + pop ebp | |
556 | + ret | |
557 | +YUV_RGB endp | |
558 | + | |
559 | + | |
560 | + | |
561 | +;void YUYV_RGB(unsigned char *OutData, const unsigned char *yuyv, unsigned PixelCount); | |
562 | + public YUYV_RGB | |
563 | +YUYV_RGB proc \ | |
564 | + uses edi esi ebx, \ | |
565 | + OutData: ptr BYTE, \ | |
566 | + yuyv: ptr BYTE, \ | |
567 | + PixelCount: DWORD | |
568 | + | |
569 | + mov edi,[OutData] | |
570 | + mov esi,[yuyv] | |
571 | + mov ecx,[PixelCount] | |
572 | + push ebp | |
573 | + | |
574 | + sub ecx,2 | |
575 | + jb @@Exit | |
576 | + | |
577 | +@@LoopPx:mov ebx,[esi] | |
578 | + | |
579 | + xor edx,edx | |
580 | + mov dh,bl ; 255*Y | |
581 | + | |
582 | + mov eax,ebx | |
583 | + rol eax,8 | |
584 | + and eax,0FFh ; V | |
585 | + sub eax,128 | |
586 | + mov ebp,eax ; store V to EBP | |
587 | + imul eax,291 ; 291*V | |
588 | + add eax,edx | |
589 | + | |
590 | + js @@SmallR1 | |
591 | + test eax,0FFFF0000h | |
592 | + jnz @@BigR1 | |
593 | + mov [edi],ah ; B1 | |
594 | + jmp @@LoopX1R | |
595 | +@@BigR1:mov byte ptr [edi],255 | |
596 | + jmp @@LoopX1R | |
597 | +@@SmallR1:mov byte ptr [edi],0 | |
598 | +@@LoopX1R:add edi,2 ; Shift to B | |
599 | + | |
600 | + xor eax,eax | |
601 | + mov al,bh ; U | |
602 | + sub eax,128 | |
603 | + imul eax,521 ; 291*U | |
604 | + add eax,edx | |
605 | + | |
606 | + js @@SmallB1 | |
607 | + test eax,0FFFF0000h | |
608 | + jnz @@BigB1 | |
609 | + mov [edi],ah ; B1 | |
610 | + jmp @@LoopX1B | |
611 | +@@BigB1:mov byte ptr [edi],255 | |
612 | + jmp @@LoopX1B | |
613 | +@@SmallB1:mov byte ptr [edi],0 | |
614 | +@@LoopX1B:dec edi ; Shift back to G1 | |
615 | + | |
616 | + ;EDX = 255*Y | |
617 | + | |
618 | + imul eax,ebp,148 ; V normalised *148 | |
619 | + sub edx,eax | |
620 | + | |
621 | + xor eax,eax | |
622 | + mov al,bh ; U | |
623 | + sub eax,128 | |
624 | + imul eax,102 ; 102*U | |
625 | + sub edx,eax ; 255*Y - 102*U - 148*V | |
626 | + | |
627 | + js @@SmallG1 | |
628 | + test edx,0FFFF0000h | |
629 | + jnz @@BigG1 | |
630 | + mov [edi],dh ; R1 | |
631 | + jmp @@LoopX1G | |
632 | +@@BigG1: mov byte ptr [edi],255 | |
633 | + jmp @@LoopX1G | |
634 | +@@SmallG1:mov byte ptr [edi],0 | |
635 | +@@LoopX1G:add edi,2 ; Shift to R2 | |
636 | + | |
637 | + ; 2nd pixel | |
638 | + mov edx,ebx | |
639 | + ror edx,8 | |
640 | + and edx,0FF00h ; 255*Y2 | |
641 | + | |
642 | + imul eax,ebp,291 ; 291*V | |
643 | + add eax,edx | |
644 | + | |
645 | + js @@SmallR2 | |
646 | + test eax,0FFFF0000h | |
647 | + jnz @@BigR2 | |
648 | + mov [edi],ah ; R2 | |
649 | + jmp @@LoopX2R | |
650 | +@@BigR2: mov byte ptr [edi],255 | |
651 | + jmp @@LoopX2R | |
652 | +@@SmallR2:mov byte ptr [edi],0 | |
653 | +@@LoopX2R:add edi,2 ; Shift to B2 | |
654 | + | |
655 | + mov bl,bh ; U | |
656 | + and ebx,0FFh | |
657 | + sub ebx,128 | |
658 | + imul eax,ebx,521 ; 521*U | |
659 | + add eax,edx | |
660 | + | |
661 | + js @@SmallB2 | |
662 | + test eax,0FFFF0000h | |
663 | + jnz @@BigB2 | |
664 | + mov [edi],ah ; B2 | |
665 | + jmp @@LoopX2B | |
666 | +@@BigB2: mov byte ptr [edi],255 | |
667 | + jmp @@LoopX2B | |
668 | +@@SmallB2:mov byte ptr [edi],0 | |
669 | +@@LoopX2B:dec edi ; Shift back to G | |
670 | + | |
671 | + ;EDX = 255*Y | |
672 | + imul eax,ebp,148 ; V normalised * 148 | |
673 | + sub edx,eax | |
674 | + | |
675 | + imul eax,ebx,102 ; 102*U normalised | |
676 | + sub edx,eax ; 255*Y - 102*U - 148*V | |
677 | + | |
678 | + js @@SmallG2 | |
679 | + test edx,0FFFF0000h | |
680 | + jnz @@BigG2 | |
681 | + mov [edi],dh ; G2 | |
682 | + jmp @@LoopX2G | |
683 | +@@BigG2:mov byte ptr [edi],255 | |
684 | + jmp @@LoopX2G | |
685 | +@@SmallG2:mov byte ptr [edi],0 | |
686 | +@@LoopX2G:add edi,2 ; Shift to R3 | |
687 | + | |
688 | + | |
689 | + add esi,4 ; inc Y per 2 pixels | |
690 | + sub ecx,2 | |
691 | + jae @@LoopPx | |
692 | + | |
693 | +@@Exit: | |
694 | + pop ebp | |
695 | + ret | |
696 | +YUYV_RGB endp | |
697 | + | |
698 | + | |
699 | + end |
@@ -104,7 +104,7 @@ | ||
104 | 104 | ;void RGB32_BGR24(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) |
105 | 105 | public RGB32_BGR24 |
106 | 106 | RGB32_BGR24 proc \ |
107 | - uses esi edi ebx \ | |
107 | + uses esi edi ebx, \ | |
108 | 108 | OutData:ptr byte, \ |
109 | 109 | InData:ptr byte, \ |
110 | 110 | PixelCount:DWORD |
@@ -172,7 +172,7 @@ | ||
172 | 172 | ;void RGB_Gray24(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) |
173 | 173 | public RGB_Gray24simple |
174 | 174 | RGB_Gray24simple proc \ |
175 | - uses esi edi ebx \ | |
175 | + uses esi edi ebx, \ | |
176 | 176 | OutData:ptr byte, \ |
177 | 177 | InData:ptr byte, \ |
178 | 178 | PixelCount:DWORD |
@@ -209,7 +209,7 @@ | ||
209 | 209 | ;void BGR_Gray24(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) |
210 | 210 | public BGR_Gray24 |
211 | 211 | BGR_Gray24 proc \ |
212 | - uses esi edi ebx \ | |
212 | + uses esi edi ebx, \ | |
213 | 213 | OutData:ptr byte, \ |
214 | 214 | InData:ptr byte, \ |
215 | 215 | PixelCount:DWORD |
@@ -255,7 +255,7 @@ | ||
255 | 255 | ;void BGR32_Gray24(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) |
256 | 256 | public BGR32_Gray24 |
257 | 257 | BGR32_Gray24 proc \ |
258 | - uses esi edi ebx \ | |
258 | + uses esi edi ebx, \ | |
259 | 259 | OutData:ptr byte, \ |
260 | 260 | InData:ptr byte, \ |
261 | 261 | PixelCount:DWORD |
@@ -301,7 +301,7 @@ | ||
301 | 301 | ;void RGB32_Gray(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) |
302 | 302 | public RGB32_Gray |
303 | 303 | RGB32_Gray proc \ |
304 | - uses esi edi ebx \ | |
304 | + uses esi edi ebx, \ | |
305 | 305 | OutData:ptr byte, \ |
306 | 306 | InData:ptr byte, \ |
307 | 307 | PixelCount:DWORD |
@@ -335,7 +335,7 @@ | ||
335 | 335 | ;void RGB_Gray(unsigned char *OutData, const unsigned char *InData, unsigned PixelCount) |
336 | 336 | public RGB_Gray |
337 | 337 | RGB_Gray proc \ |
338 | - uses esi edi ebx \ | |
338 | + uses esi edi ebx, \ | |
339 | 339 | OutData:ptr byte, \ |
340 | 340 | InData:ptr byte, \ |
341 | 341 | PixelCount:DWORD |
@@ -405,11 +405,11 @@ | ||
405 | 405 | ;void YUV_RGB(unsigned char *OutData, const unsigned char *y, const unsigned char *u, const unsigned char *v, unsigned PixelCount) |
406 | 406 | public YUV_RGB |
407 | 407 | YUV_RGB proc \ |
408 | - uses edi esi ebx\ | |
409 | - OutData: ptr BYTE,\ | |
410 | - y: ptr BYTE,\ | |
411 | - u: ptr BYTE,\ | |
412 | - v: ptr BYTE,\ | |
408 | + uses edi esi ebx, \ | |
409 | + OutData: ptr BYTE, \ | |
410 | + y: ptr BYTE, \ | |
411 | + u: ptr BYTE, \ | |
412 | + v: ptr BYTE, \ | |
413 | 413 | PixelCount: DWORD |
414 | 414 | |
415 | 415 | mov edi,[OutData] |
@@ -420,7 +420,7 @@ | ||
420 | 420 | mov ebp,[v] |
421 | 421 | |
422 | 422 | sub ecx,2 |
423 | - jb exit | |
423 | + jb Exit | |
424 | 424 | |
425 | 425 | LoopPx: xor edx,edx |
426 | 426 | mov dh,[esi] ; 255*Y |
@@ -558,9 +558,9 @@ | ||
558 | 558 | ;void YUYV_RGB(unsigned char *OutData, const unsigned char *yuyv, unsigned PixelCount); |
559 | 559 | public YUYV_RGB |
560 | 560 | YUYV_RGB proc \ |
561 | - uses edi esi ebx\ | |
562 | - OutData: ptr BYTE,\ | |
563 | - yuyv: ptr BYTE,\ | |
561 | + uses edi esi ebx, \ | |
562 | + OutData: ptr BYTE, \ | |
563 | + yuyv: ptr BYTE, \ | |
564 | 564 | PixelCount: DWORD |
565 | 565 | |
566 | 566 | mov edi,[OutData] |
@@ -569,7 +569,7 @@ | ||
569 | 569 | push ebp |
570 | 570 | |
571 | 571 | sub ecx,2 |
572 | - jb exit | |
572 | + jb Exit | |
573 | 573 | |
574 | 574 | LoopPx: mov ebx,[esi] |
575 | 575 |
@@ -5439,7 +5439,6 @@ | ||
5439 | 5439 | goto FINISH; //not a text data |
5440 | 5440 | } |
5441 | 5441 | x=0; |
5442 | - i=0; | |
5443 | 5442 | do { |
5444 | 5443 | x++; |
5445 | 5444 | if(!isdigit(ch) && ch!=0) ch=0; |
@@ -6183,11 +6182,13 @@ | ||
6183 | 6182 | case 0x0A32: strcpy(ObjType,"!ExtTextOut"); break; |
6184 | 6183 | |
6185 | 6184 | case 0x0B23: strcpy(ObjType,"!StretchBlt"); break; |
6186 | - | |
6187 | - case 0x0B41: strcpy(ObjType,"!DibStretchBlt"); break; | |
6188 | - | |
6189 | - case 0x0d33: strcpy(ObjType,"!SetDibToDev"); break; | |
6190 | 6185 | */ |
6186 | + case 0x0B41: WMF_DIBSTRETCHBLT(Img, f, WmfRec->ParamFilePos); | |
6187 | + //strcpy(ObjType,"!DibStretchBlt"); | |
6188 | + break; | |
6189 | + | |
6190 | +// case 0x0d33: strcpy(ObjType,"!SetDibToDev"); break; | |
6191 | + | |
6191 | 6192 | case 0x0F43: WMF_STRETCHDIB(Img, f, WmfRec->ParamFilePos); |
6192 | 6193 | // strcpy(ObjType,"StretchDIBits"); |
6193 | 6194 | break; |
@@ -611,16 +611,16 @@ | ||
611 | 611 | |
612 | 612 | if(LineNumbering) |
613 | 613 | { |
614 | - if(LineNo>=0) | |
614 | + if(LineNo>=STYLE_NOTUSED) | |
615 | 615 | { |
616 | - LineNo = 1; | |
616 | + LineNo = STYLE_USED; | |
617 | 617 | AttrOn(cq->attr,Line_Num); |
618 | 618 | } |
619 | 619 | } |
620 | 620 | else |
621 | 621 | AttrOff(cq,Line_Num); |
622 | 622 | |
623 | -sprintf(cq->ObjType,"%sLine Num:%s", (LineNo>=0)?"":"!", (LineNumbering&1)?"On":"Off"); | |
623 | +sprintf(cq->ObjType,"%sLine Num:%s", (LineNo>=STYLE_NOTUSED)?"":"!", (LineNumbering&1)?"On":"Off"); | |
624 | 624 | } |
625 | 625 | |
626 | 626 |
@@ -835,7 +835,7 @@ | ||
835 | 835 | fprintf(cq->log,"\n#Center() ");fflush(cq->log); |
836 | 836 | #endif |
837 | 837 | |
838 | - if(cq->char_on_line == -10) /* first line of minipages */ | |
838 | + if(cq->char_on_line == FIRST_CHAR_MINIPAGE) /* first line of minipages */ | |
839 | 839 | { /* a new line have to be creared */ |
840 | 840 | fputs("%\n", cq->strip); |
841 | 841 | cq->line_term = 's'; /* Soft return */ |
@@ -845,7 +845,7 @@ | ||
845 | 845 | |
846 | 846 | cq->nomore_valid_tabs = false; |
847 | 847 | Make_tableentry_attr(cq); |
848 | - cq->char_on_line = false; | |
848 | + cq->char_on_line = NO_CHAR; | |
849 | 849 | } |
850 | 850 | |
851 | 851 | if (cq->envir == ' ') /* environment = center */ |
@@ -1368,15 +1368,15 @@ | ||
1368 | 1368 | if((WPx==3 || WPx==1) && (b&0xFC)==0) |
1369 | 1369 | b=JustWP3_2WP5[b&0x3]; |
1370 | 1370 | |
1371 | - if(cq->char_on_line == -10) //first line after minipages | |
1372 | - { | |
1373 | - putc('%', cq->strip); | |
1374 | - cq->char_on_line=true; | |
1375 | - } | |
1371 | + if(cq->char_on_line == FIRST_CHAR_MINIPAGE) //first line after minipages | |
1372 | + { | |
1373 | + putc('%', cq->strip); | |
1374 | + cq->char_on_line = CHAR_PRESENT; | |
1375 | + } | |
1376 | 1376 | if(cq->char_on_line==CHAR_PRESENT) //!!!!!!!!! //// |
1377 | - { | |
1378 | - NewLine(cq); | |
1379 | - } | |
1377 | + { | |
1378 | + NewLine(cq); | |
1379 | + } | |
1380 | 1380 | cq->latex_tabpos = 0; |
1381 | 1381 | OldEnvir = cq->envir; |
1382 | 1382 | cq->envir = ' '; |
@@ -108,7 +108,7 @@ | ||
108 | 108 | recursion++; |
109 | 109 | |
110 | 110 | line_term = 's'; //Soft return |
111 | - if(char_on_line == -20) /* Left one empty line for new enviroment */ | |
111 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) /* Left one empty line for new enviroment */ | |
112 | 112 | { |
113 | 113 | fputc('%', table); |
114 | 114 | fputc('%', strip); |
@@ -136,7 +136,7 @@ | ||
136 | 136 | flag = HeaderText; |
137 | 137 | envir = ' '; |
138 | 138 | ActualPos = ftell(wpd); |
139 | - char_on_line = -10; | |
139 | + char_on_line = FIRST_CHAR_MINIPAGE; | |
140 | 140 | while(*Header_Text!=0) |
141 | 141 | { |
142 | 142 | by=*Header_Text++; |
@@ -160,7 +160,7 @@ | ||
160 | 160 | attr = OldAttr; // Restore backuped attributes |
161 | 161 | flag = OldFlag; |
162 | 162 | envir = OldEnvir; |
163 | - char_on_line = -10; // stronger false; | |
163 | + char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
164 | 164 | recursion--; |
165 | 165 | |
166 | 166 | strcpy(ObjType,(He_Fo & 3)<=1?"Header":"Footer"); |
@@ -638,7 +638,7 @@ | ||
638 | 638 | strcpy(ObjType, BoxNames[BoxType]); |
639 | 639 | UnknownEquType: |
640 | 640 | recursion--; |
641 | - if(envir=='^') char_on_line = -10; // stronger false; | |
641 | + if(envir=='^') char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
642 | 642 | flag = OldFlag; |
643 | 643 | envir = OldEnvir; |
644 | 644 | attr = OldAttr; |
@@ -848,7 +848,7 @@ | ||
848 | 848 | end_of_code -= 4; //stop before this object ends |
849 | 849 | |
850 | 850 | line_term = 's'; //Soft return |
851 | - if(char_on_line == -20) /* Left one enpty line for new enviroment */ | |
851 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one enpty line for new enviroment. | |
852 | 852 | { |
853 | 853 | fputc('%', table); |
854 | 854 | fputc('%', strip); |
@@ -889,7 +889,7 @@ | ||
889 | 889 | flag = HeaderText; |
890 | 890 | envir = ' '; |
891 | 891 | ActualPos = ftell(wpd); |
892 | - char_on_line = -10; | |
892 | + char_on_line = FIRST_CHAR_MINIPAGE; | |
893 | 893 | while (ActualPos < end_of_code) |
894 | 894 | { |
895 | 895 | fread(&by, 1, 1, wpd); |
@@ -912,7 +912,7 @@ | ||
912 | 912 | attr=OldAttr; /* Restore attributes backed up */ |
913 | 913 | flag = OldFlag; |
914 | 914 | envir = OldEnvir; |
915 | - char_on_line = -10; // stronger false; | |
915 | + char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
916 | 916 | recursion--; |
917 | 917 | |
918 | 918 | ExitHeaderFooter: |
@@ -1011,7 +1011,7 @@ | ||
1011 | 1011 | OldEnvir= envir; |
1012 | 1012 | recursion++; |
1013 | 1013 | |
1014 | - if(char_on_line == -20) /* Left one enpty line for new enviroment */ | |
1014 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one enpty line for new enviroment. | |
1015 | 1015 | { |
1016 | 1016 | fputc('%', table);fputc('%', strip); |
1017 | 1017 | NewLine(this); |
@@ -1092,9 +1092,9 @@ | ||
1092 | 1092 | |
1093 | 1093 | by=fgetc(wpd); |
1094 | 1094 | } |
1095 | - if(char_on_line <= -10) /* Left one empty line for ending enviroment */ | |
1095 | + if(char_on_line <= FIRST_CHAR_MINIPAGE) // Left one empty line for ending enviroment. | |
1096 | 1096 | { |
1097 | - fputc('%', table);fputc('%', strip); | |
1097 | + fputc('%', table); fputc('%', strip); | |
1098 | 1098 | NewLine(this); |
1099 | 1099 | } |
1100 | 1100 |
@@ -1108,14 +1108,14 @@ | ||
1108 | 1108 | break; |
1109 | 1109 | } |
1110 | 1110 | |
1111 | - envir='^'; //Ignore enviroments after table | |
1111 | + envir = '^'; //Ignore enviroments after table | |
1112 | 1112 | fputc('%', table); |
1113 | 1113 | NewLine(this); |
1114 | - char_on_line = -10; // stronger false; | |
1114 | + char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
1115 | 1115 | |
1116 | 1116 | recursion--; |
1117 | - flag=OldFlag; | |
1118 | - envir=OldEnvir; | |
1117 | + flag = OldFlag; | |
1118 | + envir = OldEnvir; | |
1119 | 1119 | |
1120 | 1120 | strcpy(ObjType, "Table Start"); |
1121 | 1121 | } |
@@ -324,7 +324,7 @@ | ||
324 | 324 | recursion++; |
325 | 325 | |
326 | 326 | line_term = 's'; //Soft return |
327 | - if(char_on_line == -20) /* Left one enpty line for new enviroment */ | |
327 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one enpty line for new enviroment. | |
328 | 328 | { |
329 | 329 | fputc('%', table); |
330 | 330 | fputc('%', strip); |
@@ -345,7 +345,7 @@ | ||
345 | 345 | ActualPos = PosX; |
346 | 346 | envir = ' '; |
347 | 347 | flag = HeaderText; |
348 | - char_on_line = -10; | |
348 | + char_on_line = FIRST_CHAR_MINIPAGE; | |
349 | 349 | while (!feof(wpd)) |
350 | 350 | { |
351 | 351 | fread(&by, 1, 1, wpd); |
@@ -372,7 +372,7 @@ | ||
372 | 372 | attr = OldAttr; |
373 | 373 | flag = OldFlag; |
374 | 374 | envir= OldEnvir; |
375 | - char_on_line = -10; | |
375 | + char_on_line = FIRST_CHAR_MINIPAGE; | |
376 | 376 | |
377 | 377 | EndHeaderFooter: |
378 | 378 | LogLevel=SaveLLevel; |
@@ -690,7 +690,7 @@ | ||
690 | 690 | if(Box.Width<=1 && err != NULL) |
691 | 691 | fprintf(err, _("\nWarning: The width of the Box is %f, are you sure?"),Box.Width); |
692 | 692 | |
693 | - if(char_on_line == -20) /* Left one empty line for new enviroment */ | |
693 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one empty line for new enviroment. | |
694 | 694 | { |
695 | 695 | fputc('%', table); |
696 | 696 | fputc('%', strip); |
@@ -706,7 +706,7 @@ | ||
706 | 706 | envir='!'; //Ignore enviroments Before |
707 | 707 | NewLine(this); |
708 | 708 | |
709 | - char_on_line = -10; | |
709 | + char_on_line = FIRST_CHAR_MINIPAGE; | |
710 | 710 | envir = ' '; |
711 | 711 | while(ActualPos < end_of_code) |
712 | 712 | { |
@@ -771,7 +771,7 @@ | ||
771 | 771 | strcpy(ObjType, BoxNames[BoxType]); |
772 | 772 | UnknownEquType: |
773 | 773 | recursion--; |
774 | - if(envir=='^') char_on_line = -10; // stronger false; | |
774 | + if(envir=='^') char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
775 | 775 | flag = OldFlag; |
776 | 776 | envir = OldEnvir; |
777 | 777 | attr = OldAttr; |
@@ -1236,7 +1236,7 @@ | ||
1236 | 1236 | end_of_code -= 4; |
1237 | 1237 | |
1238 | 1238 | line_term = 's'; //Soft return |
1239 | - if(char_on_line == -20) /* Left one enpty line for new enviroment */ | |
1239 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one enpty line for new enviroment. | |
1240 | 1240 | { |
1241 | 1241 | fputc('%', table); |
1242 | 1242 | fputc('%', strip); |
@@ -1275,7 +1275,7 @@ | ||
1275 | 1275 | flag = HeaderText; |
1276 | 1276 | envir = ' '; |
1277 | 1277 | ActualPos = ftell(wpd); |
1278 | - char_on_line = -10; | |
1278 | + char_on_line = FIRST_CHAR_MINIPAGE; | |
1279 | 1279 | while(ActualPos < end_of_code) |
1280 | 1280 | { |
1281 | 1281 | fread(&by, 1, 1, wpd); |
@@ -1298,7 +1298,7 @@ | ||
1298 | 1298 | attr=OldAttr; /* Restore backuped attributes */ |
1299 | 1299 | flag = OldFlag; |
1300 | 1300 | envir = OldEnvir; |
1301 | - char_on_line = -10; // stronger false; | |
1301 | + char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
1302 | 1302 | recursion--; |
1303 | 1303 | |
1304 | 1304 | ExitHeaderFooter: |
@@ -1523,7 +1523,7 @@ | ||
1523 | 1523 | OldEnvir= envir; |
1524 | 1524 | recursion++; |
1525 | 1525 | |
1526 | - if(char_on_line == -20) /* Left one enpty line for new enviroment */ | |
1526 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one enpty line for new enviroment. | |
1527 | 1527 | { |
1528 | 1528 | fputc('%', table);fputc('%', strip); |
1529 | 1529 | NewLine(this); |
@@ -1604,7 +1604,7 @@ | ||
1604 | 1604 | } |
1605 | 1605 | Close_All_Attr(attr,strip); |
1606 | 1606 | |
1607 | - if(char_on_line <= -10) /* Left one empty line for ending enviroment */ | |
1607 | + if(char_on_line <= FIRST_CHAR_MINIPAGE) // Left one empty line for ending enviroment. | |
1608 | 1608 | { |
1609 | 1609 | fputc('%', table);fputc('%', strip); |
1610 | 1610 | NewLine(this); |
@@ -1623,7 +1623,7 @@ | ||
1623 | 1623 | envir='^'; //Ignore enviroments after table |
1624 | 1624 | fputc('%', table); |
1625 | 1625 | NewLine(this); |
1626 | - char_on_line = -10; // stronger false; | |
1626 | + char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
1627 | 1627 | |
1628 | 1628 | recursion--; |
1629 | 1629 | flag = OldFlag; |
@@ -836,7 +836,7 @@ | ||
836 | 836 | end_of_code = Res.ResourceFilePos+BlockOffset+BlockSize; |
837 | 837 | |
838 | 838 | |
839 | - if(char_on_line == -20) /* Left one enpty line for new enviroment */ | |
839 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one enpty line for new enviroment. | |
840 | 840 | { |
841 | 841 | fputc('%', table); |
842 | 842 | fputc('%', strip); |
@@ -852,9 +852,9 @@ | ||
852 | 852 | envir='!'; //Ignore enviroments Before |
853 | 853 | NewLine(this); |
854 | 854 | |
855 | - char_on_line = -10; | |
856 | - envir=' '; | |
857 | - ActualPos=ftell(wpd); | |
855 | + char_on_line = FIRST_CHAR_MINIPAGE; | |
856 | + envir = ' '; | |
857 | + ActualPos = ftell(wpd); | |
858 | 858 | recursion++; |
859 | 859 | while (ActualPos < end_of_code) |
860 | 860 | { |
@@ -1090,12 +1090,12 @@ | ||
1090 | 1090 | |
1091 | 1091 | attr = OldAttr; //Return saved attributes before placing a formula |
1092 | 1092 | |
1093 | - if(char_on_line == -20) /* Left one enpty line for new enviroment */ | |
1093 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one enpty line for new enviroment. | |
1094 | 1094 | { |
1095 | 1095 | fputc('%', table); |
1096 | 1096 | fputc('%', strip); |
1097 | 1097 | NewLine(this); |
1098 | - char_on_line = true; | |
1098 | + char_on_line = CHAR_PRESENT; | |
1099 | 1099 | } |
1100 | 1100 | if(char_on_line==CHAR_PRESENT) /* make new line for leader of minipage */ |
1101 | 1101 | { |
@@ -1125,7 +1125,7 @@ | ||
1125 | 1125 | LEqEmpty: |
1126 | 1126 | attr = OldAttr; |
1127 | 1127 | AttrsRestored: |
1128 | - if(envir=='^') char_on_line = -10; // stronger false; | |
1128 | + if(envir=='^') char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
1129 | 1129 | flag = OldFlag; |
1130 | 1130 | envir = OldEnvir; |
1131 | 1131 |
@@ -1680,7 +1680,7 @@ | ||
1680 | 1680 | } |
1681 | 1681 | |
1682 | 1682 | line_term = 's'; //Soft return |
1683 | - if(char_on_line == -20) /* Left one enpty line for new enviroment */ | |
1683 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one enpty line for new enviroment. | |
1684 | 1684 | { |
1685 | 1685 | fputc('%', table); |
1686 | 1686 | fputc('%', strip); |
@@ -1705,7 +1705,7 @@ | ||
1705 | 1705 | flag = HeaderText; |
1706 | 1706 | envir = ' '; |
1707 | 1707 | ActualPos = ftell(wpd); |
1708 | - char_on_line = -10; | |
1708 | + char_on_line = FIRST_CHAR_MINIPAGE; | |
1709 | 1709 | while (ActualPos < end_of_code) |
1710 | 1710 | { |
1711 | 1711 | fread(&by, 1, 1, wpd); |
@@ -1722,13 +1722,13 @@ | ||
1722 | 1722 | putc('}', strip); |
1723 | 1723 | |
1724 | 1724 | line_term = 's'; //Soft return |
1725 | - envir='^'; //Ignore enviroments after header/footer | |
1725 | + envir = '^'; //Ignore enviroments after header/footer | |
1726 | 1726 | NewLine(this); |
1727 | 1727 | |
1728 | - attr=OldAttr; /* Restore backuped attributes */ | |
1728 | + attr = OldAttr; // Restore backuped attributes | |
1729 | 1729 | flag = OldFlag; |
1730 | 1730 | envir = OldEnvir; |
1731 | - char_on_line = -10; // stronger false; | |
1731 | + char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
1732 | 1732 | recursion--; |
1733 | 1733 | |
1734 | 1734 | BadResource: |
@@ -2534,7 +2534,7 @@ | ||
2534 | 2534 | line_term = 's'; /* Soft return */ |
2535 | 2535 | recursion++; |
2536 | 2536 | |
2537 | - if(char_on_line == -20) /* Left one enpty line for new enviroment */ | |
2537 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one enpty line for new enviroment. | |
2538 | 2538 | { |
2539 | 2539 | fputc('%', table);fputc('%', strip); |
2540 | 2540 | NewLine(this); |
@@ -2610,7 +2610,7 @@ | ||
2610 | 2610 | |
2611 | 2611 | this->by = fgetc(wpd); |
2612 | 2612 | } |
2613 | - if(char_on_line <= -10) /* Left one empty line for ending enviroment */ | |
2613 | + if(char_on_line <= FIRST_CHAR_MINIPAGE) // Left one empty line for ending enviroment. | |
2614 | 2614 | { |
2615 | 2615 | fputc('%', table);fputc('%', strip); |
2616 | 2616 | NewLine(this); |
@@ -2629,7 +2629,7 @@ | ||
2629 | 2629 | envir = '^'; //Ignore enviroments after table |
2630 | 2630 | fputc('%', table); |
2631 | 2631 | NewLine(this); |
2632 | - char_on_line = -10; // stronger false; | |
2632 | + char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
2633 | 2633 | |
2634 | 2634 | recursion--; |
2635 | 2635 |
@@ -487,7 +487,7 @@ | ||
487 | 487 | if(FieldCount>0) |
488 | 488 | { |
489 | 489 | line_term = 's'; /* Soft return */ |
490 | - if(char_on_line == -20) /* Left one enpty line for new enviroment */ | |
490 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) /* Left one enpty line for new enviroment */ | |
491 | 491 | { |
492 | 492 | fputc('%', table); fputc('%', strip); |
493 | 493 | NewLine(this); |
@@ -560,7 +560,7 @@ | ||
560 | 560 | } |
561 | 561 | |
562 | 562 | FinishTable: |
563 | - if(char_on_line <= -10) /* Left one enpty line for ending enviroment */ | |
563 | + if(char_on_line <= FIRST_CHAR_MINIPAGE) /* Left one enpty line for ending enviroment */ | |
564 | 564 | { |
565 | 565 | fputc('%', table);fputc('%', strip); |
566 | 566 | NewLine(this); |
@@ -568,7 +568,7 @@ | ||
568 | 568 | envir = '^'; //Ignore enviroments after table |
569 | 569 | fputc('%', table); |
570 | 570 | NewLine(this); |
571 | - char_on_line = -10; // stronger false; | |
571 | + char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
572 | 572 | |
573 | 573 | recursion--; |
574 | 574 |
@@ -53,7 +53,7 @@ | ||
53 | 53 | cq->recursion++; |
54 | 54 | |
55 | 55 | cq->line_term = 's'; /* Soft return */ |
56 | - if(cq->char_on_line == -20) /* Left one enpty line for new enviroment */ | |
56 | + if(cq->char_on_line == LEAVE_ONE_EMPTY_LINE) /* Left one enpty line for new enviroment */ | |
57 | 57 | { |
58 | 58 | fputc('%', cq->table);fputc('%', cq->strip); |
59 | 59 | NewLine(cq); |
@@ -99,7 +99,7 @@ | ||
99 | 99 | |
100 | 100 | fprintf(cq->strip, "\\end{itemize}"); |
101 | 101 | if(OldEnvir=='B') fprintf(cq->strip, "}"); |
102 | - if(cq->char_on_line <= -10) /* Left one enpty line for ending enviroment */ | |
102 | + if(cq->char_on_line <= FIRST_CHAR_MINIPAGE) // Left one enpty line for ending enviroment. | |
103 | 103 | { |
104 | 104 | fputc('%', cq->table);fputc('%', cq->strip); |
105 | 105 | NewLine(cq); |
@@ -107,13 +107,13 @@ | ||
107 | 107 | cq->envir='^'; //Ignore enviroments after table |
108 | 108 | fputc('%', cq->table); |
109 | 109 | NewLine(cq); |
110 | - cq->char_on_line = -10; // stronger false; | |
110 | + cq->char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
111 | 111 | |
112 | 112 | cq->recursion--; |
113 | 113 | |
114 | - cq->flag=OldFlag; | |
115 | - cq->envir=OldEnvir; | |
116 | -cq->TAG="ITEMIZE"; | |
114 | + cq->flag = OldFlag; | |
115 | + cq->envir = OldEnvir; | |
116 | + cq->TAG = "ITEMIZE"; | |
117 | 117 | strcpy(cq->ObjType, "Itemize Start"); |
118 | 118 | } |
119 | 119 |
@@ -367,7 +367,7 @@ | ||
367 | 367 | recursion++; |
368 | 368 | |
369 | 369 | line_term = 's'; /* Soft return */ |
370 | - if(char_on_line == -20) /* Left one enpty line for new enviroment */ | |
370 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one enpty line for new enviroment | |
371 | 371 | { |
372 | 372 | fputc('%', table);fputc('%', strip); |
373 | 373 | NewLine(this); |
@@ -413,21 +413,21 @@ | ||
413 | 413 | |
414 | 414 | fprintf(strip, "\\end{itemize}"); |
415 | 415 | if(OldEnvir=='B') fprintf(strip, "}"); |
416 | - if(char_on_line <= -10) /* Left one enpty line for ending enviroment */ | |
416 | + if(char_on_line <= FIRST_CHAR_MINIPAGE) // Left one enpty line for ending enviroment. | |
417 | 417 | { |
418 | 418 | fputc('%', table);fputc('%', strip); |
419 | 419 | NewLine(this); |
420 | 420 | } |
421 | - envir='^'; //Ignore enviroments after table | |
421 | + envir = '^'; //Ignore enviroments after table | |
422 | 422 | fputc('%', table); |
423 | 423 | NewLine(this); |
424 | 424 | char_on_line = -10; // stronger false; |
425 | 425 | |
426 | 426 | recursion--; |
427 | 427 | |
428 | - flag=OldFlag; | |
429 | - envir=OldEnvir; | |
430 | -TAG="ITEMIZE"; | |
428 | + flag = OldFlag; | |
429 | + envir = OldEnvir; | |
430 | + TAG = "ITEMIZE"; | |
431 | 431 | strcpy(ObjType, "Itemize Start"); |
432 | 432 | } |
433 | 433 |
@@ -550,7 +550,7 @@ | ||
550 | 550 | if(FieldCount>0) |
551 | 551 | { |
552 | 552 | line_term = 's'; /* Soft return */ |
553 | - if(char_on_line == -20) /* Left one enpty line for new enviroment */ | |
553 | + if(char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one enpty line for new enviroment. | |
554 | 554 | { |
555 | 555 | fputc('%', table);fputc('%', strip); |
556 | 556 | NewLine(this); |
@@ -596,7 +596,7 @@ | ||
596 | 596 | |
597 | 597 | ReadXMLTag(); |
598 | 598 | } |
599 | - if(char_on_line <= -10) /* Left one enpty line for ending enviroment */ | |
599 | + if(char_on_line <= FIRST_CHAR_MINIPAGE) // Left one enpty line for ending enviroment. | |
600 | 600 | { |
601 | 601 | fputc('%', table);fputc('%', strip); |
602 | 602 | NewLine(this); |
@@ -604,13 +604,13 @@ | ||
604 | 604 | envir='^'; //Ignore enviroments after table |
605 | 605 | fputc('%', table); |
606 | 606 | NewLine(this); |
607 | - char_on_line = -10; // stronger false; | |
607 | + char_on_line = FIRST_CHAR_MINIPAGE; // stronger false; | |
608 | 608 | |
609 | 609 | recursion--; |
610 | 610 | |
611 | 611 | flag = OldFlag; |
612 | 612 | envir = OldEnvir; |
613 | -TAG="TABLE"; | |
613 | + TAG = "TABLE"; | |
614 | 614 | strcpy(ObjType, "Table Start"); |
615 | 615 | } |
616 | 616 |
@@ -55,7 +55,7 @@ | ||
55 | 55 | |
56 | 56 | if(Verbosing >= 1) printf(_("Opening OLE archive:\n")); |
57 | 57 | |
58 | - OleFS = (COLEFS *)malloc (sizeof(COLEFS)); //Mount OLE filesystem | |
58 | + OleFS = (COLEFS *)malloc(sizeof(COLEFS)); //Mount OLE filesystem | |
59 | 59 | if(OleFS==NULL) {RunError(0x204);return -1;} |
60 | 60 | |
61 | 61 | memset(OleFS,0,sizeof(COLEFS)); |
@@ -1156,7 +1156,7 @@ | ||
1156 | 1156 | cq->recursion++; |
1157 | 1157 | |
1158 | 1158 | cq->line_term = 's'; //Soft return |
1159 | - if(cq->char_on_line == -20) /* Left one enpty line for new enviroment */ | |
1159 | + if(cq->char_on_line == LEAVE_ONE_EMPTY_LINE) // Left one enpty line for new enviroment. | |
1160 | 1160 | { |
1161 | 1161 | fputc('%', cq->strip); |
1162 | 1162 | NewLine(cq); |
@@ -1174,7 +1174,7 @@ | ||
1174 | 1174 | |
1175 | 1175 | cq->envir = ' '; |
1176 | 1176 | cq->flag = HeaderText; |
1177 | - cq->char_on_line = -10; | |
1177 | + cq->char_on_line = FIRST_CHAR_MINIPAGE; | |
1178 | 1178 | while (!feof(cq->wpd) && CurlyBaraceStack > 0) |
1179 | 1179 | { |
1180 | 1180 | cq->subby=RTFLoadKeyword(cq); |
@@ -1224,7 +1224,7 @@ | ||
1224 | 1224 | cq->attr = OldAttr; |
1225 | 1225 | cq->flag = OldFlag; |
1226 | 1226 | cq->envir= OldEnvir; |
1227 | - cq->char_on_line = -10; | |
1227 | + cq->char_on_line = FIRST_CHAR_MINIPAGE; | |
1228 | 1228 | |
1229 | 1229 | strcpy(cq->ObjType, ((HFtype & 3) <= 1)?"Header":"Footer"); |
1230 | 1230 | } |
@@ -74,23 +74,23 @@ | ||
74 | 74 | -10 Line before nested enviroment change |
75 | 75 | -1 No valic character on line, but previous line plays like character |
76 | 76 | 0 No valid character on the line |
77 | - 1 Valid character placed on the line*/ | |
77 | + 1 Valid character placed on the line */ | |
78 | 78 | |
79 | 79 | /*WP2LaTex switches: -1:disabled; 0:automatically enabled; 1: forced to enable*/ |
80 | -SBYTE Accents = false, | |
80 | +SBYTE Accents = STYLE_NOTUSED, | |
81 | 81 | AmsMath = -1, |
82 | 82 | Amssymb = -1, // Totaly Disabled |
83 | 83 | Arevmath = -1, // Totaly Disabled |
84 | - Cyrillic = false, | |
85 | - cjHebrew = false, | |
86 | - colors = false, // Only for LaTex 2.0e | |
84 | + Cyrillic = STYLE_NOTUSED, | |
85 | + cjHebrew = STYLE_NOTUSED, | |
86 | + colors = STYLE_NOTUSED, // Only for LaTex 2.0e | |
87 | 87 | textcomp = -1, |
88 | - EndNotes=false, | |
88 | + EndNotes = STYLE_NOTUSED, | |
89 | 89 | FancyHdr = -1, |
90 | 90 | Columns = 1, // -1 disabled; 0 auto two; 1 auto multi; 2 forced two; >2 forced multi*/ |
91 | 91 | InputPS = IMG_graphicx, // -1 disabled; 0 auto InputPS.sty; 1 InputPS.sty; 2 auto graphicx.sty; 3 graphicx.sty; 4 auto epsfig.sty; 5 epsfig.sty; 8 auto graphics.sty; 9 graphics.sty; |
92 | - pifont = false, | |
93 | - PostScript = false, | |
92 | + pifont = STYLE_NOTUSED, | |
93 | + PostScript = STYLE_NOTUSED, | |
94 | 94 | MakeIdx = -1, |
95 | 95 | Wasy = -1, // Totaly Disabled |
96 | 96 | LaTeXsym = 0, |
@@ -102,9 +102,9 @@ | ||
102 | 102 | rus_yo = 0, |
103 | 103 | LongTable = -1, |
104 | 104 | SaveWPG = -1, |
105 | - Rotate = false, | |
106 | - Scalerel = false, | |
107 | - LineNo = false; | |
105 | + Rotate = STYLE_NOTUSED, | |
106 | + Scalerel = STYLE_NOTUSED, | |
107 | + LineNo = STYLE_NOTUSED; | |
108 | 108 | bool Index = false, |
109 | 109 | Interactive = true, |
110 | 110 | NFSS = false, |
@@ -17,8 +17,8 @@ | ||
17 | 17 | |
18 | 18 | #define LineLength 80 /* Split lines after more than LineLength charcters */ |
19 | 19 | |
20 | -#define VersionWP2L "3.pre107" | |
21 | -#define VersionDate "23 May 2022" /* day (space) month (space) full year */ | |
20 | +#define VersionWP2L "3.107" | |
21 | +#define VersionDate "24 May 2022" /* day (space) month (space) full year */ | |
22 | 22 | |
23 | 23 | |
24 | 24 | /* Constants for a flag InputPS */ |
@@ -575,10 +575,10 @@ | ||
575 | 575 | typedef enum |
576 | 576 | { |
577 | 577 | LEAVE_ONE_EMPTY_LINE = -20, /**< Left one empty line for new enviroment. */ |
578 | - FIRST_CHAR_MINIPAGE = -10, /**< First line of minipages. */ | |
578 | + FIRST_CHAR_MINIPAGE = -10, /**< Line before nested enviroment change, first line of minipages. */ | |
579 | 579 | JUNK_CHARS = -1, /**< The line contains not text directives. */ |
580 | - NO_CHAR = 0, | |
581 | - CHAR_PRESENT = 1, | |
580 | + NO_CHAR = 0, /**< No valid character on the line. */ | |
581 | + CHAR_PRESENT = 1, /**< Valid character placed on the line. */ | |
582 | 582 | } TCharOnLine; |
583 | 583 | |
584 | 584 |