Subversion Repositories Kolibri OS

Rev

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