Rev 9708 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9708 | Rev 9902 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | (* |
1 | (* |
2 | Copyright 2021, 2022 Anton Krotov |
2 | Copyright 2021-2023 Anton Krotov |
Line 3... | Line 3... | ||
3 | 3 | ||
Line 4... | Line 4... | ||
4 | This file is part of CEdit. |
4 | This file is part of CEdit. |
5 | 5 | ||
Line 134... | Line 134... | ||
134 | n := -1 |
134 | n := -1 |
135 | END |
135 | END |
136 | END; |
136 | END; |
Line 137... | Line 137... | ||
137 | 137 | ||
138 | IF n = -1 THEN |
138 | IF n = -1 THEN |
139 | code := E.UNDEF |
139 | code := -1 |
Line 140... | Line 140... | ||
140 | END |
140 | END |
141 | 141 | ||
Line 242... | Line 242... | ||
242 | bom := getCharUTF8(text) = ORD(BOM); |
242 | bom := getCharUTF8(text) = ORD(BOM); |
243 | continue := TRUE; |
243 | continue := TRUE; |
244 | text.cnt := cnt; |
244 | text.cnt := cnt; |
245 | text.pos := pos; |
245 | text.pos := pos; |
246 | WHILE (text.cnt > 0) & continue DO |
246 | WHILE (text.cnt > 0) & continue DO |
247 | IF getCharUTF8(text) = E.UNDEF THEN |
247 | IF getCharUTF8(text) = -1 THEN |
248 | continue := FALSE |
248 | continue := FALSE |
249 | END |
249 | END |
250 | END; |
250 | END; |
251 | IF continue THEN |
251 | IF continue THEN |
252 | IF bom THEN |
252 | IF bom THEN |
Line 468... | Line 468... | ||
468 | ELSIF (800H <= code) & (code <= 0FFFFH) THEN |
468 | ELSIF (800H <= code) & (code <= 0FFFFH) THEN |
469 | putByte(file, code DIV 4096 + 0E0H); |
469 | putByte(file, code DIV 4096 + 0E0H); |
470 | putByte(file, (code DIV 64) MOD 64 + 080H); |
470 | putByte(file, (code DIV 64) MOD 64 + 080H); |
471 | putByte(file, code MOD 64 + 080H) |
471 | putByte(file, code MOD 64 + 080H) |
472 | ELSE |
472 | ELSE |
473 | putByte(file, ORD("?")) |
473 | putByte(file, E.UNDEF) |
474 | END |
474 | END |
475 | END putCharUTF8; |
475 | END putCharUTF8; |
Line 476... | Line -... | ||
476 | - | ||
477 | - | ||
478 | PROCEDURE putCharCP (file: tOutput; code, cp: INTEGER); |
- | |
479 | VAR |
- | |
480 | n: INTEGER; |
- | |
481 | BEGIN |
- | |
482 | n := E.UNI[code, cp]; |
- | |
483 | IF n # E.UNDEF THEN |
- | |
484 | putByte(file, n) |
- | |
485 | ELSE |
- | |
486 | putByte(file, ORD("?")) |
- | |
487 | END |
- | |
488 | END putCharCP; |
- | |
489 | 476 | ||
490 | 477 | ||
491 | PROCEDURE putCharCP1251 (file: tOutput; code: INTEGER); |
478 | PROCEDURE putCharCP1251 (file: tOutput; code: INTEGER); |
492 | BEGIN |
479 | BEGIN |
Line 493... | Line 480... | ||
493 | putCharCP(file, code, E.CP1251) |
480 | putByte(file, E.UNI[code, E.CP1251]) |
494 | END putCharCP1251; |
481 | END putCharCP1251; |
495 | 482 | ||
496 | 483 | ||
Line 497... | Line 484... | ||
497 | PROCEDURE putCharCP866 (file: tOutput; code: INTEGER); |
484 | PROCEDURE putCharCP866 (file: tOutput; code: INTEGER); |
498 | BEGIN |
485 | BEGIN |
499 | putCharCP(file, code, E.CP866) |
486 | putByte(file, E.UNI[code, E.CP866]) |
500 | END putCharCP866; |
487 | END putCharCP866; |
501 | 488 | ||
502 | (* |
489 | (* |
503 | PROCEDURE putCharUTF16LE (file: tOutput; code: INTEGER); |
490 | PROCEDURE putCharUTF16LE (file: tOutput; code: INTEGER); |
504 | BEGIN |
491 | BEGIN |
505 | IF ~((0 <= code) & (code <= 65535)) THEN |
492 | IF ~((0 <= code) & (code <= 65535)) THEN |