1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-07-02 23:14:57 +03:00

Reimplemented ZSCII character case conversions

This commit is contained in:
Graham Nelson 2019-05-05 19:05:29 +01:00
parent fa56bfa85e
commit e14abc3b8e

View file

@ -323,27 +323,53 @@ the ZSCII character set.
@c
[ VM_UpperToLowerCase c;
switch (c) {
'A' to 'Z': c = c + 32;
202, 204, 212, 214, 221: c--;
217, 218: c = c - 2;
158 to 160, 167 to 168, 208 to 210: c = c - 3;
186 to 190, 196 to 200: c = c - 5 ;
175 to 180: c = c - 6;
}
return c;
if (c < 'A') return c;
if (c <= 'Z') return c + 32;
if (c < 158) return c;
if (c <= 160) return c - 3;
if (c < 167) return c;
if (c <= 168) return c - 3;
if (c < 175) return c;
if (c <= 180) return c - 6;
if (c < 186) return c;
if (c <= 190) return c - 5;
if (c < 196) return c;
if (c <= 200) return c - 5;
if (c == 202) return c - 1;
if (c == 204) return c - 1;
if (c < 208) return c;
if (c <= 210) return c - 3;
if (c == 212) return c - 1;
if (c == 214) return c - 1;
if (c == 217) return c - 2;
if (c == 218) return c - 2;
if (c == 221) return c - 1;
return c;
];
[ VM_LowerToUpperCase c;
switch (c) {
'a' to 'z': c = c - 32;
201, 203, 211, 213, 220: c++;
215, 216: c = c + 2;
155 to 157, 164 to 165, 205 to 207: c = c + 3;
181 to 185, 191 to 195: c = c + 5 ;
169 to 174: c = c + 6;
}
return c;
if (c < 'a') return c;
if (c <= 'z') return c - 32;
if (c < 155) return c;
if (c <= 157) return c + 3;
if (c < 164) return c;
if (c <= 165) return c + 3;
if (c < 169) return c;
if (c <= 174) return c + 6;
if (c < 181) return c;
if (c <= 185) return c + 5;
if (c < 191) return c;
if (c <= 195) return c + 5;
if (c == 201) return c + 1;
if (c == 203) return c + 1;
if (c < 205) return c;
if (c <= 207) return c + 3;
if (c == 211) return c + 1;
if (c == 213) return c + 1;
if (c == 215) return c + 2;
if (c == 216) return c + 2;
if (c == 220) return c + 1;
return c;
];
@p The Screen.