Subversion Repositories Kolibri OS

Rev

Rev 9674 | Rev 9902 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9674 Rev 9708
Line 18... Line 18...
18
*)
18
*)
Line 19... Line 19...
19
 
19
 
Line 20... Line 20...
20
MODULE Encodings;
20
MODULE Encodings;
21
 
21
 
Line 22... Line 22...
22
CONST
22
CONST
Line 23... Line 23...
23
    CP866* = 0; W1251* = 1; UTF8* = 2; UTF8BOM* = 3; (*UTF16LE* = 4;*)
23
    CP866* = 0; CP1251* = 1; UTF8* = 2; UTF8BOM* = 3; (*UTF16LE* = 4;*)
24
 
24
 
Line 62... Line 62...
62
    cp[n] := g; INC(n);
62
    cp[n] := g; INC(n);
63
    cp[n] := h; INC(n);
63
    cp[n] := h; INC(n);
64
END Init8;
64
END Init8;
Line 65... Line 65...
65
 
65
 
66
 
66
 
67
PROCEDURE InitW1251 (VAR cp: CP);
67
PROCEDURE InitCP1251 (VAR cp: CP);
68
VAR
68
VAR
69
    n, i: INTEGER;
69
    n, i: INTEGER;
70
BEGIN
70
BEGIN
Line 79... Line 79...
79
    Init8(cp, n, UNDEF, 2122H, 0459H, 203AH, 045AH, 045CH, 045BH, 045FH);
79
    Init8(cp, n, UNDEF, 2122H, 0459H, 203AH, 045AH, 045CH, 045BH, 045FH);
80
    Init8(cp, n, 00A0H, 040EH, 045EH, 0408H, 00A4H, 0490H, 00A6H, 00A7H);
80
    Init8(cp, n, 00A0H, 040EH, 045EH, 0408H, 00A4H, 0490H, 00A6H, 00A7H);
81
    Init8(cp, n, 0401H, 00A9H, 0404H, 00ABH, 00ACH, 00ADH, 00AEH, 0407H);
81
    Init8(cp, n, 0401H, 00A9H, 0404H, 00ABH, 00ACH, 00ADH, 00AEH, 0407H);
82
    Init8(cp, n, 00B0H, 00B1H, 0406H, 0456H, 0491H, 00B5H, 00B6H, 00B7H);
82
    Init8(cp, n, 00B0H, 00B1H, 0406H, 0456H, 0491H, 00B5H, 00B6H, 00B7H);
83
    Init8(cp, n, 0451H, 2116H, 0454H, 00BBH, 0458H, 0405H, 0455H, 0457H);
83
    Init8(cp, n, 0451H, 2116H, 0454H, 00BBH, 0458H, 0405H, 0455H, 0457H);
84
END InitW1251;
84
END InitCP1251;
Line 85... Line 85...
85
 
85
 
86
 
86
 
87
PROCEDURE InitCP866 (VAR cp: CP);
87
PROCEDURE InitCP866 (VAR cp: CP);
Line 112... Line 112...
112
VAR
112
VAR
113
    i: INTEGER;
113
    i: INTEGER;
114
BEGIN
114
BEGIN
115
    FOR i := 0 TO 65535 DO
115
    FOR i := 0 TO 65535 DO
116
        UNI[i, CP866] := UNDEF;
116
        UNI[i, CP866]  := UNDEF;
117
        UNI[i, W1251] := UNDEF
117
        UNI[i, CP1251] := UNDEF
118
    END;
118
    END;
119
    FOR i := 0 TO 255 DO
119
    FOR i := 0 TO 255 DO
120
        IF cp1251[i] # UNDEF THEN
120
        IF cp1251[i] # UNDEF THEN
121
            UNI[cp1251[i], W1251] := i
121
            UNI[cp1251[i], CP1251] := i
122
        END;
122
        END;
123
        IF cp866[i] # UNDEF THEN
123
        IF cp866[i] # UNDEF THEN
124
            UNI[cp866[i], CP866] := i
124
            UNI[cp866[i], CP866] := i
125
        END
125
        END
126
    END
126
    END
Line 133... Line 133...
133
    eol[EOL_CR]   := CR;
133
    eol[EOL_CR]   := CR;
134
    eolNames[EOL_CRLF] := "CRLF";
134
    eolNames[EOL_CRLF] := "CRLF";
135
    eolNames[EOL_LF]   := "LF";
135
    eolNames[EOL_LF]   := "LF";
136
    eolNames[EOL_CR]   := "CR";
136
    eolNames[EOL_CR]   := "CR";
137
    names[CP866]   := "CP866";
137
    names[CP866]   := "CP866";
138
    names[W1251]   := "Windows-1251";
138
    names[CP1251]  := "CP1251";
139
    names[UTF8]    := "UTF-8";
139
    names[UTF8]    := "UTF-8";
140
    names[UTF8BOM] := "UTF-8-BOM";
140
    names[UTF8BOM] := "UTF-8-BOM";
141
    InitW1251(cp1251);
141
    InitCP1251(cp1251);
142
    InitCP866(cp866);
142
    InitCP866(cp866);
143
    setUNI
143
    setUNI
144
END Encodings.
144
END Encodings.
145
145